¿En qué consiste el ajuste de hiperparámetros?

Cuando se entrenan modelos de machine learning, cada conjunto de datos y cada modelo necesitan un conjunto diferente de hiperparámetros, que son un tipo de variables. La única forma de determinarlos es mediante la realización de múltiples experimentos, en los que se elige un conjunto de hiperparámetros y se los ejecuta a través del modelo. Esto se denomina ajuste de hiperparámetros. Básicamente, está entrenando su modelo secuencialmente con diferentes conjuntos de hiperparámetros. Este proceso puede ser manual o puede elegir uno de los distintos métodos automatizados de ajuste de hiperparámetros.

Sea cual sea el método que utilice, debe hacer un seguimiento de los resultados de los experimentos. Tendrá que aplicar algún tipo de análisis estadístico, como la función de pérdida, para determinar qué conjunto de hiperparámetros da el mejor resultado. El ajuste de hiperparámetros es un proceso importante e intensivo desde el punto de vista computacional.

¿Qué son los hiperparámetros?

Los hiperparámetros son variables de configuración externa que los científicos de datos utilizan para administrar el entrenamiento de modelos de machine learning. A veces llamados hiperparámetros de modelos, los hiperparámetros se configuran de manera manual antes de entrenar un modelo. Son diferentes de los parámetros, que son elementos internos derivados de manera automática durante el proceso de aprendizaje y que no están configurados por científicos de datos.

Entre los ejemplos de hiperparámetros se incluyen el número de nodos y capas de una red neuronal y el número de ramificaciones de un árbol de decisiones. Los hiperparámetros determinan características clave como la arquitectura del modelo, la tasa de aprendizaje y la complejidad del modelo.

¿Cómo se identifican los hiperparámetros?

Seleccionar el conjunto correcto de hiperparámetros es importante en términos de rendimiento y precisión del modelo. Desgraciadamente, no hay reglas establecidas en cuanto a qué hiperparámetros funcionan mejor ni sobre sus valores óptimos o predeterminados. Necesita experimentar para encontrar la configuración de hiperparámetros óptima. Esta actividad se conoce como ajuste de hiperparámetros u optimización de hiperparámetros.

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

Los hiperparámetros controlan de forma directa la estructura, funciones y rendimiento de los modelos. El ajuste de hiperparámetros permite a los científicos de datos modificar el rendimiento del modelo para lograr resultados óptimos. Este proceso es una parte fundamental del machine learning, y elegir los valores de hiperparámetros apropiados es fundamental para que llegue a buen puerto.

Por ejemplo, pongamos que utiliza la tasa de aprendizaje del modo como hiperparámetro. Si el valor es demasiado alto, es posible que el modelo converja demasiado rápido con resultados subóptimos. Por el contrario, si el valor es muy bajo, el entrenamiento se demora demasiado y es posible que los resultados no converjan. Una elección correcta y equilibrada de hiperparámetros da lugar a modelos precisos y con un rendimiento excelente.

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

Como se ha indicado anteriormente, el ajuste de hiperparámetros puede ser manual o automático. A pesar que el ajuste manual es lento y tedioso, le permite entender mejor cómo afectan al modelo las ponderaciones de los hiperparámetros. Sin embargo, en la mayoría de casos, utilizaría por lo general uno de los algoritmos de aprendizaje de hiperparámetros más conocidos.

El proceso de ajuste de hiperparámetros es iterativo, y debe probar diferentes combinaciones de parámetros y valores. Por lo general, se debe comenzar con la definición de una variable de destino (por ejemplo, precisión) como métrica principal, para luego intentar aumentar o reducir esta variable. Es buena idea utilizar técnicas de validación cruzada, de modo que el modelo no se centre únicamente en una única porción de sus datos.

¿En qué consisten las técnicas de ajuste de hiperparámetros?

Existen varios algoritmos de ajuste de hiperparámetros, aunque los tipos más utilizados son la optimización bayesiana, la búsqueda por cuadrícula y la búsqueda aleatoria.

Optimización bayesiana

La optimización bayesiana es una técnica basada en el teorema de Bayes, que describe la probabilidad de que ocurra un evento de acuerdo con el conocimiento actual. Cuando esto se aplica a la optimización de hiperparámetros, el algoritmo crea un modelo probabilístico a partir de un conjunto de hiperparámetros que optimiza una métrica específica. Además, utiliza análisis de regresión para elegir de forma iterativa el mejor conjunto de hiperparámetros.

Búsqueda por cuadrícula

A través de la búsqueda de cuadrícula, se especifica una lista de hiperparámetros y una métrica de rendimiento, y el algoritmo trabaja con todas las combinaciones posibles para determinar la opción más adecuada. La búsqueda por cuadrícula funciona bien, pero es relativamente tediosa e intensiva a nivel computacional, sobre todo con números elevados de hiperparámetros.

Búsqueda aleatorizada

Aunque se basa en principios similares a los de la búsqueda por cuadrícula, la búsqueda aleatorizada busca grupos seleccionados de hiperparámetros de manera aleatoria en cada iteración. Funciona bien cuando un número relativamente pequeño de hiperparámetros determinan de manera principal el resultado del modelo.

¿Cuáles son algunos ejemplos de hiperparámetros?

Aunque algunos hiperparámetros son comunes, en la práctica comprobará que los algoritmos utilizan conjuntos específicos de hiperparámetros. Por ejemplo, puede consultar cómo Amazon SageMaker utiliza los hiperparámetros de clasificación de imágenes y cómo SageMaker utiliza los hiperparámetros del algoritmo XGBoost.

A continuación, se muestran algunos ejemplos de hiperparámetros comunes:

  • La tasa de aprendizaje es la frecuencia con la que un algoritmo actualiza las estimaciones
  • El decaimiento de la tasa de aprendizaje es una reducción gradual de dicha tasa a medida que avanza el tiempo para acelerar el aprendizaje
  • El impulso es la dirección del próximo paso respecto al paso anterior
  • Los nodos de red neuronal aluden al número de nodos que contiene cada capa oculta
  • Las capas de red neuronal hacen referencia al número de capas ocultas de una red neuronal
  • El tamaño del minilote es el tamaño del lote de datos de entrenamiento
  • Las sesiones son el número de veces que el conjunto de datos de entrenamiento al completo se muestra a la red durante el entrenamiento
  • La Eta es la reducción del tamaño del paso para evitar el sobreajuste

¿Cómo puede ayudar AWS con el ajuste de hiperparámetros?

En Amazon Web Services (AWS), ofrecemos Amazon SageMaker, una plataforma de machine learning (ML) completamente administrada que permite ajustar los modelos de manera automática. Ajuste automático de modelos de Amazon SageMaker encuentra la mejor versión de su modelo de ML al ejecutar varios trabajos de entrenamiento con sus conjuntos de datos. La característica utiliza el algoritmo y los rangos de hiperparámetros especificados.

SageMaker brinda una versión inteligente de los modelos de ajuste de hiperparámetros con base en la teoría de búsqueda bayesiana y diseñada para encontrar el mejor modelo en el menor tiempo posible. Comienza con una búsqueda aleatoria, pero a continuación aprende cómo se comporta el modelo con respecto a los valores de hiperparámetros. Para obtener más información, consulte cómo funciona el ajuste de hiperparámetros en SageMaker.

Ajuste automático de modelos de SageMaker también es compatible con Hyperband, una nueva estrategia de búsqueda. Hyperband puede encontrar el conjunto óptimo de hiperparámetros hasta tres veces más rápido que con la búsqueda bayesiana para los modelos a gran escala, como las redes neuronales profundas que abordan los problemas de visión artificial.

También puede leer cómo realizar el ajuste automático de modelos con SageMaker. Puede utilizar el módulo de ajuste de hiperparámetros de SageMaker con algoritmos preintegrados de SageMaker, con algoritmos personalizados y con contenedores preintegrados de SageMaker. La página web le brinda tutoriales y ejercicios exhaustivos orientados al aprendizaje autodidacta y le ayuda con la optimización de hiperparámetros.

Comenzar a utilizar SageMaker es fácil, lo único que tiene que hacer es crear una cuenta gratuita de AWS. Con el nivel gratuito de AWS, puede probar de manera gratuita SageMaker durante dos meses antes de tener que pagar por el servicio.

Siguientes pasos con AWS

Descubra otros recursos relacionados con el producto
Consulte los servicios de machine learning 
Regístrese para obtener una cuenta gratuita

Obtenga acceso instantáneo al nivel Gratuito de AWS.

Regístrese 
Comenzar a crear en la consola

Comience a crear en la consola de administración de AWS.

Iniciar sesión