Содержание
В этой статье рассматриваются рекуррентные нейронные сети (RNN), мощный метод глубокого обучения для последовательных данных.
Рекуррентные нейронные сети (RNN) — это подкласс искусственных нейронных сетей, которые при глубоком обучении могут обрабатывать последовательность входных данных и поддерживать ее состояние при обработке последующей последовательности входных данных. Традиционные нейронные сети анализируют один входной сигнал, прежде чем перейти к следующему, независимо от порядка входных данных. Чтобы понять их, необходимо следовать последовательной последовательности данных, например временных рядов. Поскольку в традиционных сетях прямого распространения предполагается, что каждый входной сигнал независим от других, каждый вход в настройке временного ряда зависит от входных данных, которые были до него. Рекуррентные нейронные сети могут применяться в различных контекстах, в том числе:
- Нахождение следующего слова или буквы
- прогнозирование цены финансовых активов во времени
- Моделирование спортивных действий (прогнозирование следующего хода в игре в футбол, футбол, теннис и т. д.)
- композиция музыки
- создание фотографий
Преимущества RNN
- Можно моделировать нелинейные временные/последовательные связи.
- В отличие от авторегрессионного процесса, для прогнозирования следующего значения не требуется указывать лаги.
Недостатки RNN
- Проблема исчезающего градиента
- Не подходит для долгосрочных прогнозов.
Значение из данных, имеющих временное измерение, подвергается регрессии по более ранним значениям до точки, указанной пользователем, для создания модели авторегрессии. RNN функционирует таким же образом, но очевидное различие между ними заключается в том, что RNN учитывает все данные, т. е. ей не требуется, чтобы пользователь выбирал определенный период времени. Проверка порядка модели или проверка линейности не требуются для RNN. Чтобы попытаться предугадать следующую последовательность, он может автоматически проверить весь набор данных. Чтобы предвидеть выходные данные, нейронная сеть имеет три скрытых слоя с одинаковыми весами, смещениями и функциями активации. Затем можно создать один повторяющийся скрытый слой путем объединения этих скрытых слоев. Теперь рекуррентная нейронная сеть сохраняет каждый входной сигнал из прошлого и объединяет его с входным сигналом из настоящего.
Градиент функции потерь приближается к 0, когда добавляется больше слоев с функциями активации. Метод градиентного спуска определяет глобальный минимум функции стоимости сети. Градиент, который слишком мал для обучения модели, не должен влиять на мелкие сети, но по мере того, как сеть становится больше с большим количеством скрытых слоев, это может влиять. Алгоритм обратного распространения ошибки, который находит производные сети, используется для идентификации градиентов нейронных сетей. Путем умножения по сети производные каждого слоя обнаруживаются с использованием правила цепочки. Проблема именно в этой области. Градиент может стать меньше при использовании функции активации, такой как сигмовидная функция, по мере увеличения количества скрытых слоев. После построения модели эта проблема может привести к катастрофическим последствиям. Использование моделей долговременной памяти с функцией активации ReLU оказалось простым решением этой проблемы. Рекуррентные нейронные сети, которые могут обрабатывать долгосрочные зависимости, не подвергаясь влиянию нестабильного градиента, известны как сети долговременной памяти.
Статья «Рекуррентные нейронные сети (RNN) для последовательного анализа данных» впервые появилась на сайте Analytics Insight.