RMSProp

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

Un optimizador de RMSProp.

Implementa el algoritmo de optimización RMSProp. RMSProp es una forma de descenso de gradiente estocástico donde los gradientes se dividen por un promedio móvil de su magnitud reciente. RMSProp mantiene un promedio móvil del gradiente al cuadrado para cada peso.

Referencias:

  • Declaración

    public typealias Model = Model
  • La tasa de aprendizaje.

    Declaración

    public var learningRate: Float
  • rho

    El factor de caída de la media móvil del gradiente.

    Declaración

    public var rho: Float
  • Un pequeño escalar agregado al denominador para mejorar la estabilidad numérica.

    Declaración

    public var epsilon: Float
  • La tasa de aprendizaje decae.

    Declaración

    public var decay: Float
  • El recuento de pasos.

    Declaración

    public var step: Float
  • Los valores alfa para todas las variables diferenciables del modelo.

    Declaración

    public var alpha: Model.TangentVector
  • Crea una instancia para model .

    Declaración

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

    Parámetros

    learningRate

    La tasa de aprendizaje. El valor predeterminado es 1e-3 .

    rho

    El factor de caída de la media móvil del gradiente. El valor predeterminado es 0.9 .

    epsilon

    Un pequeño escalar agregado al denominador para mejorar la estabilidad numérica. El valor predeterminado es 1e-8 .

    decay

    La tasa de aprendizaje decae. El valor predeterminado es 0 .

  • Declaración

    public func update(_ model: inout Model, along direction: Model.TangentVector)
  • Declaración

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