TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Хроники ботки

2 Jul 2024, 23:52

Открыть в Telegram Поделиться Пожаловаться

Fourier Features Let Networks Learn
High Frequency Functions in Low Dimensional Domains

https://arxiv.org/abs/2006.10739

Статья 2020 года с нипса, которая объясняет, почему же позиционные эмбединги трансформеров хорошо работают именно в таком странном виде эмбедингов из синусов и косинусов (но не только).

Основная мысль: если подавать время, позиции, координаты - т.е. числа или вектора низкой размерности - как есть, то сетка даже на обучающей выборке не может выучить высокочастотные компоненты целевой функции. А если преобразовать их в вектора высокой размерности, лежащие на гиперсфере, частным случаем чего являются позиционные эмбединги, то подобной проблемы не возникает. Такое преобразование авторы и называют fourier features. Пишут, что идея статьи пришла при работе над NERF'ом.

Общий вид изучаемых эмбедингов позиций, времени, 2d и 3d координат:
f_feat(p) =(a1*cos(2Pi*), a1*sin (2Pi*), ..., a_d *cos(2Pi*), a_d*sin(2Pi*)).
Что с ними делают:
1) пытаются теоретически объяснить, почему подобное преобразование работает лучше, чем подавать данные нейросетке в исходном виде.
2) пытаются определить качественное влияние параметров a_i, w_i на получающееся решение
3) проводят мотивирующие эксперименты

Теоретическое объяснение:
Через neural tangent kernel в несколько шагов:
1) Пусть k_ntk - это neural tangent kernel, соответствующей данной нейросети. Введем матрицу K, состояющую из значений этого ядра на обучающей выборке:
K_ij = k_ntk(xi, xj)

err_t - ошибка сетки на обучающей выборке с learning rate lr на шаге обучения t - может быть аппроксимирована с помощью выражения, использующего матрицу K:

|err_t| ~= e^(-lr *K*t) * y_t,

где y_t - вектор/матрица значений целевой функции на обучающей выборке
y_t: y_t[I] =y(x_i)

2) матрица K неотрицательно определена, поэтому можно использовать разложение K=QDQ^T, где Q ортонормированная матрица собственных векторов, а D - диагональная и D_ii>= 0:

Q^T*(err_t) ~=e^(-lr *D*t)Q^T
и
[Q^T*(err_t)]_i ~=e^(-lr *l_i*t)Q^T

3) Получается, что скорость сходимости ошибки на обучающей выборке зависит от спектра матрицы K. Если собственные значения сильно отличаются друг от друга, то разные компоненты ошибки будут сходиться с разной скоростью. А если матрица плохо обусловлена, т.е. есть собственные значения близкие к нулю, то соответствующие компоненты ошибки не сойдутся к нулю фактически никогда

4) Если же элементы обучающей выборки x_i расположены на гиперсфере, то (по другому результату)

k_ntk(x_i, x_j) =k_ntk'().

Для fourier features

norm(f_feat(x_i)) =const,
=h(x_i-x_j),

поэтому

k_ntk(f_feat(x_i), f_feat(x_j)) =k_ntk'(h(x_i-x_j)),

Т.е. neural tangent kernel зависит только от разности аргументов.

5) Из-за предыдущего равенства матрица K для выборки, преобразованной f_feat, будет матрицей стационарного ядра, и (видимо) подобная симметрия обеспечивает "хороший" спектр. В частности, K_ii =K_jj.

Пункты 3 и 5 дают нужные утверждения.

Также есть видео с красивой презентацией и наглядными визуализациями: https://youtu.be/nVA6K6Sn2S4?si=bhu-XmE-Ejk1Bhvz
и блогпост с неформальными поясениями https://bmild.github.io/fourfeat/
Fourier Features Let Networks Learn High Frequency Functions in...
We show that passing input points through a simple Fourier feature mapping enables a multilayer perceptron (MLP) to learn high-frequency functions in low-dimensional problem domains. These results...

521 1 26 6 10
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot