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 / quadrada (média_quadrada + epsilon - média_grad ** 2)
$$ms <- rho * ms_{t-1} + (1-rho) * grad * grad$$$$mom <- momentum * mom_{t-1} + lr * grad / sqrt(ms + epsilon)$$$$var <- var - mom$$
Classes aninhadas
classe | SparseApplyCenteredRmsProp.Options | Atributos opcionais para SparseApplyCenteredRmsProp |
Constantes
Fragmento | 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 > SparseApplyCenteredRmsProp <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, Operando <? estende TNumber > índices, Options ... opções) Método de fábrica para criar uma classe envolvendo uma nova operação SparseApplyCenteredRmsProp. |
Output <T> | a () O mesmo que "var". |
estáticos SparseApplyCenteredRmsProp.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 SparseApplyCenteredRmsProp <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, Operando <? estende TNumber > índices, Options ... opções)
Método de fábrica para criar uma classe envolvendo uma nova operação SparseApplyCenteredRmsProp.
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. |
épsilon | Termo de cume. Deve ser um escalar. |
grad | O gradiente. |
índices | Um vetor de índices na primeira dimensão de var, ms e mom. |
opções | carrega valores de atributos opcionais |
Devoluções
- uma nova instância de SparseApplyCenteredRmsProp
public static SparseApplyCenteredRmsProp.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. |
---|