На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

4
Ожидается:
09 Декабря 2024

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

The algorithm and software implementation of the hybrid training method of artificial neural networks
Статья опубликована в выпуске журнала № 4 за 2012 год. [ на стр. 96-100 ]
Аннотация:Задача обучения искусственной нейронной сети может рассматриваться как задача оптимизации, при этом основная проблема заключается в выборе из разнообразных оптимизационных методов наиболее подходящего. Выбор в пользу градиентных методов обоснован тем, что, как правило, в задачах обучения нейросетей целевую функцию можно выразить в виде дифференцируемой функции от всех весовых коэффициентов. Однако сложный характер этой зависимости приводит к тому, что целевая функция имеет локальные экстремумы и седловые точки, а потому делает применение градиентных методов не всегда обоснованным. Для решения задач оптимизации с многоэкстремальным критерием используют методы случайного поиска, к которым относятся генетические алгоритмы, обычно отличающиеся медленной сходимостью. Для проведения сравнительной характеристики градиентных методов и генетического алгоритма разработано ПО с веб-интерфейсом. В качестве задачи для обучения нейронной сети использовалась задача аппроксимации двумерной функции Розенброка. Результаты исследования показали, что градиентные методы имели быструю сходимость лишь в начале обучения, а генетический алгоритм – в конце. Таким образом, предложен гибридный алгоритм, основанный на последовательном использовании градиентных методов и генетического алгоритма.
Abstract: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 differentiable 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.
Авторы: Белявский Г.И. (gbelyavski@sfedu.ru) - Институт математики, механики и компьютерных наук Южного федерального университета, ул. Мильчакова (профессор), Ростов-на-Дону, Россия, доктор технических наук, Лила В.Б. (lila@i-intellect.ru) - Ростовский государственный строительный университет, г. Ростов-на-Дону (ассистент кафедры), Ростов-на-Дону, Россия, кандидат технических наук, Пучков Е.В. (puchkoff@i-intellect.ru) - Академия строительства и архитектуры Донского государственного технического университета, ул. Социалистическая, 162, г. Ростов-на-Дону (доцент), Ростов-на-Дону, Россия, кандидат технических наук
Ключевые слова: веб-приложение., функция розенброка, ге-нетический алгоритм, гибридный алгоритм обучения, многослойный персептрон, искусственные нейронные сети
Keywords: web application, rosenbrock function, genetic algorithm, hybrid training method, multilayer perceptron, artificial neural networks
Количество просмотров: 15178
Версия для печати
Выпуск в формате PDF (9.63Мб)
Скачать обложку в формате PDF (1.26Мб)

Размер шрифта:       Шрифт:

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

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

Общая формула для изменения весов:

,                                                 (1)

где  – направление движения; hk – размер шага на k-й итерации.

Формула расчета будет следующей:

 ,                                   (2)

где  – направление движения;  – направление антиградиента на j-й итерации; bi – коэффициент, определяющий вес i-го градиента; m – количество запоминаемых градиентов; k – порядковый номер текущей итерации.

Градиентный метод обучения из формулы 2 получается при m=0, а методы сопряженных градиентов [1], которые наиболее часто употребляются при обучении нейронных сетей, – путем суммирования всех предыдущих направлений (при m=¥). Параметрами алгоритма являются порядок m и последовательности h, b.

Рассмотрим обучение многослойного персептрона методом обратного распространения с адаптивным алгоритмом минимизации функции ошибки.

1.     Находим начальные значения параметров: стартовую точку w0, начальное направление движения p0 и шаг h0.

2.     Выбираем очередной вектор из обучающего множества и подаем его на вход сети.

3.     Определяем направление движения pk по формуле (2).

4.     Вычисляем критерий остановки, например среднюю квадратичную ошибку [1, 3].

5.     Если условие остановки выполняется, переходим к шагу 6, если нет – переходим к шагу 2.

6.     Конец алгоритма.

В результате получаем обученную сеть.

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

