Скоростной метод обучения многослойного персептрона

УДК 004.032.26

СКОРОСТНОЙ МЕТОД ОБУЧЕНИЯ МНОГОСЛОЙНОГО ПЕРСЕПТРОНА

Шумков Евгений Александрович к.т.н.

Карлов Дмитрий Николаевич

Кубанский Государственный Технологический Университет, Краснодар, Россия

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

Ключевые слова: МНОГОСЛОЙНЫЙ ПЕРСЕПТРОН, СКОРОСТНОЙ АЛГОРИТМ ОБУЧЕНИЯ, МЕТОД ОБРАТНОГО РАСПРОСТРАНЕНИЯ ОШИБКИ

Основным способом обучения многослойного персептрона является метод обратного распространения ошибки (далее ВаскРгор). Данный метод обучения хорошо себя зарекомендовал при решении многих задач [1,2,4,9]. Но у данного метода есть недостатки, к которым можно отнести: длительное время обучения; частое нахождение локальных, а не глобальных минимумов; проблема выбора адекватной1 архитектуры сети и другие. Часть данных проблем можно обойти, используя различные способы, например расписание обучения, динамическое добавление нейронов в скрытые слои при старте с заведомо недостаточным количеством нейронов, добавление «шума» во входной сигнал и т.д. [5]. Но основной проблемой обучения нейронной сети является длительное время обучения, то есть через сколько итераций ошибка сети будет меньше заданной. Существуют методы на базе ВаскРгор, которые ускоряют обучение, например метод ЯРгор [7], но выигрывая в скорости, он проигрывает в точности, по сути, в адекватности решения поставленной задачи.

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

UDC 004.032.26

HIGH-SPEED METHOD OF MULTILAYERED PERCEPTRON TRAINING

Shumkov Eugeniy Alexandrovich Cand.Tech.Sci.

Karlov Dmitry Nikolaevich

Kuban State Technological University, Krasnodar, Russia

In this article the high-speed method of multilayered perceptron learning which differs in the high speed of training is offered. Results of comparison of a highspeed method of learning with standard methods are resulted

Keywords: MULTILAYERED PERCEPTRON, HIGH - SPEED METHOD OF LEARNING, BACK PROPAGATION LEARNING ALGORITHM

В данной работе предлагается метод обучения нейронной сети, который также как и алгоритм обратного распространения ошибки использует ошибку на выходах сети и последовательно пропускает ее через слои нейронной сети от выходного к входному. При этом не используются градиентные методы обучения. В основе предлагаемого метода лежит вычисление обратной функции от гиперболического тангенса, подсчет разницы между желательным и реальным значением на входе в нейрон и корректировка синаптических связей на необходимое значение. Предлагаемый метод относится к классу обучения с учителем. Укажем методы, которые отчасти сходны с предлагаемым - это обучение нейронной сети с помощью генетических алгоритмов, метод отжига, метод случайного обучения [3,7].

Для общности введем следующие обозначения, как показано на Рисунке 1, при этом нейрон функционирует стандартным способом:

-. >=± . х

1=0

У.) = / (- І)) (2),

(к) г/ \

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

Рисунок 1. Формальный нейрон В скоростном методе обучения ошибку можно считать:

• по валидационной выборке после каждого поданного во время обучения примера;

• суммарно по всем обучающим примерам.

Алгоритм скоростного обучения многослойного персептрона состоит из следующих шагов:

1. Подача на вход выбранного случайным образом примера и расчет значений у^ на выходе сети. Или, в зависимости от выбранного способа пакетная подача примеров с суммированием ошибки на выходе.

2. Расчет обратной функции от гиперболического тангенса, то есть расчет того, что должно было входить в нейроны выходного слоя для правильного ответа сети. Обратная функция от гиперболического тангенса:

1 1 + у{к)

€ ’ =

где а - параметр гиперболического тангенса.

3. Расчет разницы между тем, что должно было входить в нейрон и тем, что реально было на него подано:

= -ік' - €к

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

4. Генератором случайных чисел разбиваем 8 по всем синаптическим связям, входящим в данный нейрон в процентном соотношении2. При этом:

2 Здесь крайне важно использовать генератор действительно случайных чисел, а не псевдослучайных.

П

X Рі =1,

і=0

5. Вычисляем - на сколько нужно изменить сигнал, исходящий из нейрона предыдущего слоя, при этом учитываем, что данный сигнал идет на все нейроны последующего слоя умноженный на соответствующие веса связей. При этом мы хотим распределить ошибку и на веса связей и и на выход предыдущего слоя г(к-1), чтобы изменения затронули и предыдущие слои нейронной сети. Исходная система уравнений для первого нейрона (к-1) слоя:

В данном случае получается (п+1) неизвестное - это ^} и 1)-Наиболее простым решением является следующее - пусть:

где т - случайное число (т є [0;1]). Далее подставляя установленное

