tensoreflusso:: ops:: ApplicaCenteredRMSProp
#include <training_ops.h>
Aggiorna '*var' in base all'algoritmo RMSProp centrato.
Riepilogo
L'algoritmo RMSProp centrato utilizza una stima del secondo momento centrato (cioè la varianza) per la normalizzazione, al contrario del normale RMSProp, che utilizza il secondo momento (non centrato). Questo spesso aiuta con la formazione, ma è leggermente più costoso in termini di calcolo e memoria.
Tieni presente che nell'implementazione densa di questo algoritmo, mg, ms e mom verranno aggiornati anche se il grad è zero, ma in questa implementazione sparsa, mg, ms e mom non verranno aggiornati nelle iterazioni durante le quali il grad è zero.
quadrato_medio = decadimento * quadrato_medio + (1 decadimento) * gradiente ** 2 grado_medio = decadimento * grado_medio + (1 decadimento) * gradiente
Delta = tasso_di_apprendimento * gradiente / sqrt(quadrato_medio + epsilon - grado_medio ** 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
Argomenti:
- scope: un oggetto Scope
- var: dovrebbe provenire da una variabile().
- mg: dovrebbe provenire da una variabile().
- ms: dovrebbe provenire da una variabile().
- mamma: Dovrebbe provenire da una Variabile().
- lr: fattore di scala. Deve essere uno scalare.
- rho: tasso di decadimento. Deve essere uno scalare.
- epsilon: termine di cresta. Deve essere uno scalare.
- grad: il gradiente.
Attributi facoltativi (vedi Attrs
):
- use_locking: Se
True
, l'aggiornamento dei tensori var, mg, ms e mom è protetto da un blocco; altrimenti il comportamento non è definito, ma può mostrare meno contesa.
Resi:
-
Output
: Uguale a "var".
Costruttori e distruttori | |
---|---|
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) |
Attributi pubblici | |
---|---|
operation | |
out |
Funzioni pubbliche | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Funzioni pubbliche statiche | |
---|---|
UseLocking (bool x) |
Strutture | |
---|---|
tensorflow:: ops:: ApplyCenteredRMSProp:: Attrs | Setter di attributi facoltativi per ApplyCenteredRMSProp . |
Attributi pubblici
operazione
Operation operation
fuori
::tensorflow::Output out
Funzioni pubbliche
ApplicaCenteredRMSProp
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 )
ApplicaCenteredRMSProp
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 )
nodo
::tensorflow::Node * node() const
operatore::tensorflow::Input
operator::tensorflow::Input() const
operatore::tensorflow::Output
operator::tensorflow::Output() const
Funzioni pubbliche statiche
UsaLocking
Attrs UseLocking( bool x )