O que é taxa de aprendizado em aprendizado de máquina?

Autores

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

O que é a taxa de aprendizado em aprendizado de máquina? 

A taxa de aprendizado é um hiperparâmetro que regula o quanto um modelo de aprendizado de máquina ajusta seus parâmetros a cada etapa do algoritmo de otimização. A taxa de aprendizado pode determinar se um modelo entrega um desempenho ideal ou falha em aprender durante o processo de treinamento. 

O objetivo do algoritmo de otimização é minimizar a função de perda que mede a lacuna entre as previsões de um modelo e os dados do mundo real. Cada vez que o modelo executa seu algoritmo de otimização, ele atualiza os parâmetros do modelo com base no resultado. A taxa de aprendizado, ou tamanho da etapa, é representada pela letra grega η e determina o tamanho das alterações que o modelo têm permissão para fazer. 

A taxa de aprendizado ajuda a garantir que um modelo aprenda o suficiente durante o treinamento para fazer ajustes significativos em seus parâmetros sem realizar correções excessivas. Imagine uma descida por uma colina: para chegar ao final com segurança, é necessário ir rápido o bastante para progredir, mas não tão rápido a ponto de perder o controle e cair. A melhor taxa de aprendizado define uma velocidade segura de descida. 

Cada etapa de treinamento representa o modelo substituindo sua compreensão anterior do conjunto de dados. Uma rede neural “aprende” mais sobre seus dados de treinamento a cada passagem de seu algoritmo de otimização. 

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 a taxa de aprendizado é importante?

A taxa de aprendizado é importante porque orienta os modelos de IA no aprendizado eficaz com seus dados de treinamento. 

Uma taxa de aprendizado baixa não permite que o modelo “aprenda” o suficiente a cada etapa. O modelo atualiza seus parâmetros muito lentamente e leva muito tempo para atingir a convergência. Mas isso não significa que uma taxa de aprendizado alta seja a solução. 

Com uma taxa de aprendizado alta, o algoritmo pode ser vítima de overshooting: quando vai longe demais na correção de seus erros. Nesse caso, o algoritmo precisa de uma taxa de aprendizado menor, mas não tão pequena que o aprendizado seja ineficiente. 

Como exemplo, imagine um alienígena que veio aprender sobre a vida na Terra. Ele vê gatos, cachorros, cavalos, porcos e vacas e conclui que todos os animais têm quatro patas. Então, o alienígena vê uma galinha. Essa criatura também é um animal? Dependendo da taxa de aprendizado do alienígena, ele chegará a uma dentre três conclusões: 

  • Em uma taxa de aprendizado ideal, o alienígena concluirá que galinhas também são animais. E, se for esse o caso, isso deve significar que a quantidade de pernas não é um determinante-chave para saber se algo é um animal ou não. 

  • Se o alienígena tiver uma taxa de aprendizado baixa, ele não poderá obter insights suficientes dessa única galinha. O alienígena concluirá que as galinhas não são animais porque não têm quatro patas. A pequena taxa de aprendizado do alienígena não permite que ele atualize seu pensamento até ver mais galinhas. 

  • Em uma taxa de aprendizado alta, o alienígena fará uma correção excessiva. Agora, ele concluirá que, pelo fato de a galinha ser um animal e por ela ter duas pernas, todos os animais devem ter duas pernas. Uma taxa de aprendizado alta significa que o modelo aprende "demais" de uma só vez. 

Diferentes taxas de aprendizado resultam em diferentes resultados de aprendizado. A melhor taxa de aprendizado é aquela que permite ao algoritmo ajustar os parâmetros do modelo em tempo hábil sem haver overshooting do ponto de convergência. 

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.

O que são parâmetros no aprendizado de máquina?

Parâmetros são variáveis de configuração que determinam como um modelo de deep learning funciona. Eles são análogos às configurações de um modelo, pois definem seu comportamento e podem ser ajustados para melhorar o desempenho do modelo.

Parâmetros do modelo aprendidos

Os parâmetros aprendidos pelo modelo, ou pesos do modelo, são internos ao modelo e ajustados durante o treinamento. A cada etapa do treinamento, o modelo modifica seus parâmetros internos para melhorar seu desempenho. A magnitude dessas mudanças é determinada pela taxa de aprendizado. A configuração dos parâmetros do modelo afeta diretamente seu desempenho.

Ao realizar o ajuste fino de um modelo, ajustes menores são necessários porque o modelo já foi treinado. O ajuste fino normalmente requer uma taxa de aprendizado menor do que o treinamento inicial de um modelo.

Hiperparâmetros

Os hiperparâmetros são regras externas que moldam a estrutura e o processo de treinamento do modelo. Eles são configurados pelas pessoas responsáveis pelo treinamento do modelo. A taxa de aprendizado é um desses hiperparâmetros e geralmente assume um valor entre 0,0 e 1,0. 

