RNN, LSTM и их ограничения
Вопрос
Расскажите, как устроены RNN и LSTM, какие проблемы решала LSTM и почему сейчас для текста берут трансформеры.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
RNN: состояние hₜ из xₜ и hₜ₋₁, общие веса по времени
BPTT и затухание или взрыв градиента на длинных зависимостях
LSTM: ячейка памяти с аддитивным обновлением и гейты
Ограничения рекуррентности: последовательная обработка, узкое горлышко состояния
Трансформеры: параллельность и прямой доступ attention; рекуррентность жива в SSM
Что могут спросить следом
- Где RNN или LSTM всё ещё уместны?
- Почему в LSTM инициализируют смещение forget gate положительным?
Разбор
Рекуррентная сеть обрабатывает последовательность по шагам: состояние hₜ вычисляется из текущего входа и прошлого состояния с одними и теми же весами, так что длина последовательности может быть любой. Обучают её обратным распространением во времени, и тут проблема: градиент от далёкого шага проходит через произведение многих якобианов и затухает или взрывается, поэтому простая RNN плохо держит зависимости на десятки шагов. Взрыв лечат клиппингом, а затухание LSTM: у неё есть ячейка памяти, которая обновляется аддитивно через forget и input gate, и при forget около 1 информация и градиент проходят почти без потерь. GRU делает то же проще. Но рекуррентность остаётся последовательной: на обучении нельзя распараллелить по времени, а вся история сжимается в вектор фиксированного размера. Трансформер обрабатывает все позиции параллельно и через attention напрямую связывает любые токены, поэтому масштабируется на огромные данные. LSTM всё ещё уместны в лёгких моделях на устройствах и в потоковых задачах, а идеи рекуррентности вернулись в моделях пространства состояний вроде Mamba.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.