Tudo o que você precisa saber sobre o processo de ML

A inteligência artificial começou a refletir uma habilidade humana fundamental: a aprendizagem por transferência. Esta abordagem é inspirada nas nossas capacidades cognitivas e aproveita o conhecimento adquirido numa tarefa para avançar noutros domínios. Tal como os humanos utilizam a linguagem para partilhar e desenvolver o seu conhecimento, a inteligência artificial segue um caminho semelhante, aplicando insights de um conjunto de dados ou problema a outro. Este artigo analisa o que é a aprendizagem por transferência, como funciona, por que e quando deve ser usada e seus benefícios.


O que é aprendizagem por transferência?

A aprendizagem por transferência é uma técnica poderosa em aprendizado de máquina (ML), onde um modelo, inicialmente treinado para uma tarefa específica, é reaproveitado para uma tarefa nova, mas relacionada. Esta abordagem capitaliza o conhecimento e os padrões que o modelo adquiriu. A aprendizagem por transferência aplica insights de uma tarefa com dados abundantes a uma nova tarefa onde os dados são escassos.

Por exemplo, alguém que fala espanhol, uma língua românica, geralmente acha mais fácil aprender outras línguas da mesma família, como italiano ou francês. Essa facilidade vem do vocabulário, gramática e estrutura compartilhados. Da mesma forma, na IA, uma rede neural treinada para reconhecer rostos em fotos pode ser modificada para tarefas como reconhecer emoções. A compreensão fundamental da rede sobre as características faciais ajuda a perceber pequenas mudanças nas expressões.

Um infográfico ilustrando duas abordagens de aprendizado de máquina.  A metade superior mostra

Fonte: Especialista em Automação Robótica (RAX)

O quando e o porquê da aprendizagem por transferência

A aprendizagem por transferência é uma técnica valiosa em aprendizado de máquina. É benéfico em cenários como escassez de dados, restrições de tempo, limitações computacionais, similaridade de domínio, generalização aprimorada e prototipagem rápida. Quando os dados são escassos, o uso de um modelo pré-treinado evita overfitting, muitas vezes acompanhando modelos treinados do zero. Esta abordagem utiliza o conhecimento adquirido por estes modelos, melhorando a precisão.

A aprendizagem por transferência também é uma solução prática e eficiente quando o tempo e os recursos computacionais são limitados. Reduz os extensos períodos de treinamento e o poder computacional à medida que se baseia em bases de conhecimento pré-existentes. Ao transferir conhecimentos e padrões relevantes entre as tarefas de origem e de destino, este método permite uma melhor generalização para dados novos e desconhecidos. Além disso, a aprendizagem por transferência facilita a prototipagem rápida, permitindo desenvolvimento e implantação mais rápidos de modelos.

Por exemplo, considere um modelo de linguagem como GPT (Generative Pre-trained Transformer), que foi treinado em grandes quantidades de dados de texto da Internet. Suponha que você queira criar um chatbot especializado em aconselhamento médico, apesar da natureza geral do treinamento do GPT. Nesse caso, ajuste este modelo em um conjunto de dados menor e especializado de diálogos e literatura médica.

Relacionado

O que são grandes modelos de linguagem?

Grandes modelos de linguagem (LLMs) são a base para chatbots de IA e muito mais. Aqui está o que está acontecendo nos bastidores

Ao fazer isso, você transfere as capacidades gerais de compreensão linguística do modelo GPT e o adapta ao contexto específico da comunicação médica. Você pode aproveitar o aprendizado extensivo do modelo básico ajustando-o às suas necessidades com uma quantidade relativamente pequena de dados especializados.

Um mergulho profundo nas fases de aprendizagem por transferência

A aprendizagem por transferência envolve etapas essenciais, incluindo encontrar modelos pré-treinados, congelar camadas, treinar novas camadas e ajustar o modelo. Vamos explorar cada uma dessas etapas em detalhes.

Encontrando modelos pré-treinados

O primeiro passo é encontrar um modelo pré-treinado. As organizações podem obter esses modelos de suas coleções ou repositórios de código aberto, como PyTorch Hub ou TensorFlow Hub. Essas plataformas oferecem uma variedade de modelos pré-treinados adequados para tarefas como classificação de imagens, incorporação de texto e muito mais.

Uma captura de tela mostrando quatro modelos diferentes no TensorFlow Hub.

Fonte: TensorFlow

Congelamento de camada

As redes neurais profundas são organizadas em uma estrutura hierárquica de camadas, cada camada desempenhando uma função distinta no processamento de dados. O camadas internas detectar características básicas como bordas e cores, fundamentais em tarefas como reconhecimento de formas de animais. Camadas intermediárias aumento em complexidade, combinando esses padrões simples para formar estruturas complexas, como a identificação de padrões de peles de animais.

O últimas camadas são onde ocorre o aprendizado complexo da rede, com foco em recursos de alto nível específicos para tarefas, como a distinção entre espécies animais. Essa arquitetura em camadas é crucial na aprendizagem por transferência, onde as camadas interna e intermediária geralmente retêm seus recursos aprendidos para aplicabilidade geral. Em contraste, as últimas camadas são treinadas novamente para novas tarefas específicas.

Na aprendizagem por transferência, as camadas interna e intermediária do modelo pré-treinado são frequentemente congeladas, o que significa que ele retém os recursos aprendidos (como o reconhecimento de formas básicas em tarefas de reconhecimento de imagem) do treinamento original, que geralmente são aplicáveis ​​à nova tarefa.

