RMSProp

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

Pengoptimal RMSProp.

Mengimplementasikan algoritma optimasi RMSProp. RMSProp adalah bentuk penurunan gradien stokastik di mana gradien dibagi dengan rata-rata berjalan dari besaran terkini. RMSProp menyimpan rata-rata pergerakan gradien kuadrat untuk setiap bobot.

Referensi:

  • Pernyataan

    public typealias Model = Model
  • Kecepatan pembelajaran.

    Pernyataan

    public var learningRate: Float
  • rho

    Faktor peluruhan rata-rata pergerakan gradien.

    Pernyataan

    public var rho: Float
  • Skalar kecil ditambahkan ke penyebut untuk meningkatkan stabilitas numerik.

    Pernyataan

    public var epsilon: Float
  • Penurunan kecepatan pembelajaran.

    Pernyataan

    public var decay: Float
  • Jumlah langkahnya.

    Pernyataan

    public var step: Float
  • Nilai alfa untuk semua variabel model yang dapat dibedakan.

    Pernyataan

    public var alpha: Model.TangentVector
  • Membuat sebuah instance untuk model .

    Pernyataan

    public init(
      for model: __shared Model,
      learningRate: Float = 1e-3,
      rho: Float = 0.9,
      epsilon: Float = 1e-8,
      decay: Float = 0
    )

    Parameter

    learningRate

    Kecepatan pembelajaran. Nilai defaultnya adalah 1e-3 .

    rho

    Faktor peluruhan rata-rata pergerakan gradien. Nilai defaultnya adalah 0.9 .

    epsilon

    Skalar kecil ditambahkan ke penyebut untuk meningkatkan stabilitas numerik. Nilai defaultnya adalah 1e-8 .

    decay

    Penurunan kecepatan pembelajaran. Nilai defaultnya adalah 0 .

  • Pernyataan

    public func update(_ model: inout Model, along direction: Model.TangentVector)
  • Pernyataan

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