flux tensoriel : : opérations : : ApplyCenteredRMSProp

#include <training_ops.h>

Mettez à jour '*var' selon l'algorithme RMSProp centré.

Résumé

L'algorithme RMSProp centré utilise une estimation du deuxième moment centré (c'est-à-dire la variance) pour la normalisation, par opposition au RMSProp normal, qui utilise le deuxième moment (non centré). Cela facilite souvent la formation, mais coûte légèrement plus cher en termes de calcul et de mémoire.

Notez que dans une implémentation dense de cet algorithme, mg, ms et mom seront mis à jour même si le grad est nul, mais dans cette implémentation clairsemée, mg, ms et mom ne seront pas mis à jour dans les itérations pendant lesquelles le grad est nul.

Mean_square = décroissance * Mean_square + (1-décroissance) * gradient ** 2 Mean_grad = décroissance * Mean_grad + (1-décroissance) * gradient

Delta = learning_rate * gradient / sqrt(mean_square + epsilon - mean_grad ** 2)

mg <- rho * mg_{t-1} + (1-rho) * diplômé ms <- rho * ms_{t-1} + (1-rho) * diplômé * diplômé maman <- élan * mom_{t-1 } + lr * grad / sqrt(ms - mg * mg + epsilon) var <- var - maman

Arguments:

  • scope : un objet Scope
  • var : doit provenir d'une variable ().
  • mg : doit provenir d'une variable().
  • ms : doit provenir d'une variable().
  • maman : devrait provenir d'une variable ().
  • lr : facteur d’échelle. Ça doit être un scalaire.
  • rho : taux de décroissance. Ça doit être un scalaire.
  • epsilon : terme de crête. Ça doit être un scalaire.
  • grad : Le dégradé.

Attributs facultatifs (voir Attrs ) :

  • use_locking : Si True , la mise à jour des tenseurs var, mg, ms et mom est protégée par un verrou ; sinon, le comportement n'est pas défini, mais peut présenter moins de conflits.

Retour:

  • Output : Identique à "var".

Constructeurs et Destructeurs

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)

Attributs publics

operation
out

Fonctions publiques

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

Fonctions statiques publiques

UseLocking (bool x)

Structures

tensorflow :: ops :: ApplyCenteredRMSProp :: Attrs

Setters d'attributs facultatifs pour ApplyCenteredRMSProp .

Attributs publics

opération

Operation operation

dehors

::tensorflow::Output out

Fonctions publiques

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
)

nœud

::tensorflow::Node * node() const 

opérateur :: tensorflow :: Entrée

 operator::tensorflow::Input() const 

opérateur :: tensorflow :: Sortie

 operator::tensorflow::Output() const 

Fonctions statiques publiques

UtiliserVerrouillage

Attrs UseLocking(
  bool x
)