Ya no necesitas investigar más en otros sitios porque has llegado al sitio adecuado, tenemos la respuesta que quieres sin complicarte.
Ver fuente en GitHub |
Optimizador que implementa el algoritmo Adadelta.
Hereda de: Optimizer
Ver alias
Alias principales
Alias de compatibilidad para la migración
Ver Guía de migración para más detalles.
tf.keras.optimizers.Adadelta( learning_rate=0.001, rho=0.95, epsilon=1e-07, name='Adadelta',**kwargs )
La optimización de Adadelta es un método de descenso de gradiente estocástico que se basa en la tasa de aprendizaje adaptativo por dimensión para abordar dos inconvenientes:
- La disminución continua de las tasas de aprendizaje a lo largo del entrenamiento.
- La necesidad de una tasa de aprendizaje global seleccionada manualmente
Adadelta es una extensión más robusta de Adagrad que adapta las tasas de aprendizaje en función de una ventana móvil de actualizaciones de gradientes, en lugar de acumular todos los gradientes anteriores. De esta forma, Adadelta sigue aprendiendo incluso cuando se han realizado muchas actualizaciones. En comparación con Adagrad, en la versión original de Adadelta no es necesario establecer una tasa de aprendizaje inicial. En esta versión, se puede configurar la tasa de aprendizaje inicial, como en la mayoría de los otros optimizadores de Keras.
De acuerdo con la sección 4.3 (“Tasas de aprendizaje efectivas”), cerca del final del entrenamiento, los tamaños de los pasos convergen a 1, que es efectivamente una tasa de aprendizaje alta que causaría divergencia. Esto ocurre solo cerca del final del entrenamiento, ya que los gradientes y los tamaños de paso son pequeños, y la constante épsilon en el numerador y el denominador dominan los gradientes anteriores y las actualizaciones de parámetros que convergen la tasa de aprendizaje a 1.
De acuerdo con la sección 4.4 (“Datos de voz”), donde se entrenó una gran red neuronal con 4 capas ocultas en un corpus de datos en inglés de EE. UU., se usó ADADELTA con 100 réplicas de red. convergió más rápido que ADAGRAD, por la siguiente construcción: def en eso(yo, lr=1.0, rho=0.95, épsilon=1e-6, decaimiento=0., **kwargs):
argumentos | |
---|---|
learning_rate |
A Tensor valor de punto flotante, o un programa que es un tf.keras.optimizers.schedules.LearningRateSchedule . La tasa de aprendizaje. Para hacer coincidir la forma exacta en el documento original, use 1.0. |
rho |
A Tensor o un valor de coma flotante. La tasa de descomposición. |
epsilon |
A Tensor o un valor de coma flotante. Una épsilon constante utilizada para acondicionar mejor la actualización de grado. |
name |
Nombre opcional prefix para las operaciones creadas al aplicar degradados. Predeterminado a "Adadelta" . |
**kwargs |
Argumentos de palabras clave. permitido ser uno de "clipnorm" o "clipvalue" . "clipnorm" (flotante) recorta gradientes por norma; "clipvalue" (flotante) recorta degradados por valor. |
Referencia:
aumenta | |
---|---|
ValueError |
en caso de cualquier argumento inválido. |
Si te ha resultado de provecho este artículo, sería de mucha ayuda si lo compartes con otros juniors de esta forma contrubuyes a dar difusión a esta información.