Bài báo · arXiv 2010.11929
An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
Xuất bản cs.CVcs.AIcs.LG arXivPDF
Tóm tắt trong ba dòng
- 🎯 Mạng nơ-ron tích chập đã thống trị thị giác máy tính nhờ vào inductive bias mạnh mẽ, trong khi Transformer tiêu chuẩn thiếu khả năng ứng dụng trực tiếp, có thể mở rộng trên ảnh 2D.
- 🔧 Chia một hình ảnh thành các patch phẳng kích thước cố định (ví dụ: 16x16), chiếu tuyến tính chúng thành các token embedding, thêm position embedding và đưa chúng qua bộ mã hóa Transformer tiêu chuẩn với một token [class] được thêm vào đầu.
- 📈 Khi được tiền huấn luyện trên JFT-300M, ViT-H/14 đạt độ chính xác top-1 88,55% trên ImageNet, 90,72% trên ImageNet ReaL và 77,63% trên VTAB, sử dụng chi phí tính toán tiền huấn luyện ít hơn đáng kể so với các CNN tương đương.
Tóm tắt
Trong khi kiến trúc Transformer đã trở thành tiêu chuẩn de-facto cho các tác vụ xử lý ngôn ngữ tự nhiên, các ứng dụng của nó trong thị giác máy tính vẫn còn hạn chế. Trong thị giác, cơ chế attention hoặc được áp dụng kết hợp với mạng tích chập, hoặc được sử dụng để thay thế một số thành phần nhất định của mạng tích chập trong khi vẫn giữ nguyên cấu trúc tổng thể của chúng. Chúng tôi chứng minh rằng sự phụ thuộc này vào CNNs là không cần thiết và một transformer thuần túy được áp dụng trực tiếp vào các chuỗi patch ảnh có thể hoạt động rất tốt trên các tác vụ phân loại hình ảnh. Khi được tiền huấn luyện trên lượng dữ liệu lớn và chuyển giao sang nhiều benchmark nhận dạng hình ảnh quy mô vừa hoặc nhỏ (ImageNet, CIFAR-100, VTAB, v.v.), Vision Transformer (ViT) đạt được kết quả xuất sắc so với các mạng tích chập tiên tiến nhất trong khi yêu cầu tài nguyên tính toán huấn luyện ít hơn đáng kể.
Tóm tắt gốc (tiếng Anh)
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.
Hướng dẫn đọc
Vấn đề và động lực
Các kiến trúc tích chập (ví dụ: ResNet) từ lâu đã là nền tảng của thị giác máy tính hiện đại nhờ vào các inductive bias được định sẵn như tính bất biến tịnh tiến (translation equivariance) và tính cục bộ hai chiều (2D locality). Trong khi Transformers trở thành tiêu chuẩn trong xử lý ngôn ngữ tự nhiên (NLP) nhờ hiệu quả tính toán và khả năng mở rộng quy mô lớn, các nỗ lực trước đây nhằm đưa self-attention vào thị giác thường kết hợp attention với backbone CNN hoặc sử dụng các mẫu attention cục bộ/theo trục chuyên biệt vốn khó mở rộng hiệu quả trên các bộ tăng tốc phần cứng. Bài báo này nghiên cứu liệu một kiến trúc Transformer thuần túy, được áp dụng trực tiếp lên các chuỗi patch ảnh với những sửa đổi tối thiểu, có thể cạnh tranh hoặc vượt trội hơn các CNN tiên tiến nhất hay không.
Các ý tưởng cốt lõi
- Hình ảnh dưới dạng chuỗi các từ: Một hình ảnh được chia thành các patch không chồng lấn có kích thước . Các patch sau khi làm phẳng được xử lý hoàn toàn giống như các token trong NLP.
- Inductive Bias tối thiểu: Không giống như CNNs nơi tính cục bộ không gian và tính bất biến tịnh tiến hiện diện trong mọi lớp, ViT sử dụng global self-attention trên tất cả các patch. Cấu trúc 2D chỉ được tham chiếu khi trích xuất các patch và khi nội suy position embedding cho quá trình tinh chỉnh ở độ phân giải cao hơn.
- Quy mô vượt trội Inductive Bias: Khi không có inductive bias mạnh, ViT hoạt động kém hơn ResNets trên các tập dữ liệu vừa và nhỏ (như ImageNet tiêu chuẩn mà không có sự điều chuẩn mạnh). Tuy nhiên, khi được tiền huấn luyện trên các tập dữ liệu lớn (ImageNet-21k với 14 triệu ảnh hoặc JFT-300M với 303 triệu ảnh), ViT đạt hoặc vượt hiệu năng của CNN trong khi tiêu thụ ít FLOPs huấn luyện hơn đáng kể.
Phương pháp
- Patch Embedding và Xây dựng Đầu vào: Với kích thước patch , một hình ảnh tạo ra patch. Mỗi patch phẳng được chiếu tuyến tính bằng ma trận sang chiều không gian . Một token phân loại có thể học được gắn vào đầu chuỗi, và các 1D learnable position embedding được cộng thêm vào:
- Các lớp Transformer Encoder: Chuỗi đi qua khối giống hệt nhau xen kẽ giữa Multihead Self-Attention (MSA) và các khối MLP, sử dụng pre-LayerNorm (LN) và các kết nối tắt (residual connections):
- Biểu diễn và Đầu ra (Head): Biểu diễn hình ảnh được lấy từ token đầu ra đầu tiên: Một MLP nhỏ (với một lớp ẩn) đóng vai trò là classification head trong quá trình tiền huấn luyện, và được thay thế bằng một phép chiếu tuyến tính duy nhất () khi tinh chỉnh (fine-tuning).
- Tinh chỉnh ở độ phân giải cao hơn (Higher Resolution Fine-Tuning): Khi tinh chỉnh ở độ phân giải hình ảnh cao hơn (ví dụ: hoặc ), kích thước patch vẫn được giữ cố định, làm tăng chiều dài chuỗi . Các 1D position embedding đã tiền huấn luyện được điều chỉnh thông qua phép nội suy bicubic 2D theo các vị trí lưới không gian ban đầu của chúng.
Kết quả
- So sánh với SOTA:
- ViT-H/14 tiền huấn luyện trên JFT-300M đạt 88,55% trên ImageNet, 90,72% trên ImageNet ReaL, 94,55% trên CIFAR-100 và 77,63% trên bộ 19 tác vụ của VTAB, tiêu tốn 2,5k TPUv3-core-days.
- ViT-L/16 tiền huấn luyện trên JFT-300M đạt 87,76% trên ImageNet chỉ với 0,68k TPUv3-core-days, vượt trội hơn BiT-L (ResNet152x4, 87,54%, 9,9k TPUv3-core-days) và tiếp cận Noisy Student EfficientNet-L2 (88,4/88,5%, 12,3k TPUv3-core-days).
- Tiền huấn luyện trên tập dữ liệu công khai: ViT-L/16 tiền huấn luyện trên ImageNet-21k đạt 85,30% trên ImageNet.
- Đánh đổi giữa Chi phí tính toán và Hiệu năng: Qua các thử nghiệm mở rộng quy mô trên JFT-300M, ViT thuần túy chiếm ưu thế so với ResNets trên đường biên Pareto, yêu cầu chi phí tính toán ít hơn từ đến để đạt được độ chính xác tương đương.
- Biểu diễn nội bộ (Internal Representations): Các lớp thấp hơn chứa các attention head chú ý trên toàn bộ hình ảnh song song với các head có khoảng cách attention nhỏ, mang tính cục bộ. Khoảng cách attention thường tăng đơn điệu theo độ sâu của mô hình.
Hạn chế và các câu hỏi mở
- Cơn đói dữ liệu (Data Hunger): ViT khái quát hóa kém trên các tập dữ liệu nhỏ nếu không có dữ liệu tiền huấn luyện sâu rộng (ImageNet-21k hoặc JFT-300M) hoặc không có sự điều chuẩn mạnh mẽ.
- Khoảng cách tự giám sát (Self-Supervised Gap): Các thử nghiệm ban đầu với dự đoán patch bị che (masked patch prediction) đạt 79,9% trên ImageNet (ViT-B/16), để lại khoảng cách hiệu năng 4% so với tiền huấn luyện có giám sát.
- Ứng dụng cho dự đoán dày đặc (Dense Prediction): Nghiên cứu ban đầu này chỉ tập trung vào phân loại; việc điều chỉnh các transformer patch thuần túy cho các tác vụ không gian dày đặc như phát hiện vật thể và phân vùng ngữ nghĩa (semantic segmentation) vẫn là một thách thức nghiên cứu mở.
Thuật ngữ chính
- Vision Transformer (ViT)
- Một kiến trúc Transformer thuần túy được áp dụng trực tiếp lên các chuỗi patch ảnh không chồng lấn cho các tác vụ thị giác mà không cần trích xuất đặc trưng bằng tích chập.
- Patch Embeddings
- Các biểu diễn chiều thu được bằng cách chiếu tuyến tính các patch điểm ảnh đã được làm phẳng vào không gian tiềm ẩn của mô hình.
- Classification Token ([class])
- Một token có thể học được gắn vào đầu chuỗi patch, có trạng thái đầu ra sau lớp Transformer cuối cùng đóng vai trò là biểu diễn tổng thể của toàn bộ hình ảnh.
- Inductive Bias (Thiên kiến quy nạp)
- Các giả định kiến trúc được tích hợp sẵn; trong CNNs, những giả định này bao gồm tính cục bộ không gian và tính bất biến tịnh tiến, vốn phần lớn không tồn tại trong ViT.
- Position Embeddings
- Các vector 1D có thể học được cộng vào patch embedding để duy trì thông tin thứ tự không gian bên trong chuỗi.
- Attention Distance
- Khoảng cách không gian trung bình trong hình ảnh mà qua đó một attention head tổng hợp thông tin, về mặt khái niệm tương tự như kích thước trường tiếp nhận (receptive field) trong CNNs.
- Hybrid Architecture
- Một mô hình trong đó phép chiếu patch embedding được áp dụng cho các feature map được trích xuất từ một convolutional backbone ban đầu thay vì các điểm ảnh thô.
- Visual Task Adaptation Benchmark (VTAB)
- Bộ benchmark bao gồm 19 tác vụ thị giác đa dạng được phân loại thành các nhóm Tự nhiên, Chuyên biệt và Cấu trúc, được đánh giá bằng cách sử dụng 1.000 mẫu cho mỗi tác vụ.
Câu hỏi thường gặp
Tại sao ViT hoạt động kém hơn ResNet trên các tập dữ liệu nhỏ hơn như ImageNet-1k?
Transformers thiếu các inductive bias của mạng tích chập như tính cục bộ và tính bất biến tịnh tiến. Trên các tập dữ liệu nhỏ hơn, ViT có xu hướng bị overfit vì nó phải học các mối quan hệ không gian từ đầu; các inductive bias được định sẵn của ResNet giúp nó sử dụng dữ liệu hiệu quả hơn nhiều khi lượng dữ liệu bị hạn chế.
ViT xử lý các hình ảnh có độ phân giải khác nhau hoặc cao hơn khi tinh chỉnh như thế nào?
ViT giữ cố định kích thước patch, điều này làm tăng tổng chiều dài chuỗi. Các 1D position embedding đã tiền huấn luyện được ánh xạ ngược lại lưới 2D ban đầu và được nội suy bằng phương pháp nội suy bicubic 2D để khớp với kích thước lưới mới.
Liệu position embedding nhận biết không gian 2D có cải thiện hiệu năng của ViT so với embedding 1D tiêu chuẩn không?
Không. Các tác giả nhận thấy rằng tọa độ embedding 2D hoặc relative position embedding mang lại hiệu năng gần như giống hệt với các 1D position embedding có thể học tiêu chuẩn, vì mô hình có thể tự học cấu trúc liên kết hàng/cột 2D một cách dễ dàng.
Điểm khác biệt giữa ViT và kiến trúc Hybrid là gì?
ViT thuần túy cắt trực tiếp hình ảnh đầu vào thô thành các patch điểm ảnh và áp dụng phép chiếu tuyến tính. Mô hình hybrid trước tiên đưa hình ảnh qua một backbone ResNet ban đầu và trích xuất các token patch từ feature map trung gian thu được.
Phần giải thích trên trang này do AI viết dựa trên bài báo và có thể có sai sót. Hãy đọc bài báo gốc để biết chi tiết.