Многослойные нейронные сети

При анализе и моделировании временных рядов чаще, чем рекуррентные, используются прямонаправленные НС. Среди последних выделим многослойный персептрон (МСП) и радиальнобазисные сети (РБС).

МСП состоит, по крайней мере, из трех слоев вычислительных элементов:

  • • входной слой, на который поступают сигналы из внешней среды;
  • • скрытый слой, используемый для увеличения

вычислительной мощности сети;

• выходной слой, на котором формируется искомое решение.

Типичная схема трехслойного персептрона приведена на рис.9.15.

Схема трехслойного персептрона (источник [4])

Рис.9.15. Схема трехслойного персептрона (источник [4])

Здесь каждый вход соединен со всеми (пятью) нейронами скрытого слоя, и все нейроны скрытого слоя соединены с одним выходным нейроном. Отметим, что в нейронную сеть иногда вводят смещение, которое действует как весовой коэффициент от ячейки с активацией, равной 1. Смещение увеличивает входное воздействие в сеть на единицу. На рис.9.15 указана связь от постоянного входа, равного 1, к выходу. По существу, смещения заменяются весами, которые измеряют силу каждого соединения от единичного входа, и поэтому становятся частью полного набора весов. Сила каждого соединения измеряется параметром, называемым весом. Через v и w на рис.9.15 обозначены матрицы весовых коэффициентов между нейронами входного и скрытого слоев, между нейронами скрытого и выходного слоев,

соответственно.

Для каждого нейрона скрытого слоя вычисляется взвешенная сумма входных сигналов вида у;- = Y,ixivij> j = 1,2,...,5, где v,y - весовые коэффициенты между входом с индексом i и нейроном скрытого слоя с индексом j. Далее для преобразования значений v,y в выходную величину каждого нейрона скрытого слоя используется нелинейная ФА. При использовании логистической функции эти выходные значения лежат в диапазоне (0; 1).

Подобная операция применяется при распространении сигналов далее по сети: от скрытого слоя к выходному нейрону. Однако в задачах прогнозирования и аппроксимации ВР в качестве ФА на выходном слое используется не логистическая функция, а линейная функция. В противном случае прогнозные значения ряда были бы неверны, поскольку логистическая функция

трансформирует все данные в диапазоне (0;1).

Можно показать, что простой двухслойный персептрон с единственным выходным нейроном, без скрытого слоя и с линейной функцией активации эквивалентен линейной регрессионной модели, в которой веса соответствуют коэффициентам регрессии. Например, уравнение регрессии у = а + Ьхг + сх2 может быть представлено так, как показано на рис.9.16.

Нейросетевая реализация уравнения регрессии (источник

Рис.9.16. Нейросетевая реализация уравнения регрессии (источник

[15])

МСП представляет собой пример параллельно- распределенных вычислений, когда каждый нейрон скрытого слоя действует как локальный процессор информации одновременно и параллельно с другими нейронами этого слоя. Несмотря на то, что вычисления в отдельном элементе (нейроне) относительно просты, связь всех нейронов дает возможность сети выполнять сложное преобразование вход-выход. По существу, МСП реализует функцию /, которая отображает вектор входных переменных х в одну или больше выходных переменных у, т.е. .У =/(*)•

При разработке МСП цель заключается в аппроксимации функции / настолько хорошо, насколько это возможно. МСП имеет универсальные аппроксимирующие возможности, позволяющие при достаточно общих условиях отображать любую непрерывную функцию. В отличие от метода наименьших квадратов, который используется в регрессионных моделях и формирует линию, плоскость или гиперплоскость (в зависимости от числа независимых переменных), МСП с нелинейной ФА может реализовывать сложные (не плавные) поверхности отклика с пиками и провалами в н-мерном пространстве. Изменение весов во время обучения подстраивает эту поверхность более точно к обучающей выборке.

Поведение МСП - отображение от входа к выходу объясняется способом вычислений, которые имеют место в скрытом и выходном слоях, связями нейронов между собой, ассоциированием весов с этими связями. Общую формулу для выхода трехслойного персептрона можно записать следующим образом

где Xj - входные значения; v,y - веса между нейронами входного и скрытого слоев; wj - веса между нейронами скрытого слоя и нейроном выходного слоя; а0 - смещение от единичного нейрона к нейрону выходного слоя; L/„ L0 - функции активации скрытого и выходного слоев, соответственно; z„ out, - выходное значение персептрона.

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

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

где Р - число примеров вход-выход в базе данных; S - число нейронов в выходном слое; tf, of - требуемый (учителем) и реальный выходной сигналы.

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

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

распространяется обратно по сети (отсюда и название метода). Веса адаптируются с целью минимизации ошибки.

Алгоритм метода ОРО можно записать в виде следующей последовательности этапов.

  • 1. Инициировать все веса сети как малые случайные величины, взятыми из диапазона (0;1).
  • 2. Подать на вход сети входной вектор х, а на выход - ассоциированное с ним требуемое значение сигнала учителя. Положим далее, что сеть имеет п входов и веса между элементами i и j имеют значения, равные Wy.
  • 3. Вычислить выход каждого нейрона в скрытом слое, а затем и в выходное слое. Выходное значение элемента j в скрытом или выходном слоях рассчитывается как

4. Отрегулировать веса между нейронами, начиная с выходного слоя и продолжая обратно ко входному слою сети следующим образом

где Wjj(t) - вес между элементами i и j на итерации /; а -

- вклад веса

параметр, определяющий скорость обучения;

Wij(t) в общую ошибку сети.

5. Повторять шаги 2 - 4 до тех пор, пока ошибка между требуемым сигналом и реальным выходом достигнет приемлемого минимума.

При использовании метода ОРО необходимо обратить внимание на проблему "переобучения". Самой общей причиной этого явления является наличие шума в имеющихся данных. Независимо от природы данных (технические измерения,

экономические показатели) - в любом случае наблюдения отягощены погрешностями. Например, в физике не существует приборов, обеспечивающих точные безошибочные измерения.

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

На рис.9.17 приведены схематические изображения формирования процесса переобучения. Рис.9.17.а иллюстрирует некоторый процесс, описываемый квадратичным уравнением. Наблюдения этого процесса в количестве 100 зашумленных выборочных значений показаны на рис.9.17.6. Последний рис.9.17.в показывает результирующую функцию, которая точно подогнана по данным наблюдений. Такая функция может быть полином очень высокой степени, проходящим через все точки, и поэтому имеющим нулевую ошибку. Несмотря на то, что здесь имеем дело с совершенной (безошибочной) подгонкой к наблюдениям, эта сложная модель неточно представляет исходный квадратичный процесс, из которого сформирована выборка, и не обеспечивает точных результатов для новых входных данных.

Иллюстрация проблемы переобучения (источник

Рис.9.17. Иллюстрация проблемы переобучения (источник

[16])

(а) - исходный ряд; (б) - зашумленный ряд; (в) - точная подгонка по данным

Из этого примера видно, что главная проблема при переобучении заключается в потере возможности обобщения.

Противоположным по смыслу термину «переобучение» является понятие «упрощение», т.е. ситуация, когда НС

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

Общая причина упрощения схематично показана на рис.9.18. Обучающее множество представляет только часть возможных входов. Как это обычно бывает, необходимо отдавать себе отчет в том, что такое неполное перекрытие может не отражать некоторые зависимости и характеристики данных. Другой возможной причиной упрощения является наличие в ландшафте функции принадлежности грубых провалов, выбросов, приводящее к преждевременной сходимости. На рис.9.18.я показана кубическая функция, которая является полиномом третьей степени, поэтому для идентификации необходимы четыре выборочные точки. Возможно, не зная этого, использованы только три выборочные точки (рис.9.18.6), что приводит к потере некоторых важных характеристик. На рис.9.18.в показана квадратичная функция, т.е. полином наименьшей степени, который точно подгоняется под приведенные данные. Несмотря на полное совпадение данных и квадратичного полинома, эта функция не соответствует ни одной из точек исходной кубической зависимости и ведет себя совершенно иным образом при малых значениях аргумента.

Иллюстрация проблемы упрощения (а) - исходная система; (б) - выборочные обучающие точки; (б?) - результат упрощения (источник [16])

Рис.9.18. Иллюстрация проблемы упрощения (а) - исходная система; (б) - выборочные обучающие точки; (б?) - результат упрощения (источник [16])

Пример 9.5. (Из книги автора[6]) Аппроксимировать с помощью нейронной сети зависимость у = х2 + А(0;1), где А(0;1) - случайные нормальные величины с нулевым средним и единичной дисперсией; интервал изменения х: [-3; 3].

Вначале нужно разыграть значения А(0;1), что можно выполнить в Excel или Statistica, а затем полученные величины сложить с квадратом аргумента. Результат этих операций - график переменной у - показан на рис.9.19.

График исходного ряда

Рис.9.19. График исходного ряда

Построим нейронную сеть для аппроксимации такой зависимости. Из 100 сформированных сетей сохраним лучшие 10, среди которых выберем модель сети с наименьшей ошибкой обучения. Архитектура такой сети приведена на рис.9.20.

Архитектура лучшей сети

Рис.9.20. Архитектура лучшей сети

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

Значения исходного и аппроксимирующего рядов

Рис.9.21. Значения исходного и аппроксимирующего рядов

На рис.9.22 показаны исходный и аппроксимирующий ряды, откуда видно, что расхождение между рядами незначительное. ?

Исходный (изрезанный) и аппроксимирующий (плавный) ряды

Рис.9.22. Исходный (изрезанный) и аппроксимирующий (плавный) ряды

Сети на радиальных базисных функциях (РБФ) или иначе радиально-базисные сети (РБС) являются альтернативой многослойному персептрону. Структурно эти два вида сетей эквивалентны. Обе НС имеют один скрытый слой с нелинейной ФА и выходной слой, содержащий один или больше нейронов с линейными ФА. Подобно МСП радиально-базисные сети обладают универсальной аппроксимирующей способностью.

Также, как и персептроны, РБС могут быть использованы для целей прогнозирования и классификации, но последние отличаются от МСП тем, что функции активации нейронов скрытого слоя являются радиально-базисными функциями.

На рис.9.23 показано множество узлов (элементов), которые представляют РБФ в пространстве весов. Каждая точка указывает положение РБФ в пространстве весов, а окружность вокруг этой точки определяет поле узла. В пространстве более высокой размерности такие окружности становятся гиперсферами.

Радиально-базисные функции в пространстве весов

Рис.9.23. Радиально-базисные функции в пространстве весов

Для математической модели РБФ можно выбрать функцию с плавным характером спадания (дифференцируемую). Таким требованиям (дифференцируемость, симметричное спадание) отвечает достаточное количество функций, но среди них чаще всего используется гауссова функция, получившая широкое распространение и в статистике. Хотя эта функция и не спадает в действительности до нуля, тем не менее, приближенно можно считать, что гауссова выходная величина быстро стремится к нулю при перемещении от центра. Пренебрегая нормализационным членом, гауссову функцию запишем в виде

В этом уравнении очень важен выбор параметра о, так как он управляет шириной гауссовой функции. Если принять параметр о очень большим, тогда нейрон будет откликаться на каждый вход. С другой стороны, при уменьшении параметра а нейрон будет реагировать только на один входной стимул.

Еще одно важное отличие между РБС и МСП - это путь входного сигнала и в ФА:

т

  • • Для МСП входной сигнал равен w х, т.е. скалярному произведению вектора весов и входного вектора.
  • • Для РБС входной сигнал и равен расстоянию между входным вектором х и центром определенной ФА с или uj -f (Их - Cj II).

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

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

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

Вектора входных данных обычно стандартизируются перед обучением. При предъявлении входного вектора сети в каждом узле РБС вычисляется величина, которая определяет качество сравнения между входным вектором и положением центра во входном пространстве. Чем больше расстояние между входным вектором и отдельным скрытым элементом, тем меньше активация узла. Каждый скрытый узел может рассматриваться как локальный детектор в пространстве входных данных. Как уже отмечалось, чаще всего в качестве РБФ используется гауссова функция. Она формирует единичный выход, если входной и весовой вектора одинаковы; в случае большого расстояния между этими векторами выход РБФ стремится к нулю.

Вторая фаза вычислений заключается в определении величин весов между нейронами скрытого и выходного слоев. При обучении выход каждого входного вектора становится известным (как значение ФА для этого вектора), поэтому может быть использован метод супервизорного обучения. Самой простой ФА для нейронов выходного слоя является линейная функция, которая формирует выходное значение как линейно взвешенную сумму выходов нейронов скрытого слоя. В этом случае веса между скрытым и выходным слоями могут быть найдены с использованием линейной регрессии (веса - регрессионные коэффициенты).

Базовый алгоритм для канонической РБС представляется следующими этапами:

  • 1. Выбрать начальное число центров т.
  • 2. Выбрать начальное положение каждого центра во входном пространстве.
  • 3. Для каждой пары входной вектор/центр вычислить величину

активации uj =/(llx - ||), где /- радиально-базисная функция;

Их - Cj II - расстояние между входным вектором и выбранным центром.

  • 4. После того, как величины активации для каждого входного вектора получены, вычислить веса между скрытым и выходным слоями с использованием линейной регрессии.
  • 5. Перейти к шагу 3 и повторить до достижения условия остановки.
  • 6. Улучшить подгонку РБС к обучающим данным, изменяя следующие параметры: число центров, их положение, ширину базисной функции.

Пример 9.6. (Из книги автора[6]). Воспользуемся РБС для прогнозирования временного ряда.

На рис.9.24 показан график изменения курса акций Аэрофлота на протяжении 120 дней.

Исходный временной ряд

Рис.9.24. Исходный временной ряд

Для решения воспользуемся модулем Нейронные сети программного пакета Statistica. Примем параметр количества сетей N, который определяет число тестируемых моделей, равным 300. После обучения моделей появится окно результатов анализа (рис.9.25).

Окно результатов анализа

Рис.9.25. Окно результатов анализа

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

График предсказанных значений пятью моделями

Рис.9.26. График предсказанных значений пятью моделями

Выведем архитектуру лучшей по величине ошибке нейронной сети (рис.9.27).

Архитектура лучшей сети

Рис.9.27. Архитектура лучшей сети

Исходный и предсказанный этой сетью ряд показан на рис.9.28.

Исходный и предсказанный ряды

Рис.9.28. Исходный и предсказанный ряды

Теперь осталось построить проекцию ряда на несколько точек вперед, по которой можно оценить поведение акций на прогнозируемом участке. Такая проекция показана на рис.9.29, где ее длина простирается на 30 точек вперед. Поскольку исходный ряд завершается на наблюдении № 120, то далее показанная линия определяет прогноз исходного ряда. ?

Проекция временного ряда (начало

Рис.9.29. Проекция временного ряда (начало: точка №100; длина проекции: 30 точек вперед)

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >