Me pregunté lo mismo media hora después de saber qué era una red neuronal. Mi experiencia era una maestría en matemática pura, por lo que todo tenía mucho sentido.
- Especifique una estructura y una función de pérdida para optimizar.
- Optimízalo usando el gradiente de descenso.
- La red se alimenta solo con multiplicación de matrices y activaciones puntuales.
- La red se propaga utilizando la regla de la cadena multivariante.
- Actualice los pesos en consecuencia
- ???
- Lucro
Luego comencé a aplicarlo a problemas difíciles y rápidamente me di cuenta de que comprender cómo funciona el aprendizaje profundo es muy diferente de aplicarlo realmente con éxito. Hay toneladas de trampas a tener en cuenta.
“Pero eso es algo que requiere práctica y experiencia”, pensé. “Una vez que tengo eso, es fácil”.
- ¿Cuál es el beneficio de usar la función softmax en la última capa de DNN? ¿Cuál es la relación entre la entropía cruzada y las funciones de pérdida?
- ¿Cuáles son algunos buenos libros / recursos para que un principiante obtenga una buena introducción al aprendizaje automático?
- Si su red neuronal no está aprendiendo (o no está aprendiendo mucho), ¿qué pasos toma para descubrir por qué?
- ¿Cuáles son algunos buenos textos en MCMC?
- ¿Necesito una GPU para aprender el aprendizaje profundo?
Bueno, no tanto. Resulta que no importa cuánta experiencia tenga, todavía hay muchas dificultades. Lograr que una red profunda haga exactamente lo que quieres significa
- Estructura de optimización
- Prevención sobre o debajo del ajuste.
- Conseguir que converja (a un mínimo local de alta calidad)
- Asegurarse de tener la función de pérdida correcta
- Hacer el aumento de datos correctamente (a veces no es tan fácil)
- Preprocesamiento adecuado
- Etc …
Se requiere una gran cantidad de trabajo y las pruebas son muy costosas desde el punto de vista informático. Puede tomar una semana probar una sola idea. Cuando hay tantas variaciones diferentes para probar, eso no es práctico. Incluso si solo toma unos minutos probar una idea, ese tiempo se acumula muy rápidamente.
¡Pero eso es solo lo aplicado!
¡Las matemáticas también son desafiantes!
Sí, lo básico de cómo funciona es muy simple, pero la vanguardia del campo es todo lo contrario. Como regla general, la vanguardia de cualquier campo será muy difícil. Si no fuera así, ya lo habríamos resuelto y tendríamos una nueva vanguardia que es más difícil.
Como dije antes, mi experiencia es una maestría en matemáticas. Al leer algunos de los artículos recientes sobre aprendizaje profundo, a menudo encuentro matemáticas con las que no estoy familiarizado o que no he usado desde esa clase de geometría diferencial que no recuerdo. Algunos documentos que leí recientemente hicieron un uso intensivo de
- Geometría hiperbólica
- Análisis funcional
- Sistemas dinámicos
- Teoría de matrices aleatorias
- Etc …
Su estudiante de ingeniería promedio probablemente pueda implementar algunas de estas ideas simplemente siguiendo las fórmulas en el documento, pero no tiene la base matemática para desarrollarlas.
Entonces, sí, si profundiza, encontrará que todas las áreas de aprendizaje profundo son desafiantes una vez que supera los aspectos básicos.