RMSPro

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

Bir RMSProp optimize edici.

RMSProp optimizasyon algoritmasını uygular. RMSProp, gradyanların güncel büyüklüklerinin devam eden ortalamasına bölündüğü bir stokastik gradyan iniş biçimidir. RMSProp, her ağırlık için kare degradenin hareketli ortalamasını tutar.

Referanslar:

  • beyan

    public typealias Model = Model
  • Öğrenme oranı.

    beyan

    public var learningRate: Float
  • ro

    Gradyan hareketli ortalama bozunma faktörü.

    beyan

    public var rho: Float
  • Sayısal kararlılığı artırmak için paydaya küçük bir skaler eklenir.

    beyan

    public var epsilon: Float
  • Öğrenme hızının azalması.

    beyan

    public var decay: Float
  • Adım sayısı.

    beyan

    public var step: Float
  • Tüm model türevlenebilir değişkenler için alfa değerleri.

    beyan

    public var alpha: Model.TangentVector
  • model için bir örnek oluşturur.

    beyan

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

    Parametreler

    learningRate

    Öğrenme oranı. Varsayılan değer 1e-3 .

    rho

    Gradyan hareketli ortalama bozunma faktörü. Varsayılan değer 0.9 .

    epsilon

    Sayısal kararlılığı artırmak için paydaya küçük bir skaler eklenir. Varsayılan değer 1e-8 .

    decay

    Öğrenme hızının azalması. Varsayılan değer 0 .

  • beyan

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

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