𝜆_𝑗 := exp(−exp(𝜈_𝑗^log) + 𝑖𝜃_𝑗), где при инициализации...
𝜆_𝑗 := exp(−exp(𝜈_𝑗^log) + 𝑖𝜃_𝑗), где при инициализации устанавливается 𝜈_𝑗^log := log(𝜈).
Эта стабильная параметризация ещё улучшает перформанс, особенно заметно на задаче Pathfinder.
А это в свою очередь позволяет поменять инициализацию значений Λ на кольце внутри единичного круга, чтобы сподвигнуть сеть к более длинным интеракциям (и улучшить long-range reasoning) и побороться с затухающими градиентами.
Здесь дело видимо не в специальной детерминистской инициализации (типа HiPPO) как таковой, а в распределении собственных значений матрицы рекуррентного слоя при инициализации.
4. Normalization. Все предыдущие изменения не позволяли достичь успеха в обучении на задаче PathX, самой сложной из отобранного бенчмарка. Оказалось важным модифицировать рекуррентную формулу так, чтобы поэлементно адаптивно масштабировать входные данные. Рекуррентность получается такая:
𝑥_𝑘 = Λ𝑥_{𝑘−1} + exp(𝛾^log) ⊙ (𝐵𝑢_𝑘),
где параметр 𝛾^log поэлементно инициализируется как
𝛾_i^log ← log(sqrt(1 − |𝜆_𝑖|^2)).
Также оказалось важным инициализировать фазу (𝜃) собственных значений в узком районе недалеко от нуля [0, 𝜋/10], это способствует выучиванию долгих закономерностей. Проверяли только на PathX.
Для всех экспериментов брали сеть с 6 слоями с residual connections + LN/BN, аналогичную сети из работы про S4 (https://t.me/gonzo_ML/1424), но с заменой всех SSM слоёв на свежесобранные LRU. Все эксперименты повторяли трижды, репортя среднее + стандартное отклонение.
Интересно, что это исследование проливает некоторый свет на причины успеха глубоких SSM, по ходу дела мы некоторые моменты упоминали, и в работе есть целый раздел с обсуждением этой темы.
Эта стабильная параметризация ещё улучшает перформанс, особенно заметно на задаче Pathfinder.
А это в свою очередь позволяет поменять инициализацию значений Λ на кольце внутри единичного круга, чтобы сподвигнуть сеть к более длинным интеракциям (и улучшить long-range reasoning) и побороться с затухающими градиентами.
Здесь дело видимо не в специальной детерминистской инициализации (типа HiPPO) как таковой, а в распределении собственных значений матрицы рекуррентного слоя при инициализации.
4. Normalization. Все предыдущие изменения не позволяли достичь успеха в обучении на задаче PathX, самой сложной из отобранного бенчмарка. Оказалось важным модифицировать рекуррентную формулу так, чтобы поэлементно адаптивно масштабировать входные данные. Рекуррентность получается такая:
𝑥_𝑘 = Λ𝑥_{𝑘−1} + exp(𝛾^log) ⊙ (𝐵𝑢_𝑘),
где параметр 𝛾^log поэлементно инициализируется как
𝛾_i^log ← log(sqrt(1 − |𝜆_𝑖|^2)).
Также оказалось важным инициализировать фазу (𝜃) собственных значений в узком районе недалеко от нуля [0, 𝜋/10], это способствует выучиванию долгих закономерностей. Проверяли только на PathX.
Для всех экспериментов брали сеть с 6 слоями с residual connections + LN/BN, аналогичную сети из работы про S4 (https://t.me/gonzo_ML/1424), но с заменой всех SSM слоёв на свежесобранные LRU. Все эксперименты повторяли трижды, репортя среднее + стандартное отклонение.
Интересно, что это исследование проливает некоторый свет на причины успеха глубоких SSM, по ходу дела мы некоторые моменты упоминали, и в работе есть целый раздел с обсуждением этой темы.
Источник: gonzo-обзоры ML статей
2023-07-24 13:54:43