Atualize '* var' de acordo com o algoritmo RMSProp centralizado.
O algoritmo RMSProp centrado usa uma estimativa do segundo momento centrado (ou seja, a variância) para normalização, ao contrário do RMSProp regular, que usa o segundo momento (não centrado). Isso geralmente ajuda no treinamento, mas é um pouco mais caro em termos de computação e memória.
Observe que na implementação densa deste algoritmo, mg, ms e mom serão atualizados mesmo se o grad for zero, mas nesta implementação esparsa, mg, ms e mom não serão atualizados nas iterações durante as quais o grad é zero.
média_quadrada = decadência * média_quadrada + (1-decadência) * gradiente ** 2 média_grad = decadência * média_grad + (1-decadência) * gradiente
Delta = learning_rate * gradiente / sqrt (mean_square + epsilon - mean_grad ** 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 - mãe
Classes aninhadas
classe | ApplyCenteredRmsProp.Options | Atributos opcionais para ApplyCenteredRmsProp |
Constantes
Corda | OP_NAME | O nome desta operação, conforme conhecido pelo motor principal TensorFlow |
Métodos Públicos
Output <T> | asOutput () Retorna o identificador simbólico do tensor. |
estática <T estende TType > ApplyCenteredRmsProp <T> | criar ( Scope escopo, Operando <T> var, Operando <T> mg, Operando <T> ms, Operando <T> mãe, Operando <T> lr, Operando <T> ró, Operando <T> impulso, Operando <T > epsilon, Operando <T> grad, Options ... opções) Método de fábrica para criar uma classe envolvendo uma nova operação ApplyCenteredRmsProp. |
Output <T> | a () O mesmo que "var". |
estáticos ApplyCenteredRmsProp.Options | useLocking (booleano useLocking) |
Métodos herdados
Constantes
nome_op final String public static
O nome desta operação, conforme conhecido pelo motor principal TensorFlow
Métodos Públicos
pública Output <T> asOutput ()
Retorna o identificador simbólico do tensor.
As entradas para as operações do TensorFlow são saídas de outra operação do TensorFlow. Este método é usado para obter um identificador simbólico que representa o cálculo da entrada.
public static ApplyCenteredRmsProp <T> create ( Scope escopo, Operando <T> var, Operando <T> mg, Operando <T> ms, Operando <T> mãe, Operando <T> lr, Operando <T> ró, Operando <T > impulso, Operando <T> epsilon, Operando <T> grad, Options ... opções)
Método de fábrica para criar uma classe envolvendo uma nova operação ApplyCenteredRmsProp.
Parâmetros
alcance | escopo atual |
---|---|
var | Deve ser de uma variável (). |
mg | Deve ser de uma variável (). |
em | Deve ser de uma variável (). |
mãe | Deve ser de uma variável (). |
lr | Fator de escala. Deve ser um escalar. |
rho | Taxa de decaimento. Deve ser um escalar. |
impulso | Escala de momento. Deve ser um escalar. |
épsilon | Termo de cume. Deve ser um escalar. |
grad | O gradiente. |
opções | carrega valores de atributos opcionais |
Devoluções
- uma nova instância de ApplyCenteredRmsProp
public static ApplyCenteredRmsProp.Options useLocking (Boolean useLocking)
Parâmetros
useLocking | Se for `True`, a atualização dos tensores var, mg, ms e mom é protegida por um bloqueio; caso contrário, o comportamento é indefinido, mas pode exibir menos contenção. |
---|