O que é ajuste de hiperparâmetros?

Autores

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

O que é ajuste de hiperparâmetros?

O ajuste de hiperparâmetros é a prática de identificar e selecionar os hiperparâmetros ideais para uso no treinamento de um modelo de aprendizado de máquina. Quando realizado corretamente, o ajuste de hiperparâmetros minimiza a função de perda de um modelo de aprendizado de máquina, o que significa que o desempenho do modelo é treinado para ser o mais preciso possível.

O ajuste de hiperparâmetros é uma prática experimental em que cada iteração testa diferentes valores de hiperparâmetros até que os melhores sejam identificados. Esse processo é crítico para o desempenho do modelo, pois os hiperparâmetros regem seu processo de aprendizado. A quantidade de neurônios em uma rede neural, a taxa de aprendizado de um modelo de IA generativa e o tamanho do kernel de uma máquina de vetores de suporte são exemplos de hiperparâmetros.

Um bom ajuste de hiperparâmetros significa um desempenho geral mais sólido do modelo de aprendizado de máquina de acordo com as métricas da tarefa pretendida. É por isso que o ajuste de hiperparâmetros também é conhecido como otimização de hiperparâmetros.

Uma fotografia de uma orquestra com um maestro

O que são hiperparâmetros?

Os hiperparâmetros são variáveis de configuração que os cientistas de dados definem com antecedência para gerenciar o processo de treinamento de um modelo de aprendizado de máquina. A IA generativa e outros modelos probabilísticos aplicam seus aprendizados dos dados de treinamento para prever o resultado mais provável de uma tarefa. Encontrar a combinação certa de hiperparâmetros é essencial para obter o melhor desempenho dos modelos de aprendizado supervisionado e aprendizado não supervisionado.

Hiperparâmetros de regularização 

Os hiperparâmetros de regularização controlam a capacidade ou a flexibilidade do modelo, que é a margem de manobra que ele tem ao interpretar dados. Aplique uma mão muito leve, e o modelo não será capaz de ser específico o suficiente para fazer boas previsões. Vá longe demais e o modelo sofrerá com o overfitting: quando ele se adapta demais aos dados de treinamento e acaba sendo demasiadamente um nicho para uso no mundo real.

Hiperparâmetros versus parâmetros do modelo

A principal diferença entre hiperparâmetros e parâmetros do modelo na ciência de dados é que, enquanto os modelos aprendem ou estimam parâmetros dos conjuntos de dados de treinamento que ingerem, os cientistas de dados definem os hiperparâmetros para o algoritmo do modelo antes do início do processo de treinamento. Os modelos continuam a atualizar os parâmetros à medida que trabalham, enquanto os valores ideais dos hiperparâmetros de um modelo são identificados e definidos com antecedência.

As mais recentes tendências em IA, trazidas a você por especialistas

Receba insights selecionados sobre as notícias mais importantes (e intrigantes) sobre IA. Inscreva-se no nosso boletim informativo semanal Think. Consulte a Declaração de privacidade da IBM.

Agradecemos a você! Você se inscreveu.

Sua assinatura será entregue em inglês. Você encontrará um link para cancelar a assinatura em cada boletim informativo. Você pode gerenciar suas assinaturas ou cancelar a assinatura aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

Por que o ajuste de hiperparâmetros é importante?

O ajuste de hiperparâmetros é importante porque estabelece as bases para a estrutura, a eficiência do treinamento e o desempenho de um modelo. As configurações ideais de hiperparâmetros levam a um sólido desempenho do modelo no mundo real. As operações de grandes modelos de linguagem (LLMOps) enfatizam o aspecto da eficiência de um bom ajuste, com ênfase na minimização dos requisitos de poder computacional.

Viés e variância

O objetivo do ajuste de hiperparâmetros é equilibrar a troca de viés-variância. O viés é a divergência entre as previsões de um modelo e a realidade. Modelos que são subajustados, ou com underfitting, não conseguem discernir relações fundamentais entre pontos de dados e são incapazes de tirar as conclusões exigidas para um desempenho preciso.

A variância é a sensibilidade de um modelo a novos dados. Um modelo confiável deve fornecer resultados consistentes ao migrar de seus dados de treinamento para outros conjuntos de dados. No entanto, modelos com altos níveis de variância são complexos demais: eles podem ter overfitting em relação a seus conjuntos de dados de treinamento originais e têm dificuldade para acomodar novos dados.

