XYZNOT

Artigos · arXiv 2010.11929

Uma Imagem Vale Mais que 16x16 Palavras: Transformers para Reconhecimento de Imagens em Escala

An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

Publicado em cs.CVcs.AIcs.LG arXivPDF

Ler com tradução e IA

Resumo em três linhas

  1. 🎯 Redes neurais convolucionais dominaram a visão computacional devido a fortes vieses indutivos, enquanto Transformers padrão careciam de uma aplicação direta e escalável para imagens 2D.
  2. 🔧 Divide uma imagem em patches achatados de tamanho fixo (por exemplo, 16x16), projeta-os linearmente em embeddings de tokens, adiciona embeddings de posição e os processa através de um codificador Transformer padrão com um token [class] anexado ao início.
  3. 📈 Quando pré-treinado no JFT-300M, o ViT-H/14 alcança 88,55% de acurácia top-1 no ImageNet, 90,72% no ImageNet ReaL e 77,63% no VTAB, usando significativamente menos computação de pré-treinamento do que CNNs comparáveis.

Resumo

Embora a arquitetura Transformer tenha se tornado o padrão de fato para tarefas de processamento de linguagem natural, suas aplicações em visão computacional permanecem limitadas. Em visão, a atenção é aplicada em conjunto com redes convolucionais ou usada para substituir certos componentes de redes convolucionais mantendo sua estrutura geral inalterada. Demonstramos que essa dependência de CNNs não é necessária e que um transformer puro aplicado diretamente a sequências de patches de imagem pode ter um desempenho muito bom em tarefas de classificação de imagens. Quando pré-treinado em grandes volumes de dados e transferido para múltiplos benchmarks de reconhecimento de imagem de médio ou pequeno porte (ImageNet, CIFAR-100, VTAB, etc.), o Vision Transformer (ViT) alcança resultados excelentes em comparação com redes convolucionais no estado da arte, exigindo substancialmente menos recursos computacionais para ser treinado.

Resumo original (inglês)

While the Transformer architecture has become the de-facto standard for natural language processing tasks, its applications to computer vision remain limited. In vision, attention is either applied in conjunction with convolutional networks, or used to replace certain components of convolutional networks while keeping their overall structure in place. We show that this reliance on CNNs is not necessary and a pure transformer applied directly to sequences of image patches can perform very well on image classification tasks. When pre-trained on large amounts of data and transferred to multiple mid-sized or small image recognition benchmarks (ImageNet, CIFAR-100, VTAB, etc.), Vision Transformer (ViT) attains excellent results compared to state-of-the-art convolutional networks while requiring substantially fewer computational resources to train.

Guia de leitura

Problema e motivação

As arquiteturas convolucionais (por exemplo, ResNet) têm sido a base da visão computacional moderna há muito tempo, devido a vieses indutivos integrados como equivariância à translação e localidade bidimensional. Embora os Transformers tenham se tornado o padrão no processamento de linguagem natural (NLP) devido à sua eficiência computacional e capacidade de escalonamento massivo, tentativas anteriores de trazer a autoatenção para a visão normalmente acoplavam a atenção a backbones de CNN ou utilizavam padrões especializados de atenção local/axial que eram difíceis de escalar de maneira eficiente em aceleradores de hardware. Este artigo investiga se uma arquitetura Transformer pura, aplicada diretamente a sequências de patches de imagem com modificações mínimas, pode competir ou superar CNNs no estado da arte.

Ideias centrais

  • Imagens como Sequências de Palavras: Uma imagem é dividida em patches não sobrepostos de tamanho . Os patches achatados são tratados de forma idêntica a tokens de NLP.
  • Viés Indutivo Mínimo: Ao contrário das CNNs, onde a localidade espacial e a equivariância à translação estão presentes em cada camada, o ViT utiliza autoatenção global em todos os patches. A estrutura 2D é referenciada apenas na extração dos patches e na interpolação dos embeddings de posição para o ajuste fino em resoluções mais altas.
  • Escala Supera o Viés Indutivo: Sem um viés indutivo forte, o ViT apresenta desempenho inferior ao das ResNets em conjuntos de dados pequenos a médios (como o ImageNet padrão sem regularização pesada). No entanto, quando pré-treinado em grandes conjuntos de dados (ImageNet-21k com 14M de imagens ou JFT-300M com 303M de imagens), o ViT se iguala ou supera o desempenho das CNNs consumindo substancialmente menos FLOPs de treinamento.

Método

  1. Embedding de Patches e Construção da Entrada: Dado o tamanho do patch , uma imagem gera patches. Cada patch achatado é projetado linearmente pela matriz para a dimensão . Um token de classificação aprendível é concatenado no início, e embeddings de posição aprendíveis unidimensionais são somados:
  2. Camadas do Codificador Transformer: A sequência passa por blocos idênticos alternando blocos de Multihead Self-Attention (MSA) e MLP, usando pre-LayerNorm (LN) e conexões residuais:
  3. Representação e Cabeça de Classificação: A representação é obtida a partir do primeiro token de saída: Um pequeno MLP (com uma camada oculta) atua como a cabeça de classificação durante o pré-treinamento, sendo substituído por uma única projeção linear () no ajuste fino.
  4. Ajuste Fino em Resoluções Mais Altas: Ao realizar o ajuste fino com resoluções de imagem maiores (por exemplo, ou ), o tamanho do patch permanece fixo, o que aumenta o comprimento da sequência . Os embeddings de posição unidimensionais pré-treinados são ajustados por meio de interpolação bicúbica 2D de acordo com suas posições na grade espacial original.