Treinando novas camadas

Depois que as camadas apropriadas forem identificadas e congeladas, a próxima etapa envolve aumentar o modelo pré-treinado com novas camadas adaptadas à tarefa. Essas camadas adicionadas unem o conhecimento pré-existente nas camadas congeladas e as nuances do novo conjunto de dados.

O treinamento dessas novas camadas envolve a exposição do modelo ao novo conjunto de dados, onde ele aprende a ajustar seus parâmetros internos, pesos e tendências com base nos dados de entrada e na saída desejada. Através de iterações e ajustes, o modelo se ajusta para otimizar seu desempenho na tarefa específica.

Relacionado

O que é um modelo de visão?

Capacitando muitos dos aplicativos baseados em imagem e de IA atualmente

Ajuste fino do modelo

Embora nem sempre seja necessário, o ajuste fino pode melhorar o desempenho do modelo. Isso envolve descongelar algumas camadas e treiná-las novamente com uma baixa taxa de aprendizado no novo conjunto de dados. Permite que o modelo se ajuste mais detalhadamente às especificidades da nova tarefa. O objetivo é alcançar um desempenho superior no domínio alvo.

A imagem mostra um processo de aprendizagem por transferência em redes neurais, onde o conhecimento de uma rede treinada em

Fonte: Subodh Malgonde

Congelamento e treinamento de camadas: uma abordagem prática

Na prática, a decisão sobre quais camadas congelar ou treinar é baseada no nível de similaridade de recursos entre o modelo pré-treinado e a nova tarefa.

Por exemplo, considere uma rede neural treinada para reconhecimento geral de objetos. Ele pode identificar carros, árvores, animais e outros objetos. Se quisermos adaptar esta rede para uma tarefa mais específica, como reconhecer diferentes tipos de aves, podemos congelar as camadas interna e intermediária. Essas camadas, que aprenderam a detectar bordas, cores e formas básicas, são úteis para qualquer tarefa de reconhecimento de imagens, incluindo pássaros.

As últimas camadas, especializadas no reconhecimento de uma série de objetos, não são tão eficazes para a tarefa específica de classificação de aves. Portanto, treinaríamos novamente essas camadas em um conjunto de dados específico de aves, permitindo que a rede desenvolvesse o entendimento de alto nível necessário para distinguir diferentes espécies de aves.

Aplicações práticas de aprendizagem por transferência em diferentes setores

A aprendizagem por transferência é uma tecnologia versátil com aplicações em vários setores. Vamos explorar onde ele pode ser usado.

Processamento de Linguagem Natural (PNL)

A aprendizagem por transferência é necessária para melhorar os modelos de aprendizado de máquina para tarefas de PNL. Ele capacita modelos para detectar e compreender elementos de linguagem, dialetos, frases e vocabulário.

Visão Computacional (CV)

Na visão computacional, a aprendizagem por transferência pega modelos pré-treinados e os redireciona para tarefas que envolvem conjuntos de dados menores ou recursos de imagem específicos. É útil para tarefas como detecção de objetos, onde os modelos podem aproveitar o conhecimento de identificação de objetos comuns ou estruturas de imagens.

Redes neurais

A aprendizagem por transferência tornou-se indispensável na aprendizagem profunda e nas redes neurais. O treinamento de redes neurais complexas exige tempo e recursos computacionais substanciais. A aprendizagem por transferência alivia esse fardo ao transferir recursos úteis de uma rede para outra, tornando-a uma abordagem eficiente para o desenvolvimento de modelos. Essas técnicas de aprendizagem por transferência encontram aplicação prática em vários setores, como:

  • Condução autônoma: A aprendizagem por transferência permite a reutilização de modelos treinados para um tipo de veículo autônomo em outro, reduzindo o tempo de desenvolvimento. Também auxilia em tarefas cruciais, como sinais de trânsito e detecção de objetos para uma direção autônoma segura.
  • Jogos: A aprendizagem por transferência permite a transferência de conhecimento entre diferentes modelos de jogo. Isto reduz o tempo necessário para desenvolver novos modelos para outros jogos.
  • Assistência médica: A transferência de benefícios de aprendizagem de sinais EMG (eletromiográficos) e EEG (eletroencefalográficos) para tarefas como reconhecimento de gestos. Imagens médicas, como exames de ressonância magnética, usam aprendizagem por transferência para detectar condições específicas, como tumores cerebrais, em imagens digitalizadas.
  • Gerenciamento de e-mail: A transferência de ajuda no desenvolvimento de modelos de IA para categorização de e-mail, especialmente em filtragem de spam e phishing.
  • Varejo e Comércio: A aprendizagem por transferência facilita a análise de sentimentos, permitindo que as empresas se aprofundem nos comentários e avaliações dos clientes para avaliar seus sentimentos em relação a produtos e serviços.

Transferir o impacto da aprendizagem no salto evolutivo da IA

A aprendizagem por transferência é um atalho para a IA que muda a forma como ensinamos as máquinas a serem mais inteligentes. Torna a IA mais eficaz na compreensão do comportamento humano, o que significa melhores aplicações de saúde e fitness, carros autónomos, smartphones preparados para IA e experiências de compra. Nas palavras de Mark Van Doren, “A arte de ensinar é a arte de auxiliar na descoberta”. Agora, a IA está ensinando e descobrindo para nós.