Генетический алгоритм является итерационным и часто вычисляет решение в некоторой окрестности глобального минимума. В связи с этим он может применяться в задачах подстройки весов при обучении ИНС. К преимуществам генетического алгоритма относится параллельная обработка множества возможных решений для нахождения глобального экстремума многоэкстремальной функции. При этом поиск концентрируется на наиболее перспективных из них.

При обучении ИНС в генетическом алгоритме используются следующие определения [5]:

-     ген – весовой коэффициент ИНС;

-     хромосома – набор генов (то есть весовых коэффициентов нейронной сети); каждая хромосома является возможным решением;

-     популяция – множество хромосом, вариантов наборов весовых коэффициентов;

-     эпоха – итерация, соответствующая созданию нового поколения хромосом.

Хромосомы являются основными сущностями, над которыми в определенном порядке в пределах одной эпохи проводятся следующие операции:

-     скрещивание – создание с определенной степенью вероятности (Pс) новой хромосомы из генов двух других и добавление ее в популяцию;

-     мутация – изменение с определенной степенью вероятности (Pm) значения произвольного гена любой хромосомы и добавление ее в популяцию;

-     приспособление – удаление из популяции хромосом (то есть наборов весовых коэффициентов), показавших худший результат.

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

На рисунке 1 показана ИНС типа многослойный персептрон. Хромосома составляется из весовых коэффициентов слева направо и сверху вниз.

Таким образом, хромосома представляет собой набор генов – весовых коэффициентов:

, (3)

где C – хромосома; i – индекс представителя популяции; w – вес нейрона [5].

Так как генетический алгоритм не является строго детерминированным, скрещивание и мутацию в пределах одной эпохи можно проводить в произвольном порядке. Хромосома для скрещивания выбирается с вероятностью, пропорциональной результату; каждому гену новой хромосомы присваивается ген либо хромосомы Ga, либо хромосомы Gb с вероятностью 0,5:

,                             (4)

где Gi – ген новой хромосомы; Ga  и Gb – гены родительских хромосом; i – порядковый номер гена в хромосоме; Random – функция, генерирующая равномерную случайную величину на отрезке действительных чисел [0; 1].

Для каждой особи популяции с вероятностью Pm (как правило, Pm=0,2) определим особей, подлежащих мутации. Для каждого гена выбранной особи с вероятностью Pg произведем мутацию.

Для мутации гена воспользуемся формулой

             (5)

где Gi – ген хромосомы; i – порядковый номер гена в хромосоме; Random – функция, генерирующая равномерную случайную величину на отрезке действительных чисел [0; 1]; Km – коэффициент мутации (как правило, KmÎ[0; 1]).

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

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

Критериями перехода от адаптивного к генетическому методу обучения для гибридного алгоритма являются количество эпох обучения A и среднеквадратическая ошибка E.

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

Критериями перехода от генетического к адаптивному методу для второго варианта гибридного алгоритма являются количество эпох обучения A, среднеквадратическая ошибка E, стационарность популяции.

Рассмотрим алгоритм предлагаемого гибридного метода обучения варианта «адаптивный + генетический».

1.     Подпись:  
Рис. 2
															
 
Рис. 3
Создаем ИНС с первоначальной инициализацией весовых коэффициентов.

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;

-     гибридный метод обучения – class MethodHybridBPGA.

Гибридный метод инкапсулирует в себе два объекта методов – class MethodBP и class MethodGA.

Алгоритмы оптимизации функции ошибки представлены абстрактным классом Optimizer, классами OptimizerGradient (реализует поиск минимума методом простого градиентного спуска) и OptimizerGradientAdaptive (реализует поиск минимума адаптивным методом).

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

На рисунке 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], x, yÎ[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.


Постоянный адрес статьи:
http://swsys.ru/index.php?id=3318&like=1&page=article
Версия для печати
Выпуск в формате PDF (9.63Мб)
Скачать обложку в формате PDF (1.26Мб)
Статья опубликована в выпуске журнала № 4 за 2012 год. [ на стр. 96-100 ]

Возможно, Вас заинтересуют следующие статьи схожих тематик: