Введение
RNN (Recurrent Neural Network, рекуррентная нейронная сеть) – класс нейронных сетей с обратными связями, предназначенных для обработки последовательных данных: текста, временных рядов, аудио, видео. В отличие от feedforward сетей, RNN обрабатывает последовательность поэтапно (токен за токеном), сохраняя скрытое состояние (hidden state) – сжатое «воспоминание» о предыдущих элементах.
На каждом шаге t: h_t = f(W_h · h_{t-1} + W_x · x_t + b), где h_t – новое скрытое состояние, x_t – текущий вход, W_h и W_x – матрицы весов.
История и контекст
Рекуррентные архитектуры предложены в конце 1980-х. Хорошент, Бенжио и Фраскони (1994) описали проблему vanishing gradient: при длинных последовательностях градиент затухает или взрывается при backpropagation through time. LSTM (Long Short-Term Memory, Хохрайтер и Шмидхубер, 1997) решила эту проблему через механизм ворот (gates). GRU (Cho et al., 2014) – упрощённая версия LSTM. Seq2seq с attention (Bahdanau et al., 2015) стал прорывом в NMT. С появлением Transformer (2017) RNN утратила доминирующую позицию в NLP, но остаётся актуальной для временных рядов и сигналов.
Как это работает
Основные архитектурные варианты:
- Vanilla RNN – базовая версия; страдает от vanishing gradient при длинных последовательностях (> 20–30 шагов).
- LSTM – добавляет cell state (долгосрочную память) и три gate: input gate (что записать), forget gate (что забыть), output gate (что выдать). Устойчива к последовательностям длиной 100–500 шагов.
- GRU (Gated Recurrent Unit) – упрощённый LSTM с двумя gate (reset, update). Обучается быстрее при сопоставимом качестве.
- Bidirectional RNN – два RNN, обрабатывающих последовательность в обоих направлениях; удваивает ёмкость представлений.
Где применяется
- Временные ряды – прогнозирование спроса, финансовых показателей, IoT-телеметрии.
- Распознавание речи – ASR с CTC-декодированием (наряду с Transformer).
- NLP legacy-системы – классификация текста, NER в системах, созданных до эпохи Transformer.
- Генерация текста – language modeling; заменено Transformer, но используется в resource-constrained устройствах.
- Промышленный мониторинг – детектирование аномалий в сигналах датчиков в реальном времени.
Преимущества и ограничения
Преимущества: нативная обработка последовательностей переменной длины; разделение параметров по времени; LSTM/GRU устойчивы к умеренно длинным зависимостям; инференс требует мало памяти (по одному шагу).
Ограничения: последовательная обработка не параллелизируется на GPU (в отличие от Transformer); ограниченная способность к моделированию дальних зависимостей; постепенно вытесняется Transformer в большинстве NLP-задач.
Связь с другими понятиями
RNN и CNN – две фундаментальные архитектуры нейросетей до эпохи Transformer. Transformer заменил RNN в NLP через механизм Attention: вместо последовательной обработки – параллельный расчёт весов между всеми позициями. Временной ряд – одна из ключевых областей применения RNN. Нейронная сеть – базовый строительный блок. Переобучение в RNN снижается через Dropout (между слоями, не между временными шагами).