Outros dois hiperparâmetros fundamentais são: 

  • Epoch: o número de vezes que todo o conjunto de dados de treinamento passa pelo modelo durante o treinamento. Uma epoch é concluída quando o modelo processa uma vez cada amostra em seus dados de treinamento. O hiperparâmetro de epoch define o número de epochs no processo de treinamento. 

  • Tamanho do lote: os períodos de treinamento podem ser divididos em pedaços menores chamados lotes. O modelo atualiza seus pesos após cada lote de treinamento. 

O epoch define a duração do processo de treinamento, enquanto o tamanho do lote determina a frequência com que o modelo atualiza seus pesos. A taxa de aprendizado informa ao modelo o quanto aprender após cada lote. 

O que é um algoritmo de otimização?

Um algoritmo de otimização, ou algoritmo de aprendizado, é um processo de programação que ensina um modelo de deep learning a aprender com seus dados de treinamento e atualizar seus pesos do modelo. Algoritmos de aprendizado são compostos por uma função de perda— também conhecida como função de custo ou função de erro — e um método para otimizar os pesos do modelo.

Cada iteração do algoritmo de aprendizado refina ainda mais o modelo. Quando um modelo não pode mais ser melhorado com treinamento adicional, diz-se que ele atingiu a convergência

Descida do gradiente

O gradiente descendente é um algoritmo de otimização para treinar modelos de aprendizado de máquina. Os algoritmos de gradiente descendente usam uma função de perda para traçar a diferença entre as previsões de um algoritmo de aprendizado de máquina e os valores reais. O gradiente é a inclinação da função, representando seus valores potenciais. 

O objetivo do algoritmo de otimização é reduzir o gradiente até seu mínimo local, onde a função produz a menor saída. Mas os mínimos locais não são necessariamente o mínimo global singular da função ou seu valor mínimo geral. Os cientistas de dados usam métodos complementares, como outros algoritmos e regularização, para evitar que um modelo fique preso em um mínimo local abaixo do ideal à medida que a saída da função de perda diminui. 

O processo de atualização dos pesos de um modelo por meio da minimização de sua função de perda é conhecido como retropropagação. O gradiente descendente é um método comum de realizar a técnica de retropropagação. 

Cada vez que o algoritmo atualiza os parâmetros do modelo para reduzir a função de perda e descer o gradiente, o modelo se aproxima um pouco mais da convergência. A taxa de aprendizado controla essa descida, limitando a velocidade com que o algoritmo ajusta os pesos do modelo. 

