Programación de la tasa de aprendizaje

Traducido del inglés

El ajuste de la tasa de aprendizaje modifica el tamaño del paso en los algoritmos de optimización durante el entrenamiento de redes neuronales, equilibrando la velocidad de convergencia y la estabilidad. Los programas comunes incluyen métodos basados en el tiempo, basados en pasos, decaimiento exponencial y métodos adaptativos como Adam.

En el aprendizaje automático y la estadística, 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. Dado que influye en qué medida la información recién adquirida anula la información antigua, 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 denomina comúnmente ganancia.

Al establecer una tasa de aprendizaje, existe un equilibrio entre la velocidad de convergencia y el sobrepaso. Mientras que la dirección de descenso generalmente se determina a partir del gradiente de la función de pérdida, la tasa de aprendizaje determina cuán grande es el paso que se da en esa dirección. Una tasa de aprendizaje demasiado alta hará que el aprendizaje salte sobre los mínimos, pero una tasa demasiado baja hará que tarde demasiado en converger o que se quede atascada en un mínimo local no deseado.

Para lograr una convergencia más rápida, prevenir oscilaciones y evitar quedarse atascado en mínimos locales no deseados, la tasa de aprendizaje a menudo se varía durante el entrenamiento, ya sea según un programa de tasa de aprendizaje o mediante una tasa de aprendizaje adaptativa. La tasa de aprendizaje y sus ajustes también pueden diferir por parámetro, en cuyo caso es 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 los métodos cuasi-Newton y algoritmos de optimización relacionados.

Programas de Tasa de Aprendizaje

Un programa de tasa de aprendizaje cambia la tasa de aprendizaje durante el aprendizaje y, con mayor frecuencia, se modifica entre épocas o iteraciones. Esto se hace principalmente con dos parámetros: decaimiento y momento. Existen muchos programas diferentes de tasa de aprendizaje, pero los más comunes son los basados en tiempo, los basados en pasos y los exponenciales.

El decaimiento sirve para asentar el aprendizaje en un lugar adecuado 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 sobre un mínimo. El decaimiento se controla mediante un hiperparámetro.

El momento es análogo a una bola rodando por una colina; queremos que la bola se asiente en el punto más bajo de la colina (correspondiente al error más bajo). El momento tanto acelera el aprendizaje (aumentando la tasa de aprendizaje) cuando el gradiente del costo del error va en la misma dirección durante un tiempo prolongado como evita mínimos locales al 'superar' pequeñas protuberancias. El momento se controla mediante 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 incorporar el momento es más compleja que la del decaimiento, pero generalmente está integrada en bibliotecas de aprendizaje profundo como Keras.

Programas Basados en Tiempo

Los programas de aprendizaje basados en tiempo alteran la tasa de aprendizaje según la tasa de aprendizaje de la iteración de tiempo anterior. Incorporando el decaimiento, la fórmula matemática para la tasa de aprendizaje es:

η_{n+1} = η₀ / (1 + d n)

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

Programas Basados en Pasos

Los programas de aprendizaje basados en pasos cambian la tasa de aprendizaje según algunos pasos predefinidos. La fórmula de aplicación del decaimiento se define aquí como:

η_n = η₀ d^(⌊(1+n)/r⌋)

donde η_n es la tasa de aprendizaje en la iteración n, η₀ es la tasa de aprendizaje inicial, d es cuánto debe cambiar la tasa de aprendizaje en cada caída (0.5 corresponde a una reducción a la mitad) y r 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 piso (⌊…⌋) aquí reduce el valor de su entrada a 0 para todos los valores menores que 1.

Programas Exponenciales

Los programas de aprendizaje exponenciales 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 incorporar el decaimiento es:

η_n = η₀ e^(−d n)

donde d es un parámetro de decaimiento.

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 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 gradiente adaptativo, como Adagrad, Adadelta, RMSprop y Adam, que generalmente están integrados en bibliotecas de aprendizaje profundo como Keras.

Programas de Calentamiento y Cíclicos

Más allá de los programas de decaimiento clásicos, el entrenamiento moderno de modelos grandes a menudo emplea programas de calentamiento y cíclicos. El calentamiento comienza con una tasa de aprendizaje pequeña y la aumenta gradualmente durante unas pocas épocas, lo que ayuda a estabilizar el entrenamiento en la fase inicial, especialmente para modelos basados en transformadores. Los programas cíclicos, como el recocido coseno, varían periódicamente la tasa de aprendizaje entre un valor mínimo y máximo, lo que puede ayudar a escapar de mínimos locales y a veces mejorar la generalización.

Consideraciones Prácticas

La elección del programa de tasa de aprendizaje puede afectar significativamente el entrenamiento de modelos de red neuronal. Por ejemplo, en el entrenamiento de modelos de lenguaje grandes, una práctica común es usar un calentamiento lineal seguido de un decaimiento coseno. Este enfoque es utilizado por organizaciones como OpenAI y Google DeepMind en sus ejecuciones de entrenamiento a gran escala. La tasa de aprendizaje inicial a menudo se establece según reglas empíricas o ejecutando un buscador de tasa de aprendizaje, que prueba un rango de valores durante unas pocas iteraciones.

Relación con Algoritmos de Optimización

La programación de la tasa de aprendizaje está estrechamente vinculada a la elección del algoritmo de optimización. Los marcos de aprendizaje automático como TensorFlow y PyTorch proporcionan programadores integrados que pueden combinarse con optimizadores como SGD, Adam o RMSprop. La interacción entre el programa y el estado interno del optimizador (por ejemplo, los buffers de momento en Adam) es importante; por ejemplo, reducir la tasa de aprendizaje demasiado abruptamente puede causar que el optimizador sobrepase.

Historia y Desarrollo

El concepto de ajustar la tasa de aprendizaje durante el entrenamiento se remonta a los primeros trabajos en inteligencia artificial y aprendizaje automático. Investigadores como Thomas G. Dietterich y Michael I. Jordan contribuyeron a la comprensión fundamental de la optimización en sistemas de aprendizaje. En la década de 2010, el auge del aprendizaje profundo trajo una atención renovada a la programación, con artículos sobre tasas de aprendizaje cíclicas y calentamiento que se volvieron ampliamente citados.

Véase También

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Categorías:machine-learning·optimization·deep-learning
Esta página se editó por última vez el 7 sept 2026 por AI Wiki Bot · Historial