Modelos com baixo viés são precisos, enquanto modelos com baixa variância são consistentes. Um bom ajuste de hiperparâmetros otimiza para criar o melhor modelo para o trabalho e, ao mesmo tempo, maximizar a eficiência dos recursos computacionais durante o treinamento.

Mixture of Experts | 12 de dezembro, episódio 85

Decodificando a IA: resumo semanal das notícias

Participe do nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Exemplos de hiperparâmetros

Cada algoritmo de aprendizado de máquina favorece seu próprio conjunto respectivo de hiperparâmetros, e não é necessário maximizá-los em todos os casos. Às vezes, uma abordagem mais conservadora ao ajustar os hiperparâmetros levará a um melhor desempenho.

Hiperparâmetros de redes neurais

As redes neurais se inspiram no cérebro humano e são compostas por nós interconectados que enviam sinais uns aos outros. Em geral, aqui estão alguns dos hiperparâmetros mais comuns para treinamento de modelos de redes neurais:

  • Taxa de aprendizado

  • Decadência da taxa de aprendizado

  • Tamanho do lote

  • Número de camadas ocultas

  • Número de nós ou neurônios por camada

  • Impulso

  • Epochs

  • Função de ativação

Taxa de aprendizado

A taxa de aprendizado define a velocidade na qual um modelo ajusta seus parâmetros em cada iteração. Esses ajustes são conhecidos como etapas. Uma alta taxa de aprendizado significa que um modelo se ajustará mais rapidamente, mas correndo o risco de ter um desempenho instável e desvio de dados. Enquanto isso, embora uma baixa taxa de aprendizado seja mais demorada e exija mais dados, também torna mais provável que os cientistas de dados identifiquem uma perda mínima de um modelo. A otimização do gradiente descendente é um exemplo de métrica de treinamento que exige uma taxa de aprendizado definida.

Decadência da taxa de aprendizado

A decadência da taxa de aprendizado define a taxa na qual a taxa de aprendizado de uma rede cai ao longo do tempo, permitindo que o modelo aprenda mais rapidamente. A progressão do treinamento de um algoritmo desde sua ativação inicial até o desempenho ideal é conhecida como convergência.

Tamanho do lote

O tamanho do lote define a quantidade de amostras que o modelo calculará antes de atualizar seus parâmetros. Isso tem um efeito significativo na eficiência do cálculo e na precisão do processo de treinamento. Por si só, um tamanho de lote maior enfraquece o desempenho geral, mas o ajuste da taxa de aprendizado e do tamanho do lote pode mitigar essa perda.

Número de camadas ocultas

O número de camadas ocultas em uma rede neural determina sua profundidade, o que afeta sua complexidade e capacidade de aprendizado. Menos camadas resultam em um modelo mais simples e rápido, mas mais camadas (como em redes de deep learning) levam a uma melhor classificação dos dados de entrada. Identificar o valor ideal dos hiperparâmetros aqui entre todas as combinações possíveis é uma questão de equilíbrio entre velocidade e precisão.

Número de nós ou neurônios por camada

O número de nós ou neurônios por camada define a largura do modelo. Quanto mais nós ou neurônios por camada, maior será a amplitude do modelo e mais capaz ele será de representar relacionamentos complexos entre pontos de dados.

Impulso

Impulso é o grau em que os modelos atualizam os parâmetros na mesma direção das iterações anteriores, em vez de reverter o curso. A maioria dos cientistas de dados começa com um valor de hiperparâmetros mais baixo para impulso e, em seguida, ajusta para cima conforme a necessidade para manter o modelo no curso à medida que recebe dados de treinamento.

Epochs

Epochs é um hiperparâmetro que define a quantidade de vezes que um modelo é exposto a todo o seu conjunto de dados de treinamento durante o processo de treinamento. Maior exposição pode levar a um melhor desempenho, mas corre o risco de overfitting.

Função de ativação

A função de ativação introduz a não linearidade em um modelo, permitindo que ele lide com conjuntos de dados mais complexos. Os modelos não lineares podem se generalizar e se adaptar a uma variedade maior de dados.

Hiperparâmetros de SVM

