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 = learning_rate * gradiente / sqrt (mean_square + epsilon - mean_grad ** 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 | Los atributos opcionales para SparseApplyCenteredRmsProp |
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 > SparseApplyCenteredRmsProp <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, operando <? extiende TNumber > índices, opciones ... opciones) Método de fábrica para crear una clase que envuelva una nueva operación SparseApplyCenteredRmsProp. |
Salida <T> | fuera () Igual que "var". |
estáticas SparseApplyCenteredRmsProp.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 SparseApplyCenteredRmsProp <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, operando <? extiende TNumber > índices, opciones ... opciones)
Método de fábrica para crear una clase que envuelva una nueva operación SparseApplyCenteredRmsProp.
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. |
épsilon | Término de la 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
estáticas pública SparseApplyCenteredRmsProp.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. |
---|