Actualice '* var' de acuerdo con 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 regular, que utiliza el segundo momento (no centrado). Esto a menudo ayuda con el entrenamiento, pero es un poco más caro en términos de cálculo y memoria.
Tenga en cuenta que en la implementación densa de este algoritmo, mg, ms y mom se actualizarán incluso si el gradiente 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.
mean_square = decay * mean_square + (1-decay) * gradient ** 2 mean_grad = decay * mean_grad + (1-decay) * gradient
Delta = tasa_de_aprendizaje * gradiente / sqrt (cuadrado_medio + épsilon - grado_medio ** 2)
mg <- rho * mg_ {t-1} + (1-rho) * grad ms <- rho * ms_ {t-1} + (1-rho) * grad * grad mom <- impulso * mom_ {t-1 } + lr * grad / sqrt (ms - mg * mg + épsilon) var <- var - mamá
Clases anidadas
clase | ApplyCenteredRmsProp.Options | Los atributos opcionales para ApplyCenteredRmsProp |
Constantes
Cuerda | OP_NAME | El nombre de esta operación, como lo conoce el motor central de TensorFlow |
Métodos públicos
Salida <T> | asOutput () Devuelve el identificador simbólico del tensor. |
estática <T se extiende Ttype > ApplyCenteredRmsProp <T> | crear ( Alcance alcance, operando <T> var, operando <T> mg, operando <T> ms, operando <T> mamá, operando <T> lr, operando <T> rho, operando <T> impulso, operando <T > épsilon, operando <T> graduado, opciones ... opciones) Método de fábrica para crear una clase que envuelva una nueva operación ApplyCenteredRmsProp. |
Salida <T> | fuera () Igual que "var". |
estáticas ApplyCenteredRmsProp.Options | useLocking (Boolean useLocking) |
Métodos heredados
Constantes
OP_NAME pública final static String
El nombre de esta operación, como lo conoce el motor central de TensorFlow
Métodos públicos
pública de salida <T> asOutput ()
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> crear ( Alcance alcance, operando <T> var, operando <T> mg, operando <T> ms, operando <T> mamá, operando <T> lr, operando <T> rho, operando <T > impulso, operando <T> épsilon, operando <T> graduado, opciones ... opciones)
Método de fábrica para crear una clase que envuelva una nueva operación ApplyCenteredRmsProp.
Parámetros
alcance | alcance actual |
---|---|
var | Debe ser de una variable (). |
mg | Debe ser de una variable (). |
Sra | 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 momento. Debe ser un escalar. |
épsilon | Término de la cresta. Debe ser un escalar. |
graduado | El gradiente. |
opciones | lleva valores de atributos opcionales |
Devoluciones
- una nueva instancia de ApplyCenteredRmsProp
public static ApplyCenteredRmsProp.Options useLocking (booleano useLocking)
Parámetros
useLocking | 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. |
---|