Nội dung bài viết
© 2025 AI VIET NAM. All rights reserved.
Tác giả: AI VIET NAM (AI VIET NAM)
Keywords: Vision Transformer, ViT hoạt động, patch embedding, transformer cho ảnh, position embedding
Khi học về Transformer trong NLP, đa số mọi người quen với khái niệm chuỗi token văn bản.
Nhưng khi chuyển sang xử lý ảnh, câu hỏi thường gặp là:
ViT xuất hiện với một ý tưởng đơn giản nhưng hiệu quả: biến ảnh thành chuỗi token, sau đó áp dụng gần như nguyên bản kiến trúc Transformer Encoder.
Ảnh đầu vào (ví dụ 224×224) được chia thành các mảnh nhỏ, thường là:
Nếu ảnh 224×224 và patch 16×16 → tổng cộng 196 patch.
ViT xem mỗi patch như một từ (token) trong NLP.
Đây là bước quan trọng nhất giúp Transformer có thể xử lý ảnh như một chuỗi.
Sau khi có các patch, ViT:
Giống như cách NLP biến từ thành embedding, ViT biến “patch ảnh” thành “patch embedding”.
Điểm thú vị: ViT không dùng convolution để trích xuất feature ban đầu.
Mọi đặc trưng đều được học trực tiếp từ patch – đây là sự khác biệt lớn so với CNN truyền thống.
Transformer trong NLP cần biết vị trí của token → ViT cũng vậy.
Patch embedding + position embedding → trở thành chuỗi có thể đưa vào Transformer Encoder.
Điều này giúp mô hình không bị mất thông tin về:
Kiến thức positional embedding này thuộc nhóm NLP – module 10, nhưng được áp dụng sáng tạo trong Computer Vision.
Giống mô hình BERT, ViT thêm một token đặc biệt ở đầu chuỗi.
Token này đóng vai trò “tóm tắt thông tin toàn ảnh”.
Sau khi Transformer Encoder xử lý toàn bộ chuỗi, output tương ứng CLS token được dùng cho nhiệm vụ:
ViT sử dụng gần như nguyên bản kiến trúc Transformer Encoder:
Không dùng bất kỳ convolution nào ở backbone.
Self-attention giúp mô hình:
Sau khi qua nhiều lớp Transformer Encoder, CLS token sẽ:
Giả sử có ảnh mèo 224×224:
catToàn bộ quá trình không dùng convolution – một điểm rất đặc trưng của ViT.
Khi áp dụng ViT trong thực tế:
Bạn có thể thử nghiệm thêm để hiểu rõ hơn.
Q1: ViT có dùng convolution không?
A: Không, backbone ViT hoạt động hoàn toàn dựa trên Transformer Encoder.
Q2: Vì sao phải chia ảnh thành patch?
A: Để biến ảnh thành chuỗi token – định dạng Transformer có thể xử lý.
Q3: Có cần position embedding không?
A: Có, giúp mô hình hiểu vị trí các patch.
Q4: CLS token dùng để làm gì?
A: Là token tổng hợp thông tin toàn ảnh để phục vụ dự đoán cuối.
Q: Mình con số 0 thì học nổi không?
A: Chỉ cần có thời gian học mỗi ngày. Kiến thức và tài liệu team admin lo.
Q: Ai dạy AIO?
A: Toàn bộ admin AIO trực tiếp dạy và hỗ trợ trong suốt hành trình.
Q: Admin có “xịn” không?
A: Admin đều là người làm nghề thật. Không dám nói xịn, chỉ dạy bằng hết sức mình.
Q: AIO khác gì trung tâm khác?
A: AIO không phải trung tâm. Đây là dự án học tập cộng đồng với tinh thần “Cùng nhau học – cùng nhau khổ – cùng nhau lớn”.