В целом нельзя утверждать, что нейронные сети всегда решают задачи предсказания лучше регрессионного аппарата. С помощью нейросетей нельзя построить модель, не только показывающую движение цен, но и объясняющую его причины. Кроме того, регрессионный анализ позволяет оценить соответствие коэффициентов при переменных их экономическому смыслу и улучшить качество модели, занулив несоответствующие [5]. Например, при построении зависимости доходности акций от дивидендов и балансовой стоимости был получен отрицательный коэффициент при дивидендах. Однако доходность не может обратно зависеть от дивидендов, поэтому для улучшения качества модели этот коэффициент лучше зану-лить. Такой прием часто используется при анализе данных фондового рынка.
Регрессионные модели имеют более высокую объясняющую способность. Они позволяют выявлять закономерности в явной форме. Нейронные сети не дают ответ на вопрос «почему?». Однако проведенное исследование показывает, что они неплохо подходят для оценки биржевой динамики за счет своей гибкости и умения находить нелинейные закономерности. Несомненный плюс ней-росетей также в том, что они не требуют большого объема выборки для корректного прогноза.
Литература
1. Ясницкий Л.Н. Введение в искусственный интеллект. 2-е изд. М.: Издат. центр «Академия», 2008. 176 с.
2. Timmermann A., Elusive Return Predictability, 2007. URL: http://www.jstor.org/stable/pdfplus/1923455.pdf (дата обращения: 20.03.2010).
3. Goyal A., Welch I. A Comprehensive Look at the Empirical Performance of Equity Premium Prediction, Financial Studies, 2006. URL: http://www.jstor.org/pss/1907210 (дата обращения: 20.03.2010).
4. Айвазян С.А., Мхитарян В.С. Прикладная статистика и основы эконометрики. М.: ЮНИТИ, 1998.
5. Campbell J.Y., Thompson S.B. Predicting the Equity Premium Out of Sample: Can Anything Beat the Historical Average? NBER Working Papers 11468, National Bureau of Economic Research, 2005. URL: http://www.jstor.org/stable/pdf-plus/3241550.pdf (дата обращения: 20.03.2010).
References
1. Yasnitskiy L.N., Vvedenie v iskusstvenny intellect [Introduction to Artificial Intelligence], Moscow, Akademiya, 2008.
2. Timmermann A., Available at: http://www.jstor.org/ stable/pdfplus/1923455.pdf (accessed 20 March 2010).
3. Goyal A., Welch I., Available at: http://www.jstor.org/pss/ 1907210 (accessed 20 March 2010).
4. Aiwazyan S.A., Mkhitaryan V.S., Prikladnaya statistika i osnovy ekonometriki, Moscow, UNITY, 1998.
5. Campbell J.Y., Thompson S.B., Available at: http://www. jstor.org/stable/pdfplus/3241550.pdf (accessed 20 March 2010).
УДК 004.032.26
АЛГОРИТМ И ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ГИБРИДНОГО МЕТОДА ОБУЧЕНИЯ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ
Г.И. Белявский, д.т.н., профессор, зав. кафедрой (Южный федеральный университет, ул. Большая Садовая, 105/42, г. Ростов-на-Дону, Россия, [email protected]); В.Б. Лила, ассистент кафедры; Е.В. Пучков, к.т.н., ассистент кафедры (Ростовский государственный строительный университет, ул. Социалистическая, 162, г. Ростов-на-Дону, 344022, Россия, lila@i-intellect.ш, [email protected])
Задача обучения искусственной нейронной сети может рассматриваться как задача оптимизации, при этом основная проблема заключается в выборе из разнообразных оптимизационных методов наиболее подходящего. Выбор в пользу градиентных методов обоснован тем, что, как правило, в задачах обучения нейросетей целевую функцию можно выразить в виде дифференцируемой функции от всех весовых коэффициентов. Однако сложный характер этой зависимости приводит к тому, что целевая функция имеет локальные экстремумы и седловые точки, а потому делает применение градиентных методов не всегда обоснованным. Для решения задач оптимизации с многоэкстремальным критерием используют методы случайного поиска, к которым относятся генетические алгоритмы, обычно отличающиеся медленной сходимостью. Для проведения сравнительной характеристики градиентных методов и генетического алгоритма разработано ПО с веб-интерфейсом. В качестве задачи для обучения нейронной сети использовалась задача аппроксимации двумерной функции Розенброка. Результаты исследования показали, что градиентные методы имели быструю сходимость лишь в начале обучения, а генетический алгоритм - в конце. Таким образом, предложен гибридный алгоритм, основанный на последовательном использовании градиентных методов и генетического алгоритма.
Ключевые слова: искусственные нейронные сети, многослойный персептрон, гибридный алгоритм обучения, генетический алгоритм, функция Розенброка, веб-приложение.
THE ALGORITHM AND SOFTWARE IMPLEMENTATION OF THE HYBRID TRAINING METHOD OF ARTIFICIAL NEURAL NETWORKS Belyavsky G.I., Ph.D., Professor, Head of Chair (Southern Federal University, 105/42, Bolshaya Sadovaya St., Rostov on Don, 344006, Russia, [email protected]);
Lila V.B., Teaching Assistant; Puchkov E.V., Ph.D., Teaching Assistant (Rostov State University of Civil Engineering, 162, Sotsialisticheskaya St., Rostov on Don, 344022, Russia,
lila@i-intellect. ru, puchkoff@i-intellect. ru) Аbstract. The task of training an artificial neural network can be considered as a task of optimisation, and the main problem is to choose among a variety of optimization methods most suitable. The choice in favor of gradient methods based on the fact that, as a rule, in the problems of network teaching objective function can be expressed as a differentiate function of all weighting coefficients. However, the complicated nature of dependence between weighting coefficients leads to the fact that the objective function has local extremums and saddle points, making the use of gradient methods are not always justified. For solving optimization problems with multiextremal criterion the methods of random search, which include genetic algorithms, are used. Genetic algorithms, as a rule, are notable for their slow convergence. For the comparative performance of gradient methods and genetic algorithm a software with a web interface has been created. In the capacity of the task of training the neural network a problem of approximation of two-dimensional Rosenbrock function was used. The results of this research showed that gradient methods have fast convergence only at the beginning of training, and the genetic algorithm - in the end. Thus, a hybrid algorithm based on the sequential use of gradient methods and genetic algorithm has been proposed.
Keywords: artificial neural networks, multilayer perceptron, hybrid training method, genetic algorithm, Rosenbrock function, web application.
Обучение искусственной нейронной сети (ИНС) может рассматриваться как задача оптимизации, при этом основная проблема заключается в выборе наиболее подходящего оптимизационного метода [1]. Выбор в пользу градиентных методов обоснован тем, что, как правило, в задачах обучения ИНС целевую функцию можно выразить в виде дифференцируемой функции от всех весовых коэффициентов. Однако сложный характер зависимости от весовых коэффициентов приводит к тому, что целевая функция имеет локальные экстремумы и седловые точки, что делает применение градиентных методов не всегда обоснованным. Для решения задач оптимизации с многоэкстремальным критерием используют методы случайного поиска, к которым относятся генетические алгоритмы. Однако генетические алгоритмы обычно отличаются медленной сходимостью. Большего успеха можно достигнуть, используя в одном алгоритме обучения и градиентные, и генетические методы. Неопределенность выбора метода обучения обусловлена широким классом градиентных и генетических алгоритмов. В автоматизированных системах нейро-сетевого программирования следует стремиться к сокращению неопределенности. В статье рассматривается параметризация алгоритмов обучения с целью сокращения неопределенности выбора и предлагается соответствующее ПО.
Общий анализ градиентных методов обучения нейронных сетей позволяет утверждать, что любой из этих методов можно представить как частный случай адаптивного алгоритма [2].
Общая формула для изменения весов:
Ч+1 = Ч Л, (1)
где рк - направление движения; п - размер шага на к-й итерации.
Формула расчета рк будет следующей:
тт(к-1,т)
Рк = & + Е р. & - , (2)
¿=1
где рк - направление движения; ^ - направление антиградиента на }-й итерации; р, - коэффициент, определяющий вес /-го градиента; т - количество запоминаемых градиентов; к - порядковый номер текущей итерации.
Градиентный метод обучения из формулы 2 получается при т=0, а методы сопряженных градиентов [1], которые наиболее часто употребляются при обучении нейронных сетей, - путем суммирования всех предыдущих направлений (при т=о>). Параметрами алгоритма являются порядок т и последовательности п, р.
Рассмотрим обучение многослойного персеп-трона методом обратного распространения с адаптивным алгоритмом минимизации функции ошибки.
1. Находим начальные значения параметров: стартовую точку начальное направление движения р0 и шаг п0.
2. Выбираем очередной вектор из обучающего множества и подаем его на вход сети.
3. Определяем направление движения рк по формуле (2).
4. Вычисляем критерий остановки, например среднюю квадратичную ошибку [1, 3].
5. Если условие остановки выполняется, переходим к шагу 6, если нет - переходим к шагу 2.
6. Конец алгоритма.
В результате получаем обученную сеть.
Основные недостатки данного алгоритма обучения - паралич сети, попадание в локальные минимумы, многократное предъявление всего обучающего множества [4].
Генетический алгоритм является итерационным и часто вычисляет решение в некоторой окрестности глобального минимума. В связи с этим
он может применяться в задачах подстройки весов при обучении ИНС. К преимуществам генетического алгоритма относится параллельная обработка множества возможных решений для нахождения глобального экстремума многоэкстремальной функции. При этом поиск концентрируется на наиболее перспективных из них.
При обучении ИНС в генетическом алгоритме используются следующие определения [5]:
- ген - весовой коэффициент ИНС;
- хромосома - набор генов (то есть весовых коэффициентов нейронной сети); каждая хромосома является возможным решением;
- популяция - множество хромосом, вариантов наборов весовых коэффициентов;
- эпоха - итерация, соответствующая созданию нового поколения хромосом.
Хромосомы являются основными сущностями, над которыми в определенном порядке в пределах одной эпохи проводятся следующие операции:
- скрещивание - создание с определенной степенью вероятности (Рс) новой хромосомы из генов двух других и добавление ее в популяцию;
- мутация - изменение с определенной степенью вероятности (Рт) значения произвольного гена любой хромосомы и добавление ее в популяцию;
- приспособление - удаление из популяции хромосом (то есть наборов весовых коэффициентов), показавших худший результат.
Мутация при обучении ИНС необходима, так как она позволяет выходить популяции из локального экстремума, а также является способом получения новых, более здоровых особей.
На рисунке 1 показана ИНС типа многослойный персептрон. Хромосома составляется из весовых коэффициентов слева направо и сверху вниз.
Вход xi ^—
Вход Х2 *Kw0<
^\ Выход у
W""A w J ул W )
Вход Хз ^pf-1 IfXvN
Вход Ха _ VV Рис. 1
Таким образом, хромосома представляет собой набор генов - весовых коэффициентов:
С= {м!, wi,..., wi , w2 ,..., ™кг1 , wi,..., wi } , (3)
где С - хромосома; / - индекс представителя популяции; w - вес нейрона [5].
Так как генетический алгоритм не является строго детерминированным, скрещивание и мутацию в пределах одной эпохи можно проводить в произвольном порядке. Хромосома для скрещивания выбирается с вероятностью, пропорциональной результату; каждому гену новой хромосомы присваивается ген либо хромосомы Ga, либо хромосомы Gb с вероятностью 0,5:
Gt = Random > 0,5 ? Gf : Gtb , (4)
где G, - ген новой хромосомы; Ga и Gb - гены родительских хромосом; i - порядковый номер гена в хромосоме; Random - функция, генерирующая равномерную случайную величину на отрезке действительных чисел [0; 1].
Для каждой особи популяции с вероятностью Pm (как правило, Pm=0,2) определим особей, подлежащих мутации. Для каждого гена выбранной особи с вероятностью Pg произведем мутацию. Для мутации гена воспользуемся формулой G = G + | G | * Km * (2 * Random -1), (5)
где G, - ген хромосомы; i - порядковый номер гена в хромосоме; Random - функция, генерирующая равномерную случайную величину на отрезке действительных чисел [0; 1]; Km - коэффициент мутации (как правило, Kme [0; 1]).
Таким образом, к параметрам генетического алгоритма относятся размер популяции, число потомков, число хромосом для мутаций, вероятности выбора хромосомы и вероятность мутации гена. Соответствующий подбор параметров позволяет выделить генетический алгоритм из широкого класса алгоритмов.
Для гибридного обучения ИНС получаем две альтернативы. В первом случае начнем обучение адаптивным алгоритмом и, достигнув критерия перехода, продолжим обучение генетическим алгоритмом, добавив к первой популяции здоровую особь - ИНС, обученную адаптивным алгоритмом.
Критериями перехода от адаптивного к генетическому методу обучения для гибридного алгоритма являются количество эпох обучения A и среднеквадратическая ошибка E.
Второй альтернативной реализацией гибридного алгоритма будет обучение ИНС генетическим алгоритмом. В результате работы генетического алгоритма получим популяцию, наилучший представитель которой является одним из возможных решений задачи обучения. Если значение критерия обучения удовлетворяет заданному качеству, можно считать, что процесс обучения завершен. Если это не так, продолжим обучение адаптивным алгоритмом.
Критериями перехода от генетического к адаптивному методу для второго варианта гибридного
алгоритма являются количество эпох обучения A, среднеквадратическая ошибка E, стационарность популяции.
Рассмотрим алгоритм предлагаемого гибридного метода обучения варианта «адаптивный + генетический».
1. Создаем ИНС с первоначальной инициализацией весовых коэффициентов.
2. Обучаем ИНС описанным выше адаптивным алгоритмом, пока не будет достигнут критерий перехода к генетическому методу обучения.
3. Создаем популяцию из N-1 особей. В первую популяцию добавим ИНС, обученную адаптивным алгоритмом.
4. Произведем скрещивание особей с вероятностью выбора пары Pc. От каждой пары получим S потомков. Для определения генов потомка воспользуемся формулой (4).
5. Выберем из новой популяции лучших N особей.
6. Если лучший представитель особи соответствует заданному качеству обучения, переходим к шагу 9.
7. Проведем мутацию для особей, выбранных с вероятностью Pm. Для каждого гена выбранной особи с вероятностью Pg произведем мутацию. Для мутации гена воспользуемся формулой (5).
8. Если лучший представитель особи соответствует заданному качеству обучения, переходим к шагу 9, если нет - возвращаемся к шагу 4.
9. Конец алгоритма.
В результате получена обученная сеть (лучший представитель особи).
Окончательный выбор алгоритма обучения зависит от конкретной задачи. Поэтому для тестирования алгоритмов был реализован эмулятор ИНС в виде веб-приложения. Языком программирования выбран PHP.
На рисунке 2 приведена диаграмма классов методов обучения реализованного программного продукта.
Родителем для всех классов-методов обучения является abstract class Method. Основные потомки данного класса:
- метод обратного распространения ошибки -class MethodBP;
- генетический метод обучения - class MethodGA;
- гибридный метод MethodHybridBPGA.
Гибридный метод инкапсулирует в объекта методов - class MethodBP MethodGA.
Алгоритмы оптимизации функции представлены абстрактным классом Optimizer, классами OptimizerGradient (реализует поиск минимума методом простого градиентного спуска) и
обучения - class
себе два и class
ошибки
OptimizerGradientAdaptive (реализует поиск минимума адаптивным методом).
Функция ошибки нейрона представлена классом FuncOptimizerMNK, который реализует функцию наименьших квадратов.
На рисунке 3 изображена диаграмма основных классов архитектуры ИНС.
OptimizerGradientAdaptive
Рис. 2
Рис. 3
Архитектура многослойного персептрона реализована классами Net, Layer, Neuron и дополнительным классом нейрона NeuronBP, который применяется в методе обратного распространения ошибки. В отличие от класса Neuron он заключает в себе функцию ошибки и алгоритм оптимизации функции ошибки.
Классы Activate и ActivateSigmoid реализуют активационную функцию нейрона, в данном случае сигмовидную.
Таблица 1
Результаты исследования алгоритмов обучения ИНС
№ Методы оптимизации
Градиентный спуск Адаптивный алгоритм Генетический алгоритм Адаптивный + генетический Генетический + адаптивный
Ошибка Число эпох Ошибка Число эпох Ошибка Число эпох Ошибка Число эпох Ошибка Число эпох
1 0,003017 1000 0,001103 1000 0,000999 760 0,000906 613 0,001124 1000
2 0,001434 1000 0,001099 1000 0,000993 480 0,000985 737 0,001158 1000
3 0,001474 1000 0,001122 1000 0,001019 1000 0,000978 400 0,001293 1000
4 0,001778 1000 0,001137 1000 0,000990 723 0,001069 1000 0,001102 1000
5 0,001456 1000 0,001115 1000 0,000992 624 0,000980 435 0,001145 1000
6 0,001426 1000 0,001105 1000 0,000971 781 0,000991 955 0,001127 1000
7 0,001420 1000 0,001144 1000 0,000997 553 0,000959 654 0,001161 1000
8 0,001418 1000 0,001133 1000 0,000982 602 0,001053 1000 0,001108 1000
9 0,001418 1000 0,001183 1000 0,000990 704 0,000998 685 0,001282 1000
10 0,001571 1000 0,001229 1000 0,015316 1000 0,001129 1000 0,001183 1000
Таблица 2
Сравнительные характеристики процесса обучения рассмотренных алгоритмов
Алгоритм обучения Время одной эпохи (в миллисекундах) Худший результат Лучший результат
Число эпох Ошибка Число эпох Ошибка
Простой градиентный спуск 60 1000 0,003017 1000 0,001418
Адаптивный алгоритм 120 1000 0,001229 1000 0,001099
Генетический алгоритм 220 1000 0,015316 480 0,000993
Гибридный алгоритм (адаптивный + генетический) ~160 1000 0,001129 400 0,000978
Гибридный алгоритм (генетический + адаптивный) ~180 1000 0,001293 1000 0,001103
Были проведены эксперименты с обучением ИНС топологии многослойный персептрон. В качестве задачи для обучения выбрана задача аппроксимации двумерной функции Розенброка [3], г, >>е[0; 3]. Обучающая выборка состояла из 155 примеров, размер входного вектора - 2, выходного - 1. Критериями остановки обучения были порог в 1000 эпох и среднеквадратическая ошибка, составляющая 0,001.
Для экспериментов создано десять ИНС. В анализе участвовали следующие алгоритмы: простой градиентный спуск, адаптивный алгоритм, генетический алгоритм, «адаптивный+генетичес-кий», «генетический+адаптивный». Результаты исследования представлены в таблицах 1 и 2.
Проведенные эксперименты показали, что с задачей справились генетический и гибридный алгоритмы версии «адаптивный+генетический». Для данной задачи обучения быстрее всего сходились градиентные методы, но до определенной средне-квадратической ошибки, в среднем до 0,003. Порог в 0,001 за 1 000 эпох не преодолел ни один градиентный метод. Из этого следует, что целесообразнее всего в начале обучения использовать адаптивный метод, который достаточно быстро находит решение со среднеквадратической ошибкой 0,003, а далее применять генетический алгоритм.
По количеству эпох генетический алгоритм в некоторых случаях быстрее гибридного. Но для данной задачи время одной эпохи генетического алгоритма гораздо выше (220 миллисекунд) среднего времени одной эпохи гибридного (160). По-
этому можно сделать вывод, что лучше всего для данной задачи подходит гибридный алгоритм варианта «адаптивный+генетический».
Таким образом, получена параметрическая модель обучения ИНС, содержащая широкий спектр известных алгоритмов обучения и позволяющая настроить параметры для наилучшего решения поставленной задачи.
Литература
1. Тархов Д.А. Нейронные сети. Модели и алгоритмы. Кн. 18. Сер. Нейрокомпьютеры и их применение. М.: Радиотехника, 2005. 256 с.
2. Лила В.Б. Алгоритм и программная реализация адаптивного метода обучения искусственных нейронных сетей // Инженерный вестн. Дона, 2012.
3. Гришин А.А., Карпенко А.П. Исследование эффективности метода пчелиного роя в задаче глобальной оптимизации // Наука и образование. № 8. 2010.
4. Хайкин С. Нейронные сети: полный курс; [пер. с англ.]. М.: Издат. дом «Вильямс», 2006. 2-е изд. 1104 с.
5. Липанов А.М., Тюриков А.В., Суворов А.С., Шелков-ников Е.Ю., Гуляев П.В. Применение генетического алгоритма для обучения нейронной сети в задаче идентификации СТМ-изображений // Ползуновский вестн. 2010. № 2. С. 217-221.
References
1. Tarkhov D.A., Neyronnye seti. Modeli i algoritmy [Neural network. Models and algorithms], Moscow, Radiotekhnika, 2005, 256 p.
2. Lila V.B., Inzhenerny VestnikDona, 2012.
3. Grishin A.A., Karpenko A.P., Nauka i obrazovanie, no. 8, 2010.
4. Haykin S., Neural Networks: A Comprehensive Foundation, McMaster University Hamilton, Ontario, Canada, 1999, 842 p.
5. Lipanov A.M., Tyurikov A.V., Suvorov A.S., Shelkov-nikov E.Yu., Gulyaev P.V., Polzunovskiy Vestnik, 2010, no. 2, pp. 217-221.