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)