Nhi Nguyen

ViT - Transformers for Image Recognition at Scale [1]

image

ViT (hay Vision Transformer) được huấn luyện trên lượng lớn dữ liệu (>100M), với tài nguyên tính toán thấp hơn CNN (ResNet), và được được transferred lên nhiều benchmarks dữ liệu hình ảnh, và đạt kết quả mong đợi.

Kiến trúc Vision Transformer

image

1. Embedding

2. Transformer Encoder

image

3. MLP Head (Đầu ra Multi Layer Perceptron)

Tại sao ViT hoạt động tốt hơn CNN?

Bởi vì Multi-Head Attention trong Vision Transformers giúp nó chỉ tập trung vào phần của hình ảnh có liên quan. Nếu chúng ta lấy trung bình của đầu ra của tất cả các đầu attention, chúng ta có thể thấy cơ chế này hoạt động. Mô hình tập trung vào các vùng hình ảnh có ý nghĩa ngữ nghĩa cho việc phân loại.

Tổng hợp:

Kiến trúc cuối cùng được hiển thị trong sơ đồ đầu bài. Các mảnh hình ảnh tuyến tính được thêm vào bằng một token [CLS] và truyền qua một Dense Layer để nhận được vector mã hóa cuối cùng Z cùng với các encoding positinal. Sau đó, điều này được truyền qua một kiến trúc mã hóa Transformer để nhận được vector ngữ cảnh C. Giá trị của token ngữ cảnh c0 được truyền qua một đầu MLP để nhận được dự đoán cuối cùng.

Q&A:

  1. Tại sao nói về việc các mô hình CNN(ResNet hay VGG) có tính chất local và translationally equivariant lại dẫn đến việc ViT đạt kết quả khả quan hơn?