Vision Transformer Là Gì?
Vision Transformer (ViT) là kiến trúc AI áp dụng trực tiếp cơ chế Transformer — thứ từng làm nên thành công của GPT và BERT trong xử lý ngôn ngữ — vào bài toán xử lý ảnh. Thay vì dùng convolution như CNN truyền thống, ViT chia ảnh thành các patch nhỏ, coi mỗi patch như một “từ” trong câu, rồi để Transformer học mối quan hệ giữa chúng.
Nói đơn giản hơn: nếu CNN là cách “nhìn từng vùng nhỏ rồi ghép lại”, thì ViT là cách “chia ảnh thành nhiều mảnh, nhìn tất cả cùng lúc và hiểu mối liên hệ giữa các mảnh”.
Vision Transformer Khác CNN Như Thế Nào?
CNN (Convolutional Neural Network) từng là vua trong xử lý ảnh suốt hơn 10 năm. Kiến trúc này dùng filter trượt qua ảnh từng vùng một để trích xuất đặc trưng. Ưu điểm là hiệu quả với dữ liệu ít, nhưng hạn chế là chỉ nhìn được vùng lân cận gần.
ViT bỏ qua hoàn toàn convolution. Thay vào đó, ảnh được chia thành các vuông (patch) 16×16 pixel, mỗi patch được “phẳng hóa” thành vector, rồi đưa qua Transformer. Điều này cho phép model nhìn được mối quan hệ toàn cục ngay từ layer đầu tiên — điều mà CNN cần nhiều layer mới đạt được.
Mình thấy điểm thú vị nhất là cách ViT xử lý ảnh giống hệt cách BERT xử lý văn bản. Một bức ảnh 224×224 pixel chia thành 196 patch, mỗi patch 16×16. Tương đương với một câu có 196 “từ”. Self-attention sẽ học xem “từ” nào liên quan đến “từ” nào, tạo ra một sự hiểu biết phong phú về bức ảnh.
Cách Vision Transformer Hoạt Động?
Quá trình xử lý ảnh trong ViT diễn ra qua 4 bước chính:
Bước 1 — Patch Embedding: Ảnh đầu vào (ví dụ 224×224 pixel) được chia thành các patch vuông. Mỗi patch được biến đổi thành vector một chiều thông qua một lớp Linear. Giống như cách tokenizer tách văn bản thành token, ở đây ảnh được “token hóa” thành patch.
Bước 2 — Thêm Positional Encoding: Vì Transformer không có khái niệm về vị trí không gian, ViT cộng thêm thông tin vị trí cho mỗi patch. Điều này giúp model biết patch nào ở góc trái, patch nào ở giữa ảnh.
Bước 3 — Thêm [CLS] Token: Một token đặc biệt được đặt ở đầu chuỗi, giống như token [CLS] trong BERT. Token này sẽ “hấp thụ” thông tin từ tất cả patch khác và đại diện cho toàn bộ bức ảnh ở đầu ra.
Bước 4 — Transformer Encoder: Chuỗi patch đi qua nhiều layer Transformer, mỗi layer gồm Multi-Head Self-Attention và Feed-Forward Network. Cuối cùng, [CLS] token được đưa qua MLP Head để phân loại.
Tại Sao Vision Transformer Lại Quan Trọng?
Khi Google Research công bố paper “An Image is Worth 16×16 Words” vào tháng 10/2020, nhiều người hoài nghi. Nhưng kết quả chứng minh ViT vượt trội CNN trên các bộ dữ liệu lớn. Trên ImageNet, ViT đạt độ chính xác cao hơn ResNet với ít tham số hơn đáng kể.
Điều quan trọng nhất ViT mang lại là tính linh hoạt. Vì sử dụng cùng kiến trúc Transformer cho cả text và ảnh, các nhà nghiên cứu có thể xây dựng multimodal model — AI hiểu đồng thời cả văn bản lẫn hình ảnh. CLIP của OpenAI, Florence của Microsoft, hay PALI của Google đều dùng ViT làm backbone thị giác.
Nếu bạn từng dùng ChatGPT để phân tích ảnh, hay Gemini mô tả nội dung bức hình, thì bên dưới đều có ViT hoặc biến thể của nó. Kiến trúc này là nền tảng cho toàn bộ làn sóng AI đa phương tiện hiện nay.
Nhược Điểm Của Vision Transformer
ViT không hoàn hảo. Điểm yếu lớn nhất là cần lượng dữ liệu khổng lồ để train. CNN học hiệu quả với 1 triệu ảnh, nhưng ViT cần ít nhất 10-100 triệu ảnh mới đạt hiệu năng tương đương. Lý do là vì CNN có “inductive bias” — kiến trúc convolution tự nhiên phù hợp với dữ liệu ảnh, trong khi ViT phải tự học mọi thứ từ đầu.
Ngoài ra, self-attention có độ phức tạp bậc hai theo số patch. Ảnh phân giải cao sẽ tạo ra rất nhiều patch, dẫn đến chi phí tính toán tăng vọt. Đây là lý do xuất hiện các biến thể như Swin Transformer (attention theo cửa sổ trượt) hay DeiT (data-efficient image transformer).
Các Biến Thể Nổi Bật Của ViT
DeiT (Data-efficient image Transformers): Giải quyết vấn đề cần nhiều dữ liệu bằng kỹ thuật distillation. DeiT đạt hiệu năng ngang CNN trên ImageNet với chỉ 1.2 triệu ảnh huấn luyện.
Swin Transformer: Chia ảnh thành cửa sổ nhỏ, tính attention trong từng cửa sổ rồi dịch chuyển. Giảm độ phức tạp từ O(n^2) xuống O(n), cho phép xử lý ảnh phân giải cao. Microsoft dùng Swin làm backbone cho nhiều task thị giác.
CLIP ViT: OpenAI kết hợp ViT với text encoder, train trên 400 triệu cặp ảnh-văn bản. CLIP có thể hiểu ảnh mà không cần nhãn, mở ra kỷ nguyên zero-shot image classification.
MAE (Masked Autoencoders): Karras và коллеги tại Meta che 75% patch của ảnh rồi yêu cầu model khôi phục. Kỹ thuật self-supervised này giúp ViT train hiệu quả mà không cần nhãn.
Ứng Dụng Thực Tế Của Vision Transformer
Vision Transformer hiện có mặt trong hầu hết ứng dụng AI thị giác máy tính hiện đại. Phân loại ảnh, phát hiện vật thể, phân đoạn ảnh — tất cả đều bị ViT “thống trị” trên các benchmark.
Trong y tế, ViT giúp phát hiện khối u từ ảnh X-ray với độ chính xác vượt bác sĩ. Trong xe tự lái, ViT nhận dạng người đi bộ, biển báo, làn đường. Trong thương mại điện tử, ViT powering visual search — bạn chụp ảnh sản phẩm, AI tìm kiếm tương tự.
Riêng trong lĩnh vực multimodal AI, ViT là thành phần không thể thiếu. Mọi model AI thế hệ mới — từ GPT-4o, Gemini, Claude 3.5 — đều dùng kiến trúc Transformer để xử lý hình ảnh, và ViT chính là nền tảng cho phần thị giác của các model này.
Nên Học Vision Transformer Khi Nào?
Nếu bạn đang tìm hiểu về deep learning cho ảnh, mình khuyên nên bắt đầu với CNN trước để hiểu convolution hoạt động ra sao. Sau khi nắm vững, hãy chuyển sang ViT. Hiểu được ViT nghĩa là bạn hiểu được cách Transformer áp dụng cho mọi loại dữ liệu — không chỉ text mà cả ảnh, âm thanh, video.
Nếu mục tiêu là xây dựng multimodal AI hoặc làm việc với các model thế hệ mới như CLIP, Stable Diffusion, hay vision-language model, thì ViT là kiến thức bắt buộc. Không có cách nào bỏ qua.
Kết Luận
Vision Transformer chứng minh rằng cơ chế Transformer là универсальный — nó không chỉ dành cho ngôn ngữ. Bằng cách biến ảnh thành chuỗi “từ” và để attention học mối quan hệ giữa chúng, ViT mở ra hướng đi mới cho thị giác máy tính. Dù còn hạn chế về chi phí tính toán và nhu cầu dữ liệu, ViT đã và đang là nền tảng cho hầu hết突破 trong AI thị giác thời gian gần đây.
Nếu bạn muốn đào sâu hơn, hãy đọc paper gốc “An Image is Worth 16×16 Words” của Dosovitskiy và cộng sự. Paper này ngắn gọn, rõ ràng, và là một trong những bài nghiên cứu có ảnh hưởng nhất trong AI thập kỷ qua.