Existem três tipos de gradiente descendente: 

  • O gradiente descendente em lote itera após calcular a perda para todas as amostras no conjunto de dados. É altamente estável, mas não é o melhor para alcançar a convergência ideal. 

  • O gradiente descendente estocástico (SGD) seleciona aleatoriamente um ponto de dados por iteração, aumentando muito a velocidade e as nuances. Mas sua alta frequência de atualização pode reduzir a estabilidade. O SGD tem muitas variantes, incluindo o Adam, AdaGrad e RMSProp. 

  • O gradiente descendente em minilotes é um método de acomodação que escolhe um pequeno grupo de pontos de dados por iteração. Ele fornece uma boa frequência e velocidade de atualização sem sacrificar a estabilidade. 

    Como determinar a taxa de aprendizado ideal

    Determinar uma boa taxa de aprendizado é, em grande parte, um processo de tentativa e erro. Não existe uma técnica de ciência de dados infalível que garantiria uma taxa de aprendizado inicial ideal sem avaliar o progresso durante o treinamento. 

    Métodos comuns para determinar a taxa de aprendizado incluem: 

    • Pesquisa em grade 

    • Programações da taxa de aprendizado

    • Taxa de aprendizado adaptativa 

    • Otimização de hiperparâmetros

    A otimização da taxa de aprendizado se baseia fortemente nos princípios fundamentais de decadência e impulso. Muitas bibliotecas de deep learning calculam o decaimento e o impulso em nome dos usuários. Uma dessas bibliotecas é a API de código aberto Keras, escrita em Python com compatibilidade com TensorFlow, JAX e PyTorch

    • O decaimento diminui a taxa de aprendizado à medida que o treinamento avança. O uso efetivo do decaimento permite que o modelo aprenda rapidamente no início, depois de forma mais incremental para evitar uma convergência de overshooting. 

    • O momentum é a inércia do algoritmo de otimização. Ele aumenta a taxa de aprendizado quando o gradiente segue a mesma direção (o que significa que o algoritmo ainda não alcançou a convergência), ao mesmo tempo em que ignora os mínimos locais para continuar o progresso descendente. Aumentar o momentum pode levar a uma convergência mais rápida. Um momentum baixo pode impedir o treinamento em mínimos locais menores, enquanto um momentum alto pode acidentalmente pular mínimos locais significativos. 

    Pesquisa em grade

    A pesquisa em grade é um método por força bruta para determinar a taxa de aprendizado. Os cientistas de dados montam uma grade contendo todas as possíveis taxas de aprendizado. Em seguida, cada taxa de aprendizado é testada e validada. A validação testa o modelo treinado em um novo conjunto de dados e atualiza ainda mais seus hiperparâmetros. 

    A pesquisa em grade facilita um processo exaustivo de avaliação da taxa de aprendizado, mas é demorada e exige muita computação.

    Agendamentos da taxa de aprendizado

    As programações da taxa de aprendizado atualizam a taxa de aprendizado durante o processo de treinamento de acordo com um dos vários planos predeterminados. As programações da taxa de aprendizado comuns incluem:

    • Taxa de aprendizado fixa

    • Decaimento baseado no tempo 

    • Decaimento em etapas 

    • Decaimento exponencial

    • Decaimento polinomial

    Taxa de aprendizado fixa

    Uma taxa de aprendizado fixa, ou taxa de aprendizado constante, não muda durante o treinamento. Com uma taxa de aprendizado fixa, o momentum e a taxa de decaimento permanecem estáticos durante o treinamento. Uma taxa de aprendizado fixa fornece um benchmark para testar outras estratégias de taxa de aprendizado.

    Decadência baseada em tempo

    Uma programação de aprendizado baseada no tempo reduz a taxa de aprendizado após um número predefinido de epochs de treinamento ou em epochs específicas. A redução da taxa de aprendizado baseia-se no valor da epoch anterior. Uma programação de aprendizado baseada no tempo típica define o decaimento com um fator inversamente proporcional ao número de epochs.

    Decadência por etapas

    O decaimento em etapas reduz a taxa de aprendizado por um fator predeterminado, como a metade, após um número definido de epochs.

    Decaimento exponencial

    As taxas de aprendizado com decaimento exponencial diminuem exponencialmente após um número definido de epochs. Caso contrário, as programações de aprendizado de decaimento exponencial são semelhantes às programações de decaimento em etapas.

    Decaimento polinomial

    Em uma programação de aprendizado polinomial, o decaimento é determinado por uma função polinomial da epoch atual. Multiplicar a epoch por um expoente maior aumenta a taxa de decaimento, enquanto uma potência menor mantém uma taxa de decaimento mais estável.

    Cronograma da taxa de aprendizado cíclico

    Uma programação de aprendizado cíclica define uma taxa mínima e máxima de aprendizado e oscila entre elas. Uma programação triangular aumenta linearmente da taxa mínima para a máxima e depois retorna ao valor inicial por meio de uma constante definida. Outras programações utilizam as funções cosseno, senoides ou parabólicas.

    Taxa de aprendizagem adaptativa

    Os algoritmos de aprendizado adaptativo ajustam-se dinamicamente em resposta às condições atuais ou iterações anteriores. Ao contrário, as taxas de aprendizado programadas dependem de hiperparâmetros predefinidos. 

    Muitos métodos de aprendizado adaptativo são variantes do SGD. Entre os algoritmos de aprendizado adaptativo mais notáveis estão: 

    • AdaGrad: a família de algoritmos AdaGrad (gradiente adaptativo), lançada em 2011, atualiza a taxa de aprendizado separadamente para cada parâmetro. Normalmente, ela define uma relação inversamente proporcional entre a taxa de aprendizado e a frequência das funcionalidades. Essa abordagem mantém o foco nas funcionalidades mais relevantes do conjunto de dados. 

    • RMSProp: o RMSProp (raiz da propagação quadrática média) ajusta o peso do aprendizado para cada parâmetro de acordo com uma média móvel dos quadrados de cada gradiente. Ele melhora o AdaGrad ao ignorar gradientes no passado distante, aumentando a estabilidade e levando a uma convergência mais rápida. 

    • Adam: lançado em 2014, o Adam (estimativa de momento adaptativo) combina o momentum com o RMSProp para ajustar a taxa de aprendizado de cada parâmetro com base em seus gradientes anteriores. Versões posteriores do Adam adicionaram um início quente, o que aumenta gradualmente a taxa de aprendizado ao iniciar o treinamento.

    Otimização de hiperparâmetros

    A otimização de hiperparâmetros, ou ajuste de hiperparâmetros, é a prática de identificar a configuração ideal para todos os hiperparâmetros, incluindo a taxa de aprendizado. Os algoritmos de ajuste de hiperparâmetros automatizam o processo de configuração de hiperparâmetros ideais, com cada algoritmo preferindo certos hiperparâmetros em detrimento de outros. 

    Procurar a configuração geral ideal de hiperparâmetros permite considerar como cada hiperparâmetro afeta os outros. No entanto, essa abordagem pode se tornar computacionalmente cara, especialmente com um grande número de hiperparâmetros.

    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