Giới thiệu
Bài báo này giới thiệu mô hình ViViT, một loại mô hình Transformer hoàn toàn mới được thiết kế đặc biệt cho bài toán phân loại video. ViViT sử dụng cơ chế tự chú ý (self-attention) để xử lý các token không gian-thời gian (spatio-temporal tokens) được trích xuất từ video đầu vào.
Đóng góp chính
Mô hình ViViT nổi bật nhờ vào khả năng xử lý hiệu quả khối lượng lớn các token spatio-temporal, điều này là rất cần thiết trong lĩnh vực video classification. Nhóm tác giả đã đề xuất nhiều kỹ thuật tối ưu hóa nhằm cải thiện hiệu năng và khả năng mở rộng cho mô hình. Đặc biệt, họ cũng phát triển các phương pháp regularization trong quá trình huấn luyện, giúp mô hình hoạt động tốt hơn trên các tập dữ liệu nhỏ. ViViT đã đạt được kết quả SOTA (State of the Art) trên nhiều bộ dữ liệu tiêu chuẩn như Kinetics 400, Kinetics 600, và Epic Kitchens 100.
Tổng quan về Vision Transformer
Để hiểu rõ về mô hình ViViT, trước tiên chúng ta cần xem xét mô hình Vision Transformer (ViT) dùng cho hình ảnh. Mô hình ViT nhận các patch ảnh, sau đó trải qua bước chuyển đổi tuyến tính để tạo ra các patch embedding. Các embedding này được kết hợp với vị trí (positional embedding) và trở thành các token để đưa vào encoder.
Chiến lược nhúng video
Việc nhúng video vào mô hình là một thách thức lớn. Nhóm tác giả đã áp dụng hai phương pháp nhúng: Uniform frame sampling và Tubelet embedding. Cả hai phương pháp này đều giúp chuyển đổi video V có hình dạng (T, H, W, C) thành các token để xử lý trong mạng.
Phương pháp 1: Uniform frame sampling
Đây là phương pháp đơn giản, trong đó nhóm tác giả lấy mẫu một số frame từ video và xử lý từng frame giống như phương pháp ViT, cuối cùng kết hợp chúng thành các token.
Phương pháp 2: Tubelet embedding
Khác với uniform sampling, tubelet embedding cho phép trích xuất các ống (tube) spatio-temporal từ video, để đảm bảo thông tin không gian-thời gian được tích hợp chặt chẽ hơn. Điều này giúp mô hình tận dụng ưu thế của 3D convolution.
Kiến trúc Transformer cho video
Nhóm tác giả đã phát triển 4 kiến trúc transformer khác nhau cho video, từ spatio-temporal attention thuần túy đến các mô hình phức tạp hơn như Factorised Encoder và Factorised Dot-Product Attention.
Mô hình 1: Spatio-temporal attention
Mỗi lớp transformer sẽ mô hình hóa tất cả các tương tác giữa các token spatio-temporal. Tuy nhiên, độ phức tạp của mô hình này tăng theo bậc hai với số lượng token, gây khó khăn trong việc xử lý video dài.
Mô hình 2: Factorised encoder
Mô hình này chia thành hai encoder khác nhau: spatial encoder và temporal encoder, giúp giảm thiểu độ phức tạp tính toán mà vẫn giữ nguyên hiệu suất.
Mô hình 3: Factorised self-attention
Model này tách biệt giữa không gian và thời gian trong quá trình tính toán attention, mà vẫn đảm bảo chất lượng chính xác của các dự báo.
Mô hình 4: Factorised dot-product attention
Kiến trúc này vẫn giữ nguyên số lượng tham số như mô hình 1 nhưng giảm độ phức tạp thông qua việc sử dụng các head khác nhau để dự đoán temporal và spatial attention.
Kết quả thực nghiệm
Các bài thử nghiệm cho thấy cơ chế nhúng và kiến trúc khác nhau của ViViT có ảnh hưởng lớn đến độ chính xác của mô hình. Những nghiên cứu này đã tạo ra các so sánh đáng kể về hiệu suất trên nhiều tập dữ liệu khác nhau.
Kết luận
ViViT mở ra một hướng đi mới cho việc phát triển các mô hình video chất lượng cao và hứa hẹn sẽ phát triển thêm nhiều ứng dụng trong các lĩnh vực như nhận diện hành động và video understanding.
Tham khảo
- ViViT: A Video Vision Transformer
- GitHub - scenic
- AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE
source: viblo