Few-shot e Zero-shot
Aprendizagem com poucos exemplos (Few-shot Learning, FSL) e aprendizagem sem exemplos (Zero-shot Learning, ZSL) são paradigmas de aprendizado de máquina que visam resolver o problema da escassez de dados rotulados. Eles permitem que os modelos aprendam e generalizem conhecimento com base em uma quantidade muito limitada de informações, o que é crucial para a aplicação da inteligência artificial em cenários do mundo real, onde a coleta de grandes conjuntos de dados é impossível ou impraticável.
O problema generalizado da escassez de dados
Os modelos modernos de aprendizado profundo demonstram resultados impressionantes, mas sua eficácia geralmente depende diretamente de enormes volumes de dados rotulados. A coleta e a anotação desses dados são processos caros, trabalhosos e, muitas vezes, impossíveis. Esse problema, conhecido como "fome de informação", é particularmente agudo em áreas como:
- Diagnóstico de doenças raras.
- Produção industrial especializada.
- Robótica e interação com novos objetos.
- Categorização de novos produtos ou tópicos que surgem constantemente.
FSL e ZSL oferecem uma solução ao deslocar o foco de "big data" para "smart data", concentrando-se na transferência e generalização eficientes do conhecimento.
Aprendizagem com poucos exemplos (Few-shot Learning)
Few-shot Learning (FSL) é um paradigma no qual um modelo aprende a reconhecer novas classes com base em um número muito pequeno de exemplos rotulados (geralmente de 1 a 5), chamados de conjunto de suporte (support set).
Ideia principal
A ideia central do FSL não é apenas aprender características para classes específicas, mas sim aprender o processo de aprendizagem (learning to learn). O modelo deve se adaptar rapidamente a tarefas novas e nunca vistas antes, utilizando uma quantidade mínima de exemplos. Isso é alcançado por meio do uso de conhecimento previamente adquirido e estratégias de adaptação.
Principais abordagens em FSL
- Meta-aprendizagem ("Aprender a aprender"): Este é o paradigma dominante em FSL. O modelo é treinado em uma variedade de tarefas diversas para aprender a se adaptar eficientemente a novas tarefas.
- Baseadas em métricas: Modelos (por exemplo, redes siamesas ou prototípicas) aprendem a construir um espaço de embeddings, onde a distância entre os vetores reflete a proximidade semântica. A classificação de um novo exemplo ocorre comparando seu embedding com os embeddings do conjunto de suporte.
- Baseadas em otimização: Modelos (por exemplo, MAML) aprendem a encontrar uma inicialização de parâmetros que permita um reajuste rápido (em poucos passos de descida de gradiente) para uma nova tarefa.
- Aprendizagem em contexto (In-Context Learning): Com o surgimento dos grandes modelos de linguagem (LLMs), tornou-se popular uma abordagem em que exemplos do conjunto de suporte são fornecidos ao modelo diretamente no prompt. O modelo realiza uma "meta-aprendizagem implícita" durante a inferência, adaptando-se à tarefa sem atualizar seus pesos.
Abordagens avançadas em FSL
- One-shot Learning: Este é um caso particular de FSL, onde o número de exemplos para cada classe é igual a um (K=1 na notação "N-way K-shot"). Exemplos clássicos de arquiteturas são as Matching Networks e as Siamese Networks.
- Métodos generativos e aumento de dados: O FSL utiliza ativamente modelos generativos (GANs, VAEs, modelos de difusão) para sintetizar exemplos de dados adicionais. Isso permite expandir artificialmente o conjunto de suporte e melhorar a qualidade da classificação, especialmente para classes raras ou incomuns.
- FSL Transdutivo: Diferentemente da abordagem padrão (indutiva), aqui o modelo, durante a adaptação, considera não apenas o conjunto de suporte rotulado, mas também todo o conjunto de exemplos de teste não rotulados (queries). Isso permite capturar a estrutura dos dados nas queries, por exemplo, por meio de técnicas de propagação de rótulos (label propagation), e aumentar a robustez da classificação.
Aprendizagem sem exemplos (Zero-shot Learning)
Zero-shot Learning (ZSL) é um paradigma no qual um modelo é capaz de reconhecer classes das quais nenhum exemplo foi visto durante a fase de treinamento.
Ideia principal
Isso é alcançado por meio do uso de informações semânticas auxiliares, que descrevem tanto as classes vistas quanto as não vistas. O modelo aprende um mapeamento do espaço de características de entrada (por exemplo, imagens) para um espaço semântico comum.
Mecanismos de informação semântica
- Atributos semânticos: As classes são descritas por um conjunto de atributos definidos por humanos (por exemplo, para a classe "zebra": [tem_listras, tem_cascos, é_mamífero]).
- Representações vetoriais de palavras (Word Embeddings): Os nomes das classes ou suas descrições textuais são convertidos em embeddings usando modelos de linguagem pré-treinados (por exemplo, Word2Vec, BERT).
- Prompting em LLMs: Com o surgimento de modelos multimodais, como o CLIP, o ZSL pode ser realizado comparando o embedding de uma imagem com os embeddings de descrições textuais de classes (por exemplo, "uma foto de um cachorro", "uma foto de um gato").
Tipos de ZSL: Tradicional, Generalizado, Indutivo e Transdutivo
- ZSL Tradicional: Na fase de teste, o modelo deve classificar exemplos apenas de classes não vistas.
- ZSL Generalizado (Generalized ZSL, GZSL): Um cenário mais realista e complexo, onde o modelo deve classificar exemplos tanto de classes vistas quanto de não vistas. Isso exige que o modelo não apenas reconheça o novo, mas também o distinga do que já é familiar, combatendo o viés em direção às classes vistas.
- ZSL Indutivo: A formulação padrão, onde o modelo é treinado apenas com dados e descrições semânticas das classes vistas, sem qualquer acesso a informações sobre as classes não vistas.
- ZSL Transdutivo: Um esquema mais avançado, onde o modelo, durante o treinamento, pode usar exemplos não rotulados de classes não vistas. Isso permite adaptar o espaço semântico antecipadamente e melhorar a qualidade final.
Abordagens generativas em ZSL
- Geração de características para classes não vistas: Para resolver o problema do viés em GZSL, modelos generativos (VAEs, GANs) são amplamente utilizados. Eles sintetizam não as imagens em si, mas seus vetores de características (embeddings) para classes não vistas com base em suas descrições semânticas. Isso permite equilibrar o conjunto de dados para o treinamento do classificador final.
Análise comparativa e sinergia
| Aspecto | Aprendizagem com poucos exemplos (FSL) | Aprendizagem sem exemplos (ZSL) |
|---|---|---|
| Ideia principal | Aprender a se adaptar rapidamente a novas classes com base em poucos exemplos. | Aprender a reconhecer novas classes com base em suas descrições semânticas. |
| Requisitos de dados para uma nova tarefa/classe | Poucos exemplos rotulados (1-5) para cada nova classe. | Zero exemplos rotulados; requer uma descrição semântica. |
| Transferência de conhecimento | Aprendizagem de conhecimento procedural ("como se adaptar") ou de um bom espaço de características. | Aprendizagem de relações e atributos semânticos, com transferência de conhecimento por meio de um espaço semântico comum. |
| Casos de uso típicos | Prototipagem rápida, personalização, reconhecimento de objetos raros, robótica. | Detecção de novas espécies, categorização de tópicos emergentes, processamento de tipos de produtos completamente novos. |
Nuances importantes e tendências modernas
- Diferença entre Zero-shot Learning e Zero-shot Prompting: É importante distinguir esses conceitos. ZSL é um paradigma arquitetônico de aprendizado de máquina que requer um modelo especial e informações semânticas. Zero-shot Prompting é uma técnica aplicada de engenharia de prompts, onde um grande modelo de linguagem (por exemplo, GPT-4) resolve uma tarefa sem exemplos no prompt, baseando-se exclusivamente em seu conhecimento interno.
- O papel do pré-treinamento em larga escala: O sucesso moderno do FSL e ZSL deve-se em grande parte aos poderosos modelos de fundação (BERT, CLIP, GPT-4). Seu pré-treinamento em enormes volumes de dados cria um front-end de embedding universal e semanticamente rico, que serve como uma excelente base para adaptação rápida e inferência semântica em condições de escassez de dados.
FSL e ZSL representam diferentes pontos no espectro de eficiência no uso de dados e são frequentemente usados em conjunto. Por exemplo, o ZSL pode ser usado для para inicializar representações que são subsequentemente ajustadas (fine-tuned) usando FSL quando os primeiros exemplos de uma nova classe aparecem.
Principais instituições de pesquisa e participantes
Pesquisas nas áreas de FSL e ZSL são conduzidas ativamente tanto em círculos acadêmicos quanto em laboratórios industriais.
- Universidades: Universidade de Stanford, Universidade de Pequim, Universidade Nacional de Singapura.
- Laboratórios industriais: Google AI, Meta AI, OpenAI.
Com o surgimento de poderosos modelos de fundação, o foco da pesquisa mudou do desenvolvimento de arquiteturas especializadas para FSL/ZSL para métodos de adaptação eficiente desses modelos.
Ver também
- Large language models
Literatura
- Finn, C. et al. (2017). Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks. arXiv:1703.03400.
- Koch, G. et al. (2015). Siamese Neural Networks for One-Shot Image Recognition. PDF.
- Vinyals, O. et al. (2016). Matching Networks for One Shot Learning. arXiv:1606.04080.
- Snell, J. et al. (2017). Prototypical Networks for Few-Shot Learning. arXiv:1703.05175.
- Sung, F. et al. (2018). Learning to Compare: Relation Network for Few-Shot Learning. arXiv:1711.06025.
- Chen, Y. et al. (2021). Meta-Baseline: Exploring Simple Meta-Learning for Few-Shot Learning. arXiv:2003.04390.
- Wang, Y. et al. (2020). Generalizing from a Few Examples: A Survey on Few-Shot Learning. arXiv:1904.05046.
- Xian, Y. et al. (2018). Zero-Shot Learning — A Comprehensive Evaluation of the State of the Art. arXiv:1707.00600.
- Verma, V. K. et al. (2018). Generalized Zero-Shot Learning via Synthesized Examples. arXiv:1712.03878.
- Radford, A. et al. (2021). Learning Transferable Visual Models from Natural Language Supervision. arXiv:2103.00020.
- Xian, Y. et al. (2019). Zero-Shot Learning via Simultaneous Generating and Learning. arXiv:1910.09446.
- Verma, V. K. et al. (2017). Zero-Shot Learning via Generative Adversarial Training of Class-Conditional Feature Vectors. arXiv:1712.00981.