A máquina de vetor de suporte (SVM) é um algoritmo de aprendizado de máquina especializado na classificação de dados, regressão e detecção de valores discrepantes. Ele tem seus próprios hiperparâmetros essenciais:

    Hiperparâmetro SVM: C

    C é a razão entre a margem de erro aceitável e o número resultante de erros quando um modelo atua como um classificador de dados. Um valor de C mais baixo estabelece uma boundary de decisão suave, com uma tolerância a erros mais alta e um desempenho mais genérico, mas com risco de classificação de dados incorreta. Enquanto isso, um valor alto de C cria um limite de decisão nítido para resultados de treinamento mais precisos, mas com possível overfitting.

    Hiperparâmetro SVM: kernel

    O kernel é uma função que estabelece a natureza das relações entre os pontos de dados e os separa em grupos adequadamente. Dependendo do kernel usado, os pontos de dados mostrarão relações diferentes, o que pode afetar fortemente o desempenho geral do modelo SVM. Linear, polinomial, função de base radial (RBF) e sigmóide são alguns dos kernels mais usados. Os kernels lineares são mais simples e melhores para dados facilmente separáveis, enquanto os kernels não lineares são melhores para conjuntos de dados mais complexos.

    Hiperparâmetro SVM: gama

    O gama define o nível de influência que os vetores de suporte têm na boundary da decisão. Os vetores de suporte são os pontos de dados mais próximos do hiperplano: a borda entre grupos de dados. Valores mais altos atraem forte influência de vetores próximos, enquanto valores mais baixos limitam a influência de vetores mais distantes. Definir um valor de gama muito alto pode causar overfitting, enquanto um valor muito baixo pode confundir a boundary de decisão.

    Hiperparâmetros XGBoost

    XGBoost significa “extreme gradient boosting” e é um algoritmo de conjunto que combina as previsões de vários modelos mais fracos, conhecidos como árvores de decisão, para um resultado mais preciso. Os algoritmos impulsionados por gradientes tendem a superar os modelos de floresta aleatória, outro tipo de algoritmo de aprendizado em conjunto que compreende várias árvores de decisão.

    Os hiperparâmetros mais importantes para o XGBoost são:

    • learning_rate

    • n_estimators

    • max_depth

    • min_child_weight

    • subamostra

    learning_rate

    learning_rate é semelhante ao hiperparâmetro de taxa de aprendizado usado por redes neurais. Essa função controla o nível de correção feita durante cada rodada de treinamento. Os valores potenciais variam de 0 a 1, com 0,3 sendo o padrão.

    n_estimators

    n_estimators define o número de árvores no modelo. Esse hiperparâmetro é conhecido como num_boost_rounds no XGBoost original, enquanto a popular API do Python scikit-learn introduziu o nome n_estimators.

    max_depth

    max_depth determina a arquitetura da árvore de decisão, definindo a quantidade máxima de nós da árvore de decisão para cada folha — o classificador final. Mais nós levam a uma classificação de dados com mais nuances, enquanto árvores menores evitam facilmente o overfitting.

    min_child_weight

    min_child_weight é o peso mínimo (a importância de uma determinada classe para o processo geral de treinamento do modelo) necessário para gerar uma nova árvore. Pesos mínimos mais baixos criam mais árvores, mas com overfitting em potencial, enquanto pesos maiores reduzem a complexidade, exigindo mais dados para dividir árvores.

    subamostra

    subsample define o porcentual de amostras de dados usadas durante cada rodada de treinamento, e colsample_bytree fixa o percentual de funcionalidades a serem usadas na construção de árvores.

    Como funciona o ajuste de hiperparâmetros?

    O ajuste de hiperparâmetros se concentra na função objetiva, que analisa um grupo, ou tupla, de hiperparâmetros e calcula a perda projetada. O ajuste ideal do hiperparâmetro minimiza a perda de acordo com as métricas escolhidas. Os resultados são confirmados por meio de validação cruzada, que mede o quão intimamente eles se generalizam em relação a outros conjuntos de dados fora da instância de treinamento específica.

    Métodos de ajuste de hiperparâmetros

    Os cientistas de dados têm uma variedade de métodos de ajuste de hiperparâmetros à sua disposição, cada um com seus respectivos pontos fortes e fracos. O ajuste de hiperparâmetros pode ser realizado manualmente ou automatizado como parte de uma estratégia de AutoML (aprendizado de máquina automatizado).

    • Pesquisa em grade

    • Pesquisa aleatória

    • Otimização bayesiana

    • Hyperband

    Pesquisa em grade

    A pesquisa em grade é um método abrangente e exaustivo de ajuste de hiperparâmetros. Depois que os cientistas de dados estabelecem todos os valores possíveis para cada hiperparâmetro, uma pesquisa em grade constrói modelos para todas as configurações possíveis desses valores discretos de hiperparâmetros. Esses modelos são avaliados quanto ao desempenho e comparados entre si, com o melhor modelo selecionado para treinamento.

    Dessa forma, a pesquisa em grade é semelhante a forçar um PIN de forma bruta, inserindo todas as combinações possíveis de números até que a sequência correta seja descoberta. Embora permita que os cientistas de dados considerem todas as configurações possíveis no espaço de hiperparâmetros, a pesquisa em grade é ineficiente e consome muitos recursos computacionais.

    Pesquisa aleatória

    A pesquisa aleatória difere da pesquisa em grade porque os cientistas de dados fornecem distribuições estatísticas em vez de valores discretos para cada hiperparâmetro. Uma pesquisa aleatória extrai amostras de cada intervalo e constrói modelos para cada combinação. Ao longo de várias iterações, os modelos são ponderados uns em relação aos outros, até que o melhor modelo seja encontrado.

    A pesquisa aleatória é preferível à pesquisa em grade em situações em que o espaço de pesquisa de hiperparâmetros contém grandes distribuições — simplesmente exigiria muito esforço testar cada valor discreto. Os algoritmos de pesquisa aleatória podem retornar resultados comparáveis à pesquisa em grade em consideravelmente menos tempo, embora não seja garantido que descubram a configuração de hiperparâmetros mais ideal.

    Otimização bayesiana

    A otimização bayesiana é um algoritmo de otimização baseada em modelo sequencial (SMBO), no qual cada iteração de testes melhora o método de amostragem do próximo. Tanto a grade quanto as pesquisas aleatórias podem ser realizadas simultaneamente, mas cada teste é realizado isoladamente — os cientistas de dados não podem usar o que aprenderam para informar os testes subsequentes.

    Com base nos testes anteriores, a otimização bayesiana seleciona probabilisticamente um novo conjunto de valores de hiperparâmetros que provavelmente fornecerá melhores resultados. O modelo probabilístico é chamado de substituto da função objetiva original. Como os modelos substitutos são eficientes em termos de computação, eles geralmente são atualizados e melhorados cada vez que a função objetiva é executada.

    Quanto melhor o substituto for na previsão de hiperparâmetros ideais, mais rápido o processo se tornará, com menos testes de função objetiva necessários. Isso torna a otimização bayesiana muito mais eficiente do que os outros métodos, já que não há perda de tempo em combinações inadequadas de valores de hiperparâmetros.

    O processo de determinar estatisticamente a relação entre um resultado (neste caso, o melhor desempenho do modelo) e um conjunto de variáveis é conhecido como análise de regressão. Os processos gaussianos são um desses SMBO populares entre cientistas de dados.

    Hyperband

    Lançado em 2016, o Hyperband foi projetado para melhorar a pesquisa aleatória, truncando o uso de configurações de treinamento que não conseguem fornecer resultados fortes e alocando mais recursos para configurações positivas.

    Essa "parada antecipada" é obtida por meio da redução sucessiva pela metade, um processo que reduz o conjunto de configurações removendo a metade de pior desempenho após cada rodada de treinamento. Os 50% melhores de cada lote são levados para a próxima iteração, até que reste uma configuração de hiperparâmetros ideal.

    Soluções relacionadas
    IBM watsonx.ai

    Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.

    Conheça o watsonx.ai
    Soluções de inteligência artificial

    Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.

    Explore as soluções de IA
    Consultoria e serviços em IA

    Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.

    Explore os serviços de IA
    Dê o próximo passo

    Obtenha acesso completo aos recursos que abrangem o ciclo de vida do desenvolvimento da IA. Produza soluções poderosas de IA com interfaces fáceis de usar, fluxos de trabalhos e acesso a APIs e SDKs padrão do setor.

    Explore o watsonx.ai Agende uma demonstração em tempo real