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/ye/gonzo_ML.com/857), было про state space models и в частности про S4 (https://www.group-telegram.com/ye/gonzo_ML.com/1424), было про RWKV (https://www.group-telegram.com/ye/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/ye/gonzo_ML.com/857), было про state space models и в частности про S4 (https://www.group-telegram.com/ye/gonzo_ML.com/1424), было про RWKV (https://www.group-telegram.com/ye/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: |

Right now the digital security needs of Russians and Ukrainians are very different, and they lead to very different caveats about how to mitigate the risks associated with using Telegram. For Ukrainians in Ukraine, whose physical safety is at risk because they are in a war zone, digital security is probably not their highest priority. They may value access to news and communication with their loved ones over making sure that all of their communications are encrypted in such a manner that they are indecipherable to Telegram, its employees, or governments with court orders. Either way, Durov says that he withdrew his resignation but that he was ousted from his company anyway. Subsequently, control of the company was reportedly handed to oligarchs Alisher Usmanov and Igor Sechin, both allegedly close associates of Russian leader Vladimir Putin. In view of this, the regulator has cautioned investors not to rely on such investment tips / advice received through social media platforms. It has also said investors should exercise utmost caution while taking investment decisions while dealing in the securities market. Despite Telegram's origins, its approach to users' security has privacy advocates worried. Telegram was founded in 2013 by two Russian brothers, Nikolai and Pavel Durov.
from ye


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