Actualice '*var' según el algoritmo RMSProp centrado.
El algoritmo RMSProp centrado utiliza una estimación del segundo momento centrado (es decir, la varianza) para la normalización, a diferencia del RMSProp normal, que utiliza el segundo momento (no centrado). Esto suele ayudar con la formación, pero es un poco más caro en términos de cálculo y memoria.
Tenga en cuenta que en una implementación densa de este algoritmo, mg, ms y mom se actualizarán incluso si el grad es cero, pero en esta implementación escasa, mg, ms y mom no se actualizarán en iteraciones durante las cuales el grad sea cero.
cuadrado_medio = decaimiento * cuadrado_medio + (1-decaimiento) * gradiente ** 2 grad_medio = decaimiento * grad_medio + (1-decaimiento) * gradiente Delta = tasa de aprendizaje * gradiente / sqrt (cuadrado_medio + épsilon - grad_medio ** 2)
$$ms <- rho * ms_{t-1} + (1-rho) * grad * grad$$$$mom <- momentum * mom_{t-1} + lr * grad / sqrt(ms + epsilon)$$$$var <- var - mom$$
Clases anidadas
| clase | SparseApplyCenteredRmsProp.Options | Atributos opcionales para SparseApplyCenteredRmsProp | |
Constantes
| Cadena | OP_NOMBRE | El nombre de esta operación, como lo conoce el motor central de TensorFlow. |
Métodos públicos
| Salida <T> | como salida () Devuelve el identificador simbólico del tensor. |
| estático <T extiende TType > SparseApplyCenteredRmsProp <T> | crear ( Alcance alcance, Operando <T> var, Operando <T> mg, Operando <T> ms, Operando <T> mom, Operando <T> lr, Operando <T> rho, Operando <T> impulso, Operando <T > épsilon, Operando <T> grad, Operando <? extiende TNumber > índices, Opciones... opciones) Método de fábrica para crear una clase que envuelve una nueva operación SparseApplyCenteredRmsProp. |
| Salida <T> | afuera () Igual que "var". |
| Estático SparseApplyCenteredRmsProp.Options | useLocking (uso booleano Locking) |
Métodos heredados
Constantes
Cadena final estática pública OP_NAME
El nombre de esta operación, como lo conoce el motor central de TensorFlow.
Métodos públicos
Salida pública <T> como Salida ()
Devuelve el identificador simbólico del tensor.
Las entradas a las operaciones de TensorFlow son salidas de otra operación de TensorFlow. Este método se utiliza para obtener un identificador simbólico que representa el cálculo de la entrada.
public static SparseApplyCenteredRmsProp <T> create ( Alcance alcance, Operando <T> var, Operando <T> mg, Operando <T> ms, Operando <T> mom, Operando <T> lr, Operando <T> rho, Operando <T > impulso, Operando <T> épsilon, Operando <T> grad, Operando <? extiende TNumber > índices, Opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación SparseApplyCenteredRmsProp.
Parámetros
| alcance | alcance actual |
|---|---|
| var | Debe ser de una Variable(). |
| mg | Debe ser de una Variable(). |
| EM | Debe ser de una Variable(). |
| mamá | Debe ser de una Variable(). |
| lr | Factor de escala. Debe ser un escalar. |
| rho | Tasa de descomposición. Debe ser un escalar. |
| épsilon | Término de cresta. Debe ser un escalar. |
| graduado | El gradiente. |
| índices | Un vector de índices en la primera dimensión de var, ms y mom. |
| opciones | lleva valores de atributos opcionales |
Devoluciones
- una nueva instancia de SparseApplyCenteredRmsProp
público estático SparseApplyCenteredRmsProp.Options useLocking (uso booleano)
Parámetros
| utilizarBloqueo | Si es "True", la actualización de los tensores var, mg, ms y mom está protegida por un bloqueo; de lo contrario, el comportamiento no está definido, pero puede presentar menos contención. |
|---|