Pular para o conteúdo principal
InicioBlogInteligência Artificial (IA)

O que é aprendizagem por transferência em IA? Um guia introdutório com exemplos

Saiba mais sobre aprendizagem por transferência, ajuste fino e suas funções fundamentais no machine learning e na IA generativa.
Actualizado 29 de jul. de 2024  · 7 min leer

A transferência de aprendizado é uma técnica que permite que as máquinas explorem o conhecimento adquirido em uma tarefa anterior para melhorar a generalização sobre outra. É um conceito fundamental por trás do desenvolvimento de modelos como o ChatGPT e o Google Gemini, e ajuda em muitas tarefas importantes e úteis, como resumir documentos longos, redigir ensaios complexos, organizar viagens ou até mesmo escrever poemas e músicas. 

Neste guia, exploraremos a aprendizagem por transferência em profundidade. Discutiremos sua definição, por que ela é relevante para a aprendizagem profunda e para os modelos modernos de IA generativa, além dos desafios e das limitações dessa técnica. Também sugeriremos recursos para que você possa continuar aprendendo. Você está pronto? Vamos começar.

O que é aprendizagem por transferência em IA?

A aprendizagem por transferência é uma técnica em que um modelo desenvolvido para uma determinada tarefa é reutilizado como ponto de partida para um modelo em uma segunda tarefa. Em outras palavras, você reaplica os componentes de um modelo de machine learning pré-treinado a novos modelos destinados a algo diferente, porém relacionado.

O conceito é semelhante à forma como os seres humanos aprendem novas habilidades. Vamos dar um exemplo: Imagine que você é um exímio violonista e decide aprender a tocar ukulele. Sua experiência prévia com o violão acelerará o processo de aprendizado. Isso ocorre porque muitas das habilidades e dos conhecimentos necessários para tocar violão - como posições dos dedos, padrões de dedilhado, compreensão do braço da guitarra, teoria musical e ritmo - também se aplicam ao ukulele. 

Na IA, a aprendizagem por transferência permite que você aproveite o treinamento anterior para resolver problemas novos e relacionados com mais eficiência, reduzindo assim o tempo e os recursos computacionais.

Por que a aprendizagem por transferência é usada?

Há vários motivos convincentes para adotar técnicas de aprendizagem por transferência ao desenvolver redes neurais, incluindo:

  • Eficiência do treinamento: A aprendizagem por transferência reduz o tempo de treinamento, evitando a necessidade de treinar modelos do zero, e permite o ajuste fino com conjuntos de dados menores. 
  • Desempenho do modelo: A aprendizagem por transferência aprimora o desempenho do modelo, aproveitando o conhecimento pré-treinado, reduzindo o excesso de ajuste e permitindo um treinamento mais rápido e eficiente com dados limitados.
  • Reduzir os custos operacionais: A aprendizagem por transferência reduz os custos ao evitar a necessidade de treinar modelos do zero, em que tanto a aquisição dos dados quanto o uso de recursos computacionais para treinar um modelo podem ser caros.
  • Adaptabilidade e reutilização aprimoradas: A aprendizagem por transferência é uma técnica fundamental que permite que os modelos se adaptem a vários cenários e tarefas, aumentando assim seu potencial e usabilidade.

Como funciona a aprendizagem por transferência

Vamos explorar três conceitos relacionados à aprendizagem por transferência: aprendizagem multitarefa, extração de recursos e ajuste fino. 

Aprendizagem multitarefa

No aprendizado multitarefa, um único modelo é treinado para executar várias tarefas ao mesmo tempo. O modelo tem um conjunto compartilhado de camadas iniciais que processam os dados de forma comum, seguido por camadas separadas para cada tarefa específica. Isso permite que o modelo aprenda recursos gerais que são úteis para todas as tarefas e, ao mesmo tempo, aprenda recursos específicos da tarefa que são mais exclusivos.

Esse paradigma é amplamente usado nos LLMs modernos. Confira nosso curso Introduction to LLMs para saber todos os detalhes.

Extração de recursos 

