Problema fundamental con el aprendizaje profundo y las redes neuronales en general.
Las soluciones que se ajustan a los datos de entrenamiento son infinitas. No tenemos una ecuación matemática precisa que se satisfaga con una sola y que podamos decir que generaliza mejor. Simplemente hablando, no sabemos cuál generaliza mejor.
La optimización de los pesos no es un problema convexo, por lo que nunca sabemos que terminamos con un mínimo global o local.
Entonces, ¿por qué no simplemente volcar las redes neuronales y en su lugar buscar un mejor modelo de ML? ¿Algo que comprendamos y que sea consistente con un conjunto de ecuaciones matemáticas? Lineal y SVM no tienen estos inconvenientes matemáticos y son completamente consistentes con un conjunto de ecuaciones matemáticas. ¿Por qué no simplemente pensar en las mismas líneas (aunque no es necesario que sea lineal) y crear un nuevo modelo de ML mejor que Linear y SVM y redes neuronales y aprendizaje profundo?
fuente
Respuestas:
No ser capaz de saber qué solución generaliza mejor es un problema, pero no debería disuadirnos de usar una buena solución. Los humanos mismos a menudo no saben qué generaliza mejor (considere, por ejemplo, las teorías unificadoras de la física que compiten), pero eso no nos causa demasiados problemas.
Se ha demostrado que es extremadamente raro que la capacitación falle debido a los mínimos locales. La mayoría de los mínimos locales en una red neuronal profunda tienen un valor cercano al mínimo global, por lo que esto no es un problema. fuente
Pero la respuesta más amplia es que puedes hablar todo el día sobre la no convexidad y la selección de modelos, y las personas seguirán usando redes neuronales simplemente porque funcionan mejor que cualquier otra cosa (al menos en cosas como la clasificación de imágenes).
Por supuesto, también hay personas que argumentan que no deberíamos centrarnos demasiado en las CNN como la comunidad se centró en SVM hace unas décadas, y en su lugar seguir buscando la próxima gran cosa. En particular, creo recordar a Hinton lamentando la efectividad de las CNN como algo que podría dificultar la investigación. Publicación relacionada
fuente
Como señalan los comentarios a su pregunta, hay muchas personas trabajando para encontrar algo mejor. Sin embargo, me gustaría responder a esta pregunta ampliando el comentario dejado por @josh
Todos los modelos están equivocados pero algunos son útiles (Wiki)
La afirmación anterior es una verdad general utilizada para describir la naturaleza de los modelos estadísticos. Con los datos que tenemos disponibles, podemos crear modelos que nos permitan hacer cosas útiles, como aproximar un valor pronosticado.
Tomemos por ejemplo la regresión lineal
Usando una serie de observaciones, podemos ajustar un modelo para darnos un valor aproximado para una variable dependiente dado cualquier valor para la variable o variables independientes.
Las desviaciones de nuestro modelo (como se puede ver en la imagen de arriba) aparecen al azar, algunas observaciones están debajo de la línea y otras arriba, pero nuestra línea de regresión muestra una correlación general. Si bien las desviaciones en nuestro modelo parecen aleatorias, en escenarios realistas habrá otros factores en juego que causen esta desviación. Por ejemplo, imagine ver autos mientras conducen a través de un cruce donde deben girar a la izquierda o derecha para continuar, los autos no giran en ningún patrón en particular. Si bien podríamos decir que la dirección en la que giran los autos es completamente aleatoria, ¿llega cada conductor al cruce y en ese punto toma una decisión aleatoria sobre qué camino tomar? En realidad, probablemente se dirigen a un lugar específico por una razón específica, y sin intentar detener cada auto para preguntarles sobre su razonamiento, solo podemos describir sus acciones como aleatorias.
Cuando podamos ajustar un modelo con una desviación mínima, ¿qué tan seguros podemos estar de que una variable desconocida, inadvertida o inconmensurable no arrojará en algún momento nuestro modelo? ¿La aleta de las alas de una mariposa en Brasil desencadenó un tornado en Texas?
El problema con el uso de los modelos Lineal y SVN que usted menciona solo es que estamos obligados a observar manualmente nuestras variables y cómo se afectan entre sí. Luego necesitamos decidir qué variables son importantes y escribir un algoritmo específico de la tarea. Esto puede ser sencillo si solo tenemos unas pocas variables, pero ¿y si tuviéramos miles? ¿Qué pasaría si quisiéramos crear un modelo generalizado de reconocimiento de imágenes, podría lograrse esto de manera realista con este enfoque?
El aprendizaje profundo y las redes neuronales artificiales (ANN) pueden ayudarnos a crear modelos útiles para grandes conjuntos de datos que contienen grandes cantidades de variables (por ejemplo, bibliotecas de imágenes). Como mencionas, hay una cantidad incomprensible de soluciones que podrían ajustarse a los datos usando ANN, pero ¿es esta cifra realmente diferente a la cantidad de soluciones que necesitaríamos desarrollar a través de prueba y error?
La aplicación de ANN hace gran parte del trabajo por nosotros, podemos especificar nuestras entradas y nuestros resultados deseados (y ajustarlos más tarde para realizar mejoras) y dejar que ANN dependa de la solución. Esta es la razón por la cual las ANN a menudo se describen como "cajas negras" . A partir de una entrada dada, generan una aproximación, sin embargo (en términos generales) estas aproximaciones no incluyen detalles sobre cómo se aproximaron.
Entonces, realmente se reduce a qué problema está tratando de resolver, ya que el problema determinará qué enfoque modelo es más útil. Los modelos no son absolutamente precisos, por lo que siempre hay un elemento de estar 'equivocado'; sin embargo, cuanto más precisos sean los resultados, más útiles serán. Tener más detalles en los resultados sobre cómo se hizo la aproximación también puede ser útil, dependiendo del problema, incluso puede ser más útil que una mayor precisión.
Si, por ejemplo, está calculando el puntaje de crédito de una persona, el uso de regresión y SVM proporciona cálculos que pueden explorarse mejor. Es muy útil poder ajustar el modelo directamente y explicar a los clientes el efecto que tienen las variables independientes separadas en su puntaje general. Un ANN puede ayudar en el procesamiento de grandes cantidades de variables para lograr una puntuación más precisa, pero ¿sería más útil esta precisión?
fuente
El mínimo global puede ser inútil, por lo que no nos importa si lo encontramos o no. La razón es que, para redes profundas, no solo el tiempo para encontrarlo se vuelve exponencialmente más largo a medida que aumenta el tamaño de la red, sino que también el mínimo global a menudo corresponde a sobreajustar el conjunto de entrenamiento. Por lo tanto, la capacidad de generalización del DNN (que es lo que realmente nos importa) sufriría. Además, a menudo preferimos mínimos más planos que corresponden a un valor más alto de la función de pérdida, que mínimos más agudos que corresponden a un valor más bajo de la función de pérdida, porque el segundo tratará muy mal con la incertidumbre en las entradas. Esto se vuelve cada vez más claro con el desarrollo del aprendizaje profundo bayesiano. La optimización robusta supera a la optimización determinista con mucha frecuencia, cuando se aplica a problemas del mundo real donde la incertidumbre es importante.
Finalmente, es un hecho que los DNN simplemente patean el culo de métodos como XGBoost en la clasificación de imágenes y PNL. Una empresa que debe obtener beneficios de la clasificación de imágenes los seleccionará correctamente como modelos para implementar en producción ( e invertirá una cantidad significativa de dinero en ingeniería de características, canalización de datos, etc., pero estoy divagando). Esto no significa que dominen todo el entorno de ML: por ejemplo, les va peor que XGBoost en datos estructurados (ver los últimos ganadores de las competencias de Kaggle) y parece que aún no funcionan tan bien como los filtros de partículas en el modelado de series de tiempo. Sin embargo, algunas innovaciones muy recientes en RNN pueden modificar esta situación.
fuente
Creo que la mejor manera de pensar sobre esta pregunta es a través del mercado competitivo. Si abandonas el aprendizaje profundo y tus competidores lo usan, Y resulta que funciona mejor que lo que usaste, entonces serás derrotado en el mercado.
Creo que eso es lo que está sucediendo, en parte, hoy, es decir, el aprendizaje profundo parece funcionar mejor que nada para la gran cantidad de problemas en el mercado. Por ejemplo, los traductores de idiomas en línea que utilizan el aprendizaje profundo son mejores que los enfoques puramente lingüísticos que se utilizaron anteriormente. Hace solo unos años, este no era el caso, pero los avances en el aprendizaje profundo llevaron a quienes solían ocupar puestos de liderazgo en el mercado.
Sigo repitiendo "el mercado" porque eso es lo que está impulsando el aumento actual en el aprendizaje profundo. En el momento en que los negocios encuentren algo útil, ese algo se extenderá ampliamente. No es que nosotros , el comité, hayamos decidido que el aprendizaje profundo debería ser popular. Es negocio y competencia.
La segunda parte, es que además del éxito real de ML, también existe el temor de perder el barco. Muchas empresas son paranoicas porque si se pierden la inteligencia artificial, fracasarán como empresas. Este temor está siendo alimentado por todas estas casas de consultoría, Gartners , etc., susurrando a los CEO que deben hacer IA o morir mañana.
Nadie obliga a las empresas a utilizar el aprendizaje profundo. TI e I + D están entusiasmados con un nuevo juguete. La academia anima, por lo que esta fiesta va a durar hasta que la música se detenga, es decir, hasta que el aprendizaje profundo deje de funcionar. Mientras tanto, puede volcarlo y encontrar una mejor solución.
fuente
Hay excelentes respuestas, en su mayoría con la utilidad de DL y ANN. Pero me gustaría objetar el OP de una manera más fundamental, ya que la pregunta ya da por sentada la inconsistencia matemática de las redes neuronales.
En primer lugar, no es una teoría matemática detrás (la mayoría de los modelos de) Redes Neuronales. También podría argumentar que la regresión lineal no se generaliza, a menos que el modelo subyacente sea ... bueno, lineal. En algoritmos neuronales, se supone un modelo (incluso si no es explícitamente) y se calcula el error de ajuste. El hecho de que los algoritmos se modifiquen con diversas heurísticas no anula el soporte matemático original. Por cierto, la optimización local también es una teoría matemáticamente consistente, y mucho menos útil.
En esta línea, si las redes neuronales solo constituyen una clase de métodos dentro de toda la caja de herramientas de los científicos, ¿cuál es la línea que separa las redes neuronales del resto de técnicas? De hecho, los SVM alguna vez se consideraron una clase de NN y todavía aparecen en los mismos libros. Por otro lado, los NN podrían considerarse como una técnica de regresión (no lineal), quizás con alguna simplificación. Estoy de acuerdo con el OP en que debemos buscar algoritmos mejores, bien fundados y eficientes, independientemente de que los etiquete como NN o no.
fuente
Supongo que por algún problema nos preocupamos menos por el rigor matemático y la simplicidad, pero más por su utilidad, el estado actual es que la red neuronal es mejor para realizar ciertas tareas como el reconocimiento de patrones en el procesamiento de imágenes.
fuente
Hay mucho en esta pregunta. Repasemos lo que ha escrito uno por uno.
El hecho de que haya infinitas soluciones proviene de que el problema de aprendizaje es un problema mal planteado, por lo que no puede haber una sola que generalice mejor. Además, sin un teorema de almuerzo gratis, cualquiera que sea el método que usemos no puede garantizar que sea el mejor en todos los problemas de aprendizaje.
Esta afirmación no es realmente cierta. Existen teoremas sobre la minimización empírica del riesgo por Vapnik y Chervonenkis que conectan el número de muestras, la dimensión VC del método de aprendizaje y el error de generalización. Tenga en cuenta que esto solo se aplica a un conjunto de datos determinado. Entonces, dado un conjunto de datos y un procedimiento de aprendizaje, conocemos los límites de la generalización. Tenga en cuenta que, para diferentes conjuntos de datos, no hay y no puede ser el mejor procedimiento de aprendizaje debido al teorema de almuerzo gratuito.
Aquí hay algunas cosas que debe tener en cuenta. La optimización del problema no convexo no es tan fácil como el convexo; eso es verdad. Sin embargo, la clase de métodos de aprendizaje que son convexos es limitada (regresión lineal, SVM) y, en la práctica, funcionan peor que la clase de los no convexos (impulso, CNN) en una variedad de problemas. Entonces, la parte crucial es que, en la práctica, las redes neuronales funcionan mejor. Aunque hay una serie de elementos muy importantes que hacen que las redes neuronales funcionen bien:
Tirar cosas que funcionan por no entenderlas no es una gran dirección de investigación. Hacer un esfuerzo para comprenderlos es, por otro lado, una gran dirección de investigación. Además, no estoy de acuerdo con que las redes neuronales sean inconsistentes con las ecuaciones matemáticas. Son bastante consistentes. Sabemos cómo optimizarlos y realizar inferencias.
fuente
¿Qué tal ver redes neuronales desde un punto de vista experimental? El hecho de que los hayamos creado no significa que estamos obligados a comprenderlos intuitivamente. O que no se nos permite jugar con ellos para comprender mejor lo que están haciendo.
Aquí hay un par de pensamientos que tengo sobre ellos:
Esto es consistente con cómo pensamos. Incluso es coherente con el funcionamiento del método científico. Entonces, al descifrar las redes neuronales también podemos resolver la pregunta general de qué conocimiento representa.
fuente
No olvide que hay un vasto campo de investigación que utiliza LM, GLM, modelado multinivel. Últimamente, las técnicas bayesianas y el hamiltoniano Monte Carlo (la comunidad de STAN está realmente a la vanguardia de esto) han alcanzado la mayoría de edad y una serie de problemas que STAN resuelve con mucha facilidad y que realmente no necesitan NN o redes profundas. Investigación en Ciencias Sociales, Microeconomía son dos ejemplos (grandes) de tales campos que adoptan a Stan rápidamente.
Los modelos Stan son muy "legibles". Los coeficientes en realidad tienen una interpretación distributiva posterior y también las predicciones. Los anteriores son parte del proceso de generación de datos y no necesitan ser conjugados para ser efectivos (como gibbs). El ajuste del modelo en Stan es una delicia, en realidad ajusta los molestos params MCMC automáticamente bastante bien y te advierte cuando la exploración se atasca con visualizaciones realmente agradables.
Si aún no lo ha probado, vea impresionantes demostraciones de stan aquí ).
Al final del día, creo que la gente no habla tanto de estas cosas porque la investigación en este campo y los problemas no son tan "sexy" / "cool" como con las NN.
fuente
Lo que suele ocurrir cuando no hay consistencia matemática (al menos en este caso de redes neuronales) ... cuando no está dando los resultados deseados, en el conjunto de prueba, su jefe volverá y dirá ... Oye, ¿por qué no? intente Abandonar (qué pesos, qué capa, cuántos son sus dolores de cabeza, ya que no hay una forma matemática de determinar), así que después de intentarlo y, con suerte, obtendrá una mejora marginal pero no la deseada, su jefe volverá y dirá por qué No intente la pérdida de peso (¿qué factor?) y más tarde, ¿por qué no prueba ReLU o alguna otra activación en algunas capas, y aún no lo hace, por qué no prueba la 'agrupación máxima'? todavía no, por qué no prueba la normalización por lotes, todavía no, o al menos convergencia, pero no el resultado deseado, Oh, usted está en un mínimo local, pruebe diferentes horarios de aprendizaje, solo cambia la arquitectura de la red? y repite todo lo anterior en diferentes combinaciones! ¡Manténgalo al tanto hasta que tenga éxito!
Por otro lado, cuando intentas un SVM consistente, después de la convergencia, si el resultado no es bueno, entonces está bien, el núcleo lineal que estamos usando no es lo suficientemente bueno, ya que los datos pueden no ser lineales, usa un núcleo con forma diferente, prueba un núcleo de forma diferente si tiene alguna corazonada, si aún no lo tiene, simplemente déjelo, es una limitación de SVM.
Lo que digo es que las redes neuronales son tan inconsistentes que ni siquiera están equivocadas. ¡Nunca acepta su derrota! El ingeniero / diseñador toma la carga, en caso de que no funcione como se desea.
fuente