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. |
---|