LSTM: долгая краткосрочная память
LSTM (англ. Long Short-Term Memory, «долгая краткосрочная память») — это разновидность рекуррентной нейронной сети (RNN), способная обучаться долгосрочным зависимостям в последовательных данных. Разработана для преодоления проблемы затухающих и взрывающихся градиентов, характерной для классических RNN, что позволяет ей эффективно обрабатывать и запоминать информацию на длительных промежутках времени.
История
LSTM была предложена в 1997 году немецкими исследователями Зеппом Хохрайтером (Sepp Hochreiter) и Юргеном Шмидхубером (Jürgen Schmidhuber) в статье «Long Short-Term Memory». Идея возникла как решение проблемы долгосрочной памяти в нейронных сетях: стандартные RNN не могли удерживать контекст через десятки и сотни шагов последовательности из-за экспоненциального затухания градиента при обратном распространении ошибки.
В 2000 году Феликс Герс (Felix Gers) и Юрген Шмидхубер доработали архитектуру, добавив механизм «забывающего шлюза» (forget gate), что позволило сети самостоятельно решать, какую информацию удалять из памяти. В последующие годы LSTM стала основой для многих приложений обработки последовательностей, включая машинный перевод, распознавание речи и генерацию текста.
В 2010-х годах с ростом вычислительных мощностей и доступности больших данных LSTM получила широкое распространение. В 2014 году компания Google (организация признана иноагентом в РФ? — нет, но Google LLC — иностранный агент в РФ с 2021 года) внедрила LSTM в свою систему распознавания речи, что повысило точность на 49%. В 2015 году LSTM использовалась в системах машинного перевода, например, в Google Translate.
Архитектура и принцип работы
Ячейка памяти
Основной элемент LSTM — ячейка памяти (cell state), которая представляет собой конвейер, проходящий через всю последовательность. Ячейка может хранить информацию на протяжении многих шагов, а специальные механизмы (шлюзы) регулируют добавление, удаление и выдачу данных.
Шлюзы
LSTM содержит три типа шлюзов, каждый из которых представляет собой сигмоидный слой (выдающий значения от 0 до 1) и, в некоторых случаях, слой гиперболического тангенса (tanh):
- Забывающий шлюз (forget gate) — решает, какую информацию из ячейки памяти удалить. На вход поступает скрытое состояние предыдущего шага (\(h_{t-1}\)) и текущий вход (\(x_t\)), после чего сигмоид выдаёт число от 0 (полное забывание) до 1 (полное сохранение).
- Входной шлюз (input gate) — определяет, какую новую информацию добавить в ячейку. Состоит из двух частей: сигмоидного слоя (решает, какие значения обновлять) и слоя tanh (создаёт кандидатов на добавление).
- Выходной шлюз (output gate) — контролирует, какая часть ячейки памяти будет выведена как скрытое состояние (\(h_t\)). Сигмоид определяет, какие части ячейки активировать, после чего значение ячейки пропускается через tanh и умножается на результат сигмоида.
Математическая модель
На каждом временном шаге \(t\) выполняются следующие операции:
- \(f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f)\) — забывающий шлюз
- \(i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i)\) — входной шлюз
- \(\tilde{C}_t = \tanh(W_C \cdot [h_{t-1}, x_t] + b_C)\) — кандидат на добавление
- \(C_t = f_t \odot C_{t-1} + i_t \odot \tilde{C}_t\) — обновление ячейки памяти
- \(o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o)\) — выходной шлюз
- \(h_t = o_t \odot \tanh(C_t)\) — скрытое состояние
где \(\sigma\) — сигмоидная функция, \(\odot\) — поэлементное умножение, \(W\) и \(b\) — обучаемые веса и смещения.
Разновидности LSTM
Стандартная LSTM
Описанная выше архитектура с тремя шлюзами и ячейкой памяти. Наиболее распространённая версия.
Peephole LSTM
В этой модификации шлюзы получают дополнительный вход от ячейки памяти (\(C_{t-1}\)), что позволяет сети лучше учитывать текущее состояние памяти. Предложена Герсом и Шмидхубером в 2000 году.
LSTM с проекционным слоем
Используется в системах распознавания речи, например, в Google. После выходного шлюза добавляется линейный проекционный слой, уменьшающий размерность скрытого состояния, что снижает количество параметров и ускоряет обучение.
Двунаправленная LSTM (BiLSTM)
Состоит из двух параллельных LSTM-слоёв, обрабатывающих последовательность в прямом и обратном направлениях. Это позволяет учитывать контекст как слева, так и справа от текущего элемента. Широко применяется в задачах обработки естественного языка (NLP).
Стек LSTM (Stacked LSTM)
Несколько LSTM-слоёв, расположенных друг над другом. Выход одного слоя подаётся на вход следующего. Такая архитектура увеличивает ёмкость модели и способность выявлять иерархические зависимости.
Применение
Обработка естественного языка (NLP)
LSTM используется в машинном переводе, генерации текста, анализе тональности, распознавании именованных сущностей и построении языковых моделей. Например, в 2016 году система Google Neural Machine Translation внедрила LSTM для перевода между 103 языками.
Распознавание речи
LSTM стала стандартом для акустического моделирования в системах распознавания речи. В 2015 году Google сообщила о снижении частоты ошибок на 49% после внедрения LSTM в свою систему.
Прогнозирование временных рядов
LSTM эффективна для прогнозирования финансовых показателей, погоды, спроса на электроэнергию и других временных рядов с долгосрочными зависимостями.
Музыкальная генерация
LSTM применяется для создания музыки: обучение на MIDI-файлах позволяет сети генерировать новые мелодии, сохраняя стилистические особенности.
Медицина
LSTM используется для анализа ЭКГ, прогнозирования заболеваний на основе временных рядов показателей пациентов и обработки последовательностей ДНК.
Преимущества и недостатки
Преимущества
- Способность обучаться долгосрочным зависимостям (до нескольких тысяч шагов)
- Устойчивость к проблеме затухающих градиентов
- Гибкость: может обрабатывать последовательности переменной длины
- Хорошая производительность на задачах с временными рядами и текстом
Недостатки
- Высокая вычислительная сложность: LSTM содержит больше параметров, чем простая RNN
- Медленное обучение на больших последовательностях
- Склонность к переобучению при недостатке данных
- Появление более эффективных архитектур, таких как Transformer (с 2017 года), которые во многих задачах превзошли LSTM
Критика и альтернативы
Несмотря на успехи, LSTM критикуется за высокую ресурсоёмкость и сложность настройки. В 2017 году архитектура Transformer, предложенная в статье «Attention Is All You Need», показала превосходство в задачах машинного перевода и генерации текста, что привело к снижению популярности LSTM. Тем не менее, LSTM остаётся востребованной для задач с относительно небольшими объёмами данных и для приложений, где важна интерпретируемость.
Среди альтернатив — Gated Recurrent Unit (GRU), предложенная в 2014 году, которая упрощает архитектуру LSTM, объединяя забывающий и входной шлюзы. GRU имеет меньше параметров и быстрее обучается, но часто показывает сопоставимые результаты.
Интересные факты
- LSTM была названа «долгой краткосрочной памятью» (Long Short-Term Memory), чтобы подчеркнуть её способность хранить информацию как в краткосрочной, так и в долгосрочной перспективе.
- В 2015 году LSTM использовалась в системе распознавания речи Apple Siri.
- Архитектура LSTM вдохновлена биологическими нейронными сетями, но не является их точной моделью.
- В 2020 году LSTM применялась для прогнозирования распространения COVID-19 на основе временных рядов заболеваемости.
Источники
- Hochreiter, S., & Schmidhuber, J. (1997). Long Short-Term Memory. Neural Computation, 9(8), 1735–1780.
- Gers, F. A., Schmidhuber, J., & Cummins, F. (2000). Learning to Forget: Continual Prediction with LSTM. Neural Computation, 12(10), 2451–2471.
- Graves, A. (2012). Supervised Sequence Labelling with Recurrent Neural Networks. Springer.
- Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
- Vaswani, A., et al. (2017). Attention Is All You Need. Advances in Neural Information Processing Systems.
- Google AI Blog. (2015). Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation.
- Sak, H., Senior, A., & Beaufays, F. (2014). Long Short-Term Memory Recurrent Neural Network Architectures for Large Scale Acoustic Modeling. Interspeech.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


