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 es cero.
media_cuadrada = decaimiento * media_cuadrada + (1-decaimiento) * gradiente ** 2 media_grad = decaimiento * media_grad + (1-decaimiento) * gradiente
Delta = tasa_de_aprendizaje * gradiente / sqrt(cuadrado_medio + épsilon - grad_medio ** 2)
mg <- rho * mg_{t-1} + (1-rho) * grad ms <- rho * ms_{t-1} + (1-rho) * grad * grad mamá <- impulso * mamá_{t-1 } + lr * grad / sqrt(ms - mg * mg + épsilon) var <- var - mom
Clases anidadas
clase | AplicarCenteredRmsProp.Options | Atributos opcionales para ApplyCenteredRmsProp |
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 > ApplyCenteredRmsProp <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, Opciones... opciones) Método de fábrica para crear una clase que envuelve una nueva operación ApplyCenteredRmsProp. |
Salida <T> | afuera () Igual que "var". |
Estático ApplyCenteredRmsProp.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 ApplyCenteredRmsProp <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, Opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación ApplyCenteredRmsProp.
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. |
impulso | Escala de impulso. Debe ser un escalar. |
épsilon | Término de cresta. Debe ser un escalar. |
graduado | El gradiente. |
opciones | lleva valores de atributos opcionales |
Devoluciones
- una nueva instancia de ApplyCenteredRmsProp
estático público ApplyCenteredRmsProp.Options useLocking (useLocking 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. |
---|