En el aprendizaje automático, el ajuste de hiperparámetros, también conocido como optimización de hiperparámetros, es el problema de elegir un conjunto de hiperparámetros óptimos para un algoritmo de aprendizaje. Un hiperparámetro es un parámetro cuyo valor controla el proceso de aprendizaje y debe configurarse antes de que comience el entrenamiento, en contraste con los parámetros del modelo que se aprenden durante el entrenamiento. El objetivo es determinar el conjunto de hiperparámetros que produce un modelo óptimo, minimizando una función de pérdida predefinida en un conjunto de datos dado. La función objetivo toma un conjunto de hiperparámetros y devuelve la pérdida asociada, y la validación cruzada se utiliza a menudo para estimar el rendimiento de generalización y guiar el proceso de selección.
El ajuste de hiperparámetros es distinto del entrenamiento del modelo. Mientras que el entrenamiento ajusta los pesos internos mediante algoritmos de optimización como Stochastic Gradient Descent Variants o el Adam (Optimizer), el ajuste opera a un nivel superior, estableciendo valores para elementos como el Learning Rate Scheduling, el número de capas en una red neuronal o la fuerza del Dropout. Un ajuste efectivo es esencial para lograr un buen rendimiento, ya que hiperparámetros mal elegidos pueden conducir a un subajuste o sobreajuste, independientemente de la calidad de los datos de entrenamiento o la sofisticación de la arquitectura del modelo.
Búsqueda en cuadrícula
El método tradicional para la optimización de hiperparámetros es la búsqueda en cuadrícula, o barrido de parámetros, que busca exhaustivamente en un subconjunto especificado manualmente del espacio de hiperparámetros. Un algoritmo de búsqueda en cuadrícula se guía por una métrica de rendimiento, típicamente medida mediante validación cruzada en el conjunto de entrenamiento o evaluación en un conjunto de validación reservado. Dado que el espacio de parámetros puede incluir valores reales o no acotados, a menudo son necesarios límites manuales y discretización.
Por ejemplo, una máquina de vectores de soporte de margen suave típica con un kernel RBF tiene al menos dos hiperparámetros: una constante de regularización C y un hiperparámetro del kernel γ. Ambos son continuos, por lo que la búsqueda en cuadrícula selecciona un conjunto finito de valores para cada uno, como C ∈ {10, 100, 1000} y γ ∈ {0.1, 0.2, 0.5, 1.0}. Luego entrena una SVM con cada par (C, γ) en el producto cartesiano y evalúa el rendimiento. La búsqueda en cuadrícula sufre de la maldición de la dimensionalidad, pero a menudo es vergonzosamente paralela porque las configuraciones de hiperparámetros son independientes.
Búsqueda aleatoria
La búsqueda aleatoria reemplaza la enumeración exhaustiva seleccionando combinaciones de hiperparámetros al azar. Puede aplicarse a espacios discretos, continuos y mixtos. Un beneficio sobre la búsqueda en cuadrícula es que la búsqueda aleatoria puede explorar muchos más valores para hiperparámetros continuos. Puede superar a la búsqueda en cuadrícula, especialmente cuando solo un pequeño número de hiperparámetros afecta significativamente el rendimiento final, una situación conocida como baja dimensionalidad intrínseca. La búsqueda aleatoria también es vergonzosamente paralela y permite la inclusión de conocimiento previo especificando distribuciones de muestreo. A pesar de su simplicidad, sigue siendo una línea base importante para comparar nuevos métodos de optimización de hiperparámetros.
Optimización bayesiana
La optimización bayesiana es un método de optimización global para funciones de caja negra ruidosas. Aplicada al ajuste de hiperparámetros, construye un modelo probabilístico de la función que mapea los valores de hiperparámetros al objetivo evaluado en un conjunto de validación. Al evaluar iterativamente configuraciones prometedoras basadas en el modelo actual y actualizarlo, la optimización bayesiana busca recopilar observaciones que revelen información sobre la función y la ubicación de su óptimo. Equilibra la exploración (hiperparámetros con resultados inciertos) y la explotación (hiperparámetros esperados cerca del óptimo). En la práctica, la optimización bayesiana a menudo obtiene mejores resultados en menos evaluaciones que la búsqueda en cuadrícula o la búsqueda aleatoria, debido a su capacidad para razonar sobre la calidad de los experimentos antes de ejecutarlos.
Optimización basada en gradientes
Para algoritmos de aprendizaje específicos, es posible calcular el gradiente con respecto a los hiperparámetros y optimizarlos mediante el descenso de gradiente. El primer uso de estas técnicas se centró en redes neuronales, y los métodos se han extendido desde entonces a modelos como máquinas de vectores de soporte y regresión logística. Un enfoque diferencia los pasos de un algoritmo de optimización iterativo utilizando diferenciación automática. Trabajos más recientes utilizan el teorema de la función implícita para calcular hipergradientes y proponen una aproximación estable de la inversa del hessiano, escalando a millones de hiperparámetros con memoria constante.
Otro enfoque entrena una hiperred para aproximar la función de mejor respuesta, que puede manejar hiperparámetros discretos. Las redes de autoajuste ofrecen una versión eficiente en memoria al elegir una representación compacta para la hiperred. Más recientemente, Δ-STN mejoró esto reparametrizando la hiperred para acelerar el entrenamiento y obtener una mejor aproximación del jacobiano de mejor respuesta. Los métodos basados en gradientes también pueden optimizar hiperparámetros discretos adoptando una relajación continua, como se usa extensamente en la búsqueda de arquitecturas neuronales.
Optimización evolutiva
La optimización evolutiva es una metodología para la optimización global de funciones de caja negra ruidosas, utilizando algoritmos evolutivos para buscar en el espacio de hiperparámetros. Sigue un proceso inspirado en la evolución biológica: crear una población inicial de soluciones aleatorias (típicamente 100+ tuplas de hiperparámetros), evaluar su aptitud (por ejemplo, precisión de validación cruzada de 10 pliegues), clasificarlas por aptitud y luego generar una nueva población mediante selección, cruce y mutación. Este proceso iterativo continúa hasta que se cumple un criterio de parada. Los métodos evolutivos son robustos y pueden manejar espacios de búsqueda complejos y no diferenciables, lo que los hace adecuados para ajustar hiperparámetros en diversos modelos de Machine learning, incluidos los utilizados en Deep learning y modelos de lenguaje grandes.
Consideraciones prácticas
El ajuste de hiperparámetros es un paso crítico en el desarrollo de sistemas de Artificial intelligence. La elección del método depende del presupuesto computacional, la dimensionalidad del espacio de hiperparámetros y la naturaleza del modelo. Para modelos costosos, como transformadores utilizados en Generative AI, la optimización bayesiana a menudo se prefiere debido a su eficiencia de muestreo. Para modelos más simples o cuando los recursos paralelos son abundantes, la búsqueda aleatoria o la búsqueda en cuadrícula pueden ser suficientes. Las herramientas y marcos para el ajuste están ampliamente disponibles, y la investigación continúa en métodos más eficientes, incluidos aquellos que se integran con Batch Normalization y otras técnicas de entrenamiento.