Trong nhiều năm, Convolutional Neural Network (CNN) đã là “chuẩn vàng” cho các bài toán thị giác máy tính như phân loại ảnh, nhận diện đối tượng, và phân đoạn ảnh. Tuy nhiên, từ năm 2020, một nghiên cứu nổi bật từ Google đã mở ra một kỷ nguyên mới: Vision Transformer (ViT). Mô hình này đưa kiến trúc Transformer – vốn thống trị trong xử lý ngôn ngữ tự nhiên (NLP) – sang lĩnh vực thị giác, và kết quả thật sự ấn tượng.
Trong NLP, Transformer đã chứng minh khả năng nắm bắt mối quan hệ dài hạn giữa các từ trong một chuỗi văn bản thông qua cơ chế Self-Attention.
CNN thường tập trung vào vùng lân cận (local features).
Transformer lại có thể xem xét toàn bộ bức ảnh (global context) cùng lúc.
Ý tưởng chính của ViT là: một bức ảnh cũng có thể coi như một “chuỗi” các token, giống n
Chia ảnh thành patch
Thay vì đưa toàn bộ ảnh 2D vào CNN, ViT chia ảnh thành các khối nhỏ (ví dụ: 16×16 pixel).
Mỗi patch sau đó được “dàn phẳng” thành vector và chiếu (projection) vào không gian có kích thước cố định.
Thêm thông tin vị trí (Positional Embedding)
Transformer không tự biết patch nào ở vị trí nào.
Do đó, ta cộng thêm vector vị trí (positional encoding) để bảo toàn cấu trúc không gian của ảnh.
Transformer Encoder
Các patch vector này được đưa qua nhiều lớp Multi-Head Self-Attention và Feed-Forward Network, tương tự như trong NLP.
Self-Attention cho phép mô hình hiểu mối quan hệ giữa các vùng ảnh xa nhau.
Token phân loại (CLS Token)
Một token đặc biệt được thêm vào chuỗi patch, đại diện cho toàn bộ ảnh.
Sau khi đi qua Transformer, token này được sử dụng cho bài toán phân loại.
Khả năng học toàn cục (global context): ViT không bị giới hạn bởi kích thước kernel như CNN.
Đơn giản và mở rộng tốt: Cấu trúc Transformer có thể dễ dàng mở rộng với nhiều lớp hơn mà không cần thiết kế phức tạp.
Kết quả vượt trội trên dữ liệu lớn: Với dataset lớn như ImageNet-21k hoặc JFT-300M, ViT cho kết quả vượt CNN truyền thống.
Cần dữ liệu lớn để huấn luyện: Trên dataset nhỏ (ví dụ CIFAR-10), ViT dễ bị overfitting và thường thua CNN.
Thiếu inductive bias của ảnh: CNN có tính chất như dịch chuyển bất biến (translation invariance), trong khi ViT phải học các đặc tính này từ dữ liệu.
Chi phí tính toán: Self-Attention có độ phức tạp O(n²) theo số lượng patch, nên ảnh lớn sẽ rất tốn tài nguyên.
Kể từ khi ra đời, nhiều biến thể của ViT đã được phát triển để khắc phục nhược điểm:
DeiT (Data-efficient Image Transformer): tối ưu để huấn luyện hiệu quả hơn trên dữ liệu nhỏ.
Swin Transformer: sử dụng cửa sổ trượt (shifted windows) để giảm chi phí tính toán và kết hợp ưu điểm của CNN.
Hybrid ViT: kết hợp CNN để trích xuất đặc trưng ban đầu trước khi đưa vào Transformer.
ViT đã chứng minh rằng không chỉ CNN mới làm tốt trong Computer Vision. Với sự phát triển mạnh mẽ của dữ liệu lớn và phần cứng, ViT cùng các biến thể của nó đang dần trở thành lựa chọn hàng đầu cho nhiều bài toán thị giác máy tính, từ nhận diện ảnh, phát hiện đối tượng, cho đến video understanding.
Trong kỷ nguyên AI hiện nay, ViT chính là cầu nối giữa NLP và CV, mở ra hướng đi chung cho các mô hình đa phương thức (multi-modal), nơi hình ảnh, văn bản, và âm thanh có thể được xử lý trong một framework thống nhất.
Tóm lại: Vision Transformer (ViT) là bước ngoặt quan trọng trong thị giác máy tính, thay đổi cách chúng ta nhìn nhận và xử lý hình ảnh bằng AI.
hư chuỗi từ trong câu văn.
» Các tin khác: