

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Entenda as estratégias de ajuste de hiperparâmetros disponíveis na Amazon AI SageMaker
<a name="automatic-model-tuning-how-it-works"></a>

Quando você constrói sistemas complexos de machine learning, como redes neurais de aprendizado profundo, é impraticável explorar todas as combinações possíveis. O ajuste de hiperparâmetros pode acelerar sua produtividade ao testar muitas variações de um modelo. Ele procura o melhor modelo automaticamente, concentrando-se nas combinações mais promissoras de valores de hiperparâmetros dentro dos intervalos que você especificar. Para obter bons resultados, é necessário escolher os intervalos corretos a serem explorados. Esta página fornece uma breve explicação das diferentes estratégias de ajuste de hiperparâmetros que você pode usar com a Amazon SageMaker AI.

Use o [Guia de referência da API](https://docs.aws.amazon.com/sagemaker/latest/APIReference/Welcome.html?icmpid=docs_sagemaker_lp) para entender como interagir com o ajuste de hiperparâmetros. Você pode usar as estratégias de ajuste descritas nesta página com [HyperParameterTuningJobConfig[HyperbandStrategyConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperbandStrategyConfig.html)](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperParameterTuningJobConfig.html) APIse.

**nota**  
Como o próprio algoritmo é estocástico, é possível que o modelo de ajuste de hiperparâmetros não consiga convergir para a melhor resposta. Isso pode ocorrer mesmo se a melhor combinação possível de valores estiver dentro dos intervalos que você escolher.

## Pesquisa de grade
<a name="automatic-tuning-grid-search"></a>

 Ao usar a pesquisa em grade, o ajuste de hiperparâmetros escolhe combinações de valores da faixa de valores categóricos que você especifica ao criar a tarefa. Somente parâmetros categóricos são compatíveis ao usar a estratégia de pesquisa em grade. Não é necessário especificar o `MaxNumberOfTrainingJobs`. O número de trabalhos de treinamento criados pelo trabalho de ajuste será calculado automaticamente como o total de combinações categóricas distintas possíveis. Se especificado, o valor de `MaxNumberOfTrainingJobs` deve ser igual ao número total de combinações categóricas distintas possíveis.

## Pesquisa aleatória
<a name="automatic-tuning-random-search"></a>

Ao usar a pesquisa aleatória, o ajuste de hiperparâmetros escolhe uma combinação aleatória de valores dentro dos intervalos que você especifica para os hiperparâmetros em cada trabalho de treinamento que ele inicia. A escolha dos valores de hiperparâmetros não depende dos resultados de trabalhos de treinamento anteriores. Como resultado, você pode executar o número máximo de trabalhos de treinamento simultâneos sem alterar o desempenho do ajuste.

Para ver um exemplo de caderno que usa pesquisa aleatória, consulte o caderno [Pesquisa aleatória e escalonamento de hiperparâmetros com SageMaker XGBoost 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).

## Otimização bayesiana
<a name="automatic-tuning-bayesian-optimization"></a>

A otimização bayesiana trata o ajuste de hiperparâmetros como um problema de *[regressão](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#[regression])*. Dado um conjunto de atributos de entrada (os hiperparâmetros), o ajuste de hiperparâmetros otimiza um modelo para a métrica escolhida. Para resolver um problema de regressão, o ajuste de hiperparâmetros faz suposições sobre quais combinações de hiperparâmetros têm mais probabilidade de obter os melhores resultados. Depois, ele executa trabalhos de treinamento para testar esses valores. Após testar um conjunto de valores de hiperparâmetros, o ajuste de hiperparâmetros utiliza regressão para escolher o próximo conjunto de valores de hiperparâmetros a serem testados.

O ajuste de hiperparâmetros usa uma implementação de otimização bayesiana da Amazon SageMaker AI.

Ao escolher os melhores hiperparâmetros para o próximo trabalho de treinamento, o ajuste de hiperparâmetros considera tudo o que sabe sobre esse problema até o momento. Às vezes, ele escolhe uma combinação de valores de hiperparâmetros próxima da combinação que resultou no melhor trabalho de treinamento anterior para melhorar o desempenho de forma incremental. Isso permite que o ajuste de hiperparâmetros explore os resultados mais conhecidos. Outras vezes, ele escolhe um conjunto de valores de hiperparâmetros bem distantes daqueles que tentou. Isso permite explorar o intervalo de valores de hiperparâmetros para tentar encontrar novas áreas que ainda não são bem-compreendidas. A compensação de explorar/aproveitar é comum em muitos problemas de machine learning.

Para obter mais informações sobre a otimização bayesiana, consulte o seguinte:

**Tópicos básicos sobre otimização Bayesiana**
+ [ Um tutorial sobre a otimização Bayesiana de funções de custos caros, com aplicação para modelagem de usuários ativos e aprendizado por reforço hierárquica](https://arxiv.org/abs/1012.2599)
+ [Otimização Bayesiana prática de algoritmos de machine learning](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)

**Aceleração da otimização 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)

**Modelagem avançada e aprendizado por transferência**
+ [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 é uma estratégia de ajuste baseada em multifidelidade que realoca recursos dinamicamente. O Hyperband usa os resultados intermediários e finais dos trabalhos de treinamento para realocar épocas para configurações de hiperparâmetros bem utilizadas e interrompe automaticamente aquelas com desempenho inferior. Também se adapta perfeitamente ao uso de muitos trabalhos de treinamento paralelos. Esses atributos podem acelerar significativamente o ajuste de hiperparâmetros em relação às estratégias de busca aleatória e otimização bayesiana.

O Hyperband só deve ser usada para ajustar algoritmos iterativos que publicam resultados em diferentes níveis de recursos. Por exemplo, o Hyperband pode ser usado para ajustar uma rede neural para classificação de imagens que publica métricas de precisão após cada época.

Para obter mais informações sobre Hyperband, consulte os seguintes links:
+ [Hyperband: uma nova abordagem baseada em bandit para otimização de hiperparâmetros ](http://arxiv.org/pdf/1603.06560)
+ [Ajuste massivo de hiperparâmetros paralelos](https://liamcli.com/assets/pdf/asha_arxiv.pdf)
+ [BOHB: Otimização robusta e eficiente de hiperparâmetros em escala](http://proceedings.mlr.press/v80/falkner18a/falkner18a.pdf)
+ [Pesquisa de hiperparâmetros assíncronos e arquitetura neural baseada em modelos](https://openreview.net/pdf?id=a2rFihIU7i)

### Hyperband com interrupção antecipada
<a name="automatic-tuning-hyperband-early-stopping"></a>

Os trabalhos de treinamento podem ser interrompidos antecipadamente quando é improvável que melhorem a métrica objetiva do trabalho de ajuste de hiperparâmetros. Isso pode ajudar a reduzir o tempo de computação e evitar o ajuste excessivo do modelo. O Hyperband usa um mecanismo interno avançado para aplicar a interrupção antecipada. Portanto, o parâmetro `TrainingJobEarlyStoppingType` na API `HyperParameterTuningJobConfig` deve ser definido como `OFF` ao usar o atributo interno de interrupção antecipada do Hyperband.

**nota**  
O ajuste de hiperparâmetros pode não melhorar seu modelo. É uma ferramenta avançada para construir soluções de máquinas. Como tal, deve ser considerado parte do processo de desenvolvimento científico. 