¿Qué es el ajuste de hiperparámetros?

Autores

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

¿Qué es el ajuste de hiperparámetros?

El ajuste de hiperparámetros consiste en identificar y seleccionar los hiperparámetros óptimos para el entrenamiento de un modelo de machine learning. Cuando se realiza correctamente, el ajuste de hiperparámetros minimiza la función de pérdida de un modelo de machine learning, lo que significa que el rendimiento del modelo se entrena para ser lo más preciso posible.

El ajuste de hiperparámetros es una práctica experimental, en la que cada iteración prueba diferentes valores de hiperparámetros hasta que se identifican los mejores. Este proceso es crítico para el rendimiento del modelo, ya que los hiperparámetros rigen su proceso de aprendizaje. La cantidad de neuronas en una red neuronal, la tasa de aprendizaje de un modelo de IA generativa y el tamaño del núcleo de una máquina de vectores de soporte son ejemplos de hiperparámetros.

Ajustar bien los hiperparámetros se traduce en un mayor rendimiento general del modelo de machine learning según las métricas de la tarea prevista. Esta es la razón por la que el ajuste de hiperparámetros también se conoce como optimización de hiperparámetros.

Una fotografía de una orquesta con un director

¿Qué son los hiperparámetros?

Los hiperparámetros son variables de configuración que los científicos de datos establecen de antemano para gestionar el proceso de entrenamiento de un modelo de machine learning. La IA generativa y demás modelos probabilísticos aplican sus aprendizajes a partir de los datos de entrenamiento para predecir el resultado más probable de una tarea. Encontrar la combinación adecuada de hiperparámetros es esencial para obtener el mejor rendimiento de los modelos de aprendizaje supervisado y no supervisado.

Hiperparámetros de regularización 

Los hiperparámetros de regularización controlan la capacidad o flexibilidad del modelo, que es el margen de maniobra que tiene a la hora de interpretar los datos. Si aplica un enfoque poco preciso, el modelo no tendrá la suficiente capacidad de concreción para hacer buenas predicciones. Si va demasiado lejos, el modelo sufrirá un sobreajuste: es decir, se adaptará por encima de lo necesario a sus datos de entrenamiento y acabará siendo demasiado específico para usarlo en el mundo real.

Hiperparámetros vs. parámetros del modelo

La principal diferencia entre los hiperparámetros y los parámetros del modelo en la ciencia de datos es que, mientras que los modelos aprenden o estiman parámetros a partir de los conjuntos de datos de entrenamiento que consumen, los científicos de datos definen los hiperparámetros para el algoritmo del modelo antes de que comience el proceso de entrenamiento. Los modelos actualizan continuamente los parámetros a medida que se utilizan, mientras que los valores óptimos de los hiperparámetros de un modelo se identifican y establecen con anticipación.

Las últimas tendencias en IA, presentadas por expertos

Obtenga conocimientos organizados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM.

¡Gracias! Está suscrito.

Su suscripción se enviará en inglés. Encontrará un enlace para darse de baja en cada boletín. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

¿Por qué es importante el ajuste de hiperparámetros?

El ajuste de hiperparámetros es importante porque sienta las bases para la estructura, la eficiencia del entrenamiento y el rendimiento de un modelo. Las configuraciones óptimas de hiperparámetros conducen a un sólido rendimiento del modelo en el mundo real. Las operaciones de modelos de lenguaje de gran tamaño (LLMOps) hacen hincapié en la eficiencia de un buen ajuste, con especial atención a la minimización de los requisitos de potencia computacional.

Sesgo y varianza

El objetivo del ajuste de hiperparámetros es equilibrar el equilibrio entre sesgo y varianza. El sesgo es la divergencia entre las predicciones de un modelo y la realidad. Los modelos infraajustados o mal ajustados no son capaces de discernir las relaciones clave entre los puntos de datos y son incapaces de extraer las conclusiones necesarias para ofrecer un rendimiento preciso.

La varianza es la sensibilidad de un modelo a nuevos datos. Un modelo fiable debe ofrecer resultados coherentes al migrar de sus datos de entrenamiento a otros conjuntos de datos. Sin embargo, los modelos con altos niveles de varianza son demasiado complejos: están sobreajustados a sus conjuntos de datos de entrenamiento originales y tienen dificultades para adaptarse a los nuevos datos.

