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