Khám phá sức mạnh của Vision Transformers (ViTs) trong thị giác máy tính. Tìm hiểu cách chúng vượt trội hơn CNN bằng cách nắm bắt bối cảnh hình ảnh toàn cầu.
Vision Transformer (ViT) là một loại kiến trúc mạng nơ-ron được chuyển thể từ các mô hình Transformer ban đầu được thiết kế cho Xử lý ngôn ngữ tự nhiên (NLP) . Được giới thiệu bởi Google các nhà nghiên cứu trong bài báo "Một hình ảnh có giá trị bằng 16x16 từ" , ViTs áp dụng cơ chế tự chú ý của Transformer trực tiếp vào các chuỗi bản vá hình ảnh, coi xử lý hình ảnh như một nhiệm vụ mô hình hóa chuỗi. Cách tiếp cận này đánh dấu sự thay đổi đáng kể từ sự thống trị của Mạng nơ-ron tích chập (CNN) trong thị giác máy tính (CV) .
Thay vì xử lý hình ảnh từng pixel bằng bộ lọc tích chập , đầu tiên ViT chia hình ảnh đầu vào thành các mảng có kích thước cố định, không chồng lấn. Sau đó, các mảng này được làm phẳng thành các vectơ, nhúng tuyến tính và được tăng cường bằng các nhúng vị trí để giữ lại thông tin không gian (tương tự như cách mã hóa vị trí từ trong NLP). Chuỗi vectơ này sau đó được đưa vào bộ mã hóa Transformer chuẩn, sử dụng các lớp tự chú ý nhiều đầu để cân nhắc tầm quan trọng của các mảng khác nhau so với nhau. Đầu ra cuối cùng từ bộ mã hóa Transformer thường được chuyển đến một đầu phân loại đơn giản (như Perceptron nhiều lớp) cho các tác vụ như phân loại hình ảnh . Kiến trúc này cho phép ViT mô hình hóa các phụ thuộc tầm xa và ngữ cảnh toàn cục trong một hình ảnh một cách hiệu quả.
Vision Transformers đã trở nên cực kỳ quan trọng trong học sâu hiện đại do khả năng mở rộng và hiệu suất ấn tượng của chúng, đặc biệt là với quá trình đào tạo trước quy mô lớn trên các tập dữ liệu như ImageNet hoặc thậm chí là các tập dữ liệu độc quyền lớn hơn. Khả năng mô hình hóa bối cảnh toàn cầu của chúng khiến chúng phù hợp với nhiều tác vụ CV ngoài phân loại cơ bản, bao gồm:
ViTs ngày càng được tích hợp vào các nền tảng như Ultralytics HUB và các thư viện như Hugging Face Transformers , giúp chúng có thể truy cập được để nghiên cứu và triển khai bằng các khuôn khổ như PyTorch và TensorFlow . Chúng cũng có thể được tối ưu hóa để triển khai Edge AI trên các thiết bị như NVIDIA Jetson hoặc Google ' Edge TPU sử dụng các công cụ như TensorRT .
Mặc dù cả ViT và CNN đều là những kiến trúc nền tảng trong thị giác máy tính (xem Lịch sử các mô hình thị giác ), nhưng chúng có cách tiếp cận khác nhau đáng kể:
Sự lựa chọn giữa ViT và CNN thường phụ thuộc vào nhiệm vụ cụ thể, các tập dữ liệu có sẵn và các tài nguyên tính toán. ViT thường vượt trội khi có sẵn lượng lớn dữ liệu đào tạo và bối cảnh toàn cầu là tối quan trọng. CNN, giống như những CNN được sử dụng làm xương sống trong họ YOLO Ultralytics (ví dụ: YOLOv8 , YOLOv10 , YOLO11 ), vẫn có hiệu quả cao và hiệu suất cao, đặc biệt là đối với việc phát hiện đối tượng theo thời gian thực trên các thiết bị bị hạn chế. Kiến trúc lai kết hợp các tính năng tích chập với các lớp biến áp (như trong RT-DETR ) cũng là một hướng đi đầy hứa hẹn, cố gắng tận dụng thế mạnh của cả hai phương pháp. Tinh chỉnh các mô hình được đào tạo trước, dù dựa trên ViT hay CNN, là một phương pháp phổ biến sử dụng các kỹ thuật như học chuyển giao .