O que é ajuste de hiperparâmetros?
Ao treinar modelos de machine learning, os conjuntos de dados e os modelos precisam de conjuntos diferentes de hiperparâmetros, que são um tipo de variável. A única maneira de determiná-los é por meio de vários experimentos, em que você escolhe um conjunto de hiperparâmetros e os executa em seu modelo. Isso é chamado de ajuste de hiperparâmetros. Em essência, você está treinando seu modelo sequencialmente com diferentes conjuntos de hiperparâmetros. Esse processo pode ser manual ou você pode escolher um dos vários métodos automatizados de ajuste de hiperparâmetros.
Seja qual for o método usado, você precisa acompanhar os resultados dos seus experimentos. Você precisará aplicar alguma forma de análise estatística, como a função de perda, para determinar qual conjunto de hiperparâmetros fornece o melhor resultado. O ajuste de hiperparâmetros é um processo importante e que exige alto poder de computação.
O que são hiperparâmetros?
Os hiperparâmetros são variáveis de configuração externas que os cientistas de dados usam para gerenciar o treinamento do modelo de machine learning. Às vezes chamados de hiperparâmetros de modelo, os hiperparâmetros são definidos manualmente antes de treinar um modelo. Eles são diferentes dos parâmetros, que são parâmetros internos derivados automaticamente durante o processo de aprendizado e não definidos por cientistas de dados.
Exemplos de hiperparâmetros incluem o número de nós e camadas em uma rede neural e o número de ramificações em uma árvore de decisão. Os hiperparâmetros determinam os principais recursos, como arquitetura do modelo, taxa de aprendizado e complexidade do modelo.
Como é possível identificar hiperparâmetros?
Selecionar o conjunto adequado de hiperparâmetros é importante em termos de performance e precisão do modelo. Infelizmente, não há regras definidas sobre quais hiperparâmetros funcionam melhor nem seus valores ideais ou padrão. Você precisa testar para encontrar o conjunto de hiperparâmetros ideal. Essa atividade é conhecida como ajuste de hiperparâmetros ou otimização de hiperparâmetros.
Por que o ajuste de hiperparâmetros é importante?
Os hiperparâmetros controlam diretamente a estrutura, a função e a performance do modelo. O ajuste de hiperparâmetro permite que os cientistas de dados ajustem o desempenho do modelo para resultados ideais. Esse processo é uma parte essencial da machine learning, e a escolha de valores de hiperparâmetros apropriados é crucial para o sucesso.
Por exemplo, suponha que você esteja usando a taxa de aprendizado do modelo como um hiperparâmetro. Se o valor for muito alto, o modelo pode convergir muito rapidamente com resultados abaixo do ideal. Já se a taxa for muito baixa, o treinamento demora muito e os resultados podem não convergir. Escolher de forma certa e equilibrada os hiperparâmetros resulta em modelos precisos e excelente desempenho do modelo.
Como funciona o ajuste de hiperparâmetros?
Conforme declarado anteriormente, o ajuste de hiperparâmetros pode ser manual ou automatizado. Embora o ajuste manual seja lento e tedioso, existe um benefício, que é entender melhor como as ponderações de hiperparâmetros afetam o modelo. Mas, na maioria dos casos, você normalmente usaria um dos algoritmos de aprendizado de hiperparâmetros já conhecidos.
O processo de ajuste de hiperparâmetros é iterativo, e você experimenta diferentes combinações de parâmetros e valores. Geralmente, você começa definindo uma variável de destino, como precisão, como a métrica principal e pretende maximizar ou minimizar essa variável. Recomenda-se usar técnicas de validação cruzada, para que seu modelo não fique centrado em uma única parte de seus dados.
Quais são as técnicas de ajuste de hiperparâmetros?
Existem diversos algoritmos de ajuste de hiperparâmetros, embora os tipos mais comumente usados sejam a otimização bayesiana, o grid search e o randomized search.
Otimização bayesiana
A otimização bayesiana é uma técnica baseada no teorema de Bayes, que descreve a probabilidade de ocorrência de um evento relacionado ao conhecimento atual. Quando isso é aplicado à otimização de hiperparâmetros, o algoritmo cria um modelo probabilístico a partir de um conjunto de hiperparâmetros que otimiza uma métrica específica. Ele usa análise de regressão para escolher iterativamente o melhor conjunto de hiperparâmetros.
Pesquisa em grade
Com a pesquisa em grade, você especifica uma lista de hiperparâmetros e uma métrica de desempenho, e o algoritmo trabalha com todas as combinações possíveis para determinar o melhor ajuste. A pesquisa em grade funciona bem, mas é relativamente tediosa e consome muitos recursos computacionais, especialmente com um grande número de hiperparâmetros.
Pesquisa aleatória
Embora baseada em princípios semelhantes aos da pesquisa em grade, a pesquisa aleatória seleciona grupos de hiperparâmetros aleatoriamente em cada iteração. Funciona bem quando um número relativamente pequeno de hiperparâmetros determina principalmente o resultado do modelo.
Quais são os exemplos de hiperparâmetros?
Embora alguns hiperparâmetros sejam comuns, na prática, você descobrirá que os algoritmos usam conjuntos específicos de hiperparâmetros. Por exemplo, você pode ler como o Amazon SageMaker usa hiperparâmetros de classificação de imagens e como o SageMaker usa hiperparâmetros do algoritmo XGBoost.
A seguir, serão apresentados alguns exemplos de hiperparâmetros comuns:
- Learning rate (Taxa de aprendizado) é a taxa na qual um algoritmo atualiza as estimativas
- Learning rate decay (Declínio da taxa de aprendizado) é uma redução gradual na taxa de aprendizado ao longo do tempo para acelerar o aprendizado
- Momentum (Dinâmica) é a direção do próximo passo em relação ao passo anterior
- Neural network nodes (Nós de rede neural) refere-se ao número de nós em cada camada oculta
- Neural network layers (Camadas de rede neural) refere-se ao número de camadas ocultas em uma rede neural
- Mini-batch size (Tamanho do minilote) é o tamanho do lote de dados de treinamento
- Epochs é o número de vezes que todo o conjunto de dados de treinamento é mostrado à rede durante o treinamento
- Eta é o encolhimento do tamanho do passo para evitar o sobreajuste
Como a AWS pode ajudar com o ajuste de hiperparâmetros?
Na Amazon Web Services (AWS), oferecemos o Amazon SageMaker, uma plataforma de machine learning (ML) totalmente gerenciada que permite realizar o ajuste automático do modelo. O Ajuste de Modelos do Amazon SageMaker encontra a melhor versão do seu modelo de ML executando vários trabalhos de treinamento em seu conjunto de dados. Ele usa seu algoritmo especificado e intervalos de hiperparâmetros.
O SageMaker oferece uma versão inteligente dos métodos de ajuste de hiperparâmetros, baseados na teoria de pesquisa Bayesiana e projetados para encontrar o melhor modelo no menor tempo possível. Ele começa com uma pesquisa aleatória, mas aprende como o modelo está se comportando em relação aos valores dos hiperparâmetros. Para obter mais informações, leia como o ajuste de hiperparâmetros funciona no SageMaker.
O Ajuste Automático de Modelos do SageMaker também é compatível com o Hyperband, uma nova estratégia de pesquisa. O Hyperband pode encontrar o conjunto ideal de hiperparâmetros até três vezes mais rápido que a pesquisa bayesiana para modelos de grande escala, como redes neurais profundas que lidam com problemas de visão computadorizada.
Você também pode ler como realizar o ajuste automático de modelos com o SageMaker. Você usa o módulo de ajuste de hiperparâmetro do SageMaker com algoritmos integrados do SageMaker, com algoritmos personalizados e com contêineres pré-criados do SageMaker. A página da Web fornece tutoriais e exercícios de autoaprendizagem abrangentes para ajudá-lo a aprender a executar a otimização de hiperparâmetros.
É fácil começar a usar o SageMaker; tudo o que você precisa fazer é criar uma conta gratuita da AWS. Com o nível gratuito da AWS, você obtém uma avaliação gratuita de dois meses do SageMaker antes de precisar começar a pagar.
Próximas etapas com a AWS
Obtenha acesso instantâneo ao nível gratuito da AWS.