O aprendizado zero-shot (ZSL) é um cenário de aprendizado de máquina no qual um modelo de IA é treinado para reconhecer e categorizar objetos ou conceitos sem ter visto nenhum exemplo dessas categorias ou conceitos com antecedência.
A maioria dos modelos de deep learning de ponta para classificação ou regressão é treinada por meio de aprendizado supervisionado, que exige muitos exemplos rotulados de classes de dados relevantes. Os modelos "aprendem" fazendo previsões em um conjunto de dados de treinamento rotulados. Os rótulos de dados apresentam o intervalo de respostas possíveis e as respostas corretas (ou verdade fundamental) para cada exemplo de treinamento. Aqui, "aprender" significa ajustar os pesos do modelo para minimizar a diferença entre as previsões do modelo e essa verdade fundamental. Esse processo exige amostras rotuladas suficientes para muitas rodadas de treinamento e atualizações.
Embora poderoso, o aprendizado supervisionado é impraticável em alguns cenários do mundo real. A anotação de grandes quantidades de amostras de dados é dispendiosa e demorada e, em casos como doenças raras e espécies recentemente descobertas, os exemplos podem ser escassos ou inexistentes. Consideremos tarefas de reconhecimento de imagem: de acordo com um estudo, os humanos podem reconhecer aproximadamente 30.000 categorias de objetos individualmente distinguíveis.1 Não é viável, em termos de tempo, custo e recursos computacionais, que os modelos de inteligência artificial se aproximem remotamente das capacidades humanas se tiverem de ser explicitamente treinados em dados rotulados para cada classe.
A necessidade de modelos de aprendizado de máquina serem capazes de generalizar rapidamente para um grande número de categorias semânticas com sobrecarga mínima de treinamento deu origem ao n-shot aprendizado: um subconjunto do aprendizado de máquina que também inclui o aprendizado few-shot (FSL) e aprendizado one-shot. O aprendizado few-shot normalmente utiliza métodos baseados em aprendizado de transferência e meta-aprendizado para treinar modelos para reconhecer rapidamente novas classes com apenas alguns exemplos de treinamento rotulados ou, no aprendizado one-shot, um único exemplo rotulado.
O aprendizado zero-shot, como todo aprendizado n-shot, não se refere a nenhum algoritmo específico ou arquitetura de rede neural, mas à natureza do próprio problema de aprendizado: no ZSL, o modelo não é treinado em nenhum exemplo rotulado das classes invisíveis para as quais ele é solicitado a fazer previsões após o treinamento.
Essa configuração do problema não leva em consideração se essa classe estava presente (embora não rotulada) nos dados de treinamento. Por exemplo, alguns grandes modelos de linguagem (LLMs) são adequados para tarefas ZSL, pois são treinados previamente por meio de aprendizado autossupervisionado em um enorme corpus de texto que pode conter referências incidentais ou conhecimento sobre classes de dados invisíveis. Sem exemplos rotulados para se basear, todos os métodos ZSL dependem do uso desse conhecimento auxiliar para fazer previsões.
Dada a sua versatilidade e ampla gama de casos de uso, o aprendizado zero-shot tornou-se uma área de pesquisa cada vez mais notável em ciência de dados, particularmente nos campos de Computer Vision e processamento de linguagem natural (NLP).
Em uma configuração ZSL convencional, o modelo é testado em um conjunto de dados contendo amostras de classes de dados não vistas. Embora seja útil para desenvolver e validar metodologias zero-shot, não reflete as condições mais comuns do mundo real: oaprendizado zero-shot generalizado (GSZL) se refere ao problema específico de aprendizado zero-shot no qual os pontos de dados que o modelo tem a tarefa de classificar podem pertencer a classes não vistas ou a classes vistas: classes que o modelo já "aprendeu" a partir de exemplos rotulados.
O GSZL precisa superar um desafio adicional: a tendência dos classificadores de fazer previsões tendenciosas em relação às classes que viram no treinamento, em detrimento de classes não vistas às quais ainda não foram expostos. Dessa forma, o GSZL geralmente requer técnicas adicionais para atenuar esse viés.
Na ausência de exemplos rotulados das categorias que o modelo está sendo treinado para aprender, os problemas do aprendizado zero-shot fazem uso de informações auxiliares: descrições textuais, atributos, representações incorporadas ou outras informações semânticas relevantes para a tarefa em questão.
Em vez de modelar diretamente os limites de decisão entre as classes, as técnicas de aprendizado zero-shot geralmente produzem um vetor de probabilidade, que representa a probabilidade de uma determinada entrada pertencer a certas classes. Os métodos GSZL podem adicionar um discriminador preliminar que primeiro determina se a amostra pertence a uma classe vista ou a uma nova classe e, em seguida, procede de acordo.
No aprendizado supervisionado, bem como no aprendizado few-shot (FSL), o modelo aprende a reconhecer diferentes classes observando diretamente um ou mais exemplos rotulados de cada classe. Sem essas anotações explícitas para guiá-los, o aprendizado zero-shot exige uma compreensão mais fundamental do significado do rótulo.
Para uma analogia simples, imagine que uma criança quer aprender como é um pássaro. Em um processo semelhante ao aprendizado supervisionado ou FSL, a criança aprende olhando para imagens rotuladas como "pássaro" em um livro de imagens de animais. Daqui para a frente, ela reconhecerá um pássaro porque se assemelha às imagens de pássaros que já viu. Mas, em um cenário ZSL, nenhum desses exemplos rotulados está disponível. Em vez disso, a criança pode ler um verbete de enciclopédia sobre pássaros e aprender que eles são animais de pequeno ou médio porte com penas, bicos e asas que podem voar pelo ar. Ela, então, será capaz de reconhecer um pássaro no mundo real, mesmo que nunca tenha visto um antes, porque aprendeu o conceito de um pássaro.
Conforme mencionado anteriormente, os LLMs demonstraram potencial natural para ZSL, derivado de sua capacidade de entender fundamentalmente o significado das palavras usadas para nomear classes de dados.
Para minimizar o tempo e os recursos necessários para o treinamento, bem como a quantidade de informações auxiliares necessárias para identificar classes não vistas, o ZSL geralmente aproveita o aprendizado por transferência—a reutilização de um modelo treinado para uma nova tarefa—em vez de treinar modelos a partir do zero.
O aprendizado por transferência é utilizado de forma proeminente nos métodos de ZSL que representam classes e amostras como incorporações semânticas. Por exemplo, um modelo que executa a classificação de texto zero-shot pode usar um modelo baseado em transformador, como o BERT, já treinado previamente em um enorme corpus de dados de idioma, para converter palavras em incorporações vetoriais. Da mesma forma, um modelo de classificação de imagens zero-shot pode reaproveitar uma rede neural convolucional (CNN) pré-treinada, como uma ResNet ou U-Net, pois ela já terá aprendido pesos de filtro que conduzem à identificação de recursos importantes das imagens que poderiam informar a classificação.
O aprendizado de transferência é particularmente importante para GSZL, no qual o conhecimento do modelo de classes vistas pode ser utilizado como informação auxiliar sobre classes não vistas. Por exemplo, imagine que um modelo de detecção de objetos já tenha aprendido a reconhecer ursos pardos. Em vez de treiná-lo para reconhecer também os ursos polares, apresentando exemplos rotulados de ursos polares, ele pode ser treinado para entender que os ursos polares se parecem com ursos pardos com pelo branco.
Esse processo de transferência do conhecimento aprendido para novas tarefas e classes diferentes também é chamado de adaptação de domínio.
Os métodos de aprendizado zero-shot baseados em atributos usam lógica semelhante à do aprendizado supervisionado convencional. Em vez de treinar diretamente um classificador em exemplos rotulados de cada classe de dados, os classificadores são treinados em funcionalidades rotulados de determinadas classes de dados, como cor, forma ou outras características-chave.
Embora as classes-alvo não sejam vistas diretamente no treinamento, o rótulo de uma classe invisível pode ser inferido se seus atributos se assemelharem às classes de atributos presentes nos dados de treinamento.
Depois que o classificador tiver aprendido todos os recursos relevantes, ele poderá utilizar descrições semânticas de diferentes classes. Essa abordagem é particularmente útil quando os exemplos rotulados de uma classe-alvo não estão disponíveis, mas os exemplos rotulados de seus recursos característicos são relativamente abundantes. Por exemplo, um modelo pode aprender "listras" com imagens de tigres e zebras; pode aprender "amarelo" com imagens de canários e "inseto voador" com imagens de moscas. O modelo agora pode realizar a classificação zero-shot de abelhas, apesar da ausência de imagens de abelhas no conjunto de treinamento, porque pode entendê-las como uma combinação de características aprendidas: "insetos voadores listrados e amarelos".
Embora versáteis e úteis nas circunstâncias certas, os métodos ZSL baseados em atributos têm desvantagens importantes:
Muitos métodos ZSL representam ambas as classes e amostras como incorporações semânticas: representações vetoriais que podem ser utilizadas para refletir os recursos ou o significado de (e o relacionamento entre) diferentes pontos de dados. Então a classificação é determinada medindo-se a semelhança entre a incorporação semântica de uma determinada amostra e as incorporações das diferentes classes nas quais ela pode ser categorizada.
Uma vez que os pontos de dados tenham sido representados como incorporações, a classificação é determinada usando princípios semelhantes aos dos algoritmos de K-vizinhos mais próximos: alguma métrica de distância, como similaridade cossenoidal, distância euclidiana ou distância de Wasserstein, é utilizada para medir a proximidade da incorporação dos dados de entrada às incorporações para cada classe potencial. Quanto mais próxima (ou mais semelhante) for a incorporação dessa amostra de dados da incorporação de uma determinada classe, maior a probabilidade de ela pertencer a essa classe.
Essas incorporações podem ser geradas de várias maneiras. Por exemplo:
Modelos e algoritmos pré-treinados como BERT, word2vec ou GloVe (Global Vectors) podem prontamente produzir incorporações vetoriais para palavras (como os nomes dos rótulos de classes).
Da mesma forma, as redes de codificadores de CNNs pré-treinadas, como ResNet (ou codificadores de imagens baseados em transformadores, como ViT), podem fazer o mesmo com imagens.
Os autocodificadores podem aprender representações latentes (codificações comprimidas e de dimensões mais baixas que isolam as variáveis mais distintas de uma determinada entrada de dados) de amostras ou classes.
Em vez de transferir aprendizado, uma variedade de arquiteturas de rede neural pode ser treinada a partir do zero em dados de treinamento relevantes, como amostras de classes de dados relevantes para as quais exemplos rotulados estão disponíveis, para produzir incorporações eficazes.
Como os métodos baseados em incorporação normalmente processam informações auxiliares e incorporações de espaço vetorial de diferentes formas (ou modalidades) de dados - como incorporações de palavras que descrevem um rótulo de classe e a incorporação de imagem de uma fotografia que pode pertencer a essa classe - eles precisam de uma maneira de facilitar a comparação entre incorporações de diferentes tipos de dados.
Para serem comparadas, as incorporações vetoriais de diferentes tipos e tamanhos devem ser normalizadas e projetadas em um espaço semântico compartilhado de alta dimensão, conhecido como espaço de incorporação conjunta, onde podem ser comparadas em um ambiente semelhante. Em termos abstratos, isso funciona de forma semelhante ao conceito de encontrar o mínimo denominador comum para comparar frações diferentes. Um mapeamento forte e correlativo entre diferentes fontes de incorporação é essencial para o desempenho da generalização de um modelo.3
Alguns modelos de aprendizado zero-shot também usam aprendizado contrastante para alinhar melhor as incorporações semânticas de diferentes modelos ou algoritmos: usando pares de incorporações semânticas, o aprendizado contrastante treina modelos para minimizar a distância entre pares "positivos" (como a incorporação de uma imagem de um cachorro e o da palavra "cachorro") e maximizar a distância entre pares "negativos" (não correspondentes).
Uma maneira eficaz de garantir o alinhamento entre incorporações de diferentes modelos é treinar esses modelos lado a lado. Por exemplo, o modelo de Preparação de Imagem e Texto Contrastiva (CLIP) da OpenAI foi treinado em um conjunto de dados não rotulado enorme com mais de 400 milhões de pares de imagens-legendas retirados da internet.4
Esses pares foram usados para treinar conjuntamente um codificador de imagens e um codificador de texto a partir do zero, usando perda contrastante para maximizar a semelhança cossenoidal entre incorporações de imagens e incorporações para suas legendas correspondentes. Isso gerou uma capacidade natural para a classificação zero-shot: sem ajuste fino, o CLIP demonstrou um forte desempenho de classificação em 27 conjuntos de dados de classificação de imagens diferentes.
A IA gerativa oferece uma solução alternativa para o problema de aprendizado zero-shot: usar informações auxiliares para gerar dados de amostra.
Os métodos baseados na IA generativa podem aproveitar as representações semânticas de classes invisíveis para gerar amostras que, uma vez rotuladas, podem ser usadas para converter o problema de aprendizado em aprendizado supervisionado padrão. Embora amostras não rotuladas (ou representações de classes vistas estreitamente relacionadas) possam ajudar na síntese de amostras, em uma configuração zero-shot, esse processo geralmente depende principalmente de descrições semânticas.
Os LLMs podem reduzir o trabalho necessário para produzir descrições de alta qualidade: no documento de lançamento de seu modelo de geração de texto para imagens DALL-E 3, a OpenAI observou que as legendas sintéticas até melhoraram o desempenho do modelo em relação às legendas da "verdade fundamental".5
Os autocodificadores variacionais (VAEs) são modelos generativos autosupervisionados que aprendem representações latentes de dados de treinamento como uma distribuição parametrizada de variáveis latentes. Em outras palavras, eles aprendem a codificar uma classe de dados não como uma incorporação semântica estática, mas como uma distribuição de probabilidades no espaço latente. O decodificador pode, então, ser utilizado para gerar uma amostra aleatória a partir desse espaço latente. Os VAEs condicionais (CVAEs) podem restringir as propriedades de amostras sintetizadas ao maximizar a probabilidade das variáveis escolhidas.
As GANs consistem em duas neural networks, treinadas em conjunto em um jogo adversário de soma zero: um gerador que utiliza atributos semânticos e ruído gaussiano para sintetizar amostras e um discriminador que determina se as amostras são reais ou "falsas" (ou seja, sintetizadas pelo gerador). O feedback do discriminador é utilizado para treinar o gerador até que o discriminador não consiga mais distinguir entre amostras reais e falsas. Desde o artigo original do GAN, em 2014, várias modificações foram desenvolvidas para refinar e estabilizar este processo.
Tanto os VAEs quanto os GANs sofrem com desvantagens:
Os VAEs são estáveis, mas tendem a gerar imagens borradas devido à natureza de como as amostras são reconstruídas a partir do espaço latente.
Os GANs aprendem a gerar imagens de alta qualidade, mas são propensos à desestabilização porque devem convergir dois processos de treinamento separados e distintos.
Embora uma série de modificações tenham sido desenvolvidas para refinar e estabilizar ambos os processos, a combinação das duas arquiteturas de modelos tem gerado resultados promissores em um cenário zero-shot.6
Os LLMs também podem ser utilizados para sintetizar amostras rotuladas: por exemplo, usando um modelo autorregressivo como o Llama 2 para gerar amostras que podem ser utilizadas para treinar um modelo de linguagem bidirecional como o Sentence-BERT para tarefas de classificação de texto.
Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.
Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.
Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.
Aprenda como os CEOs podem equilibrar o valor que a IA generativa pode criar com o investimento que ela exige e os riscos que ela introduz.
Aprenda conceitos fundamentais e desenvolva suas habilidades com laboratórios práticos, cursos, projetos guiados, avaliações e muito mais.
Saiba como incorporar com confiança a IA generativa e o aprendizado de máquina em sua empresa.
Quer ter mais retorno sobre seus investimentos em IA? Saiba como o dimensionamento da IA generativa em áreas importantes promove mudanças, ajudando suas melhores mentes a criar e oferecer soluções novas e inovadoras.
1 “Recognition-by-components: A theory of human image understanding,” Psychological Review vol. 94 (pp. 115–147), 1987.
2 "Zero-shot Learning Using Multimodal Descriptions," Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) Workshops, 2022.
3 "Data-Efficient Language-Supervised Zero-Shot Learning with Self-Distillation," arXiv, 18 de abril de 2021.
4 "CLIP: Connecting text and images," OpenAI, 5 de janeiro de 2021.
5 "Improving Image Generation with Better Captions," OpenAI, 2023.
6 "Zero-VAE-GAN: Generating Unseen Features for Generalized and Transductive Zero-Shot Learning," PubMed, 13 de janeiro de 2023.
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com