Новая Gated RNN от автора: теория, практические результаты и бенчмарки
Автор представил собственный вариант Gated RNN с уникальной математикой, провёл теоретический разбор, реализовал модель и сравнил её с LSTM/GRU на нескольких задачах.
В статье «Моя собственная Gated RNN: как работает? (и бенчмарки, конечно же)» автор делится результатами работы над собственным рекуррентным блоком, отличающимся от привычных LSTM и GRU.
Теория. В отличие от классических ячеек, новая Gated RNN использует два линейных преобразования‑гейта, где один отвечает за «запоминание», а второй – за «забвение» информации. Вместо сигмоидных функций автор применил hard‑sigmoid и tanh в разных комбинациях, что, по его словам, ускоряет обучение и уменьшает затраты памяти. Формулы представлены в виде простых матричных операций, легко реализуемых в PyTorch и TensorFlow.
Практика. Реализация опубликована в открытом репозитории GitHub (https://github.com/author/gated-rnn). Автор описывает процесс интеграции блока в стандартные RNN‑модели, приводит примеры кода и делится советами по настройке гиперпараметров.
Бенчмарки. На наборе задач по языковому моделированию (WikiText‑103) и предсказанию временных рядов (Electricity) Gated RNN показала:
- Скорость обучения – на 12 % быстрее, чем LSTM при том же количестве параметров;
- Качество – perplexity на WikiText‑103 = 58.7 (LSTM = 60.3, GRU = 59.1);
- Потребление памяти – на 8 % ниже, чем у GRU.
Автор отмечает, что модель пока проверялась только на небольших датасетах, но результаты обещают её использовать в более масштабных проектах.
Плюсы и минусы. Среди преимуществ – простота реализации, небольшие вычислительные затраты и конкурентные метрики. Недостатки – отсутствие официальной поддержки в популярных фреймворках и ограниченная проверка на больших corpora.
Статья полезна как для исследователей, так и для практиков, желающих экспериментировать с альтернативными рекуррентными блоками.
Эта Gated RNN открывает новые возможности для кастомных рекуррентных сетей, позволяя уменьшить вычислительные расходы без потери качества. Для студентов и разработчиков это шанс попробовать альтернативу LSTM/GRU, но стоит помнить о ограниченной поддержке и необходимости собственных тестов на крупных данных.


