Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Cuando se crean sistemas de machine learning complejos como redes neuronales de aprendizaje profundo, es poco práctico explorar todas las combinaciones posibles. El ajuste de los hiperparámetros puede acelerar su productividad al probar muchas variaciones de un modelo. Busca automáticamente el mejor modelo, centrándose en las combinaciones más prometedoras de valores de hiperparámetros dentro de los rangos que especifique. Para obtener buenos resultados, es preciso elegir los intervalos de exploración adecuados. En esta página se ofrece una breve explicación de las diferentes estrategias de ajuste de hiperparámetros que puede utilizar con Amazon SageMaker AI.
Utilice la guía de API referencia para entender cómo interactuar con el ajuste de hiperparámetros. Puede utilizar las estrategias de ajuste descritas en esta página con las teclas HyperParameterTuningJobConfigy HyperbandStrategyConfigAPIs.
nota
Dado que el algoritmo es estocástico, es posible que el modelo de ajuste de hiperparámetros no consiga converger en la mejor respuesta. Esto puede ocurrir incluso si la mejor combinación posible de valores se encuentra dentro de los rangos que elija.
Búsqueda en cuadrícula
Al utilizar la búsqueda en cuadrículas, el ajuste de hiperparámetros elige combinaciones de valores del rango de valores categóricos que se especifican al crear el trabajo. Cuando se utiliza la estrategia de búsqueda en cuadrículas, solo se admiten parámetros categóricos. No es necesario especificar MaxNumberOfTrainingJobs
. El número de trabajos de entrenamiento creados por el trabajo de ajuste se calcula automáticamente para ser el número total de combinaciones categóricas distintas posibles. Si se especifica, el valor de MaxNumberOfTrainingJobs
debe ser igual al número total de combinaciones categóricas distintas posibles.
Búsqueda aleatoria
En una búsqueda aleatoria, el ajuste de hiperparámetros elige una combinación aleatoria de valores de hiperparámetros dentro de los rangos que especifique para cada trabajo de entrenamiento que se inicie. La elección de valores de hiperparámetros no depende de los resultados de los trabajos de entrenamiento anteriores. Como resultado, puede ejecutar el número máximo de trabajos de entrenamiento simultáneos sin cambiar el rendimiento del ajuste.
Para ver un ejemplo de cuaderno que utiliza la búsqueda aleatoria, consulte la búsqueda aleatoria y el escalado de hiperparámetros con SageMaker XGBoost un cuaderno de ajuste automático de modelos
Optimización bayesiana
La optimización bayesiana trata el ajuste de hiperparámetros como un problema de regresión. Dado un conjunto de características de entrada (los hiperparámetros), el ajuste de hiperparámetros optimiza un modelo para la métrica que elija. Para solucionar un problema de regresión, el ajuste de hiperparámetros hace suposiciones sobre qué combinaciones de hiperparámetros tendrán probablemente los mejores resultados. A continuación, ejecuta trabajos de entrenamiento para comprobar estos valores. Después de probar el primer conjunto de valores de hiperparámetros, el ajuste de hiperparámetros utiliza la regresión para elegir el siguiente conjunto de valores de hiperparámetros que va a probar.
El ajuste de hiperparámetros utiliza una implementación de Amazon SageMaker AI de optimización bayesiana.
Cuando elige los mejores hiperparámetros para el siguiente trabajo de entrenamiento, el ajuste de hiperparámetros tiene en cuenta todo lo que conoce del problema hasta el momento. A veces elige una combinación de valores de hiperparámetro próxima a la combinación resultante en el mejor trabajo de entrenamiento anterior para mejorar el rendimiento de forma incremental. De esta forma, el ajuste de hiperparámetros puede utilizar los mejores resultados conocidos. Otras veces, elige un conjunto de valores de hiperparámetro muy diferentes de los que ya ha probado. Esto le permite explorar el rango de valores de hiperparámetro para intentar encontrar nuevos ámbitos que no están bien comprendidos. Este equilibrio entre exploración y explotación es habitual en muchos problemas de machine learning.
Para obtener más información sobre la optimización bayesiana, consulte lo siguiente:
Temas básicos sobre optimización bayesiana
Agilización de la optimización bayesiana
Modelado avanzado y transferencia de aprendizaje
Hyperband
Hyperband es una estrategia de ajuste basada en multifidelidad que reasigna recursos de forma dinámica. Hyperband utiliza los resultados intermedios y finales de los trabajos de entrenamiento para reasignar épocas a configuraciones de hiperparámetros bien utilizadas y detiene automáticamente las que tienen un rendimiento inferior. También se adapta sin problemas para utilizar muchos trabajos de entrenamiento en paralelo. Estas funciones pueden acelerar considerablemente el ajuste de hiperparámetros en comparación con las estrategias de búsqueda aleatoria y optimización bayesiana.
Hyperband solo debe usarse para ajustar algoritmos iterativos que publican resultados en diferentes niveles de recursos. Por ejemplo, Hyperband se puede utilizar para ajustar una red neuronal para la clasificación de imágenes, que publica métricas de precisión después de cada época.
Para obtener más información acerca de las prácticas recomendadas de Hyperband, consulte los siguientes enlaces:
Hyperband con parada temprana
Los trabajos de entrenamiento pueden detenerse antes de tiempo cuando es poco probable que mejoren la métrica objetiva del trabajo de ajuste de hiperparámetros. Esto puede ayudar a reducir el tiempo de procesamiento y evitar el sobreajuste del modelo. Hyperband utiliza un mecanismo interno avanzado para detener anticipadamente. El parámetro de la HyperParameterTuningJobConfig
API debe configurarse TrainingJobEarlyStoppingType
en OFF
cuando se utilice la función de parada temprana interna de Hyperband.
nota
El ajuste de hiperparámetros podría no mejorar su modelo. Es una herramienta avanzada para crear soluciones de máquinas. Como tal, debe considerarse parte del proceso de desarrollo científico.