Artigos · arXiv 2103.00020
Learning Transferable Visual Models From Natural Language Supervision
Publicado em cs.CVcs.LG arXivPDF
Resumo em três linhas
- 🎯 Sistemas padrão de visão computacional dependem de conjuntos fixos de rótulos predeterminados que exigem anotações caras e não conseguem generalizar para novos conceitos visuais.
- 🔧 O Contrastive Language-Image Pre-training (CLIP) treina conjuntamente um codificador de imagens e um de texto para maximizar a similaridade de cosseno de pares imagem-legenda correspondentes em grandes lotes, utilizando uma perda de entropia cruzada simétrica.
- 📈 Iguala a acurácia top-1 de 76,2% de uma ResNet-50 totalmente supervisionada no ImageNet em modo zero-shot, sem utilizar nenhum dos 1,28M de exemplos rotulados do ImageNet.
Resumo
Os sistemas de visão computacional no estado da arte são treinados para prever um conjunto fixo de categorias de objetos predeterminadas. Essa forma restrita de supervisão limita sua generalidade e usabilidade, uma vez que dados rotulados adicionais são necessários para especificar qualquer outro conceito visual. Aprender diretamente a partir de texto bruto sobre imagens é uma alternativa promissora que aproveita uma fonte muito mais ampla de supervisão. Demonstramos que a tarefa simples de pré-treinamento de prever qual legenda corresponde a qual imagem é uma maneira eficiente e escalável de aprender representações de imagens SOTA do zero em um conjunto de dados de 400 milhões de pares (imagem, texto) coletados da internet. Após o pré-treinamento, a linguagem natural é usada para referenciar conceitos visuais aprendidos (ou descrever novos), permitindo a transferência zero-shot do modelo para tarefas downstream. Estudamos o desempenho dessa abordagem por meio de benchmarks em mais de 30 conjuntos de dados de visão computacional existentes, abrangendo tarefas como OCR, reconhecimento de ações em vídeos, geolocalização e muitos tipos de classificação de objetos de granularidade fina (fine-grained). O modelo se transfere de maneira não trivial para a maioria das tarefas e frequentemente se mostra competitivo com uma linha de base totalmente supervisionada, sem a necessidade de nenhum treinamento específico para o conjunto de dados. Por exemplo, igualamos a acurácia da ResNet-50 original no ImageNet em modo zero-shot, sem a necessidade de usar nenhum dos 1,28 milhão de exemplos de treinamento nos quais ela foi treinada. Disponibilizamos nosso código e os pesos dos modelos pré-treinados em https://github.com/OpenAI/CLIP.
Resumo original (inglês)
State-of-the-art computer vision systems are trained to predict a fixed set of predetermined object categories. This restricted form of supervision limits their generality and usability since additional labeled data is needed to specify any other visual concept. Learning directly from raw text about images is a promising alternative which leverages a much broader source of supervision. We demonstrate that the simple pre-training task of predicting which caption goes with which image is an efficient and scalable way to learn SOTA image representations from scratch on a dataset of 400 million (image, text) pairs collected from the internet. After pre-training, natural language is used to reference learned visual concepts (or describe new ones) enabling zero-shot transfer of the model to downstream tasks. We study the performance of this approach by benchmarking on over 30 different existing computer vision datasets, spanning tasks such as OCR, action recognition in videos, geo-localization, and many types of fine-grained object classification. The model transfers non-trivially to most tasks and is often competitive with a fully supervised baseline without the need for any dataset specific training. For instance, we match the accuracy of the original ResNet-50 on ImageNet zero-shot without needing to use any of the 1.28 million training examples it was trained on. We release our code and pre-trained model weights at https://github.com/OpenAI/CLIP.
Guia de leitura
Problema e motivação
Modelos de visão no estado da arte tradicionalmente dependem de benchmarks de classificação de conjunto fechado e anotados por humanos, como o ImageNet. Esse paradigma de rótulos fixos restringe sua usabilidade: reconhecer qualquer conceito fora do vocabulário-alvo exige a coleta e anotação de novos dados. Por outro lado, o processamento de linguagem natural migrou com sucesso para o pré-treinamento agnóstico à tarefa diretamente em texto em escala web (ex.: GPT-3), produzindo modelos capazes de generalização zero-shot por meio de interfaces de texto para texto. Os autores investigam se o escalonamento da supervisão por linguagem natural em dados na escala da web pode produzir representações visuais que generalizem amplamente através de tarefas de visão computacional sem a necessidade de ajuste fino (fine-tuning) supervisionado específico para cada conjunto de dados.
Ideias centrais
- Aprendizado a partir de Supervisão por Linguagem Natural: Tratar pares de (imagem, texto) coletados da web como sinais de treinamento conecta as características visuais diretamente à rica semântica da linguagem natural, contornando a rotulagem de classes discretas 1-de-N.
- Aprendizado Contrastivo para Eficiência: Prever tokens de texto exatos (geração de legendas) é computacionalmente dispendioso. Formular o objetivo como uma tarefa de correspondência contrastiva — distinguindo pares verdadeiros de (imagem, texto) de pares incorretos dentro de um minibatch — mostra-se 4x mais eficiente em termos de amostras do que a previsão por bag-of-words e muito mais rápida do que a modelagem generativa.
- Classificação Zero-Shot como Classificadores Lineares Dinâmicos: As classes do conjunto de dados-alvo são mapeadas pelo codificador de texto em vetores de características. Esses vetores atuam como pesos para um classificador linear zero-shot contra os embeddings das imagens.
- Engenharia e Ensembling de Prompts: O desempenho zero-shot é sensível à sintaxe e ao contexto do prompt. Inserir nomes de classes em frases completas (ex.:
"A photo of a {label}.") e realizar o ensemble de múltiplas variações de prompts melhora a transferência zero-shot em cerca de 5 pontos no ImageNet.
Método (com as equações principais)
O CLIP constrói um espaço de embedding multimodal ao treinar conjuntamente um codificador de imagem e um codificador de texto em um conjunto de dados de 400 milhões de pares de (imagem, texto) extraídos da internet (WIT).
Extração e Projeção de Características: Dado um minibatch de pares imagem-texto para , cada codificador mapeia as entradas para uma dimensão conjunta por meio de projeções lineares e :
Matriz de Similaridade: Os logits são computados por meio da similaridade de cosseno escalonada: onde é um parâmetro de temperatura aprendível inicializado em 0,07, truncado para evitar que os logits ultrapassem 100.
Perda de Entropia Cruzada Simétrica: A perda total é a média das perdas de classificação imagem-para-texto e texto-para-imagem sobre a matriz de emparelhamento :
Inferência Zero-Shot: Para um conjunto de dados com classes, templates de texto (ex.:
"a photo of a {class_name}") são codificados em . Para uma imagem de teste , as probabilidades previstas são:
Resultados (com os números mais importantes)
- ImageNet Zero-Shot: O CLIP (ViT-L/14@336px) atinge 76,2% de acurácia top-1 (e 95% de acurácia top-5) em modo zero-shot no ImageNet, igualando a ResNet-50 original supervisionada sem usar nenhuma de suas 1,28 milhão de imagens de treinamento.
- Zero-Shot vs. Linha de Base Supervisionada: Avaliado em 27 conjuntos de dados downstream, o CLIP zero-shot supera um linear probe totalmente supervisionado sobre características de uma ResNet-50 padrão em 16 dos 27 conjuntos de dados.
- Comparação Few-Shot: O CLIP zero-shot iguala o desempenho médio de um classificador linear 4-shot treinado exatamente nas mesmas representações de características do CLIP, e rivaliza com um modelo BiT-M ResNet-152x2 de 16-shot.
- Qualidade da Representação com Linear Probe: Ao avaliar representações congeladas com linear probes supervisionados, o melhor modelo do CLIP supera o Noisy Student EfficientNet-L2 em 21 dos 27 conjuntos de dados, destacando-se em OCR, reconhecimento de ações em vídeo (Kinetics-700: +14,5% sobre a ResNet-50) e geolocalização.
- Robustez a Mudanças de Distribuição: Em 7 conjuntos de dados de mudança de distribuição natural (ImageNetV2, ImageNet-R, ImageNet-A, ObjectNet, etc.), o CLIP zero-shot reduz a queda entre a acurácia dentro da distribuição e fora da distribuição em até 75% em comparação com modelos padrão treinados no ImageNet.
Limitações e questões em aberto
- Tarefas Abstratas, Especializadas e Sistemáticas: O CLIP zero-shot tem grande dificuldade com contagem (CLEVRCounts), tarefas de granularidade fina com distinções sutis (FGVCAircraft, Flowers102) e tarefas de domínio específico distantes do conteúdo textual comum da web (detecção de tumores no PatchCamelyon; estimativa de distância no KITTI).
- Dados Verdadeiramente Fora da Distribuição: Em dígitos manuscritos do MNIST, o CLIP zero-shot alcança apenas 88% de acurácia — desempenho inferior ao de uma regressão logística sobre pixels brutos —, demonstrando que o CLIP contorna a fragilidade fora da distribuição em vez de resolvê-la fundamentalmente.
- Requisitos Computacionais: Estima-se que alcançar o estado da arte supervisionado geral em todos os benchmarks puramente via zero-shot exigiria um aumento de aproximadamente 1000x em poder computacional, mantidas as tendências atuais de escalabilidade.
- Viés Social e Denigração: Avaliações com o benchmark FairFace revelam modos de falha díspares significativos, incluindo classificações errôneas não humanas e associadas a crimes desproporcionalmente direcionadas a indivíduos negros e jovens, as quais variam fortemente de acordo com a formulação dos rótulos de classe e a definição de limiares.
Termos-chave
- CLIP
- Contrastive Language-Image Pre-training; um framework que treina conjuntamente codificadores de imagem e texto usando um objetivo contrastivo sobre pares de dados da web.
- WIT
- WebImageText; conjunto de dados curado pela OpenAI com 400 milhões de pares (imagem, texto) coletados da internet usando 500.000 termos de busca.
- Zero-Shot Transfer (Transferência Zero-Shot)
- Avaliação de um modelo em conjuntos de dados e tarefas inéditas usando descrições de conceitos em linguagem natural, sem atualizar os parâmetros na tarefa-alvo.
- Prompt Engineering (Engenharia de Prompt)
- Formulação de nomes de classes em templates contextuais de linguagem natural (ex.: 'A photo of a {label}, a type of pet.') para mitigar a discrepância com a distribuição de texto do pré-treinamento.
- Prompt Ensembling (Ensemble de Prompts)
- Técnica de calcular a média dos vetores de embedding de texto gerados a partir de múltiplos prompts de contexto diferentes para a mesma classe antes de computar a similaridade de classificação.
- Effective Robustness (Robustez Efetiva)
- Ganhos na acurácia fora da distribuição que vão além do esperado a partir do desempenho dentro da distribuição, de acordo com as tendências padrão de escala da linha de base.
- Linear Probe (Sondagem Linear)
- Uma camada de classificação linear supervisionada e regularizada treinada sobre representações de características pré-treinadas e congeladas para mensurar a qualidade da representação.
- Attention Pooling
- Camada modificada de pooling espacial para backbones ResNet, implementada como atenção QKV multi-head de camada única condicionada em características obtidas por global average pooling.
Perguntas
Por que o CLIP optou pelo aprendizado contrastivo em vez da geração de legendas de imagens?
Modelos generativos de legendagem tentam prever tokens de texto exatos, o que exige um custo computacional imenso devido à ampla variabilidade das legendas. O aprendizado contrastivo resolve a tarefa proxy mais simples de associar textos completos às imagens, demonstrando ser 4x mais eficiente computacionalmente do que a previsão por bag-of-words e mais de uma ordem de magnitude mais eficiente do que os modelos generativos.
Como funciona a classificação zero-shot em tempo de teste no CLIP?
Cada rótulo de classe candidato é inserido em um template de prompt de texto e codificado pelo codificador de texto. Esses embeddings normalizados atuam como os vetores de peso fixos de um classificador linear dinâmico, avaliado contra os embeddings normalizados da imagem por meio de similaridade de cosseno e softmax.
Por que o CLIP zero-shot é mais robusto a mudanças de distribuição do que os modelos supervisionados no ImageNet?
Modelos supervisionados no ImageNet frequentemente memorizam correlações espúrias e estatísticas superficiais específicas da distribuição visual do ImageNet. O CLIP zero-shot evita o ajuste fino na distribuição de treinamento do alvo, diminuindo substancialmente a lacuna de desempenho quando avaliado em conjuntos de dados com desvio de distribuição, como ImageNet-A, ObjectNet e ImageNet-R.
A sobreposição com o conjunto de treinamento explica os fortes resultados de benchmark zero-shot do CLIP?
Não. Uma análise de desduplicação de dados identificou uma sobreposição mediana de apenas 2,2% em 35 conjuntos de dados downstream. A remoção de amostras sobrepostas raramente alterou a acurácia de avaliação em mais de 0,1%, com uma melhoria máxima detectada de apenas 0,6% no Birdsnap.
A explicação desta página foi escrita por IA a partir do artigo e pode conter erros. Consulte o artigo para os detalhes.