¿Por qué necesitamos tasas de aprendizaje adaptativo para Deep Learning?

Cuando utiliza una tasa de aprendizaje constante, establecida como hiperparámetro, su optimización se convierte más en un arte que en una ciencia. Una tasa de aprendizaje adaptativo calculada en cada paso está diseñada para lograr varios objetivos:

  • Elimine el hiperparámetro, liberándonos de la necesidad de optimizarlo.
  • Acelere el proceso de aprendizaje cuando la función de pérdida alcance una meseta
  • Resolver el problema de la explosión de gradientes.

Aquí hay una comparación (eso es solo un ejemplo de lo que puede esperar usando diferentes técnicas, no una búsqueda de un método para todos)

Como puede ver, la diferencia puede ser realmente significativa en algunos casos.

Los métodos adaptativos más utilizados ahora son Adagrad (Duchi et al., 2011) y Adadelta (Zeiler, 2012).

No son una solución para todos los problemas, por experiencia, encuentro que el SGD de vainilla es mejor para Word2Vec y Adadelta para arquitecturas recurrentes profundas, pero YMMV.

La tasa de aprendizaje representa el impacto de la corrección aplicada después de un paso de entrenamiento. Cuanto mayor es la tasa de aprendizaje, más drásticos son los cambios en cada paso.

Las redes neuronales usan un algoritmo llamado Descenso de gradiente para cambiar los pesos. Esto es posible gracias al cálculo del gradiente del error. En términos más simples, puede ver el error como una curva y desea encontrar el punto más bajo de la curva.

Para hacerlo, mides la pendiente de la curva y te mueves cuesta abajo. La pendiente es el gradiente , y usted se mueve ajustando los pesos de la red neuronal.

Si sigue moviéndose la misma cantidad cada vez, en la dirección de la pendiente, podría terminar perdiendo el punto más bajo y comenzar a subir el otro lado de la curva. Reducir la tasa de aprendizaje durante el entrenamiento ayuda a evitar este fenómeno.

Con tasa de aprendizaje adaptativo:

Sin tasa de aprendizaje adaptativo:

NB: podría comenzar con una pequeña tasa de aprendizaje, pero eso tomaría más tiempo para converger

Para eludir los mínimos locales en la Función de pérdida y permitir que la red busque mínimos más amplios en busca del mínimo global.

Las tasas de aprendizaje pequeñas pueden hacer que la red se atasque en un mínimo local, mientras que las más grandes pueden dar lugar a pesos oscilatorios. Las tasas de aprendizaje dinámico basadas en arpillera permiten a la red eludir tales escenarios al determinar las tasas según los gradientes.

Debido a la naturaleza inherente de la dinámica fluctuante del aprendizaje iterativo en términos de predicción matemática.

Simplemente hacemos muchas predicciones incrementales pequeñas seguidas, hasta que nos encontremos en un punto de dónde, ya no obtendremos ningún resultado más cercano.

Imagine una gráfica de:

——— | ———— | ———-

—— / ————- \ ———-

—— / —————- \ ————

Terriblemente dibujada, no puede hacer la parte superior, pero, básicamente, atravesamos el borde del gráfico, paso a paso, hasta llegar al punto máximo, donde hemos llegado al punto de convergencia.

Dado que la mayoría de las tareas son tan dinámicas en términos de aprendizaje y únicas, tenemos que aprenderlas iterativamente para acomodar la complejidad.

More Interesting

¿Podemos agregar la capa SVM como capa inferior en la arquitectura CNN para una mejor clasificación?

La pérdida (entropía cruzada) está disminuyendo, pero la precisión sigue siendo la misma durante el entrenamiento de redes neuronales convolucionales. Como puede suceder

¿Cómo funcionan las redes de propuestas regionales (RPN)?

Cómo saber que un modelo de similitud de documentos puede lograr un alto rendimiento / mejor calidad que los otros modelos

¿Cuáles son algunas de las funciones de uso común que se pueden extraer de la música con fines de aprendizaje automático?

¿Cuáles son las ventajas de las técnicas de aprendizaje automático sobre las técnicas de pronóstico tradicionales?

¿Cuáles son los algoritmos principales detrás de Google Translate?

¿Cuándo debería preferir los algoritmos de aprendizaje profundo a los algoritmos de aprendizaje automático poco profundos?

¿Cuál es la diferencia entre los datos de entrenamiento y los datos de prueba?

¿Cómo obtienen las startups de aprendizaje automático los usuarios iniciales?

¿Cuál es la relación entre economía y ciencia de datos?

¿Qué parte de la investigación de aprendizaje profundo es empírica versus teórica?

¿Por qué el aprendizaje automático se usa mucho para la clasificación de anuncios de Google y menos para su clasificación de búsqueda? ¿Qué llevó a esta diferencia?

¿Por qué las variedades son importantes para el aprendizaje profundo o el aprendizaje de refuerzo profundo?

¿Por qué el aumento de gradiente funciona tan bien para tantos problemas de Kaggle?