Parece que, especialmente para el aprendizaje profundo, están dominando métodos muy simples para optimizar la convergencia SGD como ADAM - buena visión general: http://ruder.io/optimizing-gradient-descent/
En trazar sólo una dirección - descartando la información sobre los restantes, se no intente estimar la distancia desde un extremo cercano - que sugiere la evolución del gradiente ( $\rightarrow 0$ en extremum), y podría ayudar en la elección crucial del tamaño del paso.
Ambas oportunidades perdidas podrían ser explotadas por métodos de segundo orden - tratando de modelar localmente la parábola en múltiples direcciones simultáneamente (no todas, sólo unas pocas), por ejemplo, cerca de la silla de montar atrayendo en algunas direcciones, repulsando en las otras. He aquí algunos:
- L-BFGS: http://aria42.com/blog/2014/12/understanding-lbfgs
- TONGA: https://papers.nips.cc/paper/3234-topmoumoute-online-natural-gradient-algorithm
- K-FAC: https://arxiv.org/pdf/1503.05671.pdf
- Newton sin silla: https://arxiv.org/pdf/1406.2572
- mi parametrización local de segundo orden: https://arxiv.org/pdf/1901.11457
Pero siguen dominando los métodos de primer orden (?), he oído opiniones de que los de segundo orden no funcionan para el aprendizaje profundo (?)
Existen principalmente 3 retos (¿alguno más?): Hessiano inverso , estocasticidad de gradientes, y el manejo sillines . Todos ellos deben resolverse si localmente modelado parametrización como parábolas en algunas direcciones prometedoras (me gustaría usar): actualizar esta parametrización basada en gradientes calculados, y realizar paso adecuado basado en esta parametrización. De esta manera los extremos pueden estar en los parámetros actualizados - no hay inversión Hessiana, la evolución lenta de la parametrización permite acumular tendencias estadísticas de los gradientes, podemos modelar ambas curvaturas cerca de los sillines: correspondientemente atraer o repeler, con fuerza dependiendo de la distancia modelada.
¿Deberíamos ir hacia métodos de segundo orden para el aprendizaje profundo?
¿Por qué es tan difícil hacer que tengan más éxito que los simples métodos de primer orden? identificar estos retos ... resolverlos?
Como hay muchas formas de realizar métodos de segundo orden, ¿cuál parece la más prometedora?
Puesta al día: Visión general de los métodos de convergencia SGD, incluido el 2º orden: https://www.dropbox.com/s/54v8cwqyp7uvddk/SGD.pdf
Actualización: Se critican los grandes métodos de 2º orden, pero podemos trabajar en el extremo opuesto del espectro de costes: dar pequeños pasos a partir de métodos de 1er orden que han tenido éxito, como el simplemente barato modelo de parábola en línea en una sola dirección, por ejemplo, del método del momento para una elección más inteligente del tamaño del paso - ¿existen enfoques interesantes para esta mejora de 2º orden de los métodos de 1er orden?