RMSProp

public class RMSProp<Model: Differentiable>: Optimizer
where
  Model.TangentVector: VectorProtocol & PointwiseMultiplicative
    & ElementaryFunctions & KeyPathIterable,
  Model.TangentVector.VectorSpaceScalar == Float

Um otimizador RMSProp.

Implementa o algoritmo de otimização RMSProp. RMSProp é uma forma de descida gradiente estocástica onde os gradientes são divididos por uma média contínua de sua magnitude recente. RMSProp mantém uma média móvel do gradiente quadrado para cada peso.

Referências:

  • Declaração

    public typealias Model = Model
  • A taxa de aprendizagem.

    Declaração

    public var learningRate: Float
  • rho

    O fator de decaimento da média móvel do gradiente.

    Declaração

    public var rho: Float
  • Um pequeno escalar adicionado ao denominador para melhorar a estabilidade numérica.

    Declaração

    public var epsilon: Float
  • O declínio da taxa de aprendizagem.

    Declaração

    public var decay: Float
  • A contagem de passos.

    Declaração

    public var step: Float
  • Os valores alfa para todas as variáveis ​​diferenciáveis ​​do modelo.

    Declaração

    public var alpha: Model.TangentVector
  • Cria uma instância de model .

    Declaração

    public init(
      for model: __shared Model,
      learningRate: Float = 1e-3,
      rho: Float = 0.9,
      epsilon: Float = 1e-8,
      decay: Float = 0
    )

    Parâmetros

    learningRate

    A taxa de aprendizagem. O valor padrão é 1e-3 .

    rho

    O fator de decaimento da média móvel do gradiente. O valor padrão é 0.9 .

    epsilon

    Um pequeno escalar adicionado ao denominador para melhorar a estabilidade numérica. O valor padrão é 1e-8 .

    decay

    O declínio da taxa de aprendizagem. O valor padrão é 0 .

  • Declaração

    public func update(_ model: inout Model, along direction: Model.TangentVector)
  • Declaração

    public required init(copying other: RMSProp, to device: Device)