Долгосрочная краткосрочная память (LSTM) - нейронные сети

Долгосрочная краткосрочная память (LSTM) нейронные сети - это тип рекуррентной нейронной сети (RNN), способные к обучению долгосрочным зависимостям. Они были введены Hochreiter и Schmidhuber в 1997 году и с тех пор были совершенствованы и популяризированы, особенно в приложениях, где последовательные данные являются преобладающими. LSTM особенно эффективны для прогнозирования временных рядов, обработки естественного языка (NLP), распознавания речи и многих других задач, связанных с последовательными данными. Это подробное исследование предоставляет углубленный анализ сетей LSTM, охватывающий их архитектуру, функциональность, вариации, применения и многое другое.

Архитектура LSTM

Архитектура LSTM специально разработана для избежания проблемы долгосрочной зависимости, с которой сталкиваются традиционные RNN. LSTM вводят уникальную структуру, известную как ячейки памяти, которые отвечают за сохранение состояния ячейки во времени. Каждая ячейка памяти состоит из нескольких ключевых компонентов:

  1. Состояние ячейки (Ct): Это основной компонент, который переносит информацию через сеть на несколько временных шагов. Состояние ячейки может быть отрегулировано различными вентилями для сохранения или отброса информации.

  2. Скрытое состояние (ht): Это служит для предоставления выхода в каждом временном шаге и также передается в следующий временный шаг.

  3. Входной вентиль (it): Контролирует, какая часть входа втекает в состояние ячейки, облегчая обновление состояния ячейки новой информацией.

  4. Забывающий вентиль (ft): Решает, какая часть информации в состояния ячейки должна быть отброшена. Это помогает удалить нерелевантную информацию из прошлого.

  5. Выходной вентиль (ot): Определяет выход на основе состояния ячейки и решает, какая часть состояния ячейки течет к скрытому состоянию.

Вентили обычно активируются с использованием сигмоидных функций, тогда как обновления состояния ячейки часто включают функции tanh. Подробный пошаговый процесс расчетов LSTM в каждом временном шаге представлен ниже.

Функциональность LSTM

Функциональность LSTM может быть разбита следующим образом для данного временного шага t:

  1. Активация забывающего вентиля: ft = σ(Wf · [h(t-1), xt] + bf)

    Забывающий вентиль решает, какую информацию отбросить из состояния ячейки (C(t-1)). Здесь Wf - матрица весов, h(t-1) - предыдущее скрытое состояние, xt - текущий вход, и bf - вектор смещения.

  2. Активация входного вентиля и состояние кандидата ячейки: it = σ(Wi · [h(t-1), xt] + bi)

    Входной вентиль определяет, какую новую информацию хранить в состояние ячейки.

C̃t = tanh(WC · [h(t-1), xt] + bC)

Состояние кандидата ячейки C̃t формируется с использованием функции tanh.

  1. Обновление состояния ячейки: Ct = ft * C(t-1) + it * C̃t

    Состояние ячейки Ct подвергается обновлениям на основе активаций забывающего вентиля и входного вентиля.

  2. Активация выходного вентиля и обновление скрытого состояния: ot = σ(Wo · [h(t-1), xt] + bo)

    Выходной вентиль решает вывод из текущего состояния ячейки.

ht = ot * tanh(Ct)

Скрытое состояние ht обновляется и формирует вывод для текущего временного шага.

Эта серия операций гарантирует, что релевантная информация может быть сохранена на длительных последовательностях, решая проблему исчезающего градиента, найденную в традиционных RNN.

Вариации сетей LSTM

Несколько вариаций и улучшений стандартной архитектуры LSTM были предложены для улучшения производительности и специализации для различных задач:

  1. Двусторонний LSTM (BiLSTM): Эта вариация включает два LSTM, один обрабатывающий входную последовательность от начала к концу и другой от конца к началу. Этот подход полезен в контекстах, где будущие состояния могут улучшить точность прогноза.

  2. Многоуровневый LSTM: Прокладывает несколько слоев LSTM для увеличения емкости сети для обучения сложным закономерностям из данных.

  3. Конволюционный LSTM (ConvLSTM): Интегрирует сверточные слои с единицами LSTM, делая их подходящими для пространственно-временных данных, таких как видео.

  4. Peephole LSTM: Добавляет соединения от состояния ячейки к вентилям, позволяя вентилям прямо получать доступ к информации состояния ячейки.

  5. Связанный забывающий и входной вентиль (CIFG): Упрощает LSTM путем связывания забывающего и входного вентилей, снижая вычислительные затраты.

Применения сетей LSTM

Сети LSTM показали замечательную производительность в различных областях:

  1. Прогнозирование временных рядов: Полезен для прогнозирования фондового рынка, прогнозирования погоды и другого анализа зависящих от времени данных. Примеры компаний, использующих LSTM для прогнозирования временных рядов, включают Numerai и QuantConnect.

  2. Обработка естественного языка (NLP): Приложения варьируются от моделирования языка, машинного перевода до резюме текста. Компании, такие как Google и OpenAI, используют сети LSTM для различных задач NLP.

  3. Распознавание речи: Сети LSTM являются основополагающими при преобразовании речи в текст точно, используемыми в продуктах, таких как Google Voice Assistant и Apple Siri.

  4. Обнаружение аномалий: В кибербезопасности и обнаружении неисправностей в промышленных системах, где выявление ненормальных закономерностей в последовательностях имеет решающее значение. Компании, такие как Darktrace, применяют LSTM для этих целей.

  5. Здравоохранение: Прогностическое моделирование в записях здоровья пациентов, раннее обнаружение заболеваний и геномика. IBM Watson Health является примером.

Заключение

Долгосрочная краткосрочная память (LSTM) нейронные сети отмечают значительный прогресс в области машинного обучения, особенно для задач, связанных с последовательными данными. Их способность сохранять долгосрочные зависимости, характеризуемые сложными архитектурами с различными вентилями и состояниями, делает их мощными и универсальными моделями. Благодаря постоянным достижениям и новым вариациям, LSTM продолжают управлять инновациями в нескольких отраслях, доказывая себя незаменимыми инструментами в современном искусственном интеллекте.

Для получения дополнительной информации изучите: