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

O que é aprendizagem por transferência em IA? Guia de introdução com exemplos

Saiba mais sobre a aprendizagem por transferência, o ajuste fino e suas funções fundamentais na aprendizagem de máquina e na IA generativa.
Actualizado jun. de 2024  · 7 min leer

A aprendizagem por transferência é uma técnica que permite que as máquinas explorem os conhecimentos obtidos 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, vamos analisar melhor a aprendizagem por transferência. Discutiremos sua definição, por que ela é relevante para o aprendizado profundo e para os modelos modernos de IA generativa, além dos desafios e limitações dessa técnica. Também sugeriremos recursos para que você possa continuar aprendendo. 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, reaplicamos os componentes de um modelo de aprendizado de máquina pré-treinado a novos modelos destinados a algo diferente, porém relacionado.

O conceito é semelhante ao modo como os seres humanos aprendem novas habilidades. Vamos dar um exemplo: imagine que você é um exímio tocador de violão e decide aprender a tocar ukulele. Sua experiência prévia com o violão vai acelerar seu 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 aproveitar 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, como:

  • 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 os conhecimentos pré-treinados, reduzindo o sobreajuste e permitindo um treinamento mais rápido e eficiente com dados limitados.
  • Redução dos custos operacionais: a aprendizagem por transferência reduz os custos ao evitar a necessidade de treinar modelos desde o começo, em que tanto a aquisição de 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 analisar três conceitos relacionados à aprendizagem por transferência: aprendizagem multitarefa, extração de atributos e ajuste fino. 

Aprendizagem multitarefa

Na aprendizagem 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 de camadas separadas para cada tarefa específica. Isso permite que o modelo aprenda atributos gerais que são úteis para todas as tarefas e, ao mesmo tempo, aprenda atributos específicos da tarefa que são mais exclusivos.

Esse paradigma é muito utilizado nos LLMs modernos. Confira nosso Curso de Introdução a LLMs para saber todos os detalhes.

Extração de atributos 

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

A aprendizagem por transferência baseada em atributos utiliza as características exclusivas das redes neurais para extrair atributos dos dados. Com a extração de atributos, o modelo "descobre", por assim dizer, qual parte da entrada é importante, por exemplo, para 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 os conhecimentos mais generalizáveis são aplicadas.

Ajuste fino

O ajuste fino vai além da extração de atributos e costuma ser 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 com um conjunto de dados específico do domínio.

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

Imagem do autor.Visualização do processo de ajuste fino.Visualização do 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 muito 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 retreinando apenas as camadas finais, mantendo inalterados os pesos e os vieses 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 os vieses da primeira camada e da camada intermediária.

Atualmente, há um bom número de redes neurais públicas pré-treinadas em visão computacional, por exemplo: 

  • Visual Geometry Group: 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. 
  • You Only Look Once: O YOLO é um modelo pré-treinado 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 (PLN)

O PLN é 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 forma de texto ou áudio.

A aprendizagem por transferência desempenha um papel fundamental no desenvolvimento de modelos de PLN. Ele permite a utilização de modelos de linguagem pré-treinados que foram usados para compreensão geral da linguagem ou para 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 do PLN 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 PLN mais conhecidos, incluindo:

  • Bidirectional Encoder Representations from Transformers: O BERT, criado por pesquisadores do Google em 2018, é um dos primeiros LLMs baseados na arquitetura de transformadores. É um modelo público pré-treinado que se destaca em muitos problemas de PLN, como modelagem de linguagem, classificação de textos e tradução automática. 
  • Generative Pre-Trained Transformer: O GPT, desenvolvido pela OpenAI, abrange 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 os modelos básicos por trás 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 é basicamente uma abordagem de projeto 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 generativa de ponta – a aprendizagem por transferência permite que os modelos aprendam de forma mais rápida e eficaz em novas tarefas, aproveitando os conhecimentos adquiridos 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 os conhecimentos de um modelo pré-treinado, a aprendizagem por transferência pode ajudar a evitar o sobreajuste e aumentar a precisão geral. Entretanto, 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.
  • Sobreajuste: a aprendizagem por transferência também não é imune ao sobreajuste. Se o modelo for muito bem ajustado a uma tarefa, poderá aprender atributos 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 essencial 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 diversas técnicas de aprendizagem por transferência disponíveis.

Se 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 começar hoje mesmo.  

Perguntas frequentes

O que é aprendizagem por transferência?

A aprendizagem por transferência é uma técnica muito usada no aprendizado profundo, 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 principalmente 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 com 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 o DataCamp

Course

Introduction to Deep Learning with PyTorch

4 hr
20K
Learn the power of deep learning in PyTorch. Build your first neural network, adjust hyperparameters, and tackle classification and regression problems.
See DetailsRight Arrow
Start Course
Ver maisRight Arrow
Relacionado

blog

O que é IA? Um guia rápido para iniciantes

Descubra o que realmente é inteligência artificial com exemplos, opiniões de especialistas e todas as ferramentas de que você precisa para aprender mais.
Matt Crabtree's photo

Matt Crabtree

11 min

blog

O que é alfabetização em IA? Um guia abrangente para iniciantes

Explore a importância da alfabetização em IA em nosso mundo orientado por IA. Compreender seus componentes, seu papel na educação e nos negócios e como desenvolvê-lo nas organizações.
Matt Crabtree's photo

Matt Crabtree

18 min

blog

Como aprender IA do zero em 2024: Um guia completo dos especialistas

Descubra tudo o que você precisa saber sobre o aprendizado de IA em 2024, desde dicas para começar, recursos úteis e insights de especialistas do setor.
Adel Nehme's photo

Adel Nehme

20 min

blog

O que é aprendizagem incremental?

O aprendizado incremental é uma metodologia de aprendizado de máquina em que um modelo de IA aprende novas informações ao longo do tempo, mantendo e desenvolvendo o conhecimento anterior.
Abid Ali Awan's photo

Abid Ali Awan

9 min

blog

O que é um modelo generativo?

Os modelos generativos usam o aprendizado de máquina para descobrir padrões nos dados e gerar novos dados. Saiba mais sobre sua importância e aplicações em IA.
Abid Ali Awan's photo

Abid Ali Awan

11 min

tutorial

IA explicável - Entendendo e confiando nos modelos de aprendizado de máquina

Mergulhe na IA explicável (XAI) e saiba como criar confiança em sistemas de IA com LIME e SHAP para interpretabilidade de modelos. Entenda a importância da transparência e da justiça nas decisões baseadas em IA.
Zoumana Keita 's photo

Zoumana Keita

12 min

See MoreSee More