Máy biến đổi tầm nhìn (ViT)
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 áp dụng mô hình Transformer rất thành công, ban đầu được thiết kế cho xử lý ngôn ngữ tự nhiên (NLP) , vào các tác vụ thị giác máy tính (CV) . Được các nhà nghiên cứu của Google giới thiệu trong bài báo "An Image is Worth 16x16 Words" , ViT đại diện cho một sự thay đổi đáng kể so với các kiến trúc Mạng Nơ-ron Tích chập (CNN) đang thịnh hành. Thay vì xử lý hình ảnh bằng các bộ lọc trượt, ViT xử lý hình ảnh như một chuỗi các mảng, cho phép nó nắm bắt mối quan hệ toàn cục giữa các phần khác nhau của hình ảnh bằng cơ chế tự chú ý .
Cách thức hoạt động của Vision Transformers
Ý tưởng cốt lõi đằng sau ViT là xử lý hình ảnh theo cách mô phỏng cách Transformer xử lý văn bản. Quá trình này bao gồm một vài bước chính:
- Ghép ảnh : Ảnh đầu vào trước tiên được chia thành một lưới các mảng có kích thước cố định, không chồng lấn. Ví dụ: một ảnh 224x224 pixel có thể được chia thành 196 mảng, mỗi mảng có kích thước 16x16 pixel.
- Nhúng miếng vá : Mỗi miếng vá được làm phẳng thành một vectơ duy nhất. Các vectơ này sau đó được chiếu vào không gian chiều thấp hơn để tạo ra "nhúng miếng vá". Một "nhúng vị trí" có thể học được sẽ được thêm vào mỗi nhúng miếng vá để lưu giữ thông tin không gian.
- Bộ mã hóa Transformer : Chuỗi nhúng này được đưa vào bộ mã hóa Transformer tiêu chuẩn. Thông qua các lớp tự chú ý, mô hình học được mối quan hệ giữa tất cả các cặp bản vá, cho phép nó nắm bắt bối cảnh toàn cục trên toàn bộ hình ảnh ngay từ lớp đầu tiên.
- Đầu phân loại : Đối với các tác vụ như phân loại hình ảnh , một nhúng học được bổ sung (tương tự như mã thông báo [CLS] trong BERT ) sẽ được thêm vào chuỗi. Đầu ra tương ứng từ Bộ chuyển đổi được chuyển đến lớp phân loại cuối cùng để tạo ra dự đoán.
ViT so với CNN
Mặc dù cả ViT và CNN đều là kiến trúc nền tảng trong thị giác máy tính , nhưng cách tiếp cận của chúng lại khác nhau đáng kể:
- Độ lệch quy nạp : CNN sở hữu độ lệch quy nạp mạnh (giả định về dữ liệu) như tính cục bộ và độ tương đương dịch chuyển thông qua các lớp tích chập và gộp. ViT có độ lệch quy nạp yếu hơn nhiều, khiến chúng linh hoạt hơn nhưng cũng phụ thuộc nhiều hơn vào các mẫu học trực tiếp từ dữ liệu.
- Phụ thuộc dữ liệu : Do độ lệch yếu hơn, ViT thường yêu cầu bộ dữ liệu lớn (ví dụ: ImageNet-21k ) hoặc quá trình tiền huấn luyện mở rộng để vượt trội hơn các CNN hiện đại. Với bộ dữ liệu nhỏ hơn, CNN thường có khả năng tổng quát hóa tốt hơn. Đây là lý do tại sao học chuyển giao lại rất quan trọng đối với ViT.
- Bối cảnh toàn cục so với cục bộ : CNN xây dựng các đặc điểm phân cấp từ các mẫu cục bộ đến các mẫu toàn cục. Ngược lại, ViT có thể mô hình hóa các tương tác toàn cục giữa các mảng từ các lớp sớm nhất, có khả năng nắm bắt bối cảnh rộng hơn hiệu quả hơn cho một số tác vụ nhất định.
- Chi phí tính toán : Việc đào tạo ViT có thể tốn nhiều tài nguyên tính toán, thường đòi hỏi tài nguyên GPU đáng kể. Các nền tảng như PyTorch và TensorFlow cung cấp các triển khai để đào tạo các mô hình này.
Ứng dụng và Mô hình lai
ViT đã thể hiện hiệu suất vượt trội trong nhiều ứng dụng khác nhau, đặc biệt là khi việc hiểu bối cảnh toàn cầu là chìa khóa.
- Phân tích hình ảnh y tế : ViT rất hiệu quả trong việc phân tích các hình ảnh quét y tế như MRI hoặc hình ảnh mô bệnh học. Ví dụ, trong phát hiện khối u , ViT có thể xác định mối quan hệ giữa các mô ở xa, giúp phân loại khối u chính xác hơn so với các mô hình chỉ tập trung vào kết cấu cục bộ.
- Lái xe tự động : Trong xe tự lái, ViT có thể phân tích các cảnh phức tạp để phát hiện và phân đoạn đối tượng . Bằng cách xử lý toàn bộ cảnh trên phạm vi toàn cục, chúng có thể hiểu rõ hơn các tương tác giữa xe cộ, người đi bộ và cơ sở hạ tầng, như đã được trình bày chi tiết trong nhiều nghiên cứu AI ô tô .
Thành công của ViT cũng đã truyền cảm hứng cho các kiến trúc lai. Các mô hình như RT-DETR kết hợp xương sống CNN để trích xuất đặc điểm hiệu quả với bộ mã hóa-giải mã dựa trên Transformer để mô hình hóa các mối quan hệ đối tượng. Cách tiếp cận này nhằm mục đích tận dụng tối đa cả hai yếu tố: hiệu quả của CNN và nhận thức ngữ cảnh toàn cục của Transformer.
Đối với nhiều ứng dụng thời gian thực, đặc biệt là trên các thiết bị biên bị hạn chế về tài nguyên, các mô hình dựa trên CNN được tối ưu hóa cao như dòng Ultralytics YOLO (ví dụ: YOLOv8 và YOLO11 ) thường mang lại sự cân bằng tốt hơn giữa tốc độ và độ chính xác. Bạn có thể xem so sánh chi tiết giữa RT-DETR và YOLO11 để hiểu rõ hơn về những điểm cần cân nhắc. Việc lựa chọn giữa ViT và CNN cuối cùng phụ thuộc vào nhiệm vụ cụ thể, dữ liệu khả dụng và ngân sách tính toán.