public class AdaMax<Model: Differentiable & KeyPathIterable>: Optimizer
where
Model.TangentVector: VectorProtocol & PointwiseMultiplicative & ElementaryFunctions
& KeyPathIterable,
Model.TangentVector.VectorSpaceScalar == Float
אופטימיזציית AdaMax.
גרסה של אדם המבוססת על נורמת האינסוף.
הפניה: סעיף 7 של "אדם - שיטה לאופטימיזציה סטוכסטית"
הַצהָרָה
public typealias Model = Model
קצב הלמידה.
הַצהָרָה
public var learningRate: Float
קצב דעיכה המשמש להערכת הרגע הראשון (ממוצע) של שיפועים.
הַצהָרָה
public var beta1: Float
קצב דעיכה המשמש להערכת נורמת האינסוף המשוקלל באופן אקספוננציאלי.
הַצהָרָה
public var beta2: Float
סקלאר קטן נוסף למכנה כדי לשפר את היציבות המספרית.
הַצהָרָה
public var epsilon: Float
דעיכת קצב הלמידה.
הַצהָרָה
public var decay: Float
ספירת הצעדים.
הַצהָרָה
public var step: Int
הרגעים הראשונים של המשקולות.
הַצהָרָה
public var firstMoments: Model.TangentVector
נורמת האינסוף המשוקללת באופן אקספוננציאלי של המשקולות.
הַצהָרָה
public var infinityNorm: Model.TangentVector
הערה: פרמטרי ברירת המחדל תואמים את אלה המפורטים בנייר.
הַצהָרָה
public init( for model: __shared Model, learningRate: Float = 0.002, beta1: Float = 0.9, beta2: Float = 0.999, epsilon: Float = 1e-8, decay: Float = 0 )
הַצהָרָה
public required init(copying other: AdaMax, to device: Device)