¿Cuál es la tasa de aprendizaje en el machine learning?

27 de noviembre de 2024

Autores

Ivan Belcic

Staff writer

Cole Stryker

Editorial Lead, AI Models

Gather

¿Qué es la tasa de aprendizaje en el machine learning? 

La tasa de aprendizaje es un hiperparámetro que rige cuánto ajusta sus parámetros un modelo de machine learning en cada paso de su algoritmo de optimización. La tasa de aprendizaje puede determinar si un modelo ofrece un rendimiento óptimo o no aprende durante el proceso de entrenamiento. 

El objetivo del algoritmo de optimización es minimizar la función de pérdida que mide la diferencia entre las predicciones de un modelo y los datos del mundo real. Cada vez que el modelo ejecuta su algoritmo de optimización, actualiza sus parámetros en función del resultado. La tasa de aprendizaje, o tamaño del paso, se representa con la letra griega η, y determina el tamaño de los cambios que se permite hacer al modelo. 

La tasa de aprendizaje ayuda a garantizar que un modelo aprenda lo suficiente del entrenamiento para realizar ajustes significativos en sus parámetros sin corregir en exceso. Imagine descender una colina. Para llegar al fondo de forma segura, uno debe viajar lo suficientemente rápido como para hacer un progreso significativo, pero no demasiado rápido como para perder el control y tropezar. La mejor tasa de aprendizaje establece una velocidad de descenso segura. 

Cada paso de entrenamiento representa el modelo anulando su comprensión previa de su conjunto de datos. Una red neuronal "aprende" más sobre sus datos de entrenamiento con cada pasada de su algoritmo de optimización. 

Diseño 3D de bolas rodando por un circuito

Las últimas noticias + conocimientos de IA 


Descubra ideas y noticias de expertos sobre IA, nube y mucho más en el boletín semanal Think. 

¿Por qué es importante la tasa de aprendizaje?

La tasa de aprendizaje es importante porque guía a los modelos de IA en el aprendizaje efectivo a partir de sus datos de entrenamiento. 

Una tasa de aprendizaje baja no permite que el modelo "aprenda" lo suficiente en cada paso. El modelo actualiza sus parámetros con demasiada lentitud y tarda demasiado en alcanzar la convergencia. Pero eso no significa que una alta tasa de aprendizaje sea la respuesta. 

Con una alta tasa de aprendizaje, el algoritmo puede ser víctima de un exceso de tiempo, es decir, de un exceso de velocidad en la corrección de sus errores. En este caso, el algoritmo necesita una tasa de aprendizaje más pequeña, pero no demasiado pequeña como para que el aprendizaje sea ineficiente. 

Como ejemplo, imagine a un extraterrestre que ha venido a aprender sobre la vida en la Tierra. El extraterrestre ve gatos, perros, caballos, cerdos y vacas y concluye que todos los animales tienen cuatro patas. Entonces, el extraterrestre ve una gallina. ¿Esta criatura también es un animal? Dependiendo de la tasa de aprendizaje del extraterrestre, llegarán a una de estas tres conclusiones: 

  • A un ritmo de aprendizaje óptimo, el extraterrestre concluirá que las gallinas también son animales. Y si ese es el caso, esto debe significar que la cantidad de patas no es un determinante clave de si algo es un animal o no. 

  • Si el extraterrestre tiene una tasa de aprendizaje baja, no puede obtener suficiente conocimiento de esta única gallina. El extraterrestre concluirá que los pollos no son animales porque no tienen cuatro patas. La pequeña tasa de aprendizaje del extraterrestre no le permite actualizar su pensamiento hasta que ve más gallinas. 

  • A un ritmo de aprendizaje alto, el extraterrestre sobrecorregirá. Ahora, llegará a la conclusión de que, dado que la gallina es un animal y porque el pollo tiene dos patas, todos los animales deben tener dos patas. Un ritmo de aprendizaje alto significa que la modelo aprende "demasiado" de una vez. 

Diferentes tasas de aprendizaje dan como resultado diferentes resultados de aprendizaje. La mejor tasa de aprendizaje es aquella que permite al algoritmo ajustar los parámetros del modelo de manera oportuna sin sobrepasar el punto de convergencia. 

