Модуль 7: Работа с последовательностями. RNN и LSTM
Задача модуля: Подготовить почву для понимания текста и контекста.
Природа последовательных данных
Текст, временные ряды, звук — данные с порядком: важен не только набор элементов, но и их последовательность. Полносвязная сеть не видит порядка: «мешок слов» теряет контекст. Для «последовательности» нужна архитектура, которая явно передаёт информацию вдоль оси времени.
Рекуррентные нейросети (RNN)
Идея памяти: скрытое состояние h передаётся с шага на шаг. На каждом шаге t сеть получает вход x_t и предыдущее h_{t−1}, выдаёт новый h_t и (при необходимости) выход y_t. Развёртка сети во времени — одна и та же ячейка повторяется для каждого шага, веса общие. Так модель может использовать информацию из прошлого.
Проблема долгосрочной памяти
Простая RNN при длинных последовательностях «забывает» начало: градиент при обратном распространении по времени затухает (или взрывается), и веса почти не получают сигнала от далёких шагов. Для длинных предложений и документов этого недостаточно.
LSTM (Long Short-Term Memory)
Вентили: забывания (forget) — что выбросить из ячейки; входа (input) — что записать; выхода (output) — что выдать наружу. Специальная ячейка (cell state) проводит информацию через время с минимальными изменениями; вентили решают, когда добавлять/удалять. Так LSTM сохраняет долгосрочную зависимость и решает проблему затухания градиента в RNN. Основа многих старых моделей для текста и рядов; сейчас часто заменяется трансформерами.