Los modelos con bajo sesgo son precisos, mientras que los modelos con baja varianza son coherentes. Un buen ajuste de hiperparámetros optimiza tanto la creación del mejor modelo para una tarea en concreto como la maximización de la eficiencia de los recursos computacionales durante el entrenamiento.

Mixture of Experts | 28 de agosto, episodio 70

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.

Ejemplos de hiperparámetros

Cada algoritmo de aprendizaje automático favorece su propio conjunto respectivo de hiperparámetros, y no es necesario maximizarlos en todos los casos. A veces, adoptar un enfoque más conservador al ajustar los hiperparámetros conduce a un mejor rendimiento.

Hiperparámetros de redes neuronales

Las redes neuronales se inspiran en el cerebro humano y están compuestas por nodos interconectados que se envían señales entre sí. En general, estos son algunos de los hiperparámetros más comunes para el entrenamiento de modelos de redes neuronales:

  • Tasa de aprendizaje

  • Disminución de la tasa de aprendizaje

  • Tamaño del lote

  • Número de capas ocultas

  • Número de nodos o neuronas por capa

  • Momentum

  • Epochs

  • Función de activación

Índice de aprendizaje

La velocidad de aprendizaje establece la velocidad a la que un modelo ajusta sus parámetros en cada iteración. Estos ajustes se conocen como pasos. Una tasa de aprendizaje alta significa que un modelo se ajustará más rápidamente, pero con el riesgo de ofrecer un rendimiento inestable y una desviación de los datos. Por otra parte, aunque una tasa de aprendizaje baja consume más tiempo y requiere más datos, también hace que sea más probable que los científicos de datos identifiquen la pérdida mínima de un modelo. La optimización del descenso del gradiente es un ejemplo de una métrica de entrenamiento que requiere una tasa de aprendizaje establecida.

Decaimiento de la tasa de aprendizaje

El decaimiento de la tasa de aprendizaje establece la velocidad a la que la tasa de aprendizaje de una red disminuye con el tiempo, lo que permite que el modelo aprenda más rápidamente. La progresión del entrenamiento de un algoritmo desde su activación inicial hasta su rendimiento ideal se conoce como convergencia.

Tamaño de lote

El tamaño del lote establece la cantidad de muestras que calculará el modelo antes de actualizar sus parámetros. Tiene un efecto significativo tanto en la eficiencia informática como en la precisión del proceso de entrenamiento. Por sí solo, un tamaño de lote más alto debilita el rendimiento general, pero ajustar la tasa de aprendizaje junto con el tamaño del lote puede mitigar esta pérdida.

Número de capas ocultas

El número de capas ocultas en una red neuronal determina su profundidad, lo que afecta a su complejidad y capacidad de aprendizaje. Menos capas hacen que el modelo sea más simple y rápido, pero más capas, como con las redes de deep learning, conducen a una mejor clasificación de los datos de entrada. Identificar aquí el valor óptimo del hiperparámetro entre todas las combinaciones posibles es un compromiso entre velocidad y precisión.

Número de nodos o neuronas por capa

El número de nodos o neuronas por capa establece la amplitud del modelo. Cuantos más nodos o neuronas haya por capa, mayor será la amplitud del modelo y más capaz será de representar relaciones complejas entre puntos de datos.

Momentum

El momentum es el grado en que los modelos actualizan los parámetros en la misma dirección que las iteraciones anteriores, en lugar de invertir el curso. La mayoría de los científicos de datos comienzan con un valor de hiperparámetro más bajo para el momentum y luego lo ajustan al alza según sea necesario para mantener el modelo en curso a medida que recibe datos de entrenamiento.

Epochs

Los epochs son un hiperparámetro que establece la cantidad de veces que un modelo se expone a todo su conjunto de datos de entrenamiento durante el proceso de entrenamiento. Una mayor exposición puede mejorar el rendimiento, pero se corre el riesgo de que se produzca un sobreajuste.

Función de activación

La función de activación introduce la no linealidad en un modelo, lo que le permite gestionar conjuntos de datos más complejos. Los modelos no lineales pueden generalizarse y adaptarse a una mayor variedad de datos.

