Início topics aprendizado few shot O que é ew-shot learning?
Explore nossa plataforma de IA Inscreva-se para receber atualizações de IA
Ilustração com colagem de pictogramas de nuvens, gráfico de pizza, pictogramas de gráficos
O que é ew-shot learning?

O few-shot learning é uma estrutura de aprendizado de máquina na qual um modelo de IA aprende a fazer previsões precisas treinando em um número muito pequeno de exemplos rotulados. Normalmente, ele é usado para treinar modelos para tarefas de classificação quando os dados de treinamento adequados são escassos.

O ew-shot learning (FSL) é um subconjunto do que às vezes é chamado de n-shot learning, uma categoria de inteligência artificial que também inclui o one-shot learning (no qual há apenas um exemplo rotulado de cada classe a ser aprendido) e zero-shot learning (em que não há nenhum exemplo rotulado). Enquanto o one-shot learning é essencialmente apenas uma variante desafiadora do FSL, o zero-shot learning é um problema de aprendizado distinto que necessita de suas próprias metodologias exclusivas.a

 Em princípio, o FSL visa imitar a capacidade humana de aprender com um mero punhado de exemplos. Isso contrasta com o aprendizado supervisionado convencional, que normalmente usa muitas centenas (ou milhares) de pontos de dados rotulados em muitas rodadas de treinamento para ensinar modelos de IA a reconhecer classes de dados. Embora o aprendizado supervisionado seja poderoso e impraticável em algumas situações do mundo real: obter exemplos rotulados geralmente é difícil devido aos custos proibitivos, à experiência específica do domínio necessária para anotar dados corretamente ou, em cenários como caligrafia única, doenças raras ou ameaças de extinção e recém-descobertas espécies — a escassez de amostras existentes.

Embora alguns algoritmos específicos e arquiteturas de redes neurais tenham obtido sucesso notável em tarefas de FSL, o few-shot learning é definido pela natureza do problema de aprendizado e não pelo uso de qualquer método ou estrutura de modelo específico.- Os métodos de few-shot learning variam muito, desde a adaptação de modelos pré-treinados para uso em tarefas semelhantes até o uso de modelos generativos para criar novas amostras e métodos de meta-aprendizado que treinam modelos para generalizar bem para novos problemas de classificação e diferentes classes de dados, em vez de executar uma tarefa específica.

Por que a governança da IA é um imperativo empresarial para dimensionar a IA empresarial

Saiba mais sobre as barreiras à adoção de IA, especialmente a falta de soluções de governança de IA e gerenciamento de riscos.

Conteúdo relacionado

Cadastre-se para receber o guia sobre modelos de base

Como funciona a classificação few-shot?

Embora o few-shot learning possa utilizar uma ampla variedade de algoritmos ou arquiteturas de rede neural, a maioria dos métodos é criada em torno do aprendizado de transferência ou meta-aprendizado (ou uma combinação de ambos).

Embora o few-shot learning também possa ser aplicado a tarefas de regressão (ou mesmo ao aprendizado por reforço), a maior parte da literatura FSL concentra-se em casos de uso de classificação. Alguns métodos FSL podem ser usados juntamente com outras soluções que abordam a escassez de dados rotulados: por exemplo, em métodos de aprendizado semissupervisionado que incorporam informações de grandes quantidades de dados não rotulados juntamente com informações de few-shot learning nas amostras rotuladas limitadas disponíveis.1

Transferir aprendizado

Os métodos baseados em transferência de aprendizado se concentram na adaptação de um modelo pré-treinado para aprender novas tarefas ou classes de dados inéditas.

Quando poucas amostras rotuladas estão disponíveis, usar o aprendizado supervisionado para treinar um modelo do zero, especialmente um com um grande número de parâmetros, como as redes neurais convolucionais (CNNs) normalmente usadas em visão computacional ou as redes baseadas em transformadores usadas no processamento de linguagem natural (NLP) — muitas vezes leva ao sobreajuste: o modelo pode ter um bom desempenho em dados de teste, mas ruim em dados do mundo real. Porém, reunir uma quantidade de dados suficientemente grande para evitar o ajuste excessivo costuma ser um gargalo no treinamento do modelo.

