tensor akışı:: işlem:: SparseApplyCenteredRMSProp
#include <training_ops.h>
'*var'ı ortalanmış RMSProp algoritmasına göre güncelleyin.
Özet
Merkezlenmiş RMSProp algoritması, (merkezlenmemiş) ikinci anı kullanan normal RMSProp'un aksine, normalleştirme için ortalanmış ikinci momentin (yani varyansın) bir tahminini kullanır. Bu genellikle eğitime yardımcı olur, ancak hesaplama ve hafıza açısından biraz daha pahalıdır.
Bu algoritmanın yoğun uygulanmasında mg, ms ve mom'in grad sıfır olsa bile güncelleneceğini, ancak bu seyrek uygulamada mg, ms ve mom'un grad'ın sıfır olduğu yinelemelerde güncellenmeyeceğini unutmayın.
ortalama_kare = bozunum * ortalama_kare + (1-bozunma) * gradyan ** 2 ortalama_grad = bozunma * ortalama_grad + (1-bozunma) * gradyan Delta = öğrenme_oranı * gradyan / sqrt(ortalama_kare + epsilon - ortalama_grad ** 2)
$$ms <- rho * ms_{t-1} + (1-rho) * grad * grad$$ $$mom <- momentum * mom_{t-1} + lr * grad / sqrt(ms + epsilon)$$ $$var <- var - mom$$
Argümanlar:
- kapsam: Bir Kapsam nesnesi
- var: Bir Variable()'dan olmalıdır.
- mg: Bir Değişken()'den olmalıdır.
- ms: Bir Variable()'dan olmalıdır.
- anne: Bir Variable()'dan olmalı.
- lr: Ölçeklendirme faktörü. Bir skaler olmalı.
- rho: Bozunma oranı. Bir skaler olmalı.
- epsilon: Ridge terimi. Bir skaler olmalı.
- grad: Gradyan.
- indeksler: var, ms ve mom'un birinci boyutuna ait indekslerin bir vektörü.
İsteğe bağlı özellikler (bkz. Attrs
):
- use_locking:
True
ise var, mg, ms ve mom tensörlerinin güncellenmesi bir kilitle korunur; aksi takdirde davranış tanımsızdır ancak daha az çekişme sergileyebilir.
İade:
-
Output
: "var" ile aynı.
Yapıcılar ve Yıkıcılar | |
---|---|
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) |
Genel özellikler | |
---|---|
operation | |
out |
Kamu işlevleri | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Genel statik işlevler | |
---|---|
UseLocking (bool x) |
Yapılar | |
---|---|
tensorflow:: ops:: SparseApplyCenteredRMSProp:: Öznitelikler | SparseApplyCenteredRMSProp için isteğe bağlı öznitelik ayarlayıcılar. |
Genel özellikler
operasyon
Operation operation
dışarı
::tensorflow::Output out
Kamu işlevleri
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 )
düğüm
::tensorflow::Node * node() const
operatör::tensorflow::Giriş
operator::tensorflow::Input() const
operatör::tensorflow::Çıktı
operator::tensorflow::Output() const
Genel statik işlevler
KullanımKilitleme
Attrs UseLocking( bool x )