Atualize '*var' de acordo com o algoritmo RMSProp centralizado.
O algoritmo RMSProp centrado utiliza uma estimativa do segundo momento centralizado (ou seja, a variância) para normalização, em oposição ao RMSProp regular, que utiliza o segundo momento (não centralizado). Isso geralmente ajuda no treinamento, mas é um pouco mais caro em termos de computação e memória.
Observe que na implementação densa desse 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 em iterações durante as quais o grad for 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 = taxa de aprendizagem * gradiente / sqrt(média_quadrada + épsilon - 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
aula | SparseApplyCenteredRmsProp.Options | Atributos opcionais para SparseApplyCenteredRmsProp |
Constantes
Corda | OP_NAME | O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow |
Métodos Públicos
Saída <T> | asOutput () Retorna o identificador simbólico do tensor. |
estático <T estende TType > SparseApplyCenteredRmsProp <T> | create ( Escopo , Operando <T> var, Operando <T> mg, Operando <T> ms, Operando <T> mãe, Operando <T> lr, Operando <T> rho, Operando <T> momentum, Operando <T > épsilon, Operando <T> grad, Operando <? estende TNumber > índices, Opções... opções) Método de fábrica para criar uma classe que agrupa uma nova operação SparseApplyCenteredRmsProp. |
Saída <T> | fora () O mesmo que "var". |
SparseApplyCenteredRmsProp.Options estático | useLocking (booleano useLocking) |
Métodos herdados
Constantes
String final estática pública OP_NAME
O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow
Métodos Públicos
Saída pública <T> asOutput ()
Retorna o identificador simbólico do tensor.
As entradas para 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 ( Escopo escopo, Operando <T> var, Operando <T> mg, Operando <T> ms, Operando <T> mãe, Operando <T> lr, Operando <T> rho, Operando <T > momentum, Operando <T> épsilon, Operando <T> grad, Operando <? estende TNumber > índices, Opções... opções)
Método de fábrica para criar uma classe que agrupa uma nova operação SparseApplyCenteredRmsProp.
Parâmetros
escopo | 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. |
ró | Taxa de decaimento. Deve ser um escalar. |
épsilon | Termo de cume. Deve ser um escalar. |
graduado | 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 (booleano useLocking)
Parâmetros
useLocking | Se `True`, a atualização dos tensores var, mg, ms e mom é protegida por um bloqueio; caso contrário, o comportamento será indefinido, mas poderá apresentar menos contenção. |
---|