Mettez à jour '*var' selon l'algorithme RMSProp centré.
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
Classes imbriquées
classe | ApplyCenteredRmsProp.Options | Attributs facultatifs pour ApplyCenteredRmsProp |
Constantes
Chaîne | OP_NAME | Le nom de cette opération, tel que connu par le moteur principal TensorFlow |
Méthodes publiques
Sortie <T> | comme Sortie () Renvoie le handle symbolique du tenseur. |
statique <T étend TType > ApplyCenteredRmsProp <T> | créer ( Scope scope, Opérande <T> var, Opérande <T> mg, Opérande <T> ms, Opérande <T> mom, Opérande <T> lr, Opérande <T> rho, Opérande <T> momentum, Opérande <T > epsilon, Opérande <T> grad, Options... options) Méthode d'usine pour créer une classe encapsulant une nouvelle opération ApplyCenteredRmsProp. |
Sortie <T> | dehors () Identique à "var". |
statique ApplyCenteredRmsProp.Options | useLocking (booléen useLocking) |
Méthodes héritées
Constantes
chaîne finale statique publique OP_NAME
Le nom de cette opération, tel que connu par le moteur principal TensorFlow
Méthodes publiques
sortie publique <T> asOutput ()
Renvoie le handle symbolique du tenseur.
Les entrées des opérations TensorFlow sont les sorties d'une autre opération TensorFlow. Cette méthode est utilisée pour obtenir un handle symbolique qui représente le calcul de l’entrée.
public static ApplyCenteredRmsProp <T> create ( Scope scope, Operand <T> var, Operand <T> mg, Operand <T> ms, Operand <T> mom, Operand <T> lr, Operand <T> rho, Operand <T > élan, Opérande <T> epsilon, Opérande <T> grad, Options... options)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération ApplyCenteredRmsProp.
Paramètres
portée | portée actuelle |
---|---|
var | Doit provenir d'une variable (). |
mg | Doit provenir d'une variable (). |
MS | Doit provenir d'une variable (). |
maman | Doit provenir d'une variable (). |
g / D | Facteur d'échelle. Ça doit être un scalaire. |
rho | Taux de décomposition. Ça doit être un scalaire. |
élan | Échelle d'élan. Ça doit être un scalaire. |
épsilon | Terme de crête. Ça doit être un scalaire. |
diplômé | Le dégradé. |
choix | porte des valeurs d'attributs facultatifs |
Retour
- une nouvelle instance de ApplyCenteredRmsProp
public static ApplyCenteredRmsProp.Options useLocking (booléen useLocking)
Paramètres
utiliserVerrouillage | 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. |
---|