public class RMSProp<Model: Differentiable>: Optimizer
where
Model.TangentVector: VectorProtocol & PointwiseMultiplicative
& ElementaryFunctions & KeyPathIterable,
Model.TangentVector.VectorSpaceScalar == Float
מייעל RMSProp.
מיישם את אלגוריתם האופטימיזציה RMSProp. RMSProp היא צורה של ירידת שיפוע סטוכסטית שבה השיפועים מחולקים בממוצע רץ בגודלם האחרון. RMSProp שומר על ממוצע נע של השיפוע בריבוע עבור כל משקל.
הפניות:
- "הרצאה 6.5 - rmsprop: חלקו את השיפוע בממוצע רץ של הגודל האחרון שלו" (Tieleman and Hinton, 2012)
- "יצירת רצפים עם רשתות עצביות חוזרות" (גרייבס, 2013)
הַצהָרָה
public typealias Model = Model
קצב הלמידה.
הַצהָרָה
public var learningRate: Float
גורם הדעיכה הממוצע הנע של גרדיאנט.
הַצהָרָה
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 required init(copying other: RMSProp, to device: Device)