ViT Prof. Anderson Rocha Tavares Bloco 5 · Slide 4 / 4

ViT versus CNN

Bloco 5 — ViT e CNN  ·  Duas filosofias de processar imagens

🔲 CNN — visão local e hierárquica
entrada 9×9
filtro 3×3
→
feature map 7×7
0 / 49
Kernel 3×3 desliza sobre pixels — cada posição vê apenas vizinhos imediatos.
Camadas mais profundas combinam padrões locais em contexto mais amplo — construção hierárquica.
Pixel → Borda → Textura → Parte → Objeto
📍 Localidade Opera em janelas de pixels vizinhos
🏗️ Hierarquia Empilha representações locais
↔️ Equivariância Translação não muda as ativações
🔷 ViT — atenção global desde o início
Atenção global — qualquer patch pode atender a qualquer outro desde a primeira camada. Clique em um patch para explorar.
Linha dourada: atenção a longa distância — patches distantes podem ter alta relevância sem hierarquia.
🌐 Global desde o início Qualquer par de patches se relaciona
🚫 Sem viés local Nenhuma indução de vizinhança
📊 Data hungry Precisa de muito dado para aprender
Custo real (paper original, Dosovitskiy et al. 2021)
Top-1 ImageNet — quanto dado cada modelo precisou
ResNet-50
79.8% 1.2 M imgs
ViT-B/16 ❌
77.9% 1.2 M imgs
ViT-B/16 ✅
84.2% JFT-300M
JFT-300M é um dataset diferente e muito maior, interno do Google — 300 milhões de imagens com ~18 mil categorias (vs. 1 mil do ImageNet). Não são múltiplas épocas do mesmo dado: é simplesmente 250× mais imagens de domínios variados. O modelo foi pré-treinado ali e depois fine-tunado no ImageNet.
Sem pré-treino massivo, ViT fica abaixo de uma ResNet treinada apenas no ImageNet.
⚖️ Não é uma disputa — são filosofias diferentes. CNNs são boas com menos dados e têm forte viés indutivo; ViTs escalam melhor com grandes datasets e tarefas que exigem contexto global.