RMSProp

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

Un optimiseur RMSProp.

Implémente l'algorithme d'optimisation RMSProp. RMSProp est une forme de descente de gradient stochastique où les gradients sont divisés par une moyenne mobile de leur ampleur récente. RMSProp conserve une moyenne mobile du carré du gradient pour chaque poids.

Les références:

  • Déclaration

    public typealias Model = Model
  • Le taux d'apprentissage.

    Déclaration

    public var learningRate: Float
  • rho

    Le facteur de décroissance de la moyenne mobile du gradient.

    Déclaration

    public var rho: Float
  • Un petit scalaire ajouté au dénominateur pour améliorer la stabilité numérique.

    Déclaration

    public var epsilon: Float
  • Le taux d’apprentissage diminue.

    Déclaration

    public var decay: Float
  • Le nombre de pas.

    Déclaration

    public var step: Float
  • Les valeurs alpha pour toutes les variables différenciables du modèle.

    Déclaration

    public var alpha: Model.TangentVector
  • Crée une instance pour model .

    Déclaration

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

    Paramètres

    learningRate

    Le taux d'apprentissage. La valeur par défaut est 1e-3 .

    rho

    Le facteur de décroissance de la moyenne mobile du gradient. La valeur par défaut est 0.9 .

    epsilon

    Un petit scalaire ajouté au dénominateur pour améliorer la stabilité numérique. La valeur par défaut est 1e-8 .

    decay

    Le taux d’apprentissage diminue. La valeur par défaut est 0 .

  • Déclaration

    public func update(_ model: inout Model, along direction: Model.TangentVector)
  • Déclaration

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