O aprendizado por transferência oferece uma solução prática: aproveitar recursos e representações úteis que um modelo treinado já aprendeu. Uma abordagem simples é ajustar um modelo de classificação para executar a mesma tarefa para uma nova classe por meio de aprendizado supervisionado em um pequeno número de exemplos rotulados. Abordagens mais complexas ensinam novas habilidades por meio do design de tarefas relevantes a jusante, geralmente tarefasde meta-aprendizado, para um modelo que foi pré-treinado por meio de tarefas de pretexto autossupervisionadas: isso é cada vez mais comum em PLN, particularmente no contexto de modelos de base.

Abordagens mais complexas de aprendizado por transferência adaptam uma rede neural treinada por meio de alterações na arquitetura da rede: por exemplo, substituindo ou treinando novamente as camadas externas de uma rede neural, onde ocorre a classificação final, enquanto mantém as camadas internas onde ocorre a extração de recursos. Congelar (ou regularizar alterações) nos pesos do modelo para todas as camadas, exceto as mais externas, pode garantir que as atualizações subsequentes não resultem no “esquecimento catastrófico” do conhecimento já aprendido. Isso permite um aprendizado muito acelerado em um contexto de poucas tacadas.

O aprendizado de transferência é mais bem-sucedido quando o treinamento inicial do modelo é relevante para a nova tarefa. Por exemplo, um modelo treinado em certas espécies de pássaros generalizará bem para espécies de pássaros invisíveis após ajuste fino com apenas algumas amostras rotuladas, porque os pesos aprendidos dos filtros que a CNN usa para convoluções já estão otimizados para capturar recursos relevantes para classificação de aves (como plumagem, bicos, tamanho da asa etc.), mas usar o few-shot learning para ensinar o mesmo modelo a reconhecer veículos produzirá um desempenho menos satisfatório.

Abordagem em nível de dados

Uma solução alternativa para o problema de amostras limitadas de dados rotulados é gerar amostras adicionais de treinamento. Isso é particularmente útil quando exemplos reais de uma determinada classe de dados são extremamente escassos, como pode ser o caso ao lidar com doenças raras ou espécies exóticas.

A geração de dados, por meio de modelos generativos, como as redes adversárias generativas (GANs) ou os autoencoders variacionais (VAEs), pode produzir amostras suficientes que se assemelhem às amostras originais rotuladas para realizar o aprendizado supervisionado convencional, desde que as amostras originais tenham diversidade suficiente para evitar o ajuste excessivo.

O aumento de dados, o processo de criação de novas amostras aplicando diferentes transformações às amostras originais, pode ser combinado com outros métodos: por exemplo, pode ser usado para criar amostras correspondentes para uso em meta-aprendizado métrico em um processo semelhante ao aprendizado autossupervisionado contrastivo.

meta-aprendizado

Diferentemente do aprendizado supervisionado ou do ajuste fino, em que um classificador é treinado nas tarefas exatas para as quais será usado e o conjunto de treinamento contém as mesmas classes nas quais o modelo será testado, o meta-aprendizado adota uma abordagem mais ampla e indireta. Enquanto as abordagens baseadas no aprendizado de transferência adaptam modelos pré-treinados, os métodos de meta-aprendizado geralmente treinam sistemas de ponta a ponta do zero. 

De acordo com Santoro et al, “meta-aprendizado” refere-se a cenários em que múltiplas tarefas são usadas para treinar um modelo tanto a curto como a longo prazo. Dentro de cada tarefa, o modelo aprende rapidamente a fazer previsões relevantes para o domínio limitado daquela tarefa específica; entre as tarefas, o modelo acumula conhecimento gradualmente, capturando a forma como os padrões e a estrutura das tarefas variam entre os domínios-alvo. Este processo de duas camadas é frequentemente descrito como o modelo “aprender a aprender”. 2

Por exemplo, o objetivo de muitos métodos de meta-aprendizado proeminentes é treinar uma função de modelo, em vários episódios de treinamento, para produzir uma previsão para o grau de semelhança entre pontos de dados de quaisquer classes, incluindo classes que o modelo ainda não viu, para então usar o aprendizado desse processo para resolver tarefas posteriores (como problemas de classificação especificamente definidos).

Algumas abordagens de meta-aprendizado funcionam em um nível mais abstrato, treinando modelos para serem fáceis de treinar. No aprendizado supervisionado tradicional, os parâmetros de um modelo (como pesos e vieses) são o que é "aprendido", enquanto os hiperparâmetrosdo modelo, como a taxa de aprendizado ou como os parâmetros são inicializados, são configurados antes do treinamento e não fazem parte do processo de aprendizado. O meta-aprendizado pode aproximar os benefícios do aprendizado de transferência aprendendo pontos de partida ideais: inicializações de parâmetros ou outras opções de hiperparâmetros que se generalizarão bem em diferentes conjuntos de dados em uma quantidade mínima de etapas de treinamento.

Classificação N-way-K-shot

Embora uma ampla variedade de arquiteturas de modelos de aprendizado de máquina possa ser usada para few-shot learning, a estrutura de treinamento e avaliação FSL geralmente segue uma estrutura N-way-K-shot , na qual N representa o número de classes e K representa o número de exemplos (ou "disparos") fornecidos para cada classe.

 Na classificação N-way-K-shot, o modelo passa por múltiplos episódios de treinamento. Cada episódio de treinamento consiste em uma ou mais tarefas de treinamento. Os modelos são avaliados por meio de tarefas de teste, cuja estrutura reflete a das tarefas de treinamento. Cada tarefa de treinamento (e tarefa de teste) compreende dois conjuntos de dados:

  • O conjunto de suporte contém K amostras de treinamento rotuladas para cada uma das N classes. O modelo usa essas amostras de suporte para aprender representações generalizadas para cada classe. Por exemplo, o conjunto de dados para uma tarefa de classificação 3-way-2-shot contém 3 classes de imagens e fornece 2 exemplos de cada uma. Quando K= 1, a tarefa é de aprendizado único. Quando K= 0, o problema é o zero-shot learning,que normalmente requer soluções exclusivas.
  • O conjunto de consultas contém um ou mais novos exemplos para cada uma das classes N . Usando representações aprendidas do conjunto de suporte, o modelo prevê a classificação para cada exemplo no conjunto de consultas. Uma função de perda mede a divergência ("perda") entre as previsões do modelo e as previsões "corretas"; Após cada episódio de treinamento, os parâmetros do modelo são ajustados — otimizados — para minimizar a perda. 

Como o objetivo do meta-aprendizado é treinar modelos para generalizar bem dados não vistos, em vez de reconhecer classes específicas de dados, cada tarefa de treinamento normalmente inclui classes de dados diferentes daquelas usadas em qualquer tarefa de treinamento anterior.

Para testar a capacidade do modelo de fazer previsões precisas de similaridade para classes até então invisíveis, o conjunto de suporte e o conjunto de consulta usados para teste devem conter classes de dados totalmente novas às quais o modelo ainda não foi exposto em tarefas de treinamento.

Meta-aprendizado baseado em métricas

Os algoritmos de meta-aprendizado baseado em métricas operam em princípio semelhante ao dos K-vizinhos mais próximos: em vez de prever a classificação modelando diretamente o limite de decisão entre as classes, as abordagens baseadas em métricas geram um valor contínuo (como uma incorporação vetorial) para representar um determinado dado amostra e fazer inferências aprendendo uma função que mede alguma métrica de distância que representa a semelhança entre esse valor e o valor das diferentes amostras ou classes com as quais está sendo comparada.

Algoritmos FSL baseados em métricas
Redes siamesas