подставляем найденное значение выхода первого нейрона в остальные уравнения системы (6) находим новые значения весов связей. Система (6) составляется для каждого нейрона слоя (к-1).

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

Экспериментальная часть проведена для решения задачи прогноза курса котировок на РТС, в частности использовались временные ряды для различных таймфреймов компании «Роснефть». Разработанный метод

значение і€(к) в первое уравнение системы (6) находим €(к 1), после

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

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

Определение входов и выходов. В задачах прогнозирования общепринято использование в качестве входного вектора так называемого «скользящего окна» [8].

Таблица №1

Структура «скользящего окна»

Вход №1 Вход №2 Вход №3 Вход №4

P

P

СП - t P

Выход в задачах прогнозирования нейронными сетями обычно используется один - прогнозное значение на следующей итерации. В рассматриваемой задаче на выходе должен формироваться сигнал значения изменения котировки на следующий момент времени P(t +1) - P(t). В качестве основного, прогнозируемого параметра целесообразно выбрать цену закрытия бара Close, либо подавать высоту

3 Исходный код нейронной сети можно найти в сети Интернет по адресу: http://apsheronsk.bozo.ru/Forex/forex.html

японских свечей Close(t) - Open(t) (или High(t) - Low(t ))4. В качестве

дополнительных входов в экспериментах использовались - относительное изменение цены на нефть марки Brent, так как «Роснефть» нефтяная компания, а также индекс РТС. Напомним также о необходимости качественного масштабирования входных данных [8].

На Рисунке 2 и 3 показаны типичные графики ошибок при обучении разными методами. Отметим, что одна итерация в скоростном методе по времени примерно равна 1.1 итерации метода BackProp.

0,18 -

0,16 -

га ю

s 0,14 -3

О

0,12 -0,10 -

0,08 J-------1------1------1------1-------1------1------1------1-------1------

0 500 1000 1500 2000 2500 3000 3500 4000 4500

Количество итераций

Рисунок 2. График ошибки при методе обучения BackProp.

4 Open - цена открытия бара, Low - низшая цена бара, High - наивысшая цена, Close - цена закрытия бара.

1,0

0,0 J-------1--------1-------1--------1-------1--------1-------1--------

0 50 100 150 200 250 300 350

Количество итераций Рисунок 3. График ошибки при скоростном методе обучения На Рисунке 3 видно высокое перерегулирование в процессе обучения по предлагаемому скоростному методу. В Таблице 2 представлены данные по времени обучения и точности воспроизводимости данных для скоростного и BackProp методов. Во временных показателях не учитывалось время предобработки данных, так как оно одинаково для обеих моделей.

Таблица 2 - Результаты экспериментов

Кол-во Ср. кол-во Ср. кол-во Точность при Точность на

обучающих нейронов5 итераций обучении, % новых примерах,

примеров обучения %

B6 F B F B F B F

50 15 14 2980 347 91 90 81 79

100 26 23 3403 571 87 84 77 71

200 34 36 3720 899 85 80 72 68

300 41 39 4481 1002 81 76 69 62

5 Количество нейронов в скрытом слое. Во всех экспериментах использовался один скрытый слой.

6 Обозначения в колонках В - ВаскРгор, Б - скоростной метод обучения.

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

Литература:

1. Widrow B., Lehr M.A.30 years of adaptive neural networks: perceptron, madaline and backpropagation // Proceeding of the IEEE. - 1990. - Vol. 78. - №9. - P. 1415 -1442.

2. Вороновский Г.К. Генетические алгоритмы, искусственные нейронные сети и проблемы виртуальной реальности. Х.: ОСНОВА, 1997. 112 с.

3. Галушкин. А.И. Нейрокомпьютерные системы. - М.: Издательское предприятие журнала "Радиотехника", 2000.- 205с.

4. Ежов А., Чечеткин В.. Нейронные сети в медицине. «Открытые системы.» -1997.-

№4. - С. 34-37.

5. Заенцев И. В. Нейронные сети: основные модели. Учебное пособие . Воронеж:

ВГУ. 1998.- 76с.

6. Пупков К.А., Егупов Н.Д. Методы классической и современной теории автоматического управления. Т.5. - М.: Издательство МГТУ им. Н.Э.Баумана, 2004. - 784 с.

7. Рутковская Д., Пилиньский М.. Рутковский Л. «Нейронные сети, генетические алгоритмы и нечеткие системы». Пер. с польск., И. Д. Рудинского. М.: Горячая линия - Телеком, 2006. 452 с.

8. Шумков Е.А. Система поддержки принятия решений предприятия на основе нейросетевых технологий: Дисс.. канд. техн. наук. Краснодар, КубГТУ, 2004. -158с.

9. Эрлих А. Технический анализ товарных и фондовых рынков. - М.: Юнити, 1996. - 215 с.