אישור RMSProp

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

מייעל RMSProp.

מיישם את אלגוריתם האופטימיזציה RMSProp. RMSProp היא צורה של ירידת שיפוע סטוכסטית שבה השיפועים מחולקים בממוצע רץ בגודלם האחרון. RMSProp שומר על ממוצע נע של השיפוע בריבוע עבור כל משקל.

הפניות:

  • הַצהָרָה

    public typealias Model = Model
  • קצב הלמידה.

    הַצהָרָה

    public var learningRate: Float
  • rho

    גורם הדעיכה הממוצע הנע של גרדיאנט.

    הַצהָרָה

    public var rho: Float
  • סקלאר קטן נוסף למכנה כדי לשפר את היציבות המספרית.

    הַצהָרָה

    public var epsilon: Float
  • קצב הלמידה דעיכה.

    הַצהָרָה

    public var decay: Float
  • ספירת הצעדים.

    הַצהָרָה

    public var step: Float
  • ערכי האלפא עבור כל משתני המודל הניתנים להבדלה.

    הַצהָרָה

    public var alpha: Model.TangentVector
  • יוצר מופע model .

    הַצהָרָה

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

    פרמטרים

    learningRate

    קצב הלמידה. ערך ברירת המחדל הוא 1e-3 .

    rho

    גורם הדעיכה הממוצע הנע של גרדיאנט. ערך ברירת המחדל הוא 0.9 .

    epsilon

    סקלאר קטן נוסף למכנה כדי לשפר את היציבות המספרית. ערך ברירת המחדל הוא 1e-8 .

    decay

    קצב הלמידה דעיכה. ערך ברירת המחדל הוא 0 .

  • הַצהָרָה

    public func update(_ model: inout Model, along direction: Model.TangentVector)
  • הַצהָרָה

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