RMSProp

public class RMSProp<Model: Differentiable>: Optimizer
where
  Model.TangentVector: VectorProtocol & PointwiseMultiplicative
    & ElementaryFunctions & KeyPathIterable,
  Model.TangentVector.VectorSpaceScalar == Float

بهینه ساز RMSProp

الگوریتم بهینه سازی RMSProp را پیاده سازی می کند. RMSProp شکلی از نزول گرادیان تصادفی است که در آن شیب ها بر میانگین جاری بزرگی اخیرشان تقسیم می شوند. RMSProp میانگین متحرک گرادیان مجذور را برای هر وزن نگه می دارد.

مراجع:

  • اعلامیه

    public typealias Model = Model
  • میزان یادگیری

    اعلامیه

    public var learningRate: Float
  • rho

    ضریب واپاشی میانگین متحرک گرادیان.

    اعلامیه

    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 func update(_ model: inout Model, along direction: Model.TangentVector)
  • اعلامیه

    public required init(copying other: RMSProp, to device: Device)