Mi doctorado es pura matemática, y admito que no sé mucho (es decir, nada) sobre CS teórica. Sin embargo, he comenzado a explorar opciones no académicas para mi carrera y al presentarme al aprendizaje automático, me topé con declaraciones como "Nadie entiende por qué las redes neuronales funcionan bien", lo que me pareció interesante.
Mi pregunta, esencialmente, es ¿qué tipo de respuestas quieren los investigadores? Esto es lo que he encontrado en mi breve búsqueda sobre el tema:
- Los algoritmos que implementan redes neuronales simples son bastante sencillos.
- El proceso de SGD se entiende matemáticamente bien, como lo es la teoría estadística.
- El teorema de aproximación universal es poderoso y probado.
- Hay un buen artículo reciente https://arxiv.org/abs/1608.08225 que esencialmente da la respuesta de que la aproximación universal es mucho más de lo que realmente necesitamos en la práctica porque podemos hacer suposiciones simplificadoras sobre las funciones que estamos tratando de modelar con red neuronal
En el documento antes mencionado, afirman (parafraseando) "los algoritmos GOFAI se entienden completamente analíticamente, pero muchos algoritmos ANN solo se entienden heurísticamente". Los teoremas de convergencia para los algoritmos implementados son un ejemplo de comprensión analítica que parece que TENEMOS acerca de las redes neuronales, por lo que una declaración en este nivel de generalidad no me dice mucho sobre lo que se conoce frente a lo desconocido o lo que se consideraría "una respuesta ".
Los autores sugieren en la conclusión que preguntas como límites efectivos en el tamaño de la red neuronal necesaria para aproximar un polinomio dado son abiertas e interesantes. ¿Cuáles son otros ejemplos de preguntas analíticas matemáticas específicas que deberían ser respondidas para decir que "entendemos" las redes neuronales? ¿Hay preguntas que puedan responderse en un lenguaje matemático más puro?
(Estoy pensando específicamente en métodos de teoría de la representación debido al uso de la física en este artículo, y, egoístamente, porque es mi campo de estudio. Sin embargo, también puedo imaginar áreas como la teoría combinatoria / gráfica, la geometría algebraica y topología que proporciona herramientas viables).
fuente
Respuestas:
Hay un montón de teoremas de "no almuerzo gratis" en el aprendizaje automático, que indican aproximadamente que no puede haber un algoritmo de aprendizaje maestro que funcione uniformemente mejor que todos los demás algoritmos (ver, por ejemplo, aquí http: //www.no-free- lunch.org/ ). Efectivamente, el aprendizaje profundo puede "romperse" sin mucha dificultad: http://www.evolvingai.org/fooling
Por lo tanto, para ser demostrablemente efectivo, un alumno necesita un sesgo inductivo , es decir, algunos supuestos previos sobre los datos. Los ejemplos de sesgo inductivo incluyen suposiciones de escasez de datos o baja dimensionalidad, o que la distribución se factoriza muy bien, o tiene un gran margen, etc. Varios algoritmos de aprendizaje exitosos explotan estos supuestos para probar las garantías de generalización. Por ejemplo, SVM (lineal) funciona bien cuando los datos están bien separados en el espacio; de lo contrario, no tanto.
Creo que el principal desafío con el aprendizaje profundo es comprender cuál es su sesgo inductivo. En otras palabras, es para probar teoremas del tipo: si los datos de entrenamiento satisfacen estos supuestos, entonces puedo garantizar algo sobre el rendimiento de generalización. (De lo contrario, todas las apuestas están apagadas).
fuente
Hay dos lagunas principales en nuestra comprensión de las redes neuronales: dureza de optimización y rendimiento de generalización.
Entrenar una red neuronal requiere resolver un problema de optimización altamente no convexo en grandes dimensiones. Los algoritmos de entrenamiento actuales se basan en el descenso de gradiente, lo que solo garantiza la convergencia a un punto crítico (mínimo local o silla de montar). De hecho, Anandkumar & Ge 2016 demostró recientemente que encontrar incluso un mínimo local es NP-duro, lo que significa que (suponiendo que P! = NP) existan puntos "malos", difíciles de escapar, en la superficie de error.
Sin embargo, estos algoritmos de entrenamiento son empíricamente efectivos para muchos problemas prácticos, y no sabemos por qué.
Ha habido trabajos teóricos como Choromanska et al. 2016 y Kawaguchi 2016que prueban que, bajo ciertos supuestos, los mínimos locales son esencialmente tan buenos como los mínimos globales, pero los supuestos que hacen son algo poco realistas y no abordan el problema de los puntos débiles.
La otra brecha principal en nuestra comprensión es el rendimiento de generalización: ¿qué tan bien se desempeña el modelo en ejemplos novedosos no vistos durante el entrenamiento? Es fácil demostrar que en el límite de un número infinito de ejemplos de entrenamiento (muestreados en una distribución estacionaria), el error de entrenamiento converge con el error esperado en ejemplos nuevos (siempre que pueda entrenar al óptimo global), pero dado que no tenemos infinitos ejemplos de entrenamiento, estamos interesados en cuántos ejemplos son necesarios para lograr una diferencia dada entre el entrenamiento y el error de generalización. La teoría del aprendizaje estadístico estudia estos límites de generalización.
Empíricamente, entrenar una gran red neuronal moderna requiere una gran cantidad de ejemplos de entrenamiento (Big Data, si te gustan las palabras de moda), pero no es tan grande como para ser prácticamente inviable. Pero si aplica los límites más conocidos de la teoría del aprendizaje estadístico (por ejemplo, Gao y Zhou 2014 ), generalmente obtiene estos números incalculables. Por lo tanto, estos límites están muy lejos de ser apretados, al menos para problemas prácticos.
Una de las razones podría ser que estos límites tienden a asumir muy poco acerca de la distribución de generación de datos, por lo tanto, reflejan el peor desempeño en entornos adversos, mientras que los entornos "naturales" tienden a ser más "aprendebles".
Es posible escribir límites de generalización dependientes de la distribución, pero no sabemos cómo caracterizar formalmente una distribución en entornos "naturales". Enfoques como la teoría de la información algorítmica siguen siendo insatisfactorios.
Por lo tanto, todavía no sabemos por qué las redes neuronales se pueden entrenar sin sobreajustar.
Además, debe tenerse en cuenta que estos dos problemas principales parecen estar relacionados de una manera aún poco conocida: los límites de generalización de la teoría del aprendizaje estadístico suponen que el modelo está entrenado para el óptimo global en el conjunto de entrenamiento, pero en un entorno práctico nunca entrenaría una red neuronal hasta la convergencia, incluso a un punto de silla de montar, ya que hacerlo normalmente causaría un sobreajuste. En cambio, deja de entrenar cuando el error en un conjunto de validación extendido (que es un proxy para el error de generalización) deja de mejorar. Esto se conoce como "parada temprana".
Entonces, en cierto sentido, toda esta investigación teórica sobre limitar el error de generalización del óptimo global puede ser bastante irrelevante: no solo no podemos encontrarlo de manera eficiente, sino que incluso si pudiéramos, no quisiéramos, ya que funcionaría peor en nuevos ejemplos que muchas soluciones "subóptimas".
Puede darse el caso de que la dureza de la optimización no sea un defecto de la red neuronal, por el contrario, tal vez las redes neuronales puedan funcionar en absoluto precisamente porque son difíciles de optimizar.
Todas estas observaciones son empíricas y no existe una buena teoría que las explique. Tampoco existe una teoría que explique cómo establecer los hiperparámetros de las redes neuronales (ancho y profundidad de capa oculta, tasas de aprendizaje, detalles arquitectónicos, etc.). Los practicantes utilizan su intuición perfeccionada por la experiencia y muchos ensayos y errores para obtener valores efectivos, mientras que una teoría podría permitirnos diseñar redes neuronales de una manera más sistemática.
fuente
Otra versión de esta pregunta, para agregar a los comentarios de @ Aryeh: Para muchos otros modelos de aprendizaje, conocemos la "forma" del espacio de hipótesis. Los SVM son el mejor ejemplo de esto, ya que lo que está encontrando es un separador lineal en un espacio de Hilbert (posiblemente de alta dimensión).
Para las redes neuronales en general, no tenemos una descripción tan clara o incluso una aproximación. Y tal descripción es importante para que comprendamos qué es exactamente lo que una red neuronal está encontrando en los datos.
fuente
El principio del cuello de botella de información se ha propuesto para explicar el éxito de las redes nuerales profundas.
Aquí hay una cita de la revista Quanta
Referencias
1- El aprendizaje profundo y el principio del cuello de botella de información , Naftali Tishby y Noga Zaslavsky
2- Apertura de la caja negra de redes neuronales profundas a través de información , Ravid Shwartz-Ziv y Naftali Tishby
3- Video de la conferencia: Teoría de la información del aprendizaje profundo por Naftali Tishby
fuente
Diría que aún necesitamos descubrir un algoritmo eficiente para entrenar redes neuronales profundas. Sí, SGD funciona bien en la práctica, pero encontrar un mejor algoritmo que tenga garantías para converger al mínimo global sería muy bueno.
fuente