Ese es un tema de investigación muy activo en este momento. Estoy encantado de ver a matemáticos y físicos teóricos de alto calibre interesados en la teoría detrás del aprendizaje profundo.
Un enigma teórico es por qué el tipo de optimización no convexa que debe hacerse al entrenar redes neuronales profundas parece funcionar de manera confiable. Una intuición ingenua sugeriría que optimizar una función no convexa es difícil porque podemos quedar atrapados en los mínimos locales y ralentizarnos por mesetas y puntos de silla. Si bien las mesetas y los puntos de silla pueden ser un problema, los mínimos locales nunca parecen causar problemas. Nuestra intuición es incorrecta, porque imaginamos un paisaje energético en baja dimensión (por ejemplo, 2 o 3). Pero la función objetivo de las redes neuronales profundas a menudo está en 100 millones de dimensiones o más. Es difícil construir una caja en 100 millones de dimensiones. Eso son muchos muros. Hay una serie de trabajos teóricos de mi laboratorio de la Universidad de Nueva York (busque a Anna Choromanska como primera autora) y en el laboratorio de Yoshua Bengio en esta dirección. Utiliza herramientas matemáticas de la teoría de matrices aleatorias y la mecánica estadística.
Otra pregunta teórica interesante es por qué ayudan las capas múltiples. Todas las funciones booleanas de un número finito de bits se pueden implementar con 2 capas (usando la conjunción de la forma normal disyuntiva de la función). Pero la gran mayoría de las funciones booleanas requieren un número exponencial de términos mínimos en las fórmulas (es decir, un número exponencial de unidades ocultas en una red neuronal de 2 capas). Como programadores informáticos, todos sabemos que muchas funciones se vuelven simples si nos permitimos ejecutar múltiples pasos secuenciales para calcular la función (múltiples capas de cálculo). Ese es un argumento ondulado a mano para tener múltiples capas. No está claro cómo hacer un argumento más formal en el contexto de arquitecturas similares a redes neuronales.
- ¿Hay algún sitio web donde pueda encontrar ideas para mi tesis de licenciatura en Informática? (Estoy interesado en algoritmos y aprendizaje automático).
- ¿Cómo analizan los algoritmos de aprendizaje automático y los algoritmos basados en léxico las palabras coloquiales en un análisis de sentimientos de Twitter?
- ¿Puedo trabajar en Google Machine Learning con una licenciatura en Informática pero habiendo realizado dos pasantías y 3 proyectos de código abierto?
- En los modelos gráficos, ¿cuál es la diferencia entre un gráfico de clúster y un gráfico de factores?
- Cómo encontrar un patrón repetido en una imagen
Una tercera pregunta interesante es por qué ConvNets funciona tan bien. Hay un artículo muy bueno de Mark Tygert et al. sobre por qué las arquitecturas similares a ConvNet son lo correcto para analizar ciertos tipos de señales (soy coautor de este documento, pero todo el crédito debe ir a Mark, que es científico investigador en FAIR): https: / /scholar.google.com/citat…
Este trabajo se basa en el trabajo anterior de Stéphane Mallat y su estudiante de doctorado Joan Bruna sobre lo que llaman la “transformación de dispersión”. La transformación de dispersión es una arquitectura similar a ConvNet con filtros fijos cuyas propiedades matemáticas pueden estudiarse formalmente: citas de Google Scholar (Joan fue postdoctorado en mi laboratorio en NYU y luego en FAIR antes de unirse al Departamento de Estadística en Berkeley como profesor asistente).
Creo que hay muchos problemas interesantes para los teóricos en torno al aprendizaje profundo, por ejemplo, en torno a la cuestión de la optimización estocástica distribuida.