tensorflow::ops::ApplyCenteredRMSProp
#include <training_ops.h>'*var' değişkenini, merkezlenmiş RMSProp algoritmasına göre güncelleyin.
Özet
Merkezlenmiş RMSProp algoritması, normal RMSProp'un (merkezlenmemiş) ikinci momenti kullanmasının aksine, normalleştirme için merkezlenmiş ikinci momentin (yani varyansın) bir tahminini kullanır. Bu genellikle eğitimde yardımcı olur, ancak hesaplama ve bellek açısından biraz daha maliyetlidir.
Bu algoritmanın yoğun uygulamasında, gradyan sıfır olsa bile mg, ms ve mom güncellenir; ancak bu seyrek uygulamada, gradyanın sıfır olduğu yinelemelerde mg, ms ve mom güncellenmez.
ortalama_kare = bozunma * ortalama_kare + (1-bozunma) * eğim ** 2 ortalama_eğim = bozunma * ortalama_eğim + (1-bozunma) * eğim
Delta = öğrenme_oranı * eğim / sqrt(ortalama_kare + epsilon - ortalama_eğim ** 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
Argümanlar:
- kapsam: Bir Kapsam nesnesi
- var: Bir Variable() türünden gelmelidir.
- mg: Bir Değişkenden gelmelidir().
- ms: Bir Variable()'dan gelmelidir.
- anne: Bir Değişkenden gelmeli().
- lr: Ölçeklendirme faktörü. Skaler bir değer olmalıdır.
- rho: Bozunma oranı. Skaler bir değer olmalıdır.
- epsilon: Tepe noktası terimi. Skaler bir değer olmalıdır.
- grad: Eğim.
İsteğe bağlı özellikler (bkz. Attrs ):
- use_locking:
Trueise, var, mg, ms ve mom tensörlerinin güncellenmesi bir kilit ile korunur; aksi takdirde davranış tanımsızdır, ancak daha az çekişme gösterebilir.
İadeler:
-
Output: "var" ile aynı.
Yapıcılar ve Yıkıcılar | |
|---|---|
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) |
Genel özellikler | |
|---|---|
operation | |
out | |
Kamusal işlevler | |
|---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const | |
Herkese açık statik fonksiyonlar | |
|---|---|
UseLocking (bool x) | |
Yapılar | |
|---|---|
| tensorflow::ops::ApplyCenteredRMSProp::Attrs | ApplyCenteredRMSProp için isteğe bağlı öznitelik ayarlayıcıları. |
Genel özellikler
operasyon
Operation operation
dışarı
::tensorflow::Output out
Kamusal işlevler
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 )
düğüm
::tensorflow::Node * node() const
operatör::tensorflow::Giriş
operator::tensorflow::Input() const
operatör::tensorflow::Çıktı
operator::tensorflow::Output() const
Herkese açık statik fonksiyonlar
KullanımKilitleme
Attrs UseLocking( bool x )