La literatura de aprendizaje profundo está llena de trucos inteligentes con el uso de tasas de aprendizaje no constantes en el descenso de gradiente. Cosas como la decadencia exponencial, RMSprop, Adagrad, etc. son fáciles de implementar y están disponibles en todos los paquetes de aprendizaje profundo, sin embargo, parecen no existir fuera de las redes neuronales. Hay alguna razón para esto? Si es que a las personas simplemente no les importa, ¿hay alguna razón por la que no tengamos que preocuparnos fuera de las redes neuronales?
14
Respuestas:
Descargo de responsabilidad: no tengo mucha experiencia con la optimización fuera de las redes neuronales, por lo que mi respuesta estará claramente sesgada, pero hay varias cosas que juegan un papel importante:
Las redes neuronales (profundas) tienen muchos parámetros . Esto tiene varias implicaciones:
En primer lugar, descarta los métodos de orden superior simplemente porque el cálculo de Hessian y derivados más altos se vuelve inviable. En otros dominios, este puede ser un enfoque válido mejor que cualquier ajuste a SGD.
En segundo lugar, aunque SGD es maravilloso , tiende a ser muy lento. Estas variantes mejoradas de SGD permiten principalmente un entrenamiento más rápido, mientras que potencialmente pierden algunas de las buenas propiedades de SGD . En otros dominios, el tiempo de entrenamiento SGD puede no ser el cuello de botella, por lo que las mejoras obtenidas al acelerarlo pueden ser simplemente insignificantes.
El entrenamiento de redes neuronales (profundas) es una optimización no convexa y no conozco resultados significativos de relajación convexa en el campo. A diferencia de otros campos, las redes neuronales no se centran en soluciones probables globalmente óptimas, lo que lleva a invertir más esfuerzos para mejorar las propiedades de la superficie de pérdida y su recorrido durante la optimización.
En otros campos, el empleo de la relajación convexa y la obtención de soluciones óptimas a nivel mundial pueden estar en el centro del interés en lugar del algoritmo de optimización, porque una vez que el problema se define como un problema convexo, la elección del algoritmo de optimización no puede mejorar la calidad de la solución. .
Supongo que esta respuesta no cubre todos los aspectos posibles y tengo curiosidad por otras opiniones.
fuente