Classificação zero-shot é um problema em aprendizado de máquina no qual, no momento do teste, um aprendiz observa amostras de classes que não foram observadas durante o treinamento e precisa prever a classe delas. O nome é um jogo de palavras baseado no conceito anterior de aprendizado one-shot em visão computacional, no qual a classificação pode ser aprendida a partir de apenas um exemplo. Métodos zero-shot geralmente funcionam associando classes observadas e não observadas por meio de informações auxiliares que codificam propriedades distintivas observáveis dos objetos. Por exemplo, dado um conjunto de imagens de animais a serem classificadas, juntamente com descrições textuais auxiliares de como os animais se parecem, um modelo que foi treinado para reconhecer cavalos, mas nunca recebeu uma zebra, ainda pode reconhecer uma zebra quando também sabe que zebras se parecem com cavalos listrados. Esse problema é amplamente estudado em visão computacional, processamento de linguagem natural e percepção de máquina.
Contexto e história
O primeiro artigo sobre aprendizado zero-shot em processamento de linguagem natural apareceu em um trabalho de 2008 de Chang, Ratinov, Roth e Srikumar, na AAAI'08, mas o nome dado ao paradigma de aprendizado ali foi classificação sem dados. O primeiro artigo sobre aprendizado zero-shot em visão computacional apareceu na mesma conferência, sob o nome aprendizado com zero dados. O termo aprendizado zero-shot em si apareceu pela primeira vez na literatura em um artigo de 2009 de Palatucci, Hinton, Pomerleau e Mitchell na NIPS'09. Essa terminologia foi repetida mais tarde em outro artigo de visão computacional, e o termo aprendizado zero-shot pegou, como uma variação do aprendizado one-shot que foi introduzido em visão computacional anos antes.
Em visão computacional, modelos de aprendizado zero-shot aprendem parâmetros para classes vistas juntamente com suas representações de classe e dependem da similaridade representacional entre rótulos de classe para que, durante a inferência, instâncias possam ser classificadas em novas classes. Em processamento de linguagem natural, a principal direção técnica desenvolvida baseia-se na capacidade de "entender os rótulos" - representar os rótulos no mesmo espaço semântico dos documentos a serem classificados. Isso apoia a classificação de um único exemplo sem observar nenhum dado anotado, a forma mais pura de classificação zero-shot. O artigo original usou a representação de Análise Semântica Explícita (ESA), mas artigos posteriores usaram outras representações, incluindo representações densas. Essa abordagem também foi estendida a domínios multilíngues, tipagem fina de entidades e outros problemas. Além disso, além de depender apenas de representações, a abordagem computacional foi estendida para depender de transferência de outras tarefas, como implicação textual e resposta a perguntas.
O artigo original também aponta que, além da capacidade de classificar um único exemplo, quando uma coleção de exemplos é fornecida, com a suposição de que eles vêm da mesma distribuição, é possível impulsionar o desempenho de maneira semissupervisionada (ou aprendizado transdutivo). Diferentemente da generalização padrão em aprendizado de máquina, onde se espera que classificadores classifiquem corretamente novas amostras em classes que já observaram durante o treinamento, na classificação zero-shot, nenhuma amostra das classes foi fornecida durante o treinamento do classificador. Portanto, pode ser vista como um caso extremo de adaptação de domínio.
Informações pré-requisitas para classes zero-shot
Naturalmente, alguma forma de informação auxiliar tem que ser fornecida sobre essas classes zero-shot, e esse tipo de informação pode ser de vários tipos.
Aprendizado com atributos: as classes são acompanhadas por uma descrição estruturada predefinida. Por exemplo, para descrições de pássaros, isso poderia incluir "cabeça vermelha", "bico longo". Esses atributos são frequentemente organizados de maneira estruturada e composicional, e levar essa estrutura em conta melhora o aprendizado. Embora essa abordagem tenha sido usada principalmente em visão computacional, há alguns exemplos dela também em processamento de linguagem natural.
Aprendizado a partir de descrição textual: como apontado acima, essa tem sido a principal direção perseguida em processamento de linguagem natural. Aqui, os rótulos de classe são considerados como tendo um significado e são frequentemente aumentados com definições ou descrições em linguagem natural de texto livre. Isso poderia incluir, por exemplo, uma descrição da classe na Wikipédia.
Similaridade classe-classe: aqui, as classes são incorporadas em um espaço contínuo. Um classificador zero-shot pode prever que uma amostra corresponde a alguma posição nesse espaço, e a classe incorporada mais próxima é usada como classe prevista, mesmo que nenhuma amostra dessas tenha sido observada durante o treinamento.
Aprendizado zero-shot generalizado
A configuração de classificação zero-shot acima assume que, no momento do teste, apenas amostras zero-shot são fornecidas, ou seja, amostras de novas classes não vistas. No aprendizado zero-shot generalizado, amostras de classes novas e conhecidas podem aparecer no momento do teste. Isso apresenta novos desafios para classificadores no momento do teste, porque é muito desafiador estimar se uma amostra dada é nova ou conhecida. Algumas abordagens para lidar com isso incluem:
- um módulo de portão, que é primeiro treinado para decidir se uma amostra dada vem de uma classe nova ou de uma antiga e, então, no momento da inferência, produz uma decisão rígida ou uma decisão probabilística suave
- um módulo generativo, que é treinado para gerar representações de características das classes não vistas - um classificador padrão pode então ser treinado em amostras de todas as classes, vistas e não vistas.
Domínios de aplicação
O aprendizado zero-shot foi aplicado aos seguintes campos:
- classificação de imagens
- segmentação semântica
- geração de imagens
- detecção de objetos
- processamento de linguagem natural
- biologia computacional
- raciocínio abstrato
Relação com a IA moderna
Com o surgimento de modelos de linguagem de grande escala e arquiteturas transformers, a classificação zero-shot se tornou uma capacidade proeminente em sistemas modernos de inteligência artificial. Modelos como os desenvolvidos por OpenAI, Anthropic e Google DeepMind podem realizar classificação zero-shot em texto aproveitando sua compreensão pré-treinada da linguagem, sem exigir ajuste fino específico da tarefa. Isso representa uma mudança das abordagens anteriores baseadas em atributos e incorporações para o uso do conhecimento semântico codificado nos pesos de redes neurais. Em visão computacional, avanços semelhantes foram feitos ao alinhar representações de imagem e texto, permitindo que modelos classifiquem imagens em categorias descritas apenas por linguagem natural. A técnica também é fundamental para muitas aplicações em IA generativa, onde os modelos devem entender e categorizar entradas novas.
Ver também
- Aprendizado few-shot
- Aprendizado por transferência
- Mapeamento rápido
- Aprendizado baseado em explicação