¿Qué son los parámetros en el machine learning?

Los parámetros son variables de configuración que rigen el funcionamiento de un modelo de deep learning. Los parámetros son análogos a la configuración de un modelo en el sentido de que determinan su comportamiento y se pueden ajustar para mejorar el rendimiento del modelo.

Parámetros aprendidos por modelo

Los parámetros aprendidos por modelo, o ponderaciones del modelo, son internos al modelo y se aprenden durante el entrenamiento. En cada paso del entrenamiento, el modelo cambia sus parámetros internos para mejorar su rendimiento. La magnitud de los cambios que realiza el modelo viene determinada por la tasa de aprendizaje. La configuración de los parámetros de un modelo afecta directamente a su rendimiento.

Al afinar un modelo, se necesitan ajustes más pequeños porque el modelo ya ha sido entrenado. Afinar un modelo suele requerir una tasa de aprendizaje más baja que cuando se entrena inicialmente un modelo.

Hiperparámetros

Los hiperparámetros son reglas externas que dan forma a la estructura y al proceso de entrenamiento del modelo. Los configuran las personas responsables de entrenar el modelo. La tasa de aprendizaje es uno de esos hiperparámetros y suele tener un valor de entre 0,0 y 1,0. 

Otros dos hiperparámetros fundamentales son: 

  • Época: el número de veces que todo el conjunto de datos de entrenamiento pasa por el modelo durante el entrenamiento. Una época está completa cuando el modelo procesa cada muestra en sus datos de entrenamiento una vez. El hiperparámetro epoch establece el número de épocas en el proceso de entrenamiento. 

  • Tamaño del lote: las épocas de entrenamiento se pueden dividir en fragmentos más pequeños llamados lotes. El modelo actualiza sus ponderaciones después de cada lote de entrenamiento. 

La época establece la duración del proceso de entrenamiento, mientras que el tamaño del lote determina la frecuencia con la que el modelo actualiza sus ponderaciones. La tasa de aprendizaje le dice al modelo cuánto debe aprender después de cada lote. 

Mixture of Experts | Pódcast

Descifrar la IA: resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el bullicio de la IA para ofrecerle las últimas noticias y conocimientos al respecto.

¿Qué es un algoritmo de optimización?

Un algoritmo de optimización, o algoritmo de aprendizaje, es un proceso de programación que enseña a un modelo de deep learning a aprender de sus datos de entrenamiento y a actualizar las ponderaciones de sus modelos. Los algoritmos de aprendizaje se componen de una función de pérdida (también conocida como función de coste o función de error) y de un método para optimizar las ponderaciones del modelo.

Cada iteración del algoritmo de aprendizaje refina aún más el modelo. Cuando un modelo ya no puede mejorarse con más entrenamiento, se dice que ha alcanzado la convergencia

Descenso de gradiente

El descenso de gradiente es un algoritmo de optimización para entrenar modelos de machine learning. Los algoritmos de descenso de gradiente utilizan una función de pérdida para trazar la diferencia entre las predicciones de un algoritmo de machine learningy los valores reales. El gradiente es la pendiente de la función, que representa sus valores potenciales. 

El objetivo del algoritmo de optimización es descender el gradiente hasta su mínimo local, donde la función produce el resultado más bajo. Pero los mínimos locales no son necesariamente el mínimo global singular de la función, o su valor mínimo general. Los científicos de datos utilizan métodos complementarios, como otros algoritmos y regularización, para evitar que un modelo se quede atascado en un mínimo local subóptimo a medida que disminuye la salida de la función de pérdida. 

El proceso de actualización de las ponderaciones de un modelo mediante la minimización de su función de pérdida se conoce como retropropagación. El descenso del gradiente es un método común para llevar a cabo la técnica de retropropagación. 

Cada vez que el algoritmo actualiza los parámetros del modelo para reducir la función de pérdida y descender por el gradiente, el modelo se acerca un poco más a la convergencia. La tasa de aprendizaje controla este descenso al limitar el ritmo al que el algoritmo actualiza las ponderaciones del modelo. 

