AdaDelta es un algoritmo de optimización de tasa de aprendizaje adaptativa diseñado para entrenar redes neuronales. Fue introducido en 2012 por Matthew D. Zeiler en el artículo "ADADELTA: An Adaptive Learning Rate Method". El método se basa en RMSProp eliminando el requisito de una tasa de aprendizaje inicial especificada por el usuario, derivando en su lugar tamaños de paso por parámetro a partir de una ventana de gradientes pasados y actualizaciones de parámetros. Esto lo hace particularmente útil en escenarios donde ajustar una tasa de aprendizaje global es difícil o donde el panorama de pérdida varía significativamente entre parámetros.
La innovación central de AdaDelta radica en su uso de dos promedios exponencialmente decrecientes: uno para los gradientes al cuadrado y otro para las actualizaciones de parámetros al cuadrado. A diferencia de las variantes de descenso de gradiente estocástico que dependen de una tasa de aprendizaje fija o programada, AdaDelta calcula el tamaño del paso como la relación entre la raíz cuadrada media de las actualizaciones recientes y la raíz cuadrada media de los gradientes recientes. Esta relación es adimensional y se adapta automáticamente a la escala de los gradientes, lo que permite que el algoritmo mantenga un comportamiento consistente entre diferentes capas de una red profunda sin intervención manual.
Contexto Histórico y Motivación
AdaDelta surgió durante un período de rápido avance en las técnicas de optimización de aprendizaje profundo. A principios de la década de 2010, entrenar redes profundas era notoriamente difícil debido a problemas como gradientes que desaparecen o explotan y la sensibilidad de los programas de tasa de aprendizaje. Métodos como el momento y el recorte de gradientes proporcionaron soluciones parciales, pero aún requerían un ajuste cuidadoso de los hiperparámetros. RMSProp, introducido por Geoffrey Hinton en sus notas de clase alrededor de 2012, abordó el problema de la escala de gradientes normalizando las actualizaciones con un promedio móvil de gradientes al cuadrado, pero aún requería una tasa de aprendizaje.
Zeiler, entonces en Google (aunque el trabajo se realizó de forma independiente), buscó crear un optimizador que fuera robusto a la elección de la tasa de aprendizaje. La motivación era práctica: en experimentos a gran escala, encontrar una tasa de aprendizaje apropiada a menudo consumía tiempo y recursos computacionales significativos. El diseño de AdaDelta tenía como objetivo hacer que el optimizador se autoajustara, reduciendo la carga sobre los profesionales y permitiendo resultados más reproducibles entre diferentes problemas\
El artículo fue publicado en arXiv en junio de 2012 y rápidamente ganó atención dentro de la comunidad de aprendizaje automático. Fue uno de los primeros métodos en proponer una tasa de aprendizaje completamente adaptativa por dimensión sin ningún hiperparámetro global para el tamaño del paso, un concepto que más tarde influiría en otros optimizadores como Adam (que aún requiere una tasa de aprendizaje pero por defecto es 0.001).
Formulación Matemática
AdaDelta mantiene dos variables de estado para cada parámetro θ: un promedio móvil exponencial de gradientes al cuadrado, denotado E[g²]_t, y un promedio móvil exponencial de actualizaciones de parámetros al cuadrado, denotado E[Δθ²]_t. En cada paso de tiempo t, el algoritmo calcula el gradiente g_t de la pérdida con respecto a θ\
El primer promedio se actualiza como:
E[g²]_t = ρ E[g²]_{t-1} + (1 - ρ) g_t²
donde ρ es una constante de decaimiento, típicamente establecida en 0.95. Esto es idéntico a la actualización en RMSProp\
El segundo promedio rastrea las actualizaciones al cuadrado, pero se actualiza usando el cambio de parámetro del paso actual. La raíz cuadrada media (RMS) de las actualizaciones de parámetros se calcula como:
RMS[Δθ]_{t-1} = sqrt(E[Δθ²]_{t-1} + ε)
donde ε es una pequeña constante (a menudo 1e-6) para evitar la división por cero. La actualización de parámetros es entonces:
Δθ_t = - (RMS[Δθ]_{t-1} / RMS[g]_t) * g_t
donde RMS[g]_t = sqrt(E[g²]_t + ε). Después de aplicar la actualización, el algoritmo actualiza E[Δθ²]_t usando el Δθ_t recién calculado:
E[Δθ²]_t = ρ E[Δθ²]_{t-1} + (1 - ρ) Δθ_t²
Esta formulación asegura que el tamaño del paso sea la relación entre la raíz cuadrada media de las actualizaciones recientes y la raíz cuadrada media de los gradientes recientes. Debido a que tanto el numerador como el denominador tienen las mismas unidades (valores de parámetros al cuadrado), el tamaño del paso resultante es adimensional, lo que explica por qué el método no requiere una tasa de aprendizaje. La constante de decaimiento ρ controla el tamaño de la ventana de los promedios móviles, con valores más grandes dando más peso a la historia pasada\
Comparación con RMSProp y Adam
AdaDelta a menudo se describe como una extensión de RMSProp porque usa el mismo mecanismo de escala de gradientes. La diferencia clave es que RMSProp divide el gradiente por la raíz cuadrada media de los gradientes y luego multiplica por una tasa de aprendizaje fija η. En contraste, AdaDelta reemplaza esa η fija con la raíz cuadrada media de las actualizaciones de parámetros pasadas. Esta sustitución hace que el tamaño del paso sea adaptativo no solo a la magnitud del gradiente sino también a la curvatura de la función de pérdida, como se refleja en las actualizaciones reales tomadas\
En comparación con Adam, que fue introducido en 2015 por Diederik Kingma y Jimmy Ba, AdaDelta comparte la idea de usar segundos momentos de gradientes. Sin embargo, Adam también incorpora momento a través de una estimación del primer momento y usa corrección de sesgo para los pasos de tiempo iniciales. Adam aún requiere una tasa de aprendizaje, aunque su valor por defecto de 0.001 funciona bien en muchas aplicaciones. AdaDelta, por contraste, no tiene hiperparámetro de tasa de aprendizaje, lo que puede ser una ventaja cuando la tasa de aprendizaje óptima es desconocida o varía entre tareas\
Estudios empíricos han mostrado que AdaDelta a menudo se desempeña de manera comparable a Adam en muchos puntos de referencia estándar, pero puede ser más estable en situaciones donde las magnitudes de gradiente cambian drásticamente con el tiempo. Sin embargo, el término de momento de Adam puede ayudar a escapar de mínimos locales más efectivamente en algunos problemas no convexos. A partir de mediados de la década de 2020, Adam y sus variantes(como AdamW) son más ampliamente utilizados en la práctica, particularmente en el entrenamiento de transformadores y grandes modelos de lenguaje, pero AdaDelta sigue siendo una línea base relevante y aún se usa en ciertos dominios donde sus propiedades son beneficiosas\
Detalles de Implementación y Variantes
En la práctica, implementar AdaDelta requiere almacenar dos vectores adicionales por parámetro, lo que duplica la huella de memoria en comparación con SGD simple. Esto es similar a los requisitos de memoria de Adam. La constante de decaimiento ρ se establece típicamente en 0.95, y el épsilon ε se establece en un valor pequeño como 1e-6 para asegurar estabilidad numérica. Algunas implementaciones usan una colocación ligeramente diferente de épsilon, agregándolo dentro de la raíz cuadrada en lugar de fuera, pero el efecto es insignificante\
Una variante común es combinar AdaDelta con esquemas de inicialización de pesos y normalización por lotes para estabilizar aún más el entrenamiento. El método también es compatible con estrategias de aumento de datos y aprendizaje curricular. En entornos de entrenamiento distribuido, AdaDelta se puede usar con actualizaciones síncronas o asíncronas, aunque los promedios móviles deben sincronizarse entre los trabajadores para evitar divergencia\
Varios marcos de aprendizaje profundo, incluyendo TensorFlow, PyTorch, y JAX, proporcionan implementaciones integradas de AdaDelta. Por ejemplo, el torch.optim.Adadelta de PyTorch permite a los usuarios especificar los parámetros rho y eps, con valores por defecto de 0.9 y 1e-6 respectivamente (nota que el rho por defecto en PyTorch es 0.9, diferente del 0.95 del artículo original). Esta discrepancia puede llevar a un comportamiento diferente, por lo que los profesionales deben ser conscientes de los valores por defecto específicos en su marco elegido\
Aplicaciones y Casos de Uso
AdaDelta se ha aplicado a una amplia gama de tareas de aprendizaje automático, incluyendo clasificación de imágenes, reconocimiento de voz, y procesamiento de lenguaje natural. A principios de la década de 2010, se usó para entrenar redes convolucionales profundas en conjuntos de datos como CIFAR-10 e ImageNet, logrando resultados competitivos con menos ajuste de hiperparámetros que SGD con momento. También encontró uso en redes neuronales recurrentes para modelado de secuencias, donde las magnitudes de gradiente pueden variar significativamente entre pasos de tiempo\
Una ventaja notable de AdaDelta es su robustez a la elección de parámetros iniciales. Debido a que no requiere una tasa de aprendizaje, a menudo se usa como optimizador por defecto en tuberías de aprendizaje automático automatizado o al comparar nuevas arquitecturas. Por ejemplo, investigadores en la Universidad de Toronto y el Laboratorio de IA de Stanford han usado AdaDelta en estudios que comparan algoritmos de optimización, aunque es menos común en modelos de IA generativa de vanguardia, que típicamente favorecen Adam\
En aprendizaje por refuerzo, AdaDelta se ha usado para entrenar políticas para tareas de control continuo, donde la señal de recompensa puede ser ruidosa y la escala de gradiente varía. Su tamaño de paso adaptativo ayuda a mantener actualizaciones estables sin programación manual. Sin embargo, en años recientes, optimizadores más avanzados como Adam y LAMB se han vuelto más populares en entrenamiento a gran escala, en parte debido a su compatibilidad con técnicas de calentamiento de tasa de aprendizaje y recorte de gradientes\
Propiedades Teóricas y Limitaciones
Desde una perspectiva teórica, AdaDelta se puede ver como un método de descenso de gradiente con precondicionamiento diagonal, donde el precondicionador se actualiza en línea basado en la historia de gradientes y actualizaciones. Esto es similar a métodos de gradiente natural pero con una aproximación más simple. El método garantiza que el tamaño del paso sea siempre positivo y acotado, asumiendo que los gradientes están acotados, lo que ayuda con la convergencia en entornos convexos. Sin embargo, las pruebas formales de convergencia para objetivos no convexos son limitadas, como es común para métodos adaptativos\
Una limitación de AdaDelta es que puede ser sensible a la elección de ρ. Si ρ es demasiado pequeño, los promedios móviles olvidan información pasada rápidamente, lo que lleva a actualizaciones erráticas; si es demasiado grande, el algoritmo puede responder lentamente a cambios en el panorama de pérdida. La falta de una tasa de aprendizaje también significa que el usuario tiene menos control sobre el tamaño general del paso, lo que puede ser una desventaja cuando se sabe que un tamaño de paso específico funciona bien\
Otro problema es que la regla de actualización de AdaDelta a veces puede llevar a tamaños de paso muy pequeños en las etapas iniciales del entrenamiento, porque el E[Δθ²] inicial es cero. Esto se mitiga con el término épsilon, pero puede ralentizar la convergencia inicialmente. Algunas implementaciones inicializan E[Δθ²] a un pequeño valor positivo para evitar esto, pero esto introduce un hiperparámetro adicional\
Legado e Influencia
La introducción de AdaDelta contribuyó a la tendencia más amplia de métodos de optimización adaptativa en el aprendizaje profundo. Demostró que una tasa de aprendizaje podía eliminarse por completo, lo que inspiró investigaciones posteriores sobre optimizadores sin hiperparámetros. Aunque no logró la adopción generalizada de Adam, sigue siendo una parte importante del kit de herramientas de optimización y a menudo se cita en libros de texto y artículos de revisión sobre técnicas de aprendizaje profundo\
El método también es notable por su exposición clara y concisa en el artículo original, que incluía derivaciones detalladas y experimentos en varias tareas de referencia. El trabajo de Zeiler influyó en desarrollos posteriores como Adam y AMSGrad, que abordaron algunas de las deficiencias teóricas de los métodos adaptativos. A partir de la década de 2020, AdaDelta todavía se incluye en las principales bibliotecas de aprendizaje profundo y ocasionalmente se usa en investigación cuando se desea un optimizador sin tasa de aprendizaje, aunque su uso práctico ha disminuido en relación con alternativas más modernas\
En resumen, AdaDelta representa un paso significativo en la evolución de los algoritmos de optimización para redes neuronales, ofreciendo una forma fundamentada de adaptar tamaños de paso sin ajuste manual. Su legado persiste en el diseño de optimizadores posteriores y en la búsqueda continua de procedimientos de entrenamiento robustos y autoadaptativos.