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)