tensorflow::ops::ApplyCenteredRMSProp

#include <training_ops.h>

Aggiorna '*var' secondo l'algoritmo RMSProp centrato.

Riepilogo

L'algoritmo RMSProp centrato utilizza una stima del secondo momento centrato (ovvero la varianza) per la normalizzazione, a differenza dell'algoritmo RMSProp standard che utilizza il secondo momento (non centrato). Questo spesso facilita l'addestramento, ma risulta leggermente più oneroso in termini di calcolo e memoria.

Si noti che nell'implementazione densa di questo algoritmo, mg, ms e mom si aggiorneranno anche se il gradiente è zero, mentre in questa implementazione sparsa, mg, ms e mom non si aggiorneranno nelle iterazioni in cui il gradiente è zero.

media_quadrato = decadimento * media_quadrato + (1-decadimento) * gradiente ** 2 media_grado = decadimento * media_grado + (1-decadimento) * gradiente

Delta = tasso_di_apprendimento * gradiente / sqrt(media_quadrato + epsilon - media_grado ** 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

Argomentazioni:

  • ambito: un oggetto Scope
  • var: Dovrebbe provenire da una Variable().
  • 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 opzionali (vedere Attrs ):

  • use_locking: Se True , l'aggiornamento dei tensori var, mg, ms e mom è protetto da un blocco; altrimenti il ​​comportamento non è definito, ma potrebbe presentare una minore contesa.

Resi:

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 statiche pubbliche

UseLocking (bool x)

Strutture

tensorflow::ops::ApplyCenteredRMSProp::Attrs

Impostatori di attributi opzionali per ApplyCenteredRMSProp .

attributi pubblici

operazione

Operation operation

fuori

::tensorflow::Output out

Funzioni pubbliche

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
)

nodo

::tensorflow::Node * node() const 

operatore::tensorflow::Input

 operator::tensorflow::Input() const 

operatore::tensoreflusso::output

 operator::tensorflow::Output() const 

Funzioni statiche pubbliche

UseLocking

Attrs UseLocking(
  bool x
)