aliran tensor:: operasi:: SparseApplyCenteredRMSProp
#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-decay) * gradien ** 2 mean_grad = peluruhan * mean_grad + (1-decay) * gradien Delta = learning_rate * gradien / sqrt(mean_square + epsilon - mean_grad ** 2)
$$ms <- rho * ms_{t-1} + (1-rho) * grad * grad$$ $$mom <- momentum * mom_{t-1} + lr * grad / sqrt(ms + epsilon)$$ $$var <- var - mom$$
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.
- indeks: Vektor indeks ke dalam dimensi pertama var, ms, dan ibu.
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 | |
---|---|
SparseApplyCenteredRMSProp (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, :: tensorflow::Input indices) | |
SparseApplyCenteredRMSProp (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, :: tensorflow::Input indices, const SparseApplyCenteredRMSProp::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:: SparseApplyCenteredRMSProp:: Attrs | Penyetel atribut opsional untuk SparseApplyCenteredRMSProp . |
Atribut publik
operasi
Operation operation
keluar
::tensorflow::Output out
Fungsi publik
SparseApplyCenteredRMSProp
SparseApplyCenteredRMSProp( 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, ::tensorflow::Input indices )
SparseApplyCenteredRMSProp
SparseApplyCenteredRMSProp( 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, ::tensorflow::Input indices, const SparseApplyCenteredRMSProp::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 )