Открыть сервис

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):

  1. Забывающий шлюз (forget gate) — решает, какую информацию из ячейки памяти удалить. На вход поступает скрытое состояние предыдущего шага (\(h_{t-1}\)) и текущий вход (\(x_t\)), после чего сигмоид выдаёт число от 0 (полное забывание) до 1 (полное сохранение).
  1. Входной шлюз (input gate) — определяет, какую новую информацию добавить в ячейку. Состоит из двух частей: сигмоидного слоя (решает, какие значения обновлять) и слоя tanh (создаёт кандидатов на добавление).
  1. Выходной шлюз (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 →