Hiperparámetros de SVM

La máquina de soporte vectorial (SVM) es un algoritmo de aprendizaje automático especializado en la clasificación de datos, la regresión y la detección de valores atípicos. Tiene sus propios hiperparámetros esenciales:

    Hiperparámetro SVM: C

    C es la relación entre el margen de error aceptable y el número resultante de errores cuando un modelo actúa como clasificador de datos. Un valor C más bajo establece un límite de decisión suave con una mayor tolerancia al error y un rendimiento más genérico, pero con un riesgo de clasificación incorrecta de los datos. Por otra parte, un valor C alto crea un límite de decisión claro para obtener resultados de entrenamiento más precisos, pero con un posible sobreajuste.

    Hiperparámetro SVM: kernel

    El kernel es una función que establece la naturaleza de las relaciones entre puntos de datos y los separa en grupos en consecuencia. Dependiendo del kernel utilizado, los puntos de datos mostrarán diferentes relaciones, lo que puede afectar en gran medida el rendimiento general del modelo SVM. Los kernels lineales, polinómicos, de función de base radial (RBF) y sigmoides son algunos de los más utilizados. Los kernels lineales son más simples y se recomiendan para datos fácilmente separables. Para conjuntos de datos más complejos, son mejores los kernels no lineales.

    Hiperparámetro SVM: gamma

    Gamma establece el nivel de influencia que tienen los vectores de soporte en el límite de decisión. Los vectores de soporte son los puntos de datos más cercanos al hiperplano: la frontera entre grupos de datos. Los valores más altos atraen una fuerte influencia de los vectores cercanos, mientras que los valores más bajos limitan la influencia de los más lejanos. Establecer un valor gamma demasiado alto puede producir un sobreajuste, mientras que un valor demasiado bajo puede difuminar el límite de decisión.

    Hiperparámetros XGBoost

    XGBoost significa "impulso de gradiente extremo" y es un algoritmo de conjunto que combina las predicciones de varios modelos más débiles, conocidos como árboles de decisión, para obtener un resultado más preciso. Los algoritmos potenciados por gradientes tienden a superar a los modelos de bosque aleatorio, otro tipo de algoritmo de aprendizaje por conjuntos que comprende múltiples árboles de decisión.

    Los hiperparámetros más importantes para XGBoost son:

    • learning_rate

    • n_estimators

    • max_depth

    • min_child_weight

    • subsample

    learning_rate

    learning_rate es similar al hiperparámetro de tasa de aprendizaje utilizado por las redes neuronales. Esta función controla el nivel de corrección realizado durante cada ronda de entrenamiento. Los valores potenciales oscilan entre 0 y 1, con 0,3 como valor predeterminado.

    n_estimators

    n_estimators fija el número de árboles del modelo. Este hiperparámetro se conoce como num_boost_rounds en el XGBoost original, mientras que la popular API de Python scikit-learn introdujo el nombre n_estimators.

    max_depth

    max_depth determina la arquitectura de los árboles de decisión, estableciendo la cantidad máxima de nodos de los árboles de decisión a cada hoja, el clasificador final. Con más nodos se consigue una clasificación de datos más precisa, mientras que los árboles más pequeños evitan fácilmente el sobreajuste.

    min_child_weight

    min_child_weight es el peso mínimo (la importancia de una clase determinada para el proceso general de entrenamiento del modelo) necesario para generar un nuevo árbol. Los pesos mínimos más bajos crean más árboles, pero con un posible sobreajuste, mientras que los pesos más grandes reducen la complejidad al requerir más datos para dividir los árboles.

    subsample

    subsample establece el porcentaje de muestras de datos utilizadas durante cada ronda de entrenamiento, y colsample_bytree fija el porcentaje de características que se utilizarán en la construcción del árbol.

    ¿Cómo funciona el ajuste de hiperparámetros?

    El ajuste de hiperparámetros se centra en la función objetivo, que analiza un grupo, o tupla, de hiperparámetros y calcula la pérdida proyectada. El ajuste óptimo de los hiperparámetros minimiza la pérdida en función de las métricas elegidas. Los resultados se confirman mediante validación cruzada, que mide hasta qué punto se generalizan a otros conjuntos de datos fuera de la instancia de entrenamiento específica.

    Métodos de ajuste de hiperparámetros

    Los científicos de datos tienen a su disposición una variedad de métodos de ajuste de hiperparámetros, cada uno con sus respectivas ventajas y desventajas. El ajuste de hiperparámetros se puede realizar de forma manual o automatizada como parte de una estrategia de AutoML (machine learning automatizado).

    • Búsqueda en cuadrícula

    • Búsqueda aleatoria

    • Optimización bayesiana

    • Hiperbanda

    Búsqueda en cuadrícula

    La búsqueda en cuadrícula es un método de ajuste de hiperparámetros completo y exhaustivo. Después de que los científicos de datos establecen todos los valores posibles para cada hiperparámetro, una búsqueda en cuadrícula construye modelos para cada configuración posible de esos valores de hiperparámetros discretos. Se evalúa el rendimiento de cada uno de estos modelos y se comparan entre sí para seleccionar finalmente el mejor modelo para el entrenamiento.

    De esta manera, la búsqueda en cuadrícula equivale a forzar un PIN introduciendo cada combinación posible de números hasta descubrir la secuencia correcta. Si bien permite a los científicos de datos considerar todas las configuraciones posibles en el espacio de hiperparámetros, la búsqueda en cuadrícula es ineficiente y consume muchos recursos computacionales.

    Búsqueda aleatoria

    La búsqueda aleatoria difiere de la búsqueda en cuadrícula en que los científicos de datos proporcionan distribuciones estadísticas en lugar de valores discretos para cada hiperparámetro. Una búsqueda aleatoria extrae muestras de cada rango y construye modelos para cada combinación. En el transcurso de varias iteraciones, los modelos se comparan entre sí hasta que se encuentra el mejor.

    La búsqueda aleatoria es preferible a la búsqueda en cuadrícula en situaciones en las que el espacio de búsqueda de hiperparámetros contiene grandes distribuciones: simplemente requeriría demasiado esfuerzo probar cada valor discreto. Los algoritmos de búsqueda aleatoria pueden devolver resultados comparables a los de la búsqueda en cuadrícula en bastante menos tiempo, aunque no se garantiza que descubran la configuración de hiperparámetros más óptima.

    Optimización bayesiana

    La optimización bayesiana es un algoritmo de optimización secuencial basado en modelos (SMBO) en el que cada iteración de las pruebas mejora el método de muestreo de la siguiente. Tanto las búsquedas en cuadrícula como las aleatorias se pueden realizar simultáneamente, pero cada prueba se realiza de forma aislada: los científicos de datos no pueden utilizar lo que han aprendido para elaborar pruebas posteriores.

    Basándose en pruebas anteriores, la optimización bayesiana selecciona probabilísticamente un nuevo conjunto de valores de hiperparámetros que puede que ofrezcan mejores resultados. El modelo probabilístico se denomina sustituto de la función objetivo original. Dado que los modelos sustitutos son eficientes desde el punto de vista informático, suelen actualizarse y mejorarse cada vez que se ejecuta la función objetivo.

    Cuanto mejor sea el sustituto en la predicción de hiperparámetros óptimos, el proceso se vuelve más rápido y se necesitan menos pruebas de la función objetivo. Esto hace que la optimización bayesiana sea mucho más eficiente que los otros métodos, ya que no se pierde tiempo en combinaciones inadecuadas de valores de hiperparámetros.

    El proceso de determinar estadísticamente la relación entre un resultado (en este caso, el mejor rendimiento del modelo) y un conjunto de variables se conoce como análisis de regresión. Los procesos gaussianos son uno de los SMBO más populares entre los científicos de datos.

    Hiperbanda

    Introducida en 2016, Hyperband está diseñada para mejorar la búsqueda aleatoria truncando el uso de configuraciones de entrenamiento que no ofrecen resultados sólidos y asignando más recursos a configuraciones positivas.

    Esta "detención temprana" se logra mediante la reducción sucesiva a la mitad, un proceso que reduce el conjunto de configuraciones eliminando la mitad con peor rendimiento después de cada ronda de entrenamiento. El 50 % superior de cada lote se lleva a la siguiente iteración hasta que queda una configuración óptima 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 a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.

    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