Los dos primeros algoritmos que mencionas (Nelder-Mead y el recocido simulado) generalmente se consideran bastante obsoletos en los círculos de optimización, ya que existen alternativas mucho mejores que son más confiables y menos costosas. Los algoritmos genéticos cubren una amplia gama, y algunos de estos pueden ser razonables.
Sin embargo, en la clase más amplia de algoritmos de optimización sin derivación (DFO), hay muchos que son significativamente mejores que estos "clásicos", ya que este ha sido un área activa de investigación en las últimas décadas. Entonces, ¿podrían algunos de estos enfoques más nuevos ser razonables para el aprendizaje profundo?
Un artículo relativamente reciente que compara el estado de la técnica es el siguiente:
Rios, LM y Sahinidis, NV (2013) Optimización sin derivados: una revisión de algoritmos y comparación de implementaciones de software. Revista de Optimización Global.
Este es un buen artículo que tiene muchas ideas interesantes sobre técnicas recientes. Por ejemplo, los resultados muestran claramente que los mejores optimizadores locales están "basados en modelos", utilizando diferentes formas de programación cuadrática secuencial (SQP).
Sin embargo, como se señala en su resumen "Encontramos que la capacidad de todos estos solucionadores para obtener buenas soluciones disminuye al aumentar el tamaño del problema". Para dar una idea de los números, para todos los problemas, los solucionadores recibieron un presupuesto de 2500 evaluaciones de funciones, y los tamaños de los problemas tenían un máximo de ~ 300 parámetros para optimizar. Más allá de los parámetros O [10], muy pocos de estos optimizadores funcionaron muy bien, e incluso los mejores mostraron una disminución notable en el rendimiento a medida que aumentaba el tamaño del problema.
Entonces, para problemas dimensionales muy altos, los algoritmos DFO simplemente no son competitivos con los derivados. Para dar alguna perspectiva, la optimización basada en PDE (ecuación diferencial parcial) es otra área con problemas dimensionales muy altos (por ejemplo, varios parámetros para cada celda de una gran cuadrícula de elementos finitos 3D). En este ámbito, el " método adjunto " es uno de los métodos más utilizados. Este también es un optimizador de descenso de gradiente basado en la diferenciación automática de un código de modelo directo.
El más cercano a un optimizador DFO de alta dimensión es quizás el filtro Ensemble Kalman , utilizado para asimilar datos en simulaciones PDE complejas, por ejemplo, modelos meteorológicos. Curiosamente, este es esencialmente un enfoque SQP, pero con una interpretación bayesiana-gaussiana (por lo que el modelo cuadrático es positivo definido, es decir, sin puntos de silla). Pero no creo que el número de parámetros u observaciones en estas aplicaciones sea comparable a lo que se ve en el aprendizaje profundo.
Nota al margen (mínimos locales): por lo poco que he leído sobre el aprendizaje profundo, creo que el consenso es que son los puntos de silla de montar en lugar de los mínimos locales, que son los más problemáticos para espacios de parámetros NN de alta dimensión.
Por ejemplo, la revisión reciente en Nature dice que "Los resultados teóricos y empíricos recientes sugieren fuertemente que los mínimos locales no son un problema serio en general. En cambio, el paisaje está repleto de un gran número de puntos de silla combinatoriamente donde el gradiente es cero, y el la superficie se curva hacia arriba en la mayoría de las dimensiones y las curvas hacia abajo en el resto ".
Una preocupación relacionada es la optimización local versus la optimización global (por ejemplo, esta pregunta señalada en los comentarios). Si bien no hago aprendizaje profundo, en mi experiencia, el sobreajuste es definitivamente una preocupación válida. En mi opinión, los métodos de optimización global son más adecuados para problemas de diseño de ingeniería que no dependen en gran medida de los datos "naturales". En problemas de asimilación de datos, cualquier mínimo global actual podría cambiar fácilmente al agregar nuevos datos (advertencia: Mi experiencia se concentra en problemas de geociencia, donde los datos son generalmente "escasos" en relación con la capacidad del modelo).
Una perspectiva interesante es quizás
O. Bousquet y L. Bottou (2008) Las compensaciones del aprendizaje a gran escala. NIPS
que proporciona argumentos semi-teóricos sobre por qué y cuándo la optimización aproximada puede ser preferible en la práctica.
Nota final (metaoptimización): si bien las técnicas basadas en gradientes parecen ser dominantes para las redes de capacitación, puede haber un papel para DFO en las tareas de metaoptimización asociadas.
Un ejemplo sería el ajuste de hiperparámetros. (Curiosamente, los optimizadores de DFO basados en modelos exitosos de Rios & Sahinidis podrían considerarse esencialmente como la resolución de una secuencia de problemas de diseño de experimentos / superficie de respuesta ).
Otro ejemplo podría ser el diseño de arquitecturas, en términos de la configuración de capas (por ejemplo, número, tipo, secuencia, nodos / capa). En este contexto de optimización discreta, los algoritmos de estilo genético pueden ser más apropiados. Tenga en cuenta que aquí estoy pensando en el caso en el que la conectividad está determinada implícitamente por estos factores (por ejemplo, capas completamente conectadas, capas convolucionales, etc.). En otras palabras, la conectividad está meta-optimizada explícitamente. (La fuerza de conexión recaería en el entrenamiento, donde, por ejemplo, la dispersión podría ser promovida por la regularización y / o las activaciones de ReLU ... sin embargo, estas opciones podrían optimizarse).O[N2]notL1