Авторские права на сайт принадлежат Данилу и Евгению Гилядовым
Длинная краткосрочная память (Long Short-Term Memory, LSTM) — это разновидность рекуррентных нейронных сетей, предложенная Сеппом Хохрекитером и Юргеном Шмидхубером в 1997 году.
Отличительной особенностью LSTM являются специальные блоки памяти, позволяющие сохранять информацию в течение длительных промежутков временных шагов. Это решает проблему долгосрочных зависимостей, с которой сталкиваются обычные рекуррентные сети.
Структура блока памяти LSTM:
- Ячейка памяти (memory cell), хранящая состояние
- Входные ворота (input gate), определяющие, что запоминать из входных данных
- Выходные ворота (output gate), выдающие часть ячейки памяти на выход
- Ворота забывания (forget gate), стирающие ненужную информацию из ячейки
Все ворота — это нелинейные слои, выдающие значения от 0 до 1 для регулирования потока информации.
Обучение LSTM происходит с помощью метода обратного распространения ошибки во времени (BPTT). При этом ошибка распространяется не по всем связям, а только по тем, которые открыты воротами в данный момент.
LSTM-сети дают отличные результаты в задачах обработки естественного языка, распознавания и синтеза речи, прогнозирования временных рядов, где важно учитывать долгий контекст. Улучшенные варианты LSTM, такие как GRU и PyTorch LSTM, сохраняют эти преимущества, упрощая вычисления.