A extração de recursos envolve o uso de um modelo pré-treinado para extrair recursos ou representações significativas dos dados. Esses recursos são então usados como entrada para um novo modelo focado em algo específico.

A aprendizagem por transferência baseada em recursos aproveita os recursos exclusivos das redes neurais para extrair recursos dos dados. Com a extração de recursos, o modelo "descobre", por assim dizer, qual parte da entrada é importante para, por exemplo, classificar uma imagem. Em termos práticos, isso significa que, quando um modelo é aplicado a uma nova tarefa, somente as primeiras camadas e as camadas intermediárias pré-treinadas do modelo que contêm o conhecimento mais generalizável são aplicadas.

Ajuste fino

O ajuste fino vai além da extração de recursos e é comumente usado quando as duas tarefas não estão intimamente relacionadas. Isso envolve a utilização de um modelo pré-treinado e o treinamento adicional em um conjunto de dados específico do domínio.

A maioria dos modelos LLM atuais tem um desempenho global muito bom, mas muitas vezes falha em problemas específicos orientados a tarefas. O ajuste fino adapta o modelo para que ele tenha um melhor desempenho em tarefas específicas, tornando-o mais eficaz e versátil em aplicações do mundo real. Se você quiser saber mais sobre ajuste fino, consulte nosso Guia introdutório para ajuste fino de LLMs.

Imagem do autor.Visualizando o processo de ajuste finoVisualizando o processo de ajuste fino. [DataCamp]

Aplicações da aprendizagem por transferência

A aprendizagem por transferência é uma técnica comum para lidar com várias tarefas de ciência de dados, inclusive as de visão computacional e processamento de linguagem natural.

Visão computacional

A visão computacional é um dos campos em que a aprendizagem por transferência tem sido especialmente proveitosa. As redes neurais desenvolvidas nesse campo requerem grandes quantidades de dados para lidar com tarefas como detecção de objetos e classificação de imagens.

Na visão computacional, as camadas iniciais das redes neurais detectam bordas nas imagens, enquanto as camadas intermediárias identificam formas e formatos. As camadas finais são adaptadas a tarefas específicas. A aprendizagem por transferência nos permite criar novos modelos treinando novamente apenas as camadas finais, mantendo inalterados os pesos e as tendências das camadas inicial e intermediária. Graças à aprendizagem por transferência, é possível criar novos modelos que apenas retreinam as últimas camadas da rede, mantendo os pesos e as tendências da primeira camada e das camadas intermediárias.

Atualmente, há um bom número de redes neurais públicas pré-treinadas em visões de computador, por exemplo: 

  • Grupo de Geometria Visual: O VGG é um modelo pré-treinado para classificação de imagens que é amplamente usado como ponto de partida para muitas tarefas de classificação de imagens. 
  • Você só olha uma vez: O YOLO é um modelo pré-treinado e de última geração para detecção de objetos que se destaca por sua velocidade e capacidade de detectar uma ampla variedade de objetos. 

Processamento de linguagem natural

A PNL é um ramo da IA que se concentra na interação entre computadores e seres humanos por meio da linguagem natural. O objetivo é programar computadores para processar e analisar grandes quantidades de dados de linguagem natural, seja em formato de texto ou áudio.

A aprendizagem por transferência desempenha um papel fundamental no desenvolvimento de modelos de PNL. Ele permite a utilização de modelos de idiomas pré-treinados que foram usados para a compreensão geral do idioma ou para a tradução e, em seguida, o ajuste fino para problemas específicos de PLN, como análise de sentimentos ou tradução de idiomas. As aplicações da PNL são praticamente infinitas e incluem assistentes de voz e reconhecimento de fala.

A aprendizagem por transferência está por trás de alguns dos modelos de PNL mais populares, incluindo:

  • Representações de codificadores bidirecionais a partir de transformadores: O BERT, criado por pesquisadores do Google em 2018, é um dos primeiros LLMs baseados na arquitetura do transformador. É um modelo público e pré-treinado que se destaca em muitos problemas de PLN, incluindo modelagem de linguagem, classificação de texto e tradução automática. 
  • Transformador generativo pré-treinado: O GPT, que foi desenvolvido pela OpenAI, compreende uma série de LLMs avançados na vanguarda da revolução da GenAI. Os modelos GPT, como o GPT-3.5 e o GPT-4, são a base do famoso ChatGPT. A OpenAI também lançou recentemente o GPT-4o, a versão mais avançada até o momento.

Práticas recomendadas e desafios

Em sua essência, a aprendizagem por transferência é essencialmente uma abordagem de design para aumentar a eficiência. Em vez de treinar modelos do zero, o que exige uma grande quantidade de recursos, dinheiro e tempo no caso de modelos de IA geradores de ponta, a aprendizagem por transferência permite que os modelos aprendam de forma mais rápida e eficaz em novas tarefas, aproveitando o conhecimento adquirido no passado.

A aprendizagem por transferência se destaca quando há poucos dados disponíveis para treinar um modelo em uma segunda tarefa. Ao usar o conhecimento de um modelo pré-treinado, a aprendizagem por transferência pode ajudar a evitar o ajuste excessivo e aumentar a precisão geral. No entanto, a aprendizagem por transferência não é infalível e tem limitações e possíveis armadilhas que devem ser abordadas com cuidado. Alguns dos desafios mais comuns na aprendizagem por transferência são:

  • Incompatibilidade de domínio: É mais provável que a aprendizagem por transferência funcione bem quando as tarefas de origem e de destino estiverem relacionadas. Se a nova tarefa for muito diferente, o conhecimento generalizável transferido pode não ser suficiente para executar a nova tarefa com precisão.
  • Escassez de dados: Sempre é necessária uma certa quantidade de dados de treinamento. Se os dados de treinamento forem extremamente limitados ou a qualidade dos dados for ruim, é provável que o modelo sofra de subajuste.
  • Ajuste excessivo: A aprendizagem por transferência também não é imune ao excesso de ajuste. Se o modelo for muito bem ajustado em uma tarefa, ele poderá aprender recursos específicos da tarefa que não se generalizam bem para novos dados.
  • Complexidade: Às vezes, a tarefa-alvo é tão complexa que o processo de ajuste fino pode ser desafiador, caro e demorado. 

Conclusão e recursos adicionais

A aprendizagem por transferência é uma abordagem de projeto fundamental para aumentar a eficiência e o potencial das redes neurais. É justo dizer que a atual revolução da IA não teria sido possível sem as muitas técnicas de aprendizagem por transferência disponíveis.

Se você quiser saber mais sobre os detalhes da aprendizagem por transferência, o DataCamp está aqui para ajudar. Confira nossos materiais dedicados sobre LLMs e redes neurais para que você possa começar hoje mesmo.  

Perguntas frequentes

O que é aprendizagem por transferência?

A aprendizagem por transferência é uma técnica amplamente usada na aprendizagem profunda, em que um modelo treinado em uma tarefa é usado como ponto de partida para um modelo em uma segunda tarefa. A aprendizagem por transferência se destaca especialmente quando a segunda tarefa é semelhante à primeira, ou quando há poucos dados disponíveis para a segunda tarefa.

Quais são as vantagens da aprendizagem por transferência?

A aprendizagem por transferência é uma excelente técnica de otimização, que pode aumentar a eficiência do treinamento e o desempenho do modelo, além de reduzir os custos operacionais.

O que é ajuste fino?

O ajuste fino é uma implementação da aprendizagem por transferência e normalmente é usado quando as duas tarefas não estão intimamente relacionadas. O ajuste fino é o processo de pegar um modelo pré-treinado e treiná-lo ainda mais em um conjunto de dados específico do domínio.

Quais são as aplicações da aprendizagem por transferência?

A aprendizagem por transferência é um método de última geração para projetar redes neutras em domínios como visão computacional e processamento de linguagem natural.

Temas

Aprenda com a DataCamp

Certificação disponível

Course

Introdução à aprendizagem profunda com PyTorch

4 hr
20.9K
Aprenda o poder da aprendizagem profunda no PyTorch. Crie sua primeira rede neural, ajuste hiperparâmetros e lide com problemas de classificação e regressão.
See DetailsRight Arrow
Start Course
Ver maisRight Arrow