aliran tensor:: operasi:: Terapkan CenteredRMSProp
#include <training_ops.h>
Perbarui '*var' sesuai dengan algoritma RMSProp terpusat.
Ringkasan
Algoritme RMSProp terpusat menggunakan perkiraan momen kedua terpusat (yaitu varians) untuk normalisasi, berbeda dengan RMSProp biasa, yang menggunakan momen kedua (tidak terpusat). Hal ini sering kali membantu dalam pelatihan, namun sedikit lebih mahal dalam hal komputasi dan memori.
Perhatikan bahwa dalam implementasi padat dari algoritme ini, mg, ms, dan mom akan diperbarui meskipun gradasinya nol, tetapi dalam implementasi yang jarang ini, mg, ms, dan mom tidak akan diperbarui dalam iterasi yang gradannya nol.
mean_square = peluruhan * mean_square + (1 peluruhan) * gradien ** 2 mean_grad = peluruhan * mean_grad + (1 peluruhan) * gradien
Delta = kecepatan_belajar * gradien / kuadrat(mean_square + epsilon - mean_grad ** 2)
mg <- rho * mg_{t-1} + (1-rho) * lulusan ms <- rho * ms_{t-1} + (1-rho) * lulusan * lulusan ibu <- momentum * ibu_{t-1 } + lr * lulusan / sqrt(ms - mg * mg + epsilon) var <- var - ibu
Argumen:
- ruang lingkup: Objek Lingkup
- var: Harus dari Variabel().
- mg: Harus dari Variabel().
- ms: Harus dari Variabel().
- ibu: Harus dari Variabel().
- lr: Faktor penskalaan. Pasti skalar.
- rho : Tingkat pembusukan. Pasti skalar.
- epsilon: Istilah punggungan. Pasti skalar.
- lulusan: Gradien.
Atribut opsional (lihat Attrs
):
- use_locking: Jika
True
, pembaruan tensor var, mg, ms, dan mom dilindungi oleh kunci; jika tidak, perilaku tersebut tidak terdefinisikan, namun mungkin menunjukkan lebih sedikit pertentangan.
Pengembalian:
-
Output
: Sama seperti "var".
Konstruktor dan Destruktor | |
---|---|
ApplyCenteredRMSProp (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input mg, :: tensorflow::Input ms, :: tensorflow::Input mom, :: tensorflow::Input lr, :: tensorflow::Input rho, :: tensorflow::Input momentum, :: tensorflow::Input epsilon, :: tensorflow::Input grad) | |
ApplyCenteredRMSProp (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input mg, :: tensorflow::Input ms, :: tensorflow::Input mom, :: tensorflow::Input lr, :: tensorflow::Input rho, :: tensorflow::Input momentum, :: tensorflow::Input epsilon, :: tensorflow::Input grad, const ApplyCenteredRMSProp::Attrs & attrs) |
Atribut publik | |
---|---|
operation | |
out |
Fungsi publik | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Fungsi statis publik | |
---|---|
UseLocking (bool x) |
Struktur | |
---|---|
tensorflow:: ops:: ApplyCenteredRMSProp:: Attrs | Penyetel atribut opsional untuk ApplyCenteredRMSProp . |
Atribut publik
operasi
Operation operation
keluar
::tensorflow::Output out
Fungsi publik
Terapkan CenteredRMSProp
ApplyCenteredRMSProp( const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input mg, ::tensorflow::Input ms, ::tensorflow::Input mom, ::tensorflow::Input lr, ::tensorflow::Input rho, ::tensorflow::Input momentum, ::tensorflow::Input epsilon, ::tensorflow::Input grad )
Terapkan CenteredRMSProp
ApplyCenteredRMSProp( const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input mg, ::tensorflow::Input ms, ::tensorflow::Input mom, ::tensorflow::Input lr, ::tensorflow::Input rho, ::tensorflow::Input momentum, ::tensorflow::Input epsilon, ::tensorflow::Input grad, const ApplyCenteredRMSProp::Attrs & attrs )
simpul
::tensorflow::Node * node() const
operator::tensorflow::Masukan
operator::tensorflow::Input() const
operator::tensorflow::Keluaran
operator::tensorflow::Output() const
Fungsi statis publik
Gunakan Penguncian
Attrs UseLocking( bool x )