
Проблема долговременных зависимостей
Для обработки зависимостей в последовательных данных зачастую используются рекуррентные нейронные сети (RNN). Рекуррентные нейронные сети решают проблему традиционных нейронных сетей, которые не могут учитывать предшествующую информацию при обработке данных. В отличие от них, RNN имеют обратные связи, что позволяет сохранять контекст и использовать предыдущий опыт для предсказания текущих событий, например, в последовательностях текста или видео.
Рекуррентная нейронная сеть в развертке
RNN могут быть полезны для задач, где требуется связывать предыдущую информацию с текущей, например, в языковых моделях. Однако их эффективность зависит от расстояния между актуальной информацией и моментом её применения. В случаях, когда эта дистанция мала, как при предсказании ближайшего слова, RNN справляются хорошо. Но если требуется учесть более далёкий контекст, к примеру в предложениях с отдалённой связью, RNN теряют способность эффективно использовать эту информацию.
Сети LSTM
Долгая краткосрочная память (LSTM) — это разновидность рекуррентных нейронных сетей, способная обучаться долговременным зависимостям. Разработанные Хохрайтером и Шмидхубером в 1997 году, LSTM решают проблему долговременной зависимости, эффективно запоминая информацию на длительные периоды. В отличие от обычных RNN, чьи модули имеют простую структуру, LSTM специально спроектированы для хранения информации на долгих промежутках времени, что делает их широко применимыми для сложных задач.
И структура RNN, и структура LSTM напоминают цепочку, но модули в LSTM выглядят иначе. Вместо одного слоя нейронной сети они содержат целых четыре, и эти слои взаимодействуют особенным образом.
Повторяющийся модуль в стандартной RNN состоит из одного слоя.
Повторяющийся модуль в LSTM сети состоит из четырех взаимодействующих слоев.
На схеме выше каждая линия переносит целый вектор от выхода одного узла ко входу другого. Розовыми кружками обозначены поточечные операции, такие, как сложение векторов, а желтые прямоугольники – это обученные слои нейронной сети. Сливающиеся линии означают объединение, а разветвленные стрелки говорят о том, что данные копируются и копии уходят в разные компоненты сети.
Основная идея LSTM
Ключевым элементом LSTM является состояние ячейки (горизонтальная линия, проходящая по верхней части схемы), которое действует как конвейер для передачи информации с минимальными изменениями.
Фильтры (gates) контролируют удаление или сохранение информации, используя сигмоидальный слой, который определяет, сколько данных пропустить. Сигмоидальный слой возвращает числа от нуля до единицы, которые обозначают, какую долю каждого блока информации следует пропустить дальше по сети. В LSTM три таких фильтра, которые регулируют состояние ячейки и управляют потоком информации.