Um desenvolvimento relativamente inicial em algoritmos baseados em métricas, as redes siamesas resolvem problemas de classificação binária usando aprendizado contrastivo: mostradas duas amostras, as redes siamesas preveem se é um par positivo (correspondente) ou negativo (não correspondente). A função de perda do modelo é usada para minimizar a distância entre incorporações de vetores de pares positivos e maximizar a distância entre incorporações de pares negativos. Os modelos de perda de tripletos são bastante semelhantes: dada uma amostra "âncora" e duas amostras adicionais, uma correspondente e outra não, o modelo prevê qual é uma correspondência positiva e qual é negativa.

Em ambos os métodos, é importante que as amostras de treinamento sejam relativamente difíceis de distinguir umas das outras – caso contrário, o modelo não será forçado a aprender parâmetros que produzam incorporações mais eficazes. O aumento de dados é frequentemente usado quando as amostras correspondentes são escassas.

Leia o artigo: "Siamese Neural Networks for One-shot Image Recognition"
Redes correspondentes

Enquanto as redes siamesas só podem resolver tarefas de classificação binária, as redes correspondentes podem realizar a classificação de várias vias. Como tal, é considerado um dos primeiros algoritmos de few-shot learning dedicados. 

As redes correspondentes geram uma incorporação para cada amostra nos conjuntos de suporte e consulta usando uma rede neural apropriada (como uma CNN para tarefas de imagem ou LLM para tarefas de linguagem natural) e prevêem a classificação medindo a distância de cosseno entre a incorporação da amostra de consulta e a das amostras de suporte disponíveis.

Leia o artigo: "Matching Networks for One Shot Learning"
Redes prototípicas

As redes prototípicas calculam as características médias de todas as amostras disponíveis para cada classe para calcular um protótipo para cada classe. A classificação de um determinado ponto de dados é então determinada por sua proximidade relativa com os protótipos de cada classe. Diferentemente das redes de correspondência, as redes prototípicas usam a distância euclidiana em vez da distância cosseno.

Muitas refinamentos nesta abordagem foram propostos: por exemplo, Zhu e Koniusz propuseram utilizar a propagação de rótulos para melhorar o processo de prototipagem.3

Leia o artigo: "Redes prototípicas para few-shot learning"
Redes de relacionamento

Uma rede de relações (RN) opera com o mesmo princípio geral das redes de correspondência e prototípicas. Os RNs também utilizam um módulo de incorporação que aprende a computar incorporações para imagens de entrada e protótipos de classe, mas, diferentemente desses dois algoritmos, que predefinem a função de distância usada para comparar incorporações, os RNs adicionam um módulo de relação que aprende uma função de distância não linear que melhor se adapta aos problemas de classificação específicos em questão.

Leia o artigo: " Aprendendo a comparar: rede de relações para o Few-Shot Learning "
Meta-aprendizado baseado em otimização

O deep learning tradicionalmente requer muitas atualizações iterativas dos parâmetros do modelo por meio de retropropagação e descida de gradiente, o que, por sua vez, depende de uma grande quantidade de exemplos rotulados para preencher os lotes de treinamento. Treinar eficientemente uma rede neural do zero para um few-shot learning requer uma maneira de otimizar os pesos do modelo em apenas algumas etapas de atualização.

Métodos FSL baseados em otimização

As abordagens de meta-aprendizado baseadas em otimização, também conhecidas como meta-aprendizado baseado em gradiente (GMBL), visam aprender os parâmetros iniciais do modelo ou hiperparâmetros para uma rede neural que pode ser ajustada com eficiência para tarefas relevantes. Eles alcançam isso otimizando o processo de gradiente descendente, ou seja, meta-otimizando o próprio processo de otimização.

Meta-aprendizado independente de modelo (MAML)

MAML está entre as abordagens baseadas em otimização mais proeminentes e serviu de base para uma série de abordagens derivadas de sua metodologia principal. Como o próprio nome sugere, o meta-aprendizado agnóstico de modelo não se concentra em uma tarefa específica ou arquitetura de modelo de IA: ele pode ser usado em qualquer modelo que aprenda por meio de gradiente descendente.

