XYZNOT

Artigos · arXiv 2002.05709

A Simple Framework for Contrastive Learning of Visual Representations

Publicado em cs.LGcs.CVstat.ML arXivPDF

Ler com tradução e IA

Resumo em três linhas

  1. 🎯 Métodos contrastivos autossupervisionados anteriores dependiam de projetos arquiteturais complexos, memory banks ou redes especializadas de agregação de contexto.
  2. 🔧 O SimCLR maximiza a concordância latente entre visualizações com aumentos distintos de imagens usando ResNets padrão, uma cabeça de projeção não linear, minilotes grandes para pares negativos e a perda NT-Xent.
  3. 📈 Um classificador linear sobre a ResNet-50 (4×) do SimCLR atinge 76,5% de acurácia top-1 no ImageNet, e o ajuste fino com apenas 1% dos rótulos alcança 85,8% de acurácia top-5.

Resumo

Este artigo apresenta o SimCLR: uma estrutura simples para aprendizagem contrastiva de representações visuais. Nós simplificamos algoritmos de aprendizagem autossupervisionada contrastiva propostos recentemente, sem exigir arquiteturas especializadas ou um memory bank. Para entender o que capacita as tarefas de predição contrastiva a aprender representações úteis, estudamos sistematicamente os principais componentes da nossa estrutura. Mostramos que (1) a composição de aumentos de dados desempenha um papel crítico na definição de tarefas preditivas eficazes, (2) a introdução de uma transformação não linear aprendível entre a representação e a perda contrastiva melhora substancialmente a qualidade das representações aprendidas e (3) a aprendizagem contrastiva se beneficia de tamanhos de lote maiores e mais etapas de treinamento em comparação com a aprendizagem supervisionada. Combinando essas descobertas, conseguimos superar consideravelmente os métodos anteriores de aprendizagem autossupervisionada e semissupervisionada no ImageNet. Um classificador linear treinado sobre representações autossupervisionadas aprendidas pelo SimCLR atinge 76,5% de acurácia top-1, o que representa uma melhoria relativa de 7% sobre o estado da arte anterior, igualando o desempenho de uma ResNet-50 supervisionada. Ao realizar o ajuste fino com apenas 1% dos rótulos, alcançamos 85,8% de acurácia top-5, superando a AlexNet com 100 vezes menos rótulos.

Resumo original (inglês)

This paper presents SimCLR: a simple framework for contrastive learning of visual representations. We simplify recently proposed contrastive self-supervised learning algorithms without requiring specialized architectures or a memory bank. In order to understand what enables the contrastive prediction tasks to learn useful representations, we systematically study the major components of our framework. We show that (1) composition of data augmentations plays a critical role in defining effective predictive tasks, (2) introducing a learnable nonlinear transformation between the representation and the contrastive loss substantially improves the quality of the learned representations, and (3) contrastive learning benefits from larger batch sizes and more training steps compared to supervised learning. By combining these findings, we are able to considerably outperform previous methods for self-supervised and semi-supervised learning on ImageNet. A linear classifier trained on self-supervised representations learned by SimCLR achieves 76.5% top-1 accuracy, which is a 7% relative improvement over previous state-of-the-art, matching the performance of a supervised ResNet-50. When fine-tuned on only 1% of the labels, we achieve 85.8% top-5 accuracy, outperforming AlexNet with 100X fewer labels.

Guia de leitura

Problema e motivação

Aprender representações visuais sem supervisão humana normalmente depende de modelagem generativa ou de tarefas pretexto heurísticas (por exemplo, quebra-cabeças de imagens/jigsaw puzzles, predição de rotação, colorização). Métodos de aprendizagem contrastiva alcançaram melhor desempenho, mas frequentemente introduziram arquiteturas especializadas de agregação de contexto (como as PixelCNNs no CPC), campos receptivos restritivos ou memory banks explícitos (como no MoCo ou InstDisc) para fornecer pares negativos. O SimCLR resolve essas complicações demonstrando que uma estrutura simples usando codificadores padrão, pares negativos intra-lote e um planejamento sistemático de aumentos de dados pode superar métodos anteriores sem atalhos arquiteturais.

Ideias centrais

  • A composição de aumentos define a tarefa de predição: Em vez de alterar arquiteturas de rede para forçar predições de contexto espacial, a composição estocástica de aumentos de dados — especificamente o recorte aleatório combinado com a distorção de cores — impede atalhos (como a correspondência de histogramas de cores) e força a rede a extrair características semânticas.
  • Aumentos mais fortes beneficiam a aprendizagem contrastiva: Aumentos como a variação agressiva de cores (color jittering), que degradam o desempenho do treinamento supervisionado, melhoram significativamente a aprendizagem contrastiva autossupervisionada.
  • Cabeça de projeção não linear: A introdução de um pequeno MLP entre a representação do codificador e a perda contrastiva melhora a qualidade da representação. Como é treinado para ser invariante a transformações, descartar após o treinamento retém em informações sensíveis a transformações que são benéficas para tarefas posteriores (downstream).
  • Escalamento de negativos via lotes grandes e treinamento longo: Em vez de um memory bank explícito, o SimCLR baseia-se em tamanhos de lote grandes (até 8192) otimizados com o LARS, fornecendo milhares de pares negativos intra-lote por par positivo.
  • Normalização por Lote Global (Global Batch Normalization): Para evitar atalhos em que a rede explora estatísticas de normalização por lote internas do dispositivo para identificar pares positivos, a média e a variância da normalização por lote são sincronizadas em todos os aceleradores distribuídos.

Método

Para um minilote amostrado de imagens, cada exemplo é transformado por dois aumentos estocásticos distintos , gerando um par positivo entre amostras aumentadas.

  1. Codificador Base: , extraindo representações da camada de pooling médio (average pooling).
  2. Cabeça de Projeção: , mapeando representações para um espaço latente de 128 dimensões com uma única camada oculta e ativação ReLU .
  3. Perda NT-Xent: A similaridade de cosseno entre vetores normalizados é definida como . Para um par positivo , a perda é: onde é o hiperparâmetro de temperatura e resulta em se e somente se . A perda total calcula a média sobre todos os pares no lote.

Após o treinamento, é descartado e é utilizado para classificação linear downstream ou ajuste fino (fine-tuning).

Resultados

  • Avaliação Linear no ImageNet: O SimCLR com uma ResNet-50 padrão alcança 69,3% de acurácia top-1 (igualando ou superando modelos autossupervisionados anteriores). Ao escalar para a ResNet-50 (), alcança 76,5% de acurácia top-1, igualando uma ResNet-50 padrão totalmente supervisionada.
  • Ajuste Fino Semissupervisionado: Ao realizar o ajuste fino com apenas 1% dos rótulos do ImageNet, a ResNet-50 () atinge 85,8% de acurácia top-5 (e 63,0% top-1), superando a AlexNet treinada com 100% dos rótulos.
  • Transfer Learning: Em 12 conjuntos de dados de classificação de imagens naturais, o modelo SimCLR ResNet-50 () com ajuste fino iguala ou supera a linha de base supervisionada em 10 de 12 conjuntos de dados.
  • Ablação na Cabeça de Projeção: O uso de uma cabeça de projeção não linear supera a projeção linear em +3% e a ausência de projeção em >10% na avaliação linear do ImageNet.

Limitações e questões em aberto

  • Intensidade Computacional: O treinamento requer tamanhos de minilote muito grandes (por exemplo, 4096 ou 8192) e esquemas de treinamento longos (até 1000 épocas) para atingir os melhores resultados, exigindo grandes clusters de aceleradores (32–128 núcleos de TPU).
  • Disparidade de Arquitetura na Transferência: Embora a ResNet-50 () iguale ou supere as linhas de base supervisionadas em benchmarks de transferência, a ResNet-50 padrão ainda fica atrás das linhas de base supervisionadas em todas as tarefas de avaliação linear.
  • Compensação de Informações (Trade-off): O mecanismo pelo qual a cabeça de projeção preserva informações específicas da transformação em , enquanto impõe invariância em , depende de heurísticas empíricas em vez de uma formulação analítica formal.

Termos-chave

SimCLR
Uma estrutura simples para aprendizagem contrastiva de representações visuais usando aumentos de dados, um codificador base, uma cabeça de projeção não linear e perda de entropia cruzada com escalonamento por temperatura normalizada.
NT-Xent
A perda Normalized Temperature-scaled Cross Entropy, que aplica similaridades de cosseno escalonadas por temperatura entre pares positivos e negativos dentro do mesmo lote.
Projection Head (Cabeça de Projeção)
Um pequeno perceptron multicamadas (MLP) com uma camada oculta aplicado após o codificador base durante o pré-treinamento, o qual é descartado antes da avaliação em tarefas downstream.
Global BN (Normalização por Lote Global)
Normalização por lote na qual a média e a variância são agregadas em todos os dispositivos distribuídos para evitar que o modelo use estatísticas internas do dispositivo como um atalho de informação.
Linear Evaluation Protocol (Protocolo de Avaliação Linear)
Um método padrão de avaliação em aprendizagem autossupervisionada no qual um classificador linear é treinado sobre um extrator de características congelado para mensurar a qualidade da representação.
LARS
Otimizador Layer-wise Adaptive Rate Scaling utilizado para estabilizar o treinamento ao escalar para tamanhos de lote muito grandes.

Perguntas

Por que a distorção de cores (color jittering) é necessária ao usar recorte aleatório?

Recortes aleatórios da mesma imagem geralmente compartilham histogramas de cores muito semelhantes. Sem a distorção de cores, o modelo aprende facilmente a identificar pares positivos apenas combinando perfis de cores, em vez de aprender características semânticas de alto nível.

Por que a representação antes da cabeça de projeção ($h$) é melhor do que a posterior ($z$)?

A perda contrastiva treina a saída para ser completamente invariante aos aumentos de dados aplicados. A cabeça de projeção não linear absorve essa perda de detalhes específicos da transformação (como cor e orientação), deixando informações mais ricas e generalizáveis em .

Como o SimCLR evita o uso de um memory bank?

O SimCLR usa tamanhos de minilote grandes (de 256 até 8192). Um tamanho de lote de fornece diretamente exemplos negativos por par positivo dentro do próprio lote, eliminando a necessidade de um memory bank separado ou de um codificador de momento (momentum encoder).

Por que o SimCLR precisa de Normalização por Lote Global (Global Batch Normalization)?

Como ambas as visualizações de um par positivo são normalmente processadas no mesmo acelerador, a normalização por lote local padrão introduz um atalho de informação no qual as estatísticas internas do dispositivo revelam a identidade da amostra. A agregação das estatísticas de BN entre todos os dispositivos de processamento elimina esse atalho.

A explicação desta página foi escrita por IA a partir do artigo e pode conter erros. Consulte o artigo para os detalhes.

Ler com tradução e IA