- กลไก Self-Attention แบบเดิมมีความซับซ้อน O(n²) ทำให้ขยายไปยังลำดับที่ยาวได้อย่างจำกัด
- งานวิจัยนี้นำเสนอ FFTNet ที่ใช้ Fast Fourier Transform(FFT)
- FFTNet ทำการผสมโทเค็นแบบโกลบอลด้วยความซับซ้อนด้านเวลา O(n log n)
- มีการนำ spectral filter ที่เรียนรู้ได้และ modReLU activation function มาใช้ในโดเมนความถี่ เพื่อเน้นองค์ประกอบความถี่ที่สำคัญ
- ในการทดลองบนเบนช์มาร์ก Long Range Arena(LRA) และ ImageNet แสดงประสิทธิภาพที่ดีกว่าโมเดล Self-Attention เดิมและโมเดล Fourier transform แบบคงที่
งานวิจัยที่เกี่ยวข้อง
- ความซับซ้อนของ Self-Attention : โมเดล Transformer ต้องใช้การคำนวณ O(n²) จึงไม่มีประสิทธิภาพสำหรับการประมวลผลลำดับที่ยาว
- แนวทางที่อิง Fourier : โมเดลอย่าง FNet ใช้ Fourier transform แบบคงที่ เพื่อลดภาระการคำนวณ แต่ขาดความสามารถในการปรับตามอินพุต
- เทคนิคการประมาณเชิงเส้น แบบเบาบาง และมิติต่ำ : งานอย่าง Performer, Linformer, BigBird เสนอวิธี ประมาณการคำนวณของ Self-Attention
- เทคนิคการแยกตัวประกอบเมทริกซ์ตั้งฉาก : การใช้ orthogonal transform (รวม DFT) ช่วยเพิ่มเสถียรภาพในการฝึกโมเดล
- adaptive spectral filtering : การเพิ่ม ฟิลเตอร์ที่เรียนรู้ได้ ลงในการแปลงแบบ FFT ทำให้ ยืดหยุ่นและมีพลังในการแทนข้อมูลมากกว่า วิธีเดิม
FFTNet: เทคนิค adaptive spectral filtering
แรงจูงใจ
- Self-Attention มีความซับซ้อน O(n²) และไม่มีประสิทธิภาพกับลำดับที่ยาว
- FFT ทำงานที่ O(n log n) และสามารถเข้ารหัสปฏิสัมพันธ์แบบโกลบอลได้อย่างมีประสิทธิภาพ
วิธีการ
- Fourier transform (ใช้ FFT)
- แปลงลำดับอินพุตไปยังโดเมนความถี่เพื่อจับ การพึ่งพาแบบโกลบอล ได้อย่างมีประสิทธิภาพ
- การใช้ adaptive spectral filter
- ใช้ เวกเตอร์บริบทโกลบอล เพื่อสร้างฟิลเตอร์ที่เรียนรู้ได้ และเน้นย่านความถี่สำคัญแบบไดนามิก
- modReLU non-linear activation
- ใช้ activation แบบอิง ReLU ในโดเมนความถี่เชิงซ้อนเพื่อเพิ่มพลังในการแทนข้อมูล
- inverse Fourier transform (IFFT)
- หลังใช้การกรองและ activation กับข้อมูลที่แปลงแล้ว จะถูกแปลงกลับไปยังโดเมนเวลา
พื้นฐานเชิงทฤษฎีของ FFTNet
- สามารถผสมโทเค็นแบบโกลบอลได้ด้วย ปริมาณการคำนวณ O(n log n)
- adaptive Attention: ฟิลเตอร์ที่เรียนรู้ได้ในโดเมนความถี่จะปรับความถี่ตามอินพุตที่ได้รับ
- การเพิ่มพลังการแทนข้อมูลของ non-linear activation: การใช้ modReLU ทำให้เรียนรู้แพตเทิร์นมิติสูงที่เหนือกว่าการแปลงเชิงเส้นอย่างเดียวได้
- รับประกันเสถียรภาพบนพื้นฐานของ Parseval's theorem: รักษาพลังงานของสัญญาณเพื่อลดการสูญเสียข้อมูลให้น้อยที่สุด
ผลการทดลอง
เบนช์มาร์ก Long Range Arena (LRA)
- FFTNet ทำความแม่นยำได้สูงกว่า Transformer และ FNet โดยรวม
- โดยเฉพาะในงาน ListOps, Text, Retrieval, Image และ Pathfinder ให้ผลลัพธ์ที่ดีกว่า และทำคะแนนเฉลี่ยสูงสุด
- Transformer แม้จะแสดงผลลัพธ์สูงในบางงาน แต่มีข้อจำกัดในการจัดการการพึ่งพาระยะยาว
- FNet แม้ใช้ FFT แต่เพราะเป็นการแปลงแบบคงที่จึงขาดความสามารถในการปรับตัว ทำให้ผลลัพธ์โดยรวมต่ำกว่า
- โดยเฉพาะในงาน Path-X นั้น Transformer ล้มเหลวจากหน่วยความจำเกิน(OOM) ขณะที่ FFTNet แสดงประสิทธิภาพที่เสถียร
การทดลองจัดประเภทบน ImageNet
- Vision Transformer ที่อิง FFTNet (FFTNetViT) สามารถลดปริมาณการคำนวณ(FLOPs) ได้อย่างมาก ขณะยังคงความแม่นยำใกล้เคียงกับ ViT เดิม
- ในกรณีของโมเดล Base, FFTNetViT ใช้ FLOPs น้อยกว่า ViT ราว 38% แต่ความแม่นยำเพิ่มขึ้นเล็กน้อย
- ในโมเดล Large และ Huge นั้น FFTNetViT ก็ยังคงรักษาประสิทธิภาพใกล้เคียงกับ ViT ด้วยปริมาณการคำนวณที่ต่ำกว่า
- สิ่งนี้ยืนยันได้ว่า FFTNetViT มอบประสิทธิภาพเชิงคำนวณที่สูง
Ablation Study (การวิเคราะห์ความสำคัญขององค์ประกอบแต่ละส่วน)
- มีการวิเคราะห์ผลกระทบต่อประสิทธิภาพของโมเดลโดยถอดองค์ประกอบต่าง ๆ ของ FFTNet ออก
- ยิ่งนำองค์ประกอบหลักของ FFTNet ออก ความแม่นยำก็ยิ่งมีแนวโน้มลดลง
- นำ spectral gating ออก: เมื่อความสามารถในการเน้นความถี่เฉพาะหายไป ความแม่นยำลดลงเล็กน้อย
- นำ adaptive module ออก: เมื่อความสามารถในการปรับฟิลเตอร์แบบไดนามิกตามอินพุตหายไป ความแม่นยำลดลงมากขึ้น
- ใช้ convolution แทน FFT: เมื่อความสามารถในการผสมข้อมูลโกลบอลอย่างมีประสิทธิภาพหายไป ทำให้ประสิทธิภาพลดลงมากที่สุด
- จากผลนี้ยืนยันได้ว่าแต่ละองค์ประกอบของ FFTNet มีบทบาทสำคัญต่อการเพิ่มประสิทธิภาพ
บทสรุป
- FFTNet เป็นทางเลือกที่มีประสิทธิภาพเชิงคำนวณเหนือกว่า Self-Attention
- การผสาน adaptive spectral filter และ modReLU ในโดเมนความถี่ มอบพลังในการแทนข้อมูลที่แข็งแกร่ง
- ผลการทดลองแสดงให้เห็นว่า บน LRA และ ImageNet มีทั้งประสิทธิภาพและความคุ้มค่าดีกว่าโมเดล Self-Attention เดิม
- ยังคงความซับซ้อน O(n log n) พร้อมให้ประสิทธิภาพระดับ Self-Attention จึงเหมาะกับการประมวลผลลำดับที่ยาว
- Vision Transformer ที่อิง FFTNet (FFTNetViT) ก็ทำผลงานใกล้เคียง ViT ได้ด้วย FLOPs ที่ต่ำกว่า
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
โดยพื้นฐานแล้วใช้ทฤษฎีบทคอนโวลูชัน: คอนโวลูชันที่มีต้นทุนสูงในโดเมนตรงจะกลายเป็นการคูณอย่างง่ายในโดเมนคู่กัน
Google ได้นำเสนอแนวคิดชื่อ "FNet: Mixing Tokens with Fourier Transforms" ในปี 2022
การแปลงฟูเรียร์ทำในมิติของ "โทเค็น" แต่ในหลายแอปพลิเคชัน มิตินี้ไม่ได้มีความหมายอะไร
คณิตศาสตร์ยากเกินไปจนเข้าใจได้ลำบาก สงสัยว่าจะมีใครอธิบายเป็นภาษาอังกฤษง่าย ๆ ได้ไหมว่าสิ่งนี้เทียบเท่ากับ attention อย่างไร กำลังพูดถึงความถี่แบบไหน และเข้ารหัสความสัมพันธ์เชิงตำแหน่งระหว่างโทเค็นอย่างไร
ไม่รู้ว่าจะใส่ causal masking เข้ากับเฟรมเวิร์กนี้ได้อย่างไร และไม่มีการพูดถึง positional embeddings เลย ดังนั้น implementation ของ self-attention ที่นำมาเทียบกันดูเหมือนจะเป็น NoPE แบบไม่เป็นเชิงสาเหตุ
ไม่มีการกล่าวถึง Hyena Operator ซึ่งได้สาธิต full-context mixing แบบ O(n log n) ไปแล้วตั้งแต่หลายปีก่อน
ในยุคของ telemetry ผมคิดว่าเป็นความผิดพลาดครั้งใหญ่ที่จะไม่ใช้ FFT กับ cloud telemetry เพื่อค้นหา epicycles และระบบกึ่งเสถียรก่อนจะเกิดดราม่า
สงสัยว่ามีใครมีสัญชาตญาณอธิบายได้ไหมว่าทำไมการมองสิ่งต่าง ๆ ในโดเมนความถี่ถึงช่วยได้
พอเข้าใจสัญลักษณ์ Big O อยู่บ้าง แต่เหมือนกับเรื่องส่วนใหญ่ที่เกี่ยวกับคอมพิวเตอร์หรือวิศวกรรมไฟฟ้า เรื่องนี้ก็ยังเข้าใจยาก
ไม่เข้าใจว่าทำไมต้องมี attention ด้วย fully connected layer ก็สามารถ "ใส่ใจ" อินพุตทั้งหมดได้เหมือนกัน