O MAML envolve dois níveis diferentes de atualizações de parâmetros em um conjunto de tarefas variadas de treinamento de FSL, p(T). Em cada episódio de treinamento, uma nova tarefa Ti é amostrada aleatoriamente de p(T); a descida de gradiente, realizada em K etapas de tamanho α, é usada para otimizar um vetor de parâmetros de modelo específicos da tarefa (θ'i) após cada tarefa de treinamento. Em vários episódios de treinamento, um conjunto de metaparâmetros (θ) é otimizado aplicando gradiente descendente, em metaetapas de tamanho β, a esses parâmetros específicos da tarefa θ'i. Em outras palavras, enquanto a gradiente descendente comum calcula derivadas para otimizar os parâmetros de um modelo para uma determinada tarefa, o MAML calcula as derivadas das derivadas (ou "derivadas de segunda ordem") para otimizar os parâmetros iniciais de um modelo para otimização subsequente específica da tarefa.  

De acordo com o artigo original, o objetivo é "encontrar parâmetros de modelo que sejam sensíveis às mudanças na tarefa, de modo que pequenas mudanças nos parâmetros produzam grandes melhorias na função de perda de qualquer tarefa extraída de p(T)". Isso traz benefícios semelhantes aos do aprendizado por transferência, ao mesmo tempo em que evita a necessidade de grandes quantidades de dados rotulados para pré-treinamento.

As adaptações propostas para MAML incluem:

  • MAML de primeira ordem (FOMAML): a dependência do MAML em derivadas de segunda ordem é computacionalmente cara e requer muita memória. O FOMAML simplifica o processo através de uma série de suposições que permitem a meta-otimização usando apenas derivadas de primeira ordem.

  • Reptile: Reptile apresenta um ponto intermediário entre a sofisticação do MAML e a simplicidade do FOMAML: ele usa derivadas de primeira ordem, mas implementa regras únicas sobre como os parâmetros são atualizados.4

  • Otimizando o tamanho da etapa: variantes como Meta-SGD5 e Alpha MAML6 adicionam a capacidade de otimizar o tamanho e a direção da etapa para α e β. Da mesma forma, o MAML++7 introduz uma série de modificações para aumentar a estabilidade e a eficiência computacional.

Leia o artigo: "Meta-aprendizado independente de modelo para adaptação rápida de redes profundas"
Meta-aluno do LTSM

As abordagens de meta-aprendizado podem fazer uso de redes de memória de longo prazo (LSTM) baseadas em RNN para treinar um modelo de meta-aprendiz para capturar tanto o conhecimento de curto prazo de cada tarefa de treinamento quanto o conhecimento de longo prazo comum a cada tarefa. Esse meta-aluno é então usado para treinar um classificador de rede neural.

Leia o artigo: "Otimização como modelo para few-shot learning"
Otimização de incorporação latente (LEO)

Em vez de instanciar e atualizar explicitamente um conjunto exclusivo de metaparâmetros de modelo θ, a otimização de incorporação latente aprende uma distribuição generativa de parâmetros de modelo específicos da tarefa de maneira semelhante aos autoencoders variacionais (VAEs), que servem ao mesmo propósito. A otimização de gradiente pode então ser executada dentro desse espaço de incorporação aprendido e de baixa dimensão.

Leia o artigo: "Meta-Learning with Latent Embedding Optimization"
Casos de uso de few-shot learning

As técnicas de few-shot learning têm uma ampla variedade de aplicações, já que muitos setores e campos de pesquisa podem se beneficiar da capacidade de aprender de forma rápida e eficaz com relativamente poucos exemplos.

Visão computacional

Enquanto muitos algoritmos FSL proeminentes foram originalmente desenvolvidos para (ou comprovados em) tarefas de classificação de imagem, FSL também pode ser usado para problemas de visão computacional mais complexos.

Embora a detecção de objetos seja um problema significativamente mais complexo do que a classificação de imagens, já que os objetos devem ser não apenas classificados, mas também localizados com precisão, ela geralmente considera a classificação de imagens um pré-requisito. Dessa forma, muitas ideias usadas para classificação podem ser adotadas para a detecção de objetos com poucos tiros.8  

Da mesma forma, várias arquiteturas de modelo foram propostas para a segmentação semântica.9

Robótica

O FSL pode permitir que os robôs se adaptem rapidamente a novos ambientes e novas tarefas por meio de tarefas de classificação de few-shot10 e aprendizado de reforço.11

Processamento de linguagem natural

O FSL mostrou resultados promissores para o processamento de linguagem natural (NLP), particularmente por meio do aprendizado de transferência: é uma maneira intuitiva de adaptar grandes modelos de linguagem (LLMs), pré-treinados em um enorme corpus de dados não rotulados, a tarefas específicas, como classificação de texto e sentimento análise de dados que pode exigir compreensão contextual específica.

Assistência médica

O potencial da FSL de adaptar rapidamente um modelo a classes de dados raras e invisíveis é particularmente promissor para áreas médicas, nas quais a raridade de certas condições ou a experiência necessária para anotar dados médicos com precisão (como ressonância magnética ou ecocardiografia) podem tornar a aquisição de um grande número de amostras rotuladas é proibitivamente difícil.

Soluções relacionadas
Serviços de consultoria de IA

Reinvente sua forma de trabalhar com a IA: nossa equipe global diversificada de mais de 20 mil especialistas em IA pode ajudar você a projetar e escalar a IA e a automação de forma rápida e confiável em toda a sua empresa, trabalhando com nossa própria tecnologia IBM watsonx e um ecossistema aberto de parceiros para oferecer qualquer modelo de IA, em qualquer nuvem, orientado por ética e confiança.

Explore os serviços de consultoria em IA da IBM
IBM watsonx Assistant

Ofereça atendimento ao cliente consistente e inteligente em todos os canais e pontos de contato com a ajuda da IA conversacional.

Explore o Assistente da IBM Watsonx

IBM watsonx.ai

Treine, valide, ajuste e implemente IA generativa, modelos de base e recursos de aprendizado de máquina com facilidade, além de criar aplicativos de IA em uma fração do tempo com uma fração dos dados.

Explore o watsonx.ai
Poucos recursos de aprendizado Few-shot learning e IA generativa

Saiba mais sobre a ascensão e o futuro da IA generativa e como o few-shot learning se encaixa no panorama geral.

Few-shot learning com semântica múltipla

Com base nos recentes avanços no few-shot learning com informações semânticas adicionais, demonstramos que melhorias adicionais são possíveis combinando semântica múltipla e mais rica (rótulos de categorias, atributos e descrições de linguagem natural).

Dicas para escrever prompts de modelos básicos

Uma rápida visão geral de dicas de engenharia imediatas para modelos de fundação few-shot e one-shot.

Dê o próximo passo

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

Explore o watsonx.ai Agende uma demonstração em tempo real
Notas de rodapé

Todos os links levam para fora do site ibm.com

1 "An Embarrassingly Simple Approach to Semi-Supervisioned Few-Shot Learning", arXiv, 28 de setembro de 2022
2 "Meta-Learning with Memory-Augmented Neural Networks," Proceedings of the33rd International Conference on Machine Learning, 19 de junho de 2016
3 "Transduction Few-shot Learning with Prototype-based Label Propagation by Iterative Graph Refinement", Computer Vision Foundation, 23 de abril de 2023
4 "Reptile: A scalable meta-learning algorithm,", OpenAI, 7 de março de 2018
5 "Meta-SGD: Learning to Learn Quickly for few-Shot Learning," arXiv, 28 de setembro de 2017
6 "Alpha MAML: Adaptive Model-Agnostic Meta-Learning", arXiv, 17 de maio de 2019
7 "How to train your MAML", arXiv, 5 de março de 2019
8 "Few-Shot Object Detection: A Comprehensive Survey," arXiv, 15 de setembro de 2022
9 "Leaderboard: Few-Shot Semantic Segmentation on PASCAL-5i (1-Shot)," PapersWithCode, acessado em 3 de janeiro de 2024
10 "Few-Shot Continual Active Learning by a Robot", arXiv, 12 de outubro de 2022
11 "Few-Shot Preference Learning for Human-in-the-Loop RL," Proceedings of the6th Conference on Robot Learning, 2023