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)