Programador de tasa de aprendizaje

Traducido del inglés

Un programador de tasa de aprendizaje ajusta la tasa de aprendizaje durante el entrenamiento de redes neuronales para mejorar la convergencia y evitar mínimos locales. Los programas comunes incluyen la decadencia basada en tiempo, basada en pasos y exponencial, junto con 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 sobre control adaptativo, la tasa de aprendizaje se denomina comúnmente ganancia.

Establecer una tasa de aprendizaje implica un equilibrio entre la velocidad de convergencia y el sobrepaso. Mientras que la dirección de descenso suele determinarse 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 por encima de 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 de acuerdo con un programa de tasa de aprendizaje o mediante el uso de 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

La tasa inicial puede dejarse como un valor predeterminado del sistema o seleccionarse mediante una variedad de técnicas. 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. Se controla mediante un hiperparámetro.

El momento es análogo a una bola rodando cuesta abajo; el objetivo es 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 se dirige en la misma dirección durante un largo tiempo como también evita mínimos locales al 'pasar por encima' de 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 pasará por encima de 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 suele estar integrada en bibliotecas de aprendizaje profundo como Keras.

Los programas basados en tiempo alteran la tasa de aprendizaje dependiendo de 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.

Los programas basados en pasos cambian la tasa de aprendizaje según algunos pasos predefinidos. La fórmula de aplicación del decaimiento se define 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 suelo (⌊…⌋) reduce el valor de su entrada a 0 para todos los valores menores que 1.

Los programas 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 enormemente 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.

Papel en el aprendizaje profundo

Los programadores de tasa de aprendizaje son un componente crítico en el entrenamiento de redes neuronales modernas, incluidos los modelos de aprendizaje profundo y los modelos de lenguaje grandes. En la práctica, marcos como TensorFlow y PyTorch proporcionan implementaciones de programadores integradas. Por ejemplo, OpenAI y Anthropic utilizan técnicas de programación sofisticadas al entrenar sus modelos basados en transformadores para garantizar una convergencia estable. De manera similar, Google DeepMind y Meta AI emplean programadores personalizados para ejecuciones de entrenamiento a gran escala.

Consideraciones prácticas

Elegir un programa de tasa de aprendizaje apropiado a menudo implica experimentación. Las prácticas comunes incluyen el uso de una fase de calentamiento donde la tasa de aprendizaje aumenta linealmente desde un valor pequeño, seguida de una fase de decaimiento. Este enfoque ayuda a estabilizar el entrenamiento en las primeras iteraciones. Además, algunos programadores como el recocido de coseno y las tasas de aprendizaje cíclicas han ganado popularidad por su capacidad para escapar de mínimos pronunciados.

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