stringtranslate.com

Tasa de aprendizaje

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 se avanza hacia un mínimo de una función de pérdida . [1] 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 un modelo de aprendizaje automático "aprende". En la literatura de control adaptativo , la tasa de aprendizaje se conoce comúnmente como ganancia . [2]

Al establecer una tasa de aprendizaje, existe un equilibrio entre la tasa de convergencia y la tasa de sobrepaso . 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 salte por encima de los mínimos, pero una tasa de aprendizaje demasiado baja tardará demasiado en converger o se quedará atascada en un mínimo local indeseable. [3]

Para lograr una convergencia más rápida, evitar oscilaciones y quedarse atascado en mínimos locales indeseables, la tasa de aprendizaje a menudo varía durante el entrenamiento, ya sea 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 es una matriz diagonal que se puede interpretar como una aproximación a la inversa de la matriz hessiana en el método de Newton . [5] 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. [6] [7]

Programa de ritmo de aprendizaje

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

La descomposición 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 de un lado a otro por encima de un mínimo, y está controlada por un hiperparámetro.

El momento 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 (que corresponde al error más bajo). El momento 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 "rodar sobre" pequeños baches. El momento está controlado por un hiperparámetro análogo a la masa de una pelota que debe elegirse manualmente: si es demasiado alto, la pelota rodará sobre los mínimos que deseamos encontrar, y si es demasiado bajo, no cumplirá su propósito. La fórmula para tener en cuenta el momento es más compleja que para la descomposición, pero la mayoría de las veces se integra con bibliotecas de aprendizaje profundo como Keras .

Los programas de aprendizaje basados ​​en el tiempo modifican la tasa de aprendizaje en función de la tasa de aprendizaje de la iteración temporal anterior. Si se tiene en cuenta la desintegración, la fórmula matemática para la tasa de aprendizaje es:

donde es la tasa de aprendizaje, es un parámetro de decaimiento y es el paso de iteración.

Los programas de aprendizaje por pasos cambian la velocidad de aprendizaje según algunos pasos predefinidos. La fórmula de aplicación de la descomposición se define aquí como:

donde es la tasa de aprendizaje en la iteración , es la tasa de aprendizaje inicial, es cuánto debe cambiar la tasa de aprendizaje en cada caída (0,5 corresponde a una reducción a la mitad) y corresponde a la tasa de caída , o con qué frecuencia debe reducirse la tasa (10 corresponde a una caída cada 10 iteraciones). La función floor ( ) aquí reduce el valor de su entrada a 0 para todos los valores menores que 1.

Los programas de aprendizaje exponencial son similares a los basados ​​en pasos, pero en lugar de pasos, se utiliza una función exponencial decreciente. La fórmula matemática para factorizar la decrecimiento es:

donde es un parámetro de desintegración.

Tasa de aprendizaje adaptativa

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 en gran medida 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 [9] , que generalmente están integrados en bibliotecas de aprendizaje profundo como Keras . [10]

Véase también

Referencias

  1. ^ Murphy, Kevin P. (2012). Aprendizaje automático: una perspectiva probabilística. Cambridge: MIT Press. pág. 247. ISBN 978-0-262-01802-9.
  2. ^ Delyon, Bernard (2000). "Aproximación estocástica con ganancia decreciente: convergencia y teoría asintótica". Notas de clase inéditas . Université de Rennes. CiteSeerX 10.1.1.29.4428 . 
  3. ^ Buduma, Nikhil; Locascio, Nicholas (2017). Fundamentos del aprendizaje profundo: diseño de algoritmos de inteligencia artificial de próxima generación . O'Reilly. pág. 21. ISBN 978-1-4919-2558-4.
  4. ^ ab Patterson, Josh; Gibson, Adam (2017). "Entender las tasas de aprendizaje". Aprendizaje profundo: un enfoque práctico . O'Reilly. págs. 258–263. ISBN 978-1-4919-1425-0.
  5. ^ Ruder, Sebastian (2017). "Una descripción general de los algoritmos de optimización de descenso de gradiente". arXiv : 1609.04747 [cs.LG].
  6. ^ Nesterov, Y. (2004). Lecciones introductorias sobre optimización convexa: un curso básico. Boston: Kluwer. p. 25. ISBN 1-4020-7553-7.
  7. ^ Dixon, LCW (1972). "La elección de la longitud del paso, un factor crucial en el rendimiento de los algoritmos métricos variables". Métodos numéricos para optimización no lineal . Londres: Academic Press. págs. 149-170. ISBN 0-12-455650-7.
  8. ^ Smith, Leslie N. (4 de abril de 2017). "Tasas de aprendizaje cíclicas para el entrenamiento de redes neuronales". arXiv : 1506.01186 [cs.CV].
  9. ^ Murphy, Kevin (2021). Aprendizaje automático probabilístico: una introducción. MIT Press . Consultado el 10 de abril de 2021 .
  10. ^ Brownlee, Jason (22 de enero de 2019). "Cómo configurar la tasa de aprendizaje al entrenar redes neuronales de aprendizaje profundo". Maestría en aprendizaje automático . Consultado el 4 de enero de 2021 .

Lectura adicional

Enlaces externos