- Cơ chế Self-Attention hiện có có độ phức tạp O(n²), nên khả năng mở rộng cho các chuỗi dài bị hạn chế
- Bài báo này đề xuất FFTNet sử dụng Fast Fourier Transform (FFT)
- FFTNet thực hiện trộn token toàn cục với độ phức tạp thời gian O(n log n)
- Mô hình giới thiệu bộ lọc phổ có thể học trong miền tần số và hàm kích hoạt modReLU để nhấn mạnh các thành phần tần số quan trọng
- Trong các thí nghiệm benchmark Long Range Arena (LRA) và ImageNet, mô hình cho thấy hiệu năng vượt trội hơn Self-Attention truyền thống và các mô hình Fourier biến đổi cố định
Nghiên cứu liên quan
- Độ phức tạp của Self-Attention: Các mô hình Transformer cần lượng tính toán O(n²), nên kém hiệu quả khi xử lý chuỗi dài
- Cách tiếp cận dựa trên Fourier: Các mô hình như FNet sử dụng biến đổi Fourier cố định để giảm chi phí tính toán, nhưng thiếu khả năng thích ứng với đầu vào
- Kỹ thuật xấp xỉ tuyến tính, thưa và hạ chiều: Các nghiên cứu như Performer, Linformer, BigBird đề xuất các cách xấp xỉ phép tính của Self-Attention
- Kỹ thuật phân rã ma trận trực giao: Việc sử dụng biến đổi trực giao (bao gồm DFT) giúp cải thiện độ ổn định khi huấn luyện mô hình
- Lọc phổ thích ứng: Việc thêm bộ lọc có thể học vào biến đổi dựa trên FFT giúp phương pháp này linh hoạt hơn và có năng lực biểu diễn cao hơn so với các cách làm trước đây
FFTNet: Kỹ thuật lọc phổ thích ứng
Động cơ
- Self-Attention có độ phức tạp O(n²) và kém hiệu quả với chuỗi dài
- FFT hoạt động với độ phức tạp O(n log n) và có thể mã hóa hiệu quả các tương tác toàn cục
Phương pháp
- Biến đổi Fourier (áp dụng FFT)
- Chuyển chuỗi đầu vào sang miền tần số để nắm bắt phụ thuộc toàn cục một cách hiệu quả
- Áp dụng bộ lọc phổ thích ứng
- Sử dụng vector ngữ cảnh toàn cục để tạo bộ lọc có thể học, từ đó nhấn mạnh động các dải tần quan trọng
- Kích hoạt phi tuyến modReLU
- Áp dụng kích hoạt dựa trên ReLU trong miền tần số phức để tăng năng lực biểu diễn
- Biến đổi Fourier ngược (IFFT)
- Sau khi áp dụng lọc và kích hoạt lên dữ liệu đã biến đổi, mô hình chuyển dữ liệu trở lại miền thời gian
Cơ sở lý thuyết của FFTNet
- Có thể thực hiện trộn token toàn cục với chi phí tính toán O(n log n)
- Attention thích ứng: Bộ lọc có thể học trong miền tần số điều chỉnh tần số theo đầu vào được cung cấp
- Tăng cường năng lực biểu diễn của kích hoạt phi tuyến: Việc áp dụng modReLU cho phép học các mẫu bậc cao vượt ra ngoài biến đổi tuyến tính đơn giản
- Đảm bảo ổn định dựa trên định lý Parseval: Bảo toàn năng lượng của tín hiệu để giảm thiểu mất mát thông tin
Kết quả thực nghiệm
Benchmark Long Range Arena (LRA)
- FFTNet ghi nhận độ chính xác nhìn chung cao hơn Transformer và FNet
- Đặc biệt, mô hình cho kết quả tốt hơn trên các tác vụ ListOps, Text, Retrieval, Image, Pathfinder và đạt điểm trung bình cao nhất
- Transformer cho hiệu năng cao ở một số tác vụ, nhưng có giới hạn trong việc xử lý phụ thuộc dài hạn
- FNet cũng sử dụng FFT, nhưng do cơ chế biến đổi cố định thiếu tính thích ứng nên nhìn chung cho hiệu năng thấp hơn
- Đặc biệt, ở tác vụ Path-X, Transformer thất bại do vượt bộ nhớ (OOM), trong khi FFTNet cho hiệu năng ổn định
Thí nghiệm phân loại ImageNet
- Vision Transformer dựa trên FFTNet (FFTNetViT) duy trì độ chính xác tương đương ViT truyền thống trong khi giảm đáng kể lượng tính toán (FLOPs)
- Với mô hình Base, FFTNetViT sử dụng ít FLOPs hơn khoảng 38% so với ViT nhưng độ chính xác vẫn tăng nhẹ
- Ở các mô hình Large và Huge, FFTNetViT cũng duy trì hiệu năng tương đương ViT với chi phí tính toán thấp hơn
- Điều này cho thấy FFTNetViT mang lại hiệu quả tính toán cao
Nghiên cứu ablation (phân tích tầm quan trọng của từng thành phần)
- Nghiên cứu phân tích ảnh hưởng đến hiệu năng của mô hình khi loại bỏ các thành phần khác nhau của FFTNet
- Khi loại bỏ các thành phần chính của FFTNet, độ chính xác có xu hướng giảm
- Loại bỏ spectral gating: Chức năng nhấn mạnh các tần số cụ thể biến mất, khiến độ chính xác giảm nhẹ
- Loại bỏ mô-đun thích ứng: Chức năng điều chỉnh bộ lọc động theo đầu vào không còn, làm độ chính xác giảm thêm
- Dùng tích chập thay cho FFT: Khả năng trộn hiệu quả thông tin toàn cục biến mất, dẫn đến mức suy giảm hiệu năng lớn nhất
- Qua đó có thể xác nhận rằng mỗi thành phần của FFTNet đều đóng vai trò quan trọng trong việc cải thiện hiệu năng
Kết luận
- FFTNet là một phương án thay thế có hiệu quả tính toán vượt trội so với Self-Attention
- Việc kết hợp bộ lọc phổ thích ứng và modReLU trong miền tần số mang lại năng lực biểu diễn mạnh mẽ
- Kết quả thực nghiệm cho thấy hiệu năng và hiệu quả vượt trội hơn các mô hình Self-Attention hiện có trên LRA và ImageNet
- Duy trì độ phức tạp O(n log n) nhưng vẫn cung cấp hiệu năng ở mức Self-Attention, nên phù hợp cho xử lý chuỗi dài
- Vision Transformer dựa trên FFTNet (FFTNetViT) cũng đạt hiệu năng tương đương ViT với FLOPs thấp hơn
1 bình luận
Ý kiến trên Hacker News
Về cơ bản là tận dụng định lý tích chập: phép tích chập đắt đỏ trong không gian trực tiếp trở thành phép nhân đơn giản trong không gian đối ngẫu
Google đã giới thiệu ý tưởng "FNet: Mixing Tokens with Fourier Transforms" vào năm 2022
Biến đổi Fourier được thực hiện trên chiều "token". Nhưng trong nhiều ứng dụng, chiều này không có nhiều ý nghĩa
Phần toán quá khó nên rất khó hiểu. Không biết có ai có thể giải thích bằng tiếng Anh đơn giản xem nó tương đương với cơ chế attention như thế nào, đang nói đến những tần số nào, và cách nó mã hóa quan hệ vị trí giữa các token ra sao không
Không rõ làm sao có thể áp dụng causal masking vào framework này. Cũng không thấy nhắc đến positional embedding, nên có vẻ phần self-attention được đem ra so sánh là NoPE phi nhân quả
Không thấy nhắc đến Hyena Operator, thứ đã trình diễn việc trộn toàn bộ ngữ cảnh với độ phức tạp O(n log n) từ vài năm trước
Trong thời đại telemetry, tôi nghĩ không áp dụng FFT cho cloud telemetry để phát hiện các epicycle và hệ thống bán ổn định trước khi chúng gây ra sự cố là một sai lầm lớn
Không biết có ai có trực giác tốt về việc vì sao nhìn mọi thứ trong miền tần số lại hữu ích không
Tôi hiểu phần nào ký pháp Big O, nhưng cũng như đa số thứ liên quan đến máy tính hay kỹ thuật điện, cái này vẫn rất khó nắm bắt
Tôi không hiểu vì sao attention lại cần thiết. Một lớp fully connected cũng có thể "chú ý" đến mọi đầu vào