He estado construyendo algunos modelos para un proyecto, pero no puedo entender los algoritmos matemáticos de Adagrad y Adadelta.
Entiendo cómo funciona el descenso de gradiente de vainilla y he escrito un código para que funcione correctamente.
Estaré agradecido si alguien me explica estas dos cosas o proporciona algún recurso para comprenderlas.
machine-learning
gradient-descent
Malayo hazarika
fuente
fuente
Respuestas:
Con respecto a los recursos:
Aquí hay algunas citas centrales de ADADELTA: un método de tasa de aprendizaje adaptativo , junto con algunos ejemplos y explicaciones breves:
ADAGRAD
Es decir, si los gradientes en los primeros tres pasos sonsol1=⎛⎝una1si1C1⎞⎠,sol2=⎛⎝una2si2C2⎞⎠,sol3=⎛⎝una3si3C3⎞⎠ , entonces:
Problemas de ADAGRAD que ADADELTA intenta contrarrestar
El segundo inconveniente se explica por sí mismo.
Aquí hay un ejemplo para cuando el primer inconveniente es un problema:g2 es mucho mayor que el valor absoluto del componente respectivo del gradiente en cualquier otro paso. t > 2 , sostiene que cada componente de ∑tτ= 1sol2τ-------√ es mayor que el valor absoluto del componente respectivo de sol2 . Pero el valor absoluto de cada componente desol2 es mucho mayor que el valor absoluto del componente respectivo de solt , y entonces ΔXt es muy pequeño. ΔXt se vuelve cada vez más pequeño.
considere un caso en el que el valor absoluto de cada componente de
Para cualquier
Además, a medida que el algoritmo progresa, se acerca al mínimo, por lo que el gradiente se hace más pequeño, y así
Por lo tanto, podría ser que el algoritmo prácticamente se detenga antes de alcanzar un mínimo.
ADADELTA
En lugar de considerar todos los gradientes que se calcularon, ADADELTA considera solo el últimow gradientes
(RMS significa Root Mean Square .)
Similar:
Es decir, si el gradiente en el pasor es solr=⎛⎝unarsirCr⎞⎠ y ΔXr=⎛⎝yorjrkr⎞⎠ , entonces:
Por lo tanto, multiplicando por un alto poder de
Dejar
Ahora podemos aproximarnos
fuente
De quora encontrará una guía más completa, pero las ideas principales son que AdaGrad intenta etiquetar estos problemas en la selección de la tasa de aprendizaje de gradiente en el aprendizaje automático:
1 Selección manual de la tasa de aprendizaje η.
2 El vector de gradiente gt se escala uniformemente por una tasa de aprendizaje escalar η.
3 La tasa de aprendizaje η permanece constante durante todo el proceso de aprendizaje.
Tiene en sí los siguientes problemas:
1 Tasa de aprendizaje en decadencia continua η.
2 Selección manual de la tasa de aprendizaje η.
La solución de preocupación 2 se relaciona con la falta de coincidencia en las unidades de gradiente y, por lo tanto,
El último cálculo necesita comprensión sobre la teoría del momento y se explicó brevemente allí en el artículo.
Mi idea era dar las causas principales detrás de lo que se pretendía, tal vez eso facilita la lectura.
fuente