public class RMSProp<Model: Differentiable>: Optimizer
where
Model.TangentVector: VectorProtocol & PointwiseMultiplicative
& ElementaryFunctions & KeyPathIterable,
Model.TangentVector.VectorSpaceScalar == Float
بهینه ساز RMSProp
الگوریتم بهینه سازی RMSProp را پیاده سازی می کند. RMSProp شکلی از نزول گرادیان تصادفی است که در آن شیب ها بر میانگین جاری بزرگی اخیرشان تقسیم می شوند. RMSProp میانگین متحرک گرادیان مجذور را برای هر وزن نگه می دارد.
مراجع:
- "سخنرانی 6.5 - rmsprop: گرادیان را بر میانگین جاری قدر اخیر آن تقسیم کنید" (تیلمن و هینتون، 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)