En las redes neuronales, utilizamos un algoritmo de optimización de descenso de gradiente para minimizar la función de error para alcanzar un mínimo global. En un mundo ideal, la función de error se vería así
Por lo tanto, tiene la garantía de encontrar el óptimo global porque no hay un mínimo local donde su optimización pueda atascarse. Sin embargo, en realidad, la superficie de error es más compleja, puede comprender varios mínimos locales y puede verse así
- ¿Por qué el algoritmo AdaBoost es sensible a datos ruidosos y valores atípicos? ¿Y cómo?
- Cómo poner un programa de IA en un dispositivo
- ¿Qué son los espacios latentes en el aprendizaje de representación?
- Cómo usar el procesamiento del lenguaje natural (PNL) para resumir un documento en una serie de ideas principales
- Ingeniero de Aprendizaje Automático de Udacity Nanodegree: ¿Dónde están los proyectos?
En este caso, puede atascarse fácilmente en un mínimo local y el algoritmo puede pensar que alcanza el mínimo global que conduce a resultados subóptimos. Para evitar esta situación, utilizamos un término de impulso en la función objetivo, que es un valor entre 0 y 1 que aumenta el tamaño de los pasos dados hacia el mínimo al intentar saltar desde un mínimo local. Si el término de impulso es grande, entonces la tasa de aprendizaje debe mantenerse más pequeña. Un gran valor de impulso también significa que la convergencia ocurrirá rápidamente. Pero si tanto el impulso como la tasa de aprendizaje se mantienen en valores grandes, entonces puede omitir el mínimo con un gran paso. Un pequeño valor de impulso no puede evitar de manera confiable los mínimos locales, y también puede ralentizar el entrenamiento del sistema. Momentum también ayuda a suavizar las variaciones, si el gradiente sigue cambiando de dirección. Se puede aprender un valor correcto de impulso mediante hit y trial o mediante validación cruzada.
Fuente de las imágenes – Adaptación del momento y la tasa de aprendizaje