Las redes neuronales profundas tienen funciones objetivas no convexas, en general. Y con las funciones objetivas no convexas no puede esperar evitar quedarse atascado en los óptimos locales; solo puede esperar evitar quedar atrapado en malas óptimas locales.
Algunas técnicas que lo ayudan a hacer eso son:
- Descenso de gradiente estocástico: la estocasticidad de SGD ayuda aquí. Si está en un óptimo local malo, entonces hay margen para mejorar la predicción en muchos puntos de entrenamiento, por definición. Por lo tanto, habrá una gran cantidad de puntos cuyos gradientes serán distintos de cero (aunque el gradiente promedio sea cero). Por lo tanto, es probable que obtenga un gradiente distinto de cero en el próximo minibatch, que lo ayudará a salir del óptimo local.
- Momento: esta es una técnica muy utilizada en el entrenamiento de redes neuronales profundas. Esencialmente, la actualización de peso se calcula como una combinación lineal del gradiente y la última actualización de peso. Entonces, si el gradiente llega a cero con un mal óptimo, las actualizaciones de peso anteriores aún contribuirán a dar una actualización distinta de cero en el paso actual. Sus pesos dejan de actualizarse solo cuando el gradiente y las actualizaciones de peso anteriores llegan a cero simultáneamente. (Ver discusión aquí.)
- Cómo construir la matriz del núcleo para un polinomio de grado finito
- ¿Qué tipos de algoritmos de aprendizaje automático se utilizan para resolver algunos problemas populares del mundo real?
- ¿Cuáles son los proyectos de aprendizaje automático más populares en Github?
- ¿A qué áreas de investigación y aplicaciones se aplica con éxito el aprendizaje automático bayesiano?
- ¿Cuál es el lenguaje más cercano al lenguaje de máquina?