

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.

# Comprenda las estrategias de ajuste de hiperparámetros disponibles en Amazon AI SageMaker
<a name="automatic-model-tuning-how-it-works"></a>

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 referencia de la API](https://docs.aws.amazon.com/sagemaker/latest/APIReference/Welcome.html?icmpid=docs_sagemaker_lp) para comprender cómo interactuar con el ajuste de hiperparámetros. Puede utilizar las estrategias de ajuste descritas en esta página con las teclas [HyperParameterTuningJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperParameterTuningJobConfig.html)y [HyperbandStrategyConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperbandStrategyConfig.html) APIs.

**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
<a name="automatic-tuning-grid-search"></a>

 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
<a name="automatic-tuning-random-search"></a>

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](https://github.com/aws/amazon-sagemaker-examples-community/blob/215215eb25b40eadaf126d055dbb718a245d7603/training/sagemaker-automatic-model-tuning/hpo_xgboost_random_log.ipynb).

## Optimización bayesiana
<a name="automatic-tuning-bayesian-optimization"></a>

La optimización bayesiana trata el ajuste de hiperparámetros como un problema de *[regresión](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#[regression])*. 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**
+ [A Tutorial on Bayesian Optimization of Expensive Cost Functions, with Application to Active User Modeling and Hierarchical Reinforcement Learning](https://arxiv.org/abs/1012.2599)
+ [Practical Bayesian Optimization of Machine Learning Algorithms](https://arxiv.org/abs/1206.2944)
+ [Taking the Human Out of the Loop: A Review of Bayesian Optimization](https://ieeexplore.ieee.org/document/7352306?reload=true)

**Agilización de la optimización bayesiana**
+ [Google Vizier: A Service for Black-Box Optimization](https://dl.acm.org/doi/10.1145/3097983.3098043)
+ [Learning Curve Prediction with Bayesian Neural Networks](https://openreview.net/forum?id=S11KBYclx)
+ [Speeding up automatic hyperparameter optimization of deep neural networks by extrapolation of learning curves](https://dl.acm.org/doi/10.5555/2832581.2832731)

**Modelado avanzado y transferencia de aprendizaje**
+ [Scalable Hyperparameter Transfer Learning](https://papers.nips.cc/paper_files/paper/2018/hash/14c879f3f5d8ed93a09f6090d77c2cc3-Abstract.html)
+ [Bayesian Optimization with Tree-structured Dependencies](http://proceedings.mlr.press/v70/jenatton17a.html)
+ [Bayesian Optimization with Robust Bayesian Neural Networks](https://papers.nips.cc/paper_files/paper/2016/hash/291597a100aadd814d197af4f4bab3a7-Abstract.html)
+ [Scalable Bayesian Optimization Using Deep Neural Networks](http://proceedings.mlr.press/v37/snoek15.pdf)
+ [Input Warping for Bayesian Optimization of Non-stationary Functions](https://arxiv.org/abs/1402.0929)

## Hyperband
<a name="automatic-tuning-hyperband"></a>

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: A Novel Bandit-Based Approach to Hyperparameter Optimization](http://arxiv.org/pdf/1603.06560)
+ [Ajuste masivo de hiperparámetros en paralelo](https://liamcli.com/assets/pdf/asha_arxiv.pdf)
+ [BOHB: optimización de hiperparámetros sólida y eficiente a escala](http://proceedings.mlr.press/v80/falkner18a/falkner18a.pdf)
+ [Búsqueda asíncrona de hiperparámetros y arquitecturas neuronales basada en modelos](https://openreview.net/pdf?id=a2rFihIU7i)

### Hyperband con parada temprana
<a name="automatic-tuning-hyperband-early-stopping"></a>

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 `TrainingJobEarlyStoppingType` de la API `HyperParameterTuningJobConfig` debe establecerse en `OFF` cuando se utilice la característica interna de parada temprana 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. 