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

Just days after Russia invaded Ukraine, Durov wrote that Telegram was "increasingly becoming a source of unverified information," and he worried about the app being used to "incite ethnic hatred." Markets continued to grapple with the economic and corporate earnings implications relating to the Russia-Ukraine conflict. “We have a ton of uncertainty right now,” said Stephanie Link, chief investment strategist and portfolio manager at Hightower Advisors. “We’re dealing with a war, we’re dealing with inflation. We don’t know what it means to earnings.” The original Telegram channel has expanded into a web of accounts for different locations, including specific pages made for individual Russian cities. There's also an English-language website, which states it is owned by the people who run the Telegram channels. Ukrainian President Volodymyr Zelensky said in a video message on Tuesday that Ukrainian forces "destroy the invaders wherever we can." Overall, extreme levels of fear in the market seems to have morphed into something more resembling concern. For example, the Cboe Volatility Index fell from its 2022 peak of 36, which it hit Monday, to around 30 on Friday, a sign of easing tensions. Meanwhile, while the price of WTI crude oil slipped from Sunday’s multiyear high $130 of barrel to $109 a pop. Markets have been expecting heavy restrictions on Russian oil, some of which the U.S. has already imposed, and that would reduce the global supply and bring about even more burdensome inflation.
from ca


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