Journal influence
Bookmark
Next issue
The algorithm and software implementation of the hybrid training method of artificial neural networks
The article was published in issue no. № 4, 2012 [ pp. 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.
Аннотация:Задача обучения искусственной нейронной сети может рассматриваться как задача оптимизации, при этом основная проблема заключается в выборе из разнообразных оптимизационных методов наиболее подходящего. Выбор в пользу градиентных методов обоснован тем, что, как правило, в задачах обучения нейросетей целевую функцию можно выразить в виде дифференцируемой функции от всех весовых коэффициентов. Однако сложный характер этой зависимости приводит к тому, что целевая функция имеет локальные экстремумы и седловые точки, а потому делает применение градиентных методов не всегда обоснованным. Для решения задач оптимизации с многоэкстремальным критерием используют методы случайного поиска, к которым относятся генетические алгоритмы, обычно отличающиеся медленной сходимостью. Для проведения сравнительной характеристики градиентных методов и генетического алгоритма разработано ПО с веб-интерфейсом. В качестве задачи для обучения нейронной сети использовалась задача аппроксимации двумерной функции Розенброка. Результаты исследования показали, что градиентные методы имели быструю сходимость лишь в начале обучения, а генетический алгоритм – в конце. Таким образом, предложен гибридный алгоритм, основанный на последовательном использовании градиентных методов и генетического алгоритма.
Authors: Belyavsky G.I. (gbelyavski@sfedu.ru) - Scientific Reseach Institute of Mechanics and Applied Mathematics Southern Federal University, Rostov-on-Don, Russia, Ph.D, Lila V.B. (lila@i-intellect.ru) - Rostov State University of Civil Engineering, Rostov-on-Don, Russia, Ph.D, Puchkov E.V. (puchkoff@i-intellect.ru) - Rostov State University of Civil Engineering, Rostov-on-Don, Russia, Ph.D | |
Keywords: web application, rosenbrock function, genetic algorithm, hybrid training method, multilayer perceptron, artificial neural networks |
|
Page views: 14408 |
Print version Full issue in PDF (9.63Mb) Download the cover in 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. Создаем популяцию из 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 реализуют активационную функцию нейрона, в данном случае сигмовидную. Были проведены эксперименты с обучением ИНС топологии многослойный персептрон. В качестве задачи для обучения выбрана задача аппроксимации двумерной функции Розенброка [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. |
Permanent link: http://swsys.ru/index.php?page=article&id=3318&lang=&lang=en&like=1 |
Print version Full issue in PDF (9.63Mb) Download the cover in PDF (1.26Мб) |
The article was published in issue no. № 4, 2012 [ pp. 96-100 ] |
Perhaps, you might be interested in the following articles of similar topics:
- Разработка методики акустической диагностики шахтного оборудования
- Обучение нейронной сети с запаздыванием
- Конструктивный метод обучения искусственных нейронных сетей со взвешенными коэффициентами
- Построение системы технического зрения для выравнивания содержимого упаковок дельта-манипулятором на пищевом производстве
- Применение средств моделирования нейросетей для анализа предаварийных ситуаций на буровых
Back to the list of articles