RMSProp,

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

Optymalizator RMSProp.

Implementuje algorytm optymalizacji RMSProp. RMSProp jest formą stochastycznego opadania gradientu, w której gradienty są dzielone przez średnią kroczącą ich ostatniej wielkości. RMSProp utrzymuje średnią ruchomą kwadratu gradientu dla każdej wagi.

Bibliografia:

  • Deklaracja

    public typealias Model = Model
  • Szybkość uczenia się.

    Deklaracja

    public var learningRate: Float
  • rho

    Współczynnik zaniku średniej ruchomej gradientu.

    Deklaracja

    public var rho: Float
  • Mały skalar dodany do mianownika w celu poprawy stabilności liczbowej.

    Deklaracja

    public var epsilon: Float
  • Spadek szybkości uczenia się.

    Deklaracja

    public var decay: Float
  • Liczba kroków.

    Deklaracja

    public var step: Float
  • Wartości alfa dla wszystkich zmiennych różniczkowalnych modelu.

    Deklaracja

    public var alpha: Model.TangentVector
  • Tworzy instancję dla model .

    Deklaracja

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

    Parametry

    learningRate

    Szybkość uczenia się. Wartość domyślna to 1e-3 .

    rho

    Współczynnik zaniku średniej ruchomej gradientu. Wartość domyślna to 0.9 .

    epsilon

    Mały skalar dodany do mianownika w celu poprawy stabilności liczbowej. Wartość domyślna to 1e-8 .

    decay

    Spadek szybkości uczenia się. Wartość domyślna to 0 .

  • Deklaracja

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

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