FNet: Революция в смешивании токенов через преобразования Фурье 0:00
В индустрии глубокого обучения наметился тренд на переосмысление роли механизма внимания (attention mechanism), который долгое время оставался центральным элементом архитектуры Transformer. Янник Кильхер в своем обзоре статьи «FNet: Mixing Tokens with Fourier Transforms» анализирует инновационный подход исследователей из Google — Джеймса Ли Торпа, Джошуа Эйнсли, Ильи Экштейна и Сантьяго Антонио. Суть их работы заключается в попытке радикально упростить архитектуру sequence-моделей, заменив вычислительно затратные блоки внимания на быстрые и непараметризованные преобразования Фурье.
📉 Проблема квадратичной сложности внимания 0:26
Традиционный механизм внимания в моделях Transformer обладает серьезным ограничением: его вычислительная сложность и требования к памяти растут пропорционально квадрату длины последовательности $O(N^2)$.
- Маршрутизация данных: Механизм внимания фактически решает задачу маршрутизации, определяя, как информация от каждого токена должна распределяться по всей последовательности.
- Ограничение масштабируемости: Из-за квадратичной зависимости модели трудно масштабировать на длинные последовательности, что исторически ограничивало их применение, например, в компьютерном зрении.
- Альтернативы: В последние годы исследователи активно искали способы «линеаризации» внимания, пытаясь снизить сложность до $O(N)$ или $O(N \log N)$ (модели Linformer, Longformer, Reformer, Performer).
⚙️ Архитектура FNet: Фурье вместо Attention 5:14
FNet сохраняет структуру Transformer (эмбеддинги, позиционное кодирование, слои нормализации), но заменяет блоки self-attention на слой преобразования Фурье.
- Отсутствие параметров: В отличие от внимания, где веса обучаются для определения связей между токенами, слой Фурье не содержит обучаемых параметров.
- Механика работы: Модель применяет 1D-преобразование Фурье сначала к скрытому измерению (hidden dimension), а затем к последовательности (sequence domain).
- Работа с данными: По сути, это линейная трансформация, которую можно представить как умножение на заранее сконструированную матрицу. Использование только действительной части результата позволяет избежать работы с комплексными числами.
💡 Идея смешивания токенов 11:16
По мнению Кильхера, главная заслуга авторов FNet не в самом преобразовании Фурье, а в акценте на важности «смешивания» (mixing) информации между токенами.
- Локальность vs. Глобальность: Сверточные нейронные сети (CNN) ограничивают поток информации локальными окрестностями, что хорошо для изображений, но часто недостаточно для понимания структуры языка, где зависимые слова могут находиться на большом расстоянии друг от друга.
- Эффективное перераспределение: FNet доказывает: возможно, точная маршрутизация (как в Attention) не так важна, как сам факт того, что информация «перетекает» между всеми элементами последовательности.
- Взаимодействие слоев: При чередовании слоев Фурье и обычных полносвязных слоев (feed-forward), сеть попеременно работает то с отдельными токенами, то с частотными компонентами по всей последовательности.
📊 Эксперименты и производительность 21:52
Сравнивая FNet с базовой моделью BERT, автор видео делает несколько выводов о реальной эффективности подхода.
- Trade-off: FNet не превосходит классические трансформеры в точности, но предлагает значительный выигрыш в скорости обучения и работы, особенно на GPU и TPU.
- Сравнение методов: В экспериментах также участвовали «рандомный энкодер» (смешивание через случайные матрицы) и «линейный энкодер» (использующий обучаемые матрицы). FNet превосходит случайный метод, что подтверждает эффективность преобразования Фурье как способа смешивания.
- Гибридные модели: Исследователи протестировали гибридный подход — использование FNet в большинстве слоев с добавлением классического внимания в конце — который показал довольно высокие результаты.
Кильхер резюмирует, что эпоха, когда любая новая модель должна «бить SOTA» (state-of-the-art), сменяется эпохой поиска оптимальных компромиссов: FNet — отличный инструмент для задач, где важнее скорость и экономия ресурсов, а не предельная точность.