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 mueve hacia un mínimo de una función de pérdida . [1] Dado que influye en la medida en que 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 sobre control adaptativo , la tasa de aprendizaje se conoce comúnmente como ganancia . [2]
Al establecer una tasa de aprendizaje, existe una compensación entre la tasa de convergencia y el sobreimpulso. 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 se da un paso 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 atascará 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 se 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 de Hesse 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íneas inexactas en métodos cuasi-Newton y algoritmos de optimización relacionados. [6] [7]
Calendario de tasas de aprendizaje
La tasa inicial se puede dejar como predeterminada del sistema o se puede seleccionar mediante una variedad de técnicas. [8] Un programa de ritmo de aprendizaje cambia el ritmo de aprendizaje durante el aprendizaje y con mayor frecuencia se cambia 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 basados en el tiempo, basados en pasos y exponenciales . [4]
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 momento es análogo a una pelota que rueda cuesta abajo; queremos que la bola 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 del costo de error se dirige en la misma dirección durante un tiempo prolongado y también evita los mínimos locales al "pasar" pequeños baches. El momento es controlado por un hiperparámetro análogo a la masa de una bola que debe elegirse manualmente: demasiado alto y la bola rodará sobre los mínimos que deseamos encontrar, demasiado bajo y no cumplirá su propósito. La fórmula para factorizar el impulso es más compleja que la del decaimiento, pero a menudo se integra con bibliotecas de aprendizaje profundo como Keras .
Los horarios de aprendizaje basados en el tiempo alteran la tasa de aprendizaje en función de la tasa de aprendizaje de la iteración de tiempo anterior. Teniendo en cuenta el decaimiento, la fórmula matemática para la tasa de aprendizaje es:
dónde es la tasa de aprendizaje, es un parámetro de decaimiento y es el paso de iteración.
Los horarios de aprendizaje basados en pasos cambian la tasa de aprendizaje de acuerdo con algunos pasos predefinidos. La fórmula de aplicación de la descomposición se define aquí como:
dónde es la tasa de aprendizaje en iteración , es la tasa de aprendizaje inicial, es cuánto debería cambiar la tasa de aprendizaje en cada gota (0,5 corresponde a una reducción a la mitad) y corresponde a la tasa de caída, o con qué frecuencia se debe eliminar la tasa (10 corresponde a una caída cada 10 iteraciones). La función de piso aquí baja 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 usa una función exponencial decreciente. La fórmula matemática para factorizar la desintegración es:
dónde es un parámetro de decaimiento.
Tasa de aprendizaje adaptativo
El problema con los horarios de tasas de aprendizaje es que todos dependen de hiperparámetros que deben elegirse manualmente para cada sesión de aprendizaje dada 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 gradientes adaptativos , como Adagrad , Adadelta, RMSprop y Adam [9], que generalmente están integrados en bibliotecas de aprendizaje profundo como Keras . [10]
Ver también
Referencias
- ^ Murphy, Kevin P. (2012). Aprendizaje automático: una perspectiva probabilística . Cambridge: MIT Press. pag. 247. ISBN 978-0-262-01802-9.
- ^ Delyon, Bernard (2000). "Aproximación estocástica con ganancia decreciente: convergencia y teoría asintótica" . Notas de conferencias inéditas . Universidad de Rennes. CiteSeerX 10.1.1.29.4428 .
- ^ Buduma, Nikhil; Locascio, Nicolás (2017). Fundamentos del aprendizaje profundo: diseño de algoritmos de inteligencia artificial de próxima generación . O'Reilly. pag. 21. ISBN 978-1-4919-2558-4.
- ^ a b Patterson, Josh; Gibson, Adam (2017). "Comprensión de las tasas de aprendizaje". Aprendizaje profundo: el enfoque de un practicante . O'Reilly. págs. 258-263. ISBN 978-1-4919-1425-0.
- ^ Ruder, Sebastián (2017). "Una descripción general de los algoritmos de optimización de descenso de gradientes". arXiv : 1609.04747 .
- ^ Nesterov, Y. (2004). Conferencias introductorias sobre optimización convexa: un curso básico . Boston: Kluwer. pag. 25. ISBN 1-4020-7553-7.
- ^ Dixon, LCW (1972). "La elección de la longitud del paso, un factor crucial en el rendimiento de algoritmos métricos variables". Métodos numéricos para la optimización no lineal . Londres: Academic Press. págs. 149-170. ISBN 0-12-455650-7.
- ^ Smith, Leslie N. (4 de abril de 2017). "Tasas de aprendizaje cíclico para la formación de redes neuronales". arXiv : 1506.01186 [ cs.CV ].
- ^ Murphy, Kevin (2021). Aprendizaje automático probabilístico: una introducción . Aprendizaje automático probabilístico: una introducción . Prensa del MIT . Consultado el 10 de abril de 2021 .
- ^ Brownlee, Jason (22 de enero de 2019). "Cómo configurar la tasa de aprendizaje al entrenar redes neuronales de aprendizaje profundo" . Dominio del aprendizaje automático . Consultado el 4 de enero de 2021 .
Otras lecturas
- Géron, Aurélien (2017). "Gradient Descent" . Aprendizaje automático práctico con Scikit-Learn y TensorFlow . O'Reilly. págs. 113-124. ISBN 978-1-4919-6229-9.
- Plagianakos, vicepresidente; Magoulas, GD; Vrahatis, MN (2001). "Adaptación de la tasa de aprendizaje en el descenso de gradiente estocástico" . Avances en Análisis Convexo y Optimización Global . Kluwer. págs. 433–444. ISBN 0-7923-6942-4.
enlaces externos
- de Freitas, Nando (12 de febrero de 2015). "Optimización" . Conferencia de Deep Learning 6 . Universidad de Oxford, a través de YouTube .