¿Por qué estudiar la optimización convexa para el aprendizaje automático teórico?


27

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?


2
No está claro si está objetando la parte convexa, la parte de optimización o ambas.
Mehrdad

Tenga en cuenta que la respuesta que aceptó es claramente incorrecta. Tal vez pueda volver a ver esta pregunta y elegir una respuesta que tenga mucho más sentido.
xji

La optimización convexa y la optimización matemática es una herramienta para construir modelos: esta técnica se utiliza para construir modelos / controlar / encontrar parámetros de fenómenos comprensibles hasta cierta incertidumbre.
bruziuz

El aprendizaje automático se trata de construir una aproximación de funciones como los métodos de conteo, y hasta donde conoce uno de la función de selección de concepto que minimiza aproximadamente la pérdida (que no es convexa o incluso peor incluye variables indicadoras), por lo que ML juega bien con la optimización no convexa.
bruziuz

FYI "La optimización convexa no se puede utilizar para el aprendizaje profundo - S.Boyd" - youtu.be/uF3htLwUHn0?t=2810
bruziuz

Respuestas:


60

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 .

Ejemplo de paisaje de pérdida de vida real, no convexo.

(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 ).


55
esta respuesta parece no abordar "convexo"
Haitao Du

@ hxd1011 Lo comenté.
Tim

¡Gran respuesta! Realmente aborda cuán crítica es la optimización para ML y cómo ML se simplifica mediante el uso de aproximaciones convexas que funcionan con el descenso de gradiente.
ChuckCottrill

Esta debería ser la respuesta aceptada.
Jan Kukacka

11

Creo que hay dos preguntas aquí.

  • ¿Por qué estudiar la optimización?
  • ¿Por qué la optimización convexa?

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

Un policía ve a un hombre borracho buscando algo bajo una farola y le pregunta qué ha perdido el borracho. Él dice que perdió sus llaves y ambos miran juntos bajo la farola. Después de unos minutos, el policía le pregunta si está seguro de que los perdió aquí, y el borracho responde que no, y que los perdió en el parque. El policía pregunta por qué está buscando aquí, y el borracho responde: "aquí es donde está la luz".


2
Pero metafóricamente, es por eso que obtienes una linterna. Buscar las claves en la oscuridad es difícil o imposible, por lo que adaptas el problema a uno que sabes cómo resolver. Si trabaja en un problema con algoritmos no convexos y encuentra una solución que costará 3 millones de dólares, y trabajo un problema similar con la optimización convexa y tomo mi respuesta y encuentro una solución al problema no convexo que cuesta 2 millones de dólares, he encontrado una mejor respuesta.
prosfilaes

Esta respuesta es errónea en muchos niveles. Comparar el análisis convexo con el efecto de farola es simplemente incorrecto . Le recomendaría que consulte el libro de texto introductorio Optimización convexa de Boyd y Vandenberghe para obtener más información sobre el tema.
Digio

2

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.


33
Sí, en el aprendizaje automático estamos buscando las mejores aproximaciones. Pero te equivocas al decir que ambas cosas son "fundamentalmente diferentes". Los algoritmos de ML utilizan la optimización para minimizar las funciones de pérdida y encontrar los parámetros óptimos dados los datos y el objetivo. Cuando está ajustando sus hiperparámetros, está buscando una combinación óptima de ellos. En cada uno de los casos, está maximizando o minimizando algo para lograr su objetivo, por lo que está utilizando algún tipo de optimización.
Tim

@Tim: Cierto, debería haberlo expresado de manera diferente.
Toby

17
si está de acuerdo, entonces probablemente debería reformularlo.
Tim

19
Esta respuesta es evidentemente incorrecta. Un número significativo de problemas de aprendizaje automático se reduce a problemas de optimización.
Restablece a Mónica el

2
La afirmación de que en "problemas de optimización la solución óptima generalmente no se puede encontrar" es incorrecta. Especialmente en el contexto de la optimización convexa (que es lo que pregunta OP), se puede encontrar fácilmente la solución óptima (por ejemplo, el descenso de gradiente con una tasa de aprendizaje en descomposición garantiza que converja en el óptimo de una función convexa). El gran problema es que muchos problemas en el aprendizaje automático no son convexos .
Jan Kukacka

2

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".


1

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!


0

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:

  1. ¿Cuál es la familia de funciones de la que extrae el aproximador

  2. ¿Cuál es un criterio para extraer una función?

  3. ¿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:

  1. Optimización convexa / Análisis convexo: área matemática muy interesante. La no diferenciación no es un problema. Y hay 50 generalizaciones de funciones convexas, de las cuales más dos útiles en términos de aplicación son cuasiconvex y log-cóncavo.

También hay formas de tratar la "estocasticidad" de alguna manera, incluso "Nadie sabe cómo resolver la optimización convexa estocástica"

  1. 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)

  2. 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 )


Este es un breve resumen según los estándares de este sitio como respuesta: ¿crees que podrías ampliarlo? De lo contrario, podría ser más adecuado como comentario.
Silverfish

Okay. Expandiré, pero de hecho es posible escribir un artículo sobre la conexión con varios campos. De hecho, le pregunté a Stephen P. Boyd sobre una pregunta relativa a las personas que pensaron anteriormente y cuándo: youtu.be/XV1E-Jnc4SU?t=242 . Dijo que en estos días el mundo se ha fracturado.
bruziuz

1
@Silverfish He actualizado, ahora es texto largo en lugar de una oración.
bruziuz
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.