Truncated BPTT для длинных последовательностей
Как обучать LSTM на последовательности длиной 100k шагов, если полный backprop слишком дорогой?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Последовательность режут на окна, hidden state переносят вперед, а граф градиентов периодически detach-ят. Это ограничивает память и длину backprop.
Полный разбор
Полный backpropagation through time по 100k шагов хранит слишком много активаций и дает нестабильные градиенты. Truncated BPTT обрабатывает последовательность чанками: состояние переносится между окнами, но computational graph обрывается через detach на границе.
Длина окна выбирается как компромисс между дальним контекстом, памятью и стабильностью обучения. Дополнительно используют gradient clipping, padding/masking, bucketing по длинам и иногда архитектуры с attention/temporal convolution, если зависимость слишком дальняя для LSTM.