Learning rate

 En el aprendizaje automático y las estadísticas , la tasa de aprendizaje es un parámetro de ajuste en un algoritmo de optimización que determina el tamaño del paso en cada iteración mientras avanza hacia un mínimo de una función de pérdida .  Dado que influye en qué medida la información recién adquirida anula la información anterior, representa metafóricamente la velocidad a la que "aprende" un modelo de aprendizaje automático. En la literatura de control adaptativo , la tasa de aprendizaje se conoce comúnmente como ganancia . 

Al establecer una tasa de aprendizaje, existe una compensación entre la tasa de convergencia y el exceso. Si bien la dirección de descenso generalmente se determina a partir del gradiente de la función de pérdida, la tasa de aprendizaje determina qué tan grande es el paso que se da en esa dirección. Una tasa de aprendizaje demasiado alta hará que el aprendizaje supere los mínimos, pero una tasa de aprendizaje demasiado baja tardará demasiado en converger o se atascará en un mínimo local no deseado. 

Con el fin de lograr una convergencia más rápida, evitar oscilaciones y quedarse atascado en mínimos locales no deseados, la tasa de aprendizaje a menudo varía durante el entrenamiento de acuerdo con un programa de tasa de aprendizaje o utilizando una tasa de aprendizaje adaptativa. [4] La tasa de aprendizaje y sus ajustes también pueden diferir por parámetro, en cuyo caso se trata de una matriz diagonal que puede interpretarse como una aproximación a la inversa de la matriz hessiana en el método de Newton .  La tasa de aprendizaje está relacionada con la longitud del paso determinada por la búsqueda de línea inexacta en métodos cuasi-Newton y algoritmos de optimización relacionados. 



Horario de tasa de aprendizaje 

La tasa inicial se puede dejar como predeterminada en el sistema o se puede seleccionar usando una variedad de técnicas.  Un programa de tasa de aprendizaje cambia la tasa de aprendizaje durante el aprendizaje y se cambia con mayor frecuencia entre épocas/iteraciones. Esto se hace principalmente con dos parámetros: decaimiento e impulso . Hay muchos programas de tasas de aprendizaje diferentes, pero los más comunes son los basados ​​en el tiempo, los basados ​​en pasos y los exponenciales .

El decaimiento sirve para asentar el aprendizaje en un lugar agradable y evitar oscilaciones, una situación que puede surgir cuando una tasa de aprendizaje constante demasiado alta hace que el aprendizaje salte hacia adelante y hacia atrás por encima de un mínimo, y está controlado por un hiperparámetro.

El impulso es análogo a una pelota que rueda cuesta abajo; queremos que la pelota se asiente en el punto más bajo de la colina (correspondiente al error más bajo). Momentum acelera el aprendizaje (aumentando la tasa de aprendizaje) cuando el gradiente de costo de error se dirige en la misma dirección durante mucho tiempo y también evita los mínimos locales al "dar la vuelta" a los pequeños baches. El impulso está controlado por un hiperparámetro análogo a la masa de una pelota que debe elegirse manualmente: demasiado alto y la pelota rodará sobre los mínimos que deseamos encontrar, demasiado bajo y no cumplirá su propósito. La fórmula para tener en cuenta el impulso es más compleja que para el decaimiento, pero la mayoría de las veces se integra con bibliotecas de aprendizaje profundo como Keras .


Tasa de aprendizaje adaptativo 

El problema con los programas de tasa de aprendizaje es que todos dependen de hiperparámetros que deben elegirse manualmente para cada sesión de aprendizaje determinada y pueden variar mucho según el problema en cuestión o el modelo utilizado. Para combatir esto, existen muchos tipos diferentes de algoritmos de descenso de gradiente adaptativo , como Adagrad , Adadelta, RMSprop y Adam  , que generalmente están integrados en bibliotecas de aprendizaje profundo como Keras .