Долгосрочная краткосрочная память (LSTM) - нейронные сети
Долгосрочная краткосрочная память (LSTM) нейронные сети - это тип рекуррентной нейронной сети (RNN), способные к обучению долгосрочным зависимостям. Они были введены Hochreiter и Schmidhuber в 1997 году и с тех пор были совершенствованы и популяризированы, особенно в приложениях, где последовательные данные являются преобладающими. LSTM особенно эффективны для прогнозирования временных рядов, обработки естественного языка (NLP), распознавания речи и многих других задач, связанных с последовательными данными. Это подробное исследование предоставляет углубленный анализ сетей LSTM, охватывающий их архитектуру, функциональность, вариации, применения и многое другое.
Архитектура LSTM
Архитектура LSTM специально разработана для избежания проблемы долгосрочной зависимости, с которой сталкиваются традиционные RNN. LSTM вводят уникальную структуру, известную как ячейки памяти, которые отвечают за сохранение состояния ячейки во времени. Каждая ячейка памяти состоит из нескольких ключевых компонентов:
-
Состояние ячейки (Ct): Это основной компонент, который переносит информацию через сеть на несколько временных шагов. Состояние ячейки может быть отрегулировано различными вентилями для сохранения или отброса информации.
-
Скрытое состояние (ht): Это служит для предоставления выхода в каждом временном шаге и также передается в следующий временный шаг.
-
Входной вентиль (it): Контролирует, какая часть входа втекает в состояние ячейки, облегчая обновление состояния ячейки новой информацией.
-
Забывающий вентиль (ft): Решает, какая часть информации в состояния ячейки должна быть отброшена. Это помогает удалить нерелевантную информацию из прошлого.
-
Выходной вентиль (ot): Определяет выход на основе состояния ячейки и решает, какая часть состояния ячейки течет к скрытому состоянию.
Вентили обычно активируются с использованием сигмоидных функций, тогда как обновления состояния ячейки часто включают функции tanh. Подробный пошаговый процесс расчетов LSTM в каждом временном шаге представлен ниже.
Функциональность LSTM
Функциональность LSTM может быть разбита следующим образом для данного временного шага t:
- Активация забывающего вентиля:
ft = σ(Wf · [h(t-1), xt] + bf)
Забывающий вентиль решает, какую информацию отбросить из состояния ячейки (C(t-1)). Здесь Wf - матрица весов, h(t-1) - предыдущее скрытое состояние, xt - текущий вход, и bf - вектор смещения.
- Активация входного вентиля и состояние кандидата ячейки:
it = σ(Wi · [h(t-1), xt] + bi)
Входной вентиль определяет, какую новую информацию хранить в состояние ячейки.
C̃t = tanh(WC · [h(t-1), xt] + bC)
Состояние кандидата ячейки C̃t формируется с использованием функции tanh.
- Обновление состояния ячейки:
Ct = ft * C(t-1) + it * C̃t
Состояние ячейки Ct подвергается обновлениям на основе активаций забывающего вентиля и входного вентиля.
- Активация выходного вентиля и обновление скрытого состояния:
ot = σ(Wo · [h(t-1), xt] + bo)
Выходной вентиль решает вывод из текущего состояния ячейки.
ht = ot * tanh(Ct)
Скрытое состояние ht обновляется и формирует вывод для текущего временного шага.
Эта серия операций гарантирует, что релевантная информация может быть сохранена на длительных последовательностях, решая проблему исчезающего градиента, найденную в традиционных RNN.
Вариации сетей LSTM
Несколько вариаций и улучшений стандартной архитектуры LSTM были предложены для улучшения производительности и специализации для различных задач:
-
Двусторонний LSTM (BiLSTM): Эта вариация включает два LSTM, один обрабатывающий входную последовательность от начала к концу и другой от конца к началу. Этот подход полезен в контекстах, где будущие состояния могут улучшить точность прогноза.
-
Многоуровневый LSTM: Прокладывает несколько слоев LSTM для увеличения емкости сети для обучения сложным закономерностям из данных.
-
Конволюционный LSTM (ConvLSTM): Интегрирует сверточные слои с единицами LSTM, делая их подходящими для пространственно-временных данных, таких как видео.
-
Peephole LSTM: Добавляет соединения от состояния ячейки к вентилям, позволяя вентилям прямо получать доступ к информации состояния ячейки.
-
Связанный забывающий и входной вентиль (CIFG): Упрощает LSTM путем связывания забывающего и входного вентилей, снижая вычислительные затраты.
Применения сетей LSTM
Сети LSTM показали замечательную производительность в различных областях:
-
Прогнозирование временных рядов: Полезен для прогнозирования фондового рынка, прогнозирования погоды и другого анализа зависящих от времени данных. Примеры компаний, использующих LSTM для прогнозирования временных рядов, включают Numerai и QuantConnect.
-
Обработка естественного языка (NLP): Приложения варьируются от моделирования языка, машинного перевода до резюме текста. Компании, такие как Google и OpenAI, используют сети LSTM для различных задач NLP.
-
Распознавание речи: Сети LSTM являются основополагающими при преобразовании речи в текст точно, используемыми в продуктах, таких как Google Voice Assistant и Apple Siri.
-
Обнаружение аномалий: В кибербезопасности и обнаружении неисправностей в промышленных системах, где выявление ненормальных закономерностей в последовательностях имеет решающее значение. Компании, такие как Darktrace, применяют LSTM для этих целей.
-
Здравоохранение: Прогностическое моделирование в записях здоровья пациентов, раннее обнаружение заболеваний и геномика. IBM Watson Health является примером.
Заключение
Долгосрочная краткосрочная память (LSTM) нейронные сети отмечают значительный прогресс в области машинного обучения, особенно для задач, связанных с последовательными данными. Их способность сохранять долгосрочные зависимости, характеризуемые сложными архитектурами с различными вентилями и состояниями, делает их мощными и универсальными моделями. Благодаря постоянным достижениям и новым вариациям, LSTM продолжают управлять инновациями в нескольких отраслях, доказывая себя незаменимыми инструментами в современном искусственном интеллекте.
Для получения дополнительной информации изучите:
- Numerai
- QuantConnect
- Google AI
- OpenAI
- Darktrace
- IBM Watson Health