Muchos tutoriales en línea hablan sobre el descenso del gradiente y casi todos usan un tamaño de paso fijo (tasa de aprendizaje ). ¿Por qué no se utiliza la búsqueda de línea (como la búsqueda de línea de retroceso o la búsqueda de línea exacta)?
Muchos tutoriales en línea hablan sobre el descenso del gradiente y casi todos usan un tamaño de paso fijo (tasa de aprendizaje ). ¿Por qué no se utiliza la búsqueda de línea (como la búsqueda de línea de retroceso o la búsqueda de línea exacta)?
Respuestas:
El descenso del gradiente de vainilla se puede hacer más confiable usando búsquedas de línea; He escrito algoritmos que hacen esto y lo convierte en un algoritmo muy estable (aunque no necesariamente rápido).
Sin embargo, casi no tiene sentido hacer una búsqueda en línea de métodos de gradiente estocástico . La razón por la que digo esto es que si hacemos una búsqueda de línea basada en minimizar la función de pérdida total, inmediatamente perdemos una de las principales motivaciones para hacer métodos estocásticos; ahora necesitamos calcular la función de pérdida completa para cada actualización, que generalmente tiene un costo computacional comparable al cálculo de la primera derivada completa. Dado que queríamos evitar calcular el gradiente completo debido a los costos computacionales, parece muy poco probable que queramos estar bien con el cálculo de la función de pérdida total.
EDITAR
@DeltaIV señala que esto también se aplica a mini lotes, no solo a muestras individuales.
Los tutoriales hablan sobre el descenso del gradiente presumiblemente porque es uno de los algoritmos más simples utilizados para la optimización, por lo que es fácil de explicar. Como la mayoría de estos tutoriales son bastante breves, se centran en cosas simples. Existen al menos varios algoritmos de optimización populares más allá del simple descenso de gradiente que se utilizan para el aprendizaje profundo. En realidad, las personas a menudo usan diferentes algoritmos y luego gradiente de descenso, ya que generalmente convergen más rápido. Algunos de ellos tienen una tasa de aprendizaje no constante (por ejemplo, disminuyen con el tiempo). Para la revisión de dichos algoritmos, puede consultar la publicación Una visión general de los algoritmos de optimización de descenso de gradiente publicada por Sebastian Ruder (o el documento presentado ).