TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
cv links

3 Jul 2024, 08:38

Open in Telegram Share Report

Forward from: Хроники ботки
Fourier Features Let Networks Learn
High Frequency Functions in Low Dimensional Domains

https://arxiv.org/abs/2006.10739

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

Основная мысль: если подавать время, позиции, координаты как есть, то сетка даже на обучающей выборке не может выучить высокочастотные компоненты целевой функции. А если делать "позиционные эмбединги", преобразование f_feat(p), то подобной проблемы не возникает.
Пишут, что идея статьи пришла при работе над NERF'ом.

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

Теоретическое объяснение:
Через neural tangent kernel в несколько шагов:
1) err_t - ошибка сетки на обучающей выборке с learning rate lr на шаге обучения t - может быть аппроксимирована с помощью выражения, использующего матрицу K: K_ij = k_ntk(xi, xj)

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

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))

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...

8 0 0
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot