Telegram Group & Telegram Channel
Resurrecting Recurrent Neural Networks for Long Sequences
Antonio Orvieto, Samuel L Smith, Albert Gu, Anushan Fernando, Caglar Gulcehre, Razvan Pascanu, Soham De
Статья: https://arxiv.org/abs/2303.06349

Продолжаем про RNN. У нас было про LEM (https://www.group-telegram.com/cn/gonzo_ML.com/857), было про state space models и в частности про S4 (https://www.group-telegram.com/cn/gonzo_ML.com/1424), было про RWKV (https://www.group-telegram.com/cn/gonzo_ML.com/1647). Ещё из сравнительно недавних работ было исследование от DeepMind. Это своего рода возврат к классике.

С RNN долгое время была проблема, что они быстры на инференс, но медленно обучаются в смысле плохо параллелятся, и их сложно обучать на длинных последовательностях. Со свежими state space models (SSM) это в целом уже не так, они и на инференс так же хороши, и обучение их параллелится, и очень длинные последовательности могут обрабатывать. Но они хоть и эквивалентны RNN в режиме инференса, в режиме обучения у них есть важные отличия типа дискретизации непрерывной системы и очень специальной инициализации, про которые, кажется, ещё не до конца ясно, какова механика работы этой кухни.

В текущей работе авторы задаются вопросом, можно ли достичь перформанса глубоких SSM традиционными глубокими RNN (причём ванильными, а не LSTM)? И отвечают, что можно. Достигают этого серией маленьких шагов, и полученную модель называют Linear Recurrent Unit (LRU).

Основные шаги таковы:

0. Vanilla RNN. Пляшем от базовой рекуррентности:

𝑥_𝑘 = 𝜎(𝐴𝑥_{𝑘−1} + 𝐵𝑢_𝑘)
𝑦_𝑘 = 𝐶𝑥_𝑘 + 𝐷𝑢_𝑘

где
(𝑢_1, 𝑢_2, . . . , 𝑢_𝐿) -- входы размерности 𝐻_in,
(𝑦_1, 𝑦_2, . . . , 𝑦_𝐿) -- выходы размерности 𝐻_out,
𝑥_𝑘 -- скрытое состояние размерности N в момент времени k,
A,B,C,D -- матрицы с обучаемыми параметрами

1. Linear Recurrences. Если SSM слои заменить на vanilla RNN, то нелинейности типа tanh или ReLU в рекуррентности приводят к сильной просадке качества. Зато если нелинейности убрать и оставить линейные рекуррентности, то всё существенно улучшается. Рекуррентная формула превращается в

𝑥_𝑘 = 𝐴𝑥_{𝑘−1} + 𝐵𝑢_𝑘.

Это интересный результат, идущий вразрез с массовым пониманием важности нелинейностей. Возможно, это также одна из причин успеха глубоких SSM, где рекуррентность тоже линейная.

Сложные нелинейные отображения при этом можно моделировать соединением линейных RNN слоёв и нелинейных MLP (в этом смысле паттерн аналогичен последовательности слоёв MHSA+MLP в трансформере). В приложении есть отдельный большой интересный раздел вокруг этого.

“any sufficiently regular nonlinear autonomous dynamical system can be made linear under a high-dimensional nonlinear blow-up of the state-space. Sounds familiar? This is exactly what a wide MLP + Linear RNN can do“

2. Complex Diagonal Recurrent Matrices. Линейную рекуррентность уже можно развернуть в легко параллелизуемую сумму. Далее dense linear RNN слои могут быть репараметризованы в комплексную диагональную форму, где матрица A заменяется на:

𝐴 = 𝑃Λ𝑃^{−1},
𝑃 ∈ ℂ^{𝑁×𝑁},
Λ = diag(𝜆1, 𝜆2, . . . , 𝜆𝑁) ∈ ℂ^{𝑁×𝑁}

Комплексные числа нужны для диагонализации несимметричных матриц. Это не ухудшает выразительность, а диагональность позволяет ещё ускорить хорошо параллелизуемые вычисления.

Проверялись на Long Range Arena (LRA). На sCIFAR диагональная линейная RNN обучалась в 8 раз быстрее обычной с ReLU, и сравнялась по скорости с авторской имплементацией S4D (диагональный вариант S4, https://arxiv.org/abs/2203.14343) и S5 (упрощённый вариант S4, https://arxiv.org/abs/2208.04933). Интересно, что это также повышает и качество на некоторых задачах типа sCIFAR и ListOps. Но кое-где понижает стабильность.

3. Stable Exponential Parameterization. Диагональная матрица репараметризуется как:

Λ = diag(exp(−𝜈 + 𝑖𝜃)), где 𝜈 ∈ ℝ^𝑁 и 𝜃 ∈ ℝ^𝑁 обучаемые параметры взамен действительной и мнимой частей Λ.

Это разъединяет магнитуду и частоту осцилляций и делает работу оптимизатора легче, что уже повышает перформанс.

Также в такой формулировке просто заэнфорсить стабильность собственных значений через нелинейность типа экспоненциальной для каждого из значений j:



group-telegram.com/gonzo_ML/1734
Create:
Last Update:

Resurrecting Recurrent Neural Networks for Long Sequences
Antonio Orvieto, Samuel L Smith, Albert Gu, Anushan Fernando, Caglar Gulcehre, Razvan Pascanu, Soham De
Статья: https://arxiv.org/abs/2303.06349

Продолжаем про RNN. У нас было про LEM (https://www.group-telegram.com/cn/gonzo_ML.com/857), было про state space models и в частности про S4 (https://www.group-telegram.com/cn/gonzo_ML.com/1424), было про RWKV (https://www.group-telegram.com/cn/gonzo_ML.com/1647). Ещё из сравнительно недавних работ было исследование от DeepMind. Это своего рода возврат к классике.

С RNN долгое время была проблема, что они быстры на инференс, но медленно обучаются в смысле плохо параллелятся, и их сложно обучать на длинных последовательностях. Со свежими state space models (SSM) это в целом уже не так, они и на инференс так же хороши, и обучение их параллелится, и очень длинные последовательности могут обрабатывать. Но они хоть и эквивалентны RNN в режиме инференса, в режиме обучения у них есть важные отличия типа дискретизации непрерывной системы и очень специальной инициализации, про которые, кажется, ещё не до конца ясно, какова механика работы этой кухни.

В текущей работе авторы задаются вопросом, можно ли достичь перформанса глубоких SSM традиционными глубокими RNN (причём ванильными, а не LSTM)? И отвечают, что можно. Достигают этого серией маленьких шагов, и полученную модель называют Linear Recurrent Unit (LRU).

Основные шаги таковы:

0. Vanilla RNN. Пляшем от базовой рекуррентности:

𝑥_𝑘 = 𝜎(𝐴𝑥_{𝑘−1} + 𝐵𝑢_𝑘)
𝑦_𝑘 = 𝐶𝑥_𝑘 + 𝐷𝑢_𝑘

где
(𝑢_1, 𝑢_2, . . . , 𝑢_𝐿) -- входы размерности 𝐻_in,
(𝑦_1, 𝑦_2, . . . , 𝑦_𝐿) -- выходы размерности 𝐻_out,
𝑥_𝑘 -- скрытое состояние размерности N в момент времени k,
A,B,C,D -- матрицы с обучаемыми параметрами

1. Linear Recurrences. Если SSM слои заменить на vanilla RNN, то нелинейности типа tanh или ReLU в рекуррентности приводят к сильной просадке качества. Зато если нелинейности убрать и оставить линейные рекуррентности, то всё существенно улучшается. Рекуррентная формула превращается в

𝑥_𝑘 = 𝐴𝑥_{𝑘−1} + 𝐵𝑢_𝑘.

Это интересный результат, идущий вразрез с массовым пониманием важности нелинейностей. Возможно, это также одна из причин успеха глубоких SSM, где рекуррентность тоже линейная.

Сложные нелинейные отображения при этом можно моделировать соединением линейных RNN слоёв и нелинейных MLP (в этом смысле паттерн аналогичен последовательности слоёв MHSA+MLP в трансформере). В приложении есть отдельный большой интересный раздел вокруг этого.

“any sufficiently regular nonlinear autonomous dynamical system can be made linear under a high-dimensional nonlinear blow-up of the state-space. Sounds familiar? This is exactly what a wide MLP + Linear RNN can do“

2. Complex Diagonal Recurrent Matrices. Линейную рекуррентность уже можно развернуть в легко параллелизуемую сумму. Далее dense linear RNN слои могут быть репараметризованы в комплексную диагональную форму, где матрица A заменяется на:

𝐴 = 𝑃Λ𝑃^{−1},
𝑃 ∈ ℂ^{𝑁×𝑁},
Λ = diag(𝜆1, 𝜆2, . . . , 𝜆𝑁) ∈ ℂ^{𝑁×𝑁}

Комплексные числа нужны для диагонализации несимметричных матриц. Это не ухудшает выразительность, а диагональность позволяет ещё ускорить хорошо параллелизуемые вычисления.

Проверялись на Long Range Arena (LRA). На sCIFAR диагональная линейная RNN обучалась в 8 раз быстрее обычной с ReLU, и сравнялась по скорости с авторской имплементацией S4D (диагональный вариант S4, https://arxiv.org/abs/2203.14343) и S5 (упрощённый вариант S4, https://arxiv.org/abs/2208.04933). Интересно, что это также повышает и качество на некоторых задачах типа sCIFAR и ListOps. Но кое-где понижает стабильность.

3. Stable Exponential Parameterization. Диагональная матрица репараметризуется как:

Λ = diag(exp(−𝜈 + 𝑖𝜃)), где 𝜈 ∈ ℝ^𝑁 и 𝜃 ∈ ℝ^𝑁 обучаемые параметры взамен действительной и мнимой частей Λ.

Это разъединяет магнитуду и частоту осцилляций и делает работу оптимизатора легче, что уже повышает перформанс.

Также в такой формулировке просто заэнфорсить стабильность собственных значений через нелинейность типа экспоненциальной для каждого из значений j:

BY gonzo-обзоры ML статей


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/gonzo_ML/1734

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

"Someone posing as a Ukrainian citizen just joins the chat and starts spreading misinformation, or gathers data, like the location of shelters," Tsekhanovska said, noting how false messages have urged Ukrainians to turn off their phones at a specific time of night, citing cybersafety. Meanwhile, a completely redesigned attachment menu appears when sending multiple photos or vides. Users can tap "X selected" (X being the number of items) at the top of the panel to preview how the album will look in the chat when it's sent, as well as rearrange or remove selected media. After fleeing Russia, the brothers founded Telegram as a way to communicate outside the Kremlin's orbit. They now run it from Dubai, and Pavel Durov says it has more than 500 million monthly active users. The Dow Jones Industrial Average fell 230 points, or 0.7%. Meanwhile, the S&P 500 and the Nasdaq Composite dropped 1.3% and 2.2%, respectively. All three indexes began the day with gains before selling off. Sebi said data, emails and other documents are being retrieved from the seized devices and detailed investigation is in progress.
from cn


Telegram gonzo-обзоры ML статей
FROM American