Resultados

  • Comparação com o Estado da Arte:
    • O ViT-H/14 pré-treinado no JFT-300M alcançou 88,55% no ImageNet, 90,72% no ImageNet ReaL, 94,55% no CIFAR-100 e 77,63% na suíte de 19 tarefas do VTAB, demandando 2,5k TPUv3-core-days.
    • O ViT-L/16 pré-treinado no JFT-300M alcançou 87,76% no ImageNet com apenas 0,68k TPUv3-core-days, superando o BiT-L (ResNet152x4, 87,54%, 9,9k TPUv3-core-days) e aproximando-se do Noisy Student EfficientNet-L2 (88,4/88,5%, 12,3k TPUv3-core-days).
    • Pré-treinamento em conjuntos de dados públicos: o ViT-L/16 pré-treinado no ImageNet-21k atingiu 85,30% no ImageNet.
  • Compromisso entre Computação e Desempenho: Nos experimentos de escalonamento no JFT-300M, o ViT puro dominou as ResNets na fronteira de Pareto, exigindo de a menos computação para atingir acurácia equivalente.
  • Representações Internas: As camadas iniciais contêm cabeças de atenção que atendem a toda a extensão da imagem lado a lado com cabeças que têm distâncias de atenção pequenas e localizadas. A distância de atenção geralmente aumenta de forma monotônica com a profundidade.

Limitações e questões em aberto

  • Necessidade de Dados (Data Hunger): O ViT generaliza mal em pequenos conjuntos de dados sem uma quantidade expressiva de dados de pré-treinamento (ImageNet-21k ou JFT-300M) ou regularização pesada.
  • Lacuna no Aprendizado Autossupervisionado: Experimentos iniciais com predição de patches mascarados atingiram 79,9% no ImageNet (ViT-B/16), mantendo uma lacuna de 4% de desempenho em relação ao pré-treinamento supervisionado.
  • Aplicação em Predição Densa: O trabalho inicial foca exclusivamente em classificação; adaptar transformers de patches puros para tarefas espaciais densas, como detecção de objetos e segmentação semântica, permanece como um desafio de pesquisa em aberto.

Termos-chave

Vision Transformer (ViT)
Uma arquitetura Transformer pura aplicada diretamente a sequências de patches de imagem não sobrepostos para tarefas visuais, sem extração convolucional de características.
Patch Embeddings
As representações -dimensionais obtidas pela projeção linear de patches de pixels achatados no espaço latente do modelo.
Classification Token ([class])
Um token aprendível inserido no início da sequência de patches cujo estado de saída após a última camada do Transformer serve como a representação global da imagem.
Inductive Bias (Viés Indutivo)
Premissas estruturais embutidas na arquitetura; nas CNNs, estas incluem localidade espacial e equivariância à translação, que estão amplamente ausentes no ViT.
Position Embeddings
Vetores 1D aprendíveis adicionados aos embeddings de patches para preservar a informação da ordem espacial na sequência.
Attention Distance
A distância espacial média na imagem sobre a qual uma cabeça de atenção integra informações, conceitualmente análoga ao tamanho do campo receptivo nas CNNs.
Hybrid Architecture
Um modelo onde a projeção de embedding de patch é aplicada a mapas de características extraídos de um backbone convolucional inicial, em vez de pixels brutos da imagem.
Visual Task Adaptation Benchmark (VTAB)
Uma suíte de benchmarks composta por 19 tarefas visuais diversas divididas nos grupos Natural, Specialized e Structured, avaliada utilizando 1.000 exemplos por tarefa.

Perguntas

Por que o ViT apresenta desempenho inferior ao da ResNet em conjuntos de dados menores como o ImageNet-1k?

Os Transformers não possuem os vieses indutivos convolucionais, como localidade e equivariância à translação. Em conjuntos de dados menores, o ViT tende a sofrer overfitting porque precisa aprender as relações espaciais do zero; os vieses indutivos estruturais da ResNet a tornam mais eficiente no uso de amostras quando há dados limitados.

Como o ViT lida com imagens de resoluções diferentes ou mais altas no ajuste fino?

O ViT mantém o tamanho do patch inalterado, o que aumenta o comprimento total da sequência. Os embeddings de posição unidimensionais pré-treinados são mapeados de volta para a grade bidimensional original e interpolados usando interpolação bicúbica 2D para corresponder ao novo tamanho da grade.

Embeddings de posição conscientes da estrutura 2D melhoram o desempenho do ViT em comparação com os embeddings 1D convencionais?

Não. Os autores observaram que embeddings de coordenadas 2D ou embeddings de posição relativa apresentaram desempenho praticamente idêntico ao de embeddings de posição unidimensionais aprendíveis convencionais, pois o modelo aprende facilmente a topologia 2D de linhas e colunas por conta própria.

Qual é a diferença entre o ViT e a arquitetura Hybrid?

O ViT puro divide diretamente a imagem de entrada bruta em patches de pixels e aplica uma projeção linear. O modelo híbrido primeiro processa a imagem através de um backbone ResNet inicial e extrai os tokens de patch a partir do mapa de características intermediário resultante.

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