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:
- “Kuliah 6.5 - rmsprop: Bagilah gradien dengan rata-rata berjalan dari besaran terkini” (Tieleman dan Hinton, 2012)
- “Menghasilkan Urutan Dengan Jaringan Neural Berulang” (Graves, 2013)
Pernyataan
public typealias Model = Model
Kecepatan pembelajaran.
Pernyataan
public var learningRate: Float
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 required init(copying other: RMSProp, to device: Device)