tensorflow::ops::ApplyCenteredRMSProp
#include <training_ops.h>Perbarui '*var' sesuai dengan algoritma RMSProp terpusat.
Ringkasan
Algoritma RMSProp terpusat menggunakan estimasi momen kedua terpusat (yaitu, varians) untuk normalisasi, berbeda dengan RMSProp biasa yang menggunakan momen kedua (yang tidak terpusat). Hal ini sering membantu dalam pelatihan, tetapi sedikit lebih mahal dalam hal komputasi dan memori.
Perlu dicatat bahwa dalam implementasi padat algoritma ini, mg, ms, dan mom akan diperbarui meskipun grad bernilai nol, tetapi dalam implementasi jarang ini, mg, ms, dan mom tidak akan diperbarui pada iterasi di mana grad bernilai nol.
mean_square = decay * mean_square + (1-decay) * gradient ** 2 mean_grad = decay * mean_grad + (1-decay) * gradient
Delta = learning_rate * gradient / sqrt(mean_square + epsilon - mean_grad ** 2)
mg <- rho * mg_{t-1} + (1-rho) * grad ms <- rho * ms_{t-1} + (1-rho) * grad * grad mom <- momentum * mom_{t-1} + lr * grad / sqrt(ms - mg * mg + epsilon) var <- var - mom
Argumen:
- Cakupan: Objek Cakupan
- var: Seharusnya berasal dari Variable().
- mg: Seharusnya berasal dari Variabel().
- ms: Seharusnya berasal dari Variable().
- Ibu: Seharusnya berasal dari Variable().
- lr: Faktor skala. Harus berupa besaran skalar.
- rho: Tingkat peluruhan. Harus berupa besaran skalar.
- epsilon: Istilah Ridge. Harus berupa skalar.
- grad: Gradien.
Atribut opsional (lihat Attrs ):
- use_locking: Jika
True, pembaruan tensor var, mg, ms, dan mom dilindungi oleh kunci; jika tidak, perilakunya tidak terdefinisi, tetapi mungkin menunjukkan persaingan yang lebih sedikit.
Mengembalikan:
-
Output: Sama dengan "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 | Pengaturan atribut opsional untuk ApplyCenteredRMSProp . |
Atribut publik
operasi
Operation operation
keluar
::tensorflow::Output out
Fungsi publik
ApplyCenteredRMSProp
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
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::Input
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const
Fungsi statis publik
GunakanPenguncian
Attrs UseLocking( bool x )