Hay tres tipos de descenso de gradiente: 

  • El descenso del gradiente por lotes itera después de calcular la pérdida para todas las muestras del conjunto de datos. Es muy estable, pero no el mejor para lograr una convergencia óptima. 

  • El descenso del gradiente estocástico (SGD) selecciona aleatoriamente un punto de datos por iteración, lo que aumenta considerablemente la velocidad y los matices. Pero su alta frecuencia de actualización puede reducir la estabilidad. SGD tiene muchas variantes, incluidas Adam, AdaGrad y RMSProp. 

  • El descenso del gradientes por minilotes es un método de compromiso que, en su lugar, elige un grupo pequeño de puntos de datos por iteración. Proporciona una buena frecuencia y velocidad de actualización sin sacrificar la estabilidad. 

    Cómo determinar la tasa de aprendizaje óptima

    Determinar una buena tasa de aprendizaje es en gran medida un proceso de prueba y error. No existe una técnica de ciencia de datos infalible que garantice una tasa de aprendizaje inicial óptima sin evaluar el progreso durante el entrenamiento. 

    Los métodos comunes para determinar la tasa de aprendizaje incluyen: 

    • Búsqueda en cuadrícula 

    • Horarios de ritmo de aprendizaje

    • Tasa de aprendizaje adaptativa 

    • Optimización de hiperparámetros

    La optimización de la tasa de aprendizaje se basa en gran medida en los principios básicos del deterioro y el impulso. Muchas bibliotecas de deep learning calculan el decaimiento y el impulso en nombre de los usuarios. Una de estas bibliotecas es la API de código abierto Keras, escrita en Python con soporte para TensorFlow, JAX y PyTorch

    • El deterioro ralentiza el ritmo de aprendizaje a medida que avanza el entrenamiento. El uso eficaz de la descomposición permite que el modelo aprenda rápidamente al principio y luego de forma más incremental para evitar sobrepasar la convergencia. 

    • El impulso es la inercia del algoritmo de optimización. Aumenta la tasa de aprendizaje cuando el gradiente sigue la misma dirección (lo que significa que el algoritmo aún no ha alcanzado la convergencia) y, al mismo tiempo, evita los mínimos locales para seguir avanzando a la baja. Aumentar el impulso puede dar lugar a una convergencia más rápida. Un impulso bajo puede detener el entrenamiento en mínimos locales menores, mientras que un impulso alto puede omitir accidentalmente mínimos locales significativos. 

    Búsqueda en cuadrícula

    La búsqueda en cuadrícula es un método de fuerza bruta para determinar la tasa de aprendizaje. Los científicos de datos ensamblan una cuadrícula que contiene todas las tasas de aprendizaje potenciales. Luego, cada tasa de aprendizaje se prueba y valida. La validación prueba el modelo entrenado en un nuevo conjunto de datos y actualiza aún más sus hiperparámetros. 

    Mientras que la búsqueda en cuadrícula facilita un proceso exhaustivo de evaluación de la tasa de aprendizaje, consume mucho tiempo y requiere muchos cálculos.

    Horarios de ritmo de aprendizaje

    Los programas de tasa de aprendizaje actualizan la tasa de aprendizaje durante el proceso de entrenamiento de acuerdo con uno de varios planes predeterminados. Los programas comunes de tasas de aprendizaje incluyen: 

    • Tasa de aprendizaje fija

    • Deterioro basado en el tiempo 

    • Deterioro gradual 

    • Deterioro exponencial

    • Deterioro polinomial

    Tasa de aprendizaje fija

    Una tasa de aprendizaje fija, o tasa de aprendizaje constante, no cambia durante el entrenamiento. Con una tasa de aprendizaje fija, el impulso y el deterioro permanecen estáticos durante el entrenamiento. Una tasa de aprendizaje fija proporciona un punto de referencia a partir del cual probar otras estrategias de tasa de aprendizaje.

    Deterioro basado en el tiempo

    Un programa de aprendizaje basado en el tiempo activa la disminución de la tasa de aprendizaje después de una cantidad predeterminada de épocas de entrenamiento o en épocas específicas. La cantidad en la que disminuye la tasa de aprendizaje se basa en la tasa de aprendizaje del ciclo anterior. Un programa de aprendizaje basado en el tiempo típico basa la disminución en un factor inversamente proporcional a la cantidad de épocas.

    Deterioro gradual

    El deterioro gradual reduce la tasa de aprendizaje en un factor predeterminado, como la mitad, después de un número determinado de épocas.

    Deterioro exponencial

    Las tasas de aprendizaje de decaimiento exponencial disminuyen exponencialmente después de un número determinado de épocas. Por lo demás, los programas de aprendizaje de deterioro exponencial son similares a los programas de decaimiento escalonado.

    Deterioro polinomial

    En un programa de aprendizaje polinomial, el deterioro está determinado por una función polinomial de la época actual. Multiplicar la época por un exponente más alto aumenta la tasa de decaimiento, mientras que una potencia más baja mantiene una tasa de deterioro más constante.

    Programa de la tasa de aprendizaje cíclico

    Un programa de aprendizaje cíclico define un ritmo de aprendizaje mínimo y máximo y, a continuación, alterna el ritmo de aprendizaje entre ambos. Un programa triangular aumenta linealmente del mínimo al máximo y viceversa mediante una constante establecida. Otros programas utilizan funciones cosenoidales, sinusoidales o parabólicas.

    Tasa de aprendizaje adaptativo

    Los algoritmos de aprendizaje adaptativo se ajustan dinámicamente en respuesta a las condiciones actuales o Iterations anteriores. Por el contrario, todas las tasas de aprendizaje programadas dependen de hiperparámetros predefinidos. 

    Muchos métodos de aprendizaje adaptativo son variantes de SGD. Entre los algoritmos de aprendizaje adaptativo más notables se incluyen: 

    • AdaGrad: la familia de algoritmos AdaGrad (gradiente adaptativo), introducida en 2011, actualiza la tasa de aprendizaje por separado para cada parámetro. Por lo general, establece una relación inversamente proporcional entre la tasa de aprendizaje y la frecuencia de las características. Este enfoque mantiene el enfoque en las características más relevantes del conjunto de datos. 

    • RMSProp: RMSProp (propagación cuadrática media) ajusta el peso de aprendizaje para cada parámetro de acuerdo con un promedio móvil de los cuadrados de cada gradiente. Mejora AdaGrad al ignorar los gradientes en el pasado lejano, aumentando la estabilidad y conduciendo a una convergencia más rápida. 

    • Adam: introducido en 2014, Adam (estimación de momento adaptativo) combina el momento con RMSProp para ajustar la tasa de aprendizaje de cada parámetro en función de sus gradientes anteriores. Las versiones posteriores de Adam agregaron un inicio cálido, que aumenta gradualmente la tasa de aprendizaje al comenzar el entrenamiento.

    Optimización de hiperparámetros

    La optimización de hiperparámetros, o ajuste de hiperparámetros, es la práctica de identificar la configuración óptima para todos los hiperparámetros, incluida la tasa de aprendizaje. Los algoritmos de ajuste de hiperparámetros automatizan el proceso de configuración de los hiperparámetros óptimos, y cada algoritmo favorece a unos hiperparámetros sobre otros. 

    La búsqueda de la configuración óptima general de los hiperparámetros permite considerar cómo cada hiperparámetro afecta a los demás. Sin embargo, este enfoque puede resultar costoso desde el punto de vista computacional, especialmente con grandes cantidades de hiperparámetros.

    Soluciones relacionadas
    IBM watsonx.ai

    Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.

    Descubra watsonx.ai
    Soluciones de inteligencia artificial

    Ponga la IA al servicio de su negocio con la experiencia líder del sector y la cartera de soluciones de IA de IBM.

    Explore las soluciones de IA
    Consultoría y servicios de IA

    Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

    Explore los servicios de IA
    Dé el siguiente paso

    Obtenga acceso único a capacidades que abarcan el ciclo de vida de desarrollo de la IA. Produzca potentes soluciones de IA con interfaces intuitivas, flujos de trabajo y acceso a API y SDK estándar del sector.

    Explore watsonx.ai Solicite una demostración en directo