Estoy trabajando en aprendizaje automático teórico, en aprendizaje de transferencia, para ser específico, para mi doctorado.
Por curiosidad, ¿por qué debería tomar un curso sobre optimización convexa?
¿Qué conclusiones de la optimización convexa puedo usar en mi investigación sobre aprendizaje automático teórico?
machine-learning
optimization
convex
transfer-learning
Upendra Pratap Singh
fuente
fuente
Respuestas:
Los algoritmos de aprendizaje automático utilizan la optimización todo el tiempo. Minimizamos la pérdida, el error o maximizamos algún tipo de funciones de puntuación. El descenso de gradiente es el algoritmo de optimización "hello world" cubierto en probablemente cualquier curso de aprendizaje automático. Es obvio en el caso de los modelos de regresión o clasificación, pero incluso con tareas como la agrupación, estamos buscando una solución que se ajuste de manera óptima a nuestros datos (por ejemplo, k-means minimiza la suma de cuadrados dentro del grupo). Entonces, si desea comprender cómo funcionan los algoritmos de aprendizaje automático, es útil aprender más sobre la optimización. Además, si necesita hacer cosas como el ajuste de hiperparámetros, también está utilizando directamente la optimización.
Se podría argumentar que la optimización convexa no debería ser tan interesante para el aprendizaje automático, ya que en lugar de tratar con funciones convexas , a menudo encontramos superficies de pérdida como la siguiente, que están lejos de ser convexas .
(fuente: https://www.cs.umd.edu/~tomg/projects/landscapes/ y arXiv: 1712.09913 )
Sin embargo, como se menciona en otras respuestas, la optimización convexa es más rápida, más simple y menos intensiva en cómputo, por lo que a menudo es más fácil "convexificar" un problema (hacer que la optimización convexa sea amigable), luego usar la optimización no convexa. Por ejemplo, el descenso de gradiente y algoritmos similares se usan comúnmente en el aprendizaje automático, especialmente para redes neuronales, porque "funcionan", escalan y se implementan ampliamente en diferentes programas, sin embargo, no son lo mejor que podemos obtener y tener sus dificultades. , como se discutió en la charla de Ali Rahimi en NIPS 2017 .
Por otro lado, los algoritmos de optimización no convexos como los algoritmos evolutivos parecen estar ganando cada vez más reconocimiento en la comunidad de ML, por ejemplo, el entrenamiento de redes neuronales por neuroevolución parece ser un tema de investigación reciente (véase también arXiv: 1712.07897 ).
fuente
Creo que hay dos preguntas aquí.
Creo que @Tim tiene una buena respuesta sobre por qué la optimización. Estoy totalmente de acuerdo y recomendaría a cualquier persona interesada en el aprendizaje automático que domine la optimización continua. Porque el proceso de optimización / encontrar la mejor solución con el tiempo, es el proceso de aprendizaje para una computadora.
Quiero hablar más sobre por qué estamos interesados en las funciones convexas. La razón es simple: las optimizaciones convexas son "más fáciles de resolver", y tenemos muchos algoritmos confiables para resolver.
¿Pero es el mundo convexo? No. ¿Por qué obsesionarse con la convexidad? Mira esta metáfora
fuente
La conclusión más importante es que el aprendizaje automático se aplica a problemas donde no hay una solución óptima disponible. Lo mejor que puede hacer es encontrar una buena aproximación.
Por el contrario, cuando tiene un problema de optimización, existe una solución óptima, pero generalmente no se puede encontrar en un tiempo razonable o con un poder de procesamiento razonable.
Las herramientas y algoritmos que usa son fundamentalmente diferentes. Entonces, aunque diría que no hay un beneficio inmediato de tomar una clase de optimización, siempre es bueno saber un poco sobre los campos relacionados. Si puede reconocer un problema de optimización, sabrá que no debe abordarlo con algoritmos de aprendizaje automático, sino con algoritmos de optimización. Eso solo vale mucho, diría yo.
fuente
Como dijo hxd1011, los problemas convexos son más fáciles de resolver, tanto teóricamente como (típicamente) en la práctica. Entonces, incluso para problemas no convexos, muchos algoritmos de optimización comienzan con el "paso 1. reducir el problema a uno convexo" (posiblemente dentro de un bucle while).
Algo similar ocurre con el enraizamiento no lineal. Por lo general, la solución (por ejemplo, con el método de Newton) va "paso 1. Reduzca a un problema lineal, porque sabemos cómo resolverlos".
fuente
Si sus intereses residen en la optimización (convexa) aplicada al aprendizaje profundo (usted menciona el aprendizaje de transferencia, que se usa ampliamente en la práctica con redes neuronales), le recomiendo encarecidamente que considere leer el capítulo 8 (optimización para entrenar redes neuronales profundas) de http : //www.deeplearningbook.org/
Hay una discusión sobre la optimización convexa, y por qué aún no ha tenido tanto éxito cuando se aplicaron redes neuronales profundas. ¡Por supuesto, tal vez podría investigar en esta área que cambiará el consenso actual!
fuente
Como escuché de Jerome H. Friedman, los métodos desarrollados en Machine Learning no pertenecen a la comunidad de Machine Learning en sí misma.
Desde mi punto de vista, Machine Learning es más como una colección de varios métodos de otros campos.
Desde el punto de vista del aprendizaje estadístico, las tres preguntas principales para la regresión y la clasificación son:
¿Cuál es la familia de funciones de la que extrae el aproximador
¿Cuál es un criterio para extraer una función?
¿Cuál es un método para encontrar la mejor función?
Para operar de manera constructiva en (1): no es tan obvio cómo puede ayudar la optimización matemática
Para operar de manera constructiva en (2), es obvio que el objetivo es el objetivo. Y la optimización matemática puede ayudarlo.
Para operar de manera constructiva en (3), necesita optimización matemática.
Hay varias partes de la optimización matemática:
También hay formas de tratar la "estocasticidad" de alguna manera, incluso "Nadie sabe cómo resolver la optimización convexa estocástica"
Optimización no convexa: por lo general, las personas significan algo que es un objetivo continuo, pero la curvatura puede variar. La gente en este planeta no sabe cómo resolverlo con precisión. Y, de hecho, todos los métodos hacen palanca en (1)
Optimización combinatoria: es aún más salvaje que (2), ahora para los parámetros que encuentra que incluso no puede aplicar el operador menos. Un ejemplo son las "regiones" en árboles de decisión. Entonces, hay dos maneras de tratarlo: a) Convexificar el problema y usar métodos de (1) b) Hacer fuerza bruta. No funciona para una gran cantidad de parámetros. c) Hacer fuerza bruta pero con algunos pasos codiciosos. Es algo que CART hace.
Así que al menos creo que te convenzo de que:
I) La optimización convexa es fundamental para la mayoría de los problemas de optimización.
II) "01:15 La optimización es de hecho un tema más grande que ML o AI, pero de hecho es un tema más grande". ( https://www.youtube.com/watch?v=uF3htLwUHn0&t=992s )
fuente