Прогнозирование при помощи рекуррентных нейронных сетей

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

Нейронные сети

Для начала давайте вспомним, что вообще такое искусственная нейронная сеть. В одной из предыдущих статей мы уже обсуждали, что ИНС – это сеть искусственных нейронов («черный ящик» со множеством входов и одним выходом), осуществляющая преобразование вектора входных сигналов (данных) в вектор выходных сигналов при помощи некоей функции, называемой функцией активации. При этом между слоем «принимающих» нейронов и выходным слоем присутствует как минимум один промежуточный.

Вид структуры ИНС определяет понятие обратной связи: таким образом, в ИНС прямого распространения сигнал идет последовательно от входного слоя нейронов по промежуточным к выходному; рекуррентная же структура подразумевает наличие обратных связей, когда сигнал с выходных или промежуточных нейронов частично поступает на входы входного слоя нейронов (или одного из внешних промежуточных слоев).

Рекуррентные нейронные сети

Если остановится на рекуррентных ИНС немного подробнее, то выяснится, что наиболее современные (и считающиеся наиболее «удачными») из них берут начало из структуры, называемой многослойным перцептроном (математической модели мозга – ИНС прямого распространения с промежуточными слоями). При этом со времен своего появления они претерпели значительные изменения – и ИНС «нового поколения» устроены гораздо проще своих предшественников, при том, что они позволяют с успехом решать задачи запоминания последовательностей. Так, к примеру, наиболее популярная на сегодняшний день сеть Элмана устроена таким образом, что обратный сигнал с внутреннего слоя поступает не на «главные» входные нейроны, а на дополнительные входы – так называемый контекст. Эти нейроны хранят информацию о предыдущем входном векторе (стимуле); получается, что выходной сигнал (реакция сети) зависит не только от текущего стимула, но и от предыдущего.

Решение задачи прогнозирования

Понятно, что сети Элмана потенциально пригодны для прогнозирования (в частности, временных рядов). Однако известно также, что нейронные сети прямого распространения с успехом справляются с этой задачей – правда, не во всех случаях. Как пример, предлагаем рассмотреть одну из наиболее популярных вариаций задачи прогнозирования – прогнозирование временных рядов (ВР). Постановка задачи сводится к выбору произвольного ВР с N отсчетами. Далее данные разделяются на три выборки – обучающую, тестирующую и контрольную – и подаются на вход ИНС. Полученный результат будет представлен в виде значения временного ряда в требуемый момент времени.

В общем случае, задача прогнозирования временных рядов с помощью ИНС сводится к следующей последовательности этапов:

  • сбор данных для обучения (этап, считающийся одним из наиболее сложных);
  • подготовка и нормализация данных (приведение к виду ВР);
  • выбор топологии ИНС (на этом этапе принимается решение о количестве слоев и наличии обратной связи);
  • эмпирический (путем эксперимента) подбор характеристик ИНС;
  • эмпирический подбор параметров обучения;
  • обучение ИНС;
  • проверка обучения на адекватность поставленной задаче;
  • корректировка параметров с учетом предыдущего шага, окончательное обучение;
  • вербализация ИНС (минимизированное описание с использованием нескольких алгебраических или логических функций) с целью дальнейшего использования.

Почему рекуррентные ИНС?

Понятно, что решение о топологии ИНС способно повлиять на результат; но вернемся к началу разговора: почему же мы сознательно выбрали темой этой статьи прогнозирование при помощи рекуррентной сети? Ведь, если «погуглить», прогнозирование ВР в работах обычно производится при помощи многослойных перцептронов (мы помним, что это сети прямого распространения) и метода обратного распространения ошибки. Здесь стоит пояснить: да, действительно, в теории такие ИНС хорошо решают задачу прогнозирования – при условии, что степень зашумленности (ошибок и пропусков во входных данных), например, исходного временного ряда минимальна.

На практике же временные ряды обладают порядочной зашумленностью – что, естественно, вызывает проблемы при попытке прогнозирования. Снизить степень ошибки позволяет использование коллекций сетей прямого распространения – однако это существенно увеличивает не только сложность самой структуры, но и время ее обучения.

Сеть Элмана

Сеть Элмана

Использование рекуррентной сети Элмана позволяет решать задачу прогнозирования даже на сильно зашумленных временных рядах (это особенно важно для бизнеса). В общем случае эта ИНС представляет собой структуру из трех слоев, а также набора дополнительных «контекстных» элементов (входов). Обратные связи идут от скрытого слоя к этим элементам; каждая связь имеет фиксированный вес, равный единице. На каждом временном отрезке входные данные распределяются по нейронам в прямом направлении; затем на них применяется обучающее правило. Благодаря фиксированным обратным связям, контекстные элементы всегда хранят копию значений из скрытого слоя за предыдущий шаг (поскольку они отправляются в обратном направлении еще до применения обучающего правила). Таким образом, шум временного ряда постепенно нивелируется, и вместе с ним минимизируется и ошибка: мы получаем прогноз, который в общем случае будет точнее, чем результат классического подхода, что западные работы подтверждают экспериментально.

Резюме

Рассмотрев некоторые аспекты практического применения нейронных сетей к решению задачи прогнозирования, можно сделать вывод: за рекуррентной моделью будущее прогнозирования. По крайней мере, это касается зашумленных временных рядов – а, как известно, на практике, особенно в бизнесе, без неточностей и пропусков в данных дело не обходится. Западная наука, а следом за ней и энтузиасты-практики это уже поняли. На постсоветском же пространстве дойти до этих умозаключений широкой общественности еще предстоит – мы надеемся, что этот материал поможет нашим читателям сделать свои выводы уже сегодня.

Автор: Елизавета Филиппова

комментариев 6

  1. а если закольцевать неиспользуемые выходы триггеров, то единичные сбои как следствие вызовут самосознание

  2. в программировнии можно использовать бинарные ошибки для достижения того-же результата-искуственный разум

  3. а если все ошибки отправлять в процессор-анализатор (условно-мозг), то могут появиться эмоции

  4. а в целом статья хорошая, но навевает грусть, особенно заключение

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

Добавить комментарий

Ваш e-mail не будет опубликован.

закрыть

Поделиться

Отправить на почту
закрыть

Вход

закрыть

Регистрация

+ =