Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример 4.32




Обучить с помощью программы BrainMaker нейронную сеть, реализующую логическую систему XOR (рис. 4.2) с начальными зна­чениями весов, рассчитанными в примере 4.27 генетическим алгорит­мом программы Evolver и представленными на рис. 4.99. Это еще один пример гибридного подхода к обучению весов нейронной сети, реализующей логическую систему XOR. Он очень похож на предыду­щий пример, однако отличается набором начальных значений весов, полученных за меньшее время выполнения генетического алгоритма и, следовательно, более далеких от оптимальных.

Толерантность погрешности принята равной 0,025, что означа­ет 2,5 % допустимой погрешности, т.е. разницы между фактическим выходным значением и заданным значением - эталоном. Поэтому для эталона, равного 0, корректным будет признаваться выходное значение от 0 до 0,025, а для эталона, равного 0 - значение от 0,975 до 1. Начальный набор весов для программы BrainMaker представ­лен на рис. 4.156, а на рис. 4.157-4.160 показаны результаты тести­рования сети. Видно, что выходные значения у для конкретных пар входов весьма близки к приведенным на рис. 4.99. Сеть не может счи­таться обученной. На 22 тестирующих выборках только 5 раз реакция на выходе была корректной, а в 17 случаях - ошибочной. Набор ве­сов с рис. 4.156 был получен после всего лишь 96 «тактов» функцио­нирования программы Evolver (что соответствует менее чем 2 итера­циям классического генетического алгоритма). Результаты обучения нейронной сети с этими весами программой BrainMaker с толерантно­стью погрешности, равной 0,025, представлены на рис. 4.161. Значе­ние погрешности RMS с графика этого рисунка легко сравнить со зна­чением погрешности Q на рис. 4.99, 4.100 и 4.101. Заметно, что вы­ходные значения у для каждой пары входов системы XOR укладыва­ются в границы 2,5 % толератности. Сеть обучилась достаточно быс­тро - за 104 прогона (runs). На рис. 4.165 представлены веса обучен­ной сети, а на рис. 4.161 -4.164- результаты ее тестирования. Пред­ставляет интерес сопоставление рис. 4.165 и 4.143, поскольку они от­ражают обучение с одной и той же толерантностью, равной 0,025. Ес­ли продолжить обучение сети при меньшем значении толерантности, то (по аналогии с примером 4.31) можно найти значения весов, еще более близкие к оптимальным и практически совпадающие с показан­ными на рис. 4.155.

Рассмотрим теперь эффект обучения нейронной сети, реали­зующей логическую систему XOR, с помощью только программы BrainMaker без применения генетического алгоритма.


а 4. Генетические алгоритмы


4.73. Эволюционные алгоритмы для обучения нейронных сетей



 


Пример 4.33

Обучить с помощью программы BrainMaker нейронную сеть, реализующую логическую систему XOR (рис. 4.2) с начальными зна­чениями весов, представленными на рис. 4.96.

Показанные на рис. 4.96 значения весов сгенерированы слу­чайным образом. На рис. 4.166 эти веса представлены в формате программы BrainMaker. Нейронная сеть с этими весами не может считаться обученной. Результаты ее тестирования приведены на рис. 4.167 - 4.170. Заметно, что выходные значения у совершенно не со­ответствуют эталону 1, а для эталона 0 выходные значения также не попадают в границы 10% толерантности. Для всех 22 тестирующих выборок получены ошибочные выходные сигналы.

Вначале обучение сети проводилось с толерантностью погреш­ности, равной 0,1. Процесс обучения иллюстрируют графики на рис. 4.171. На рис. 4.172 показаны значения весов, полученные после 191 прогона (runs) алгоритма. Продолжение графика с рис. 4.171 демон­стрируется на рис. 4.173, а его завершение - на рис. 4.174. Получен­ные значения весов нейронной сети с толерантностью погрешности, равной 0,1, представлены на рис. 4.175. Заметим, что значение по­грешности RMS для этого случая (см. рис. 4.174) достаточно близко к значению погрешности Q, рассчитанному программой Evolver в примерах 4.23 - 4.27 для значений весов с рис. 4.175 (среднеквад­ратичная погрешность Q = 0,009887).

Нейронная сеть с весами, показанными на рис. 4.166, была обучена с толерантностью погрешности 0,1 за 399 прогонов алгорит­ма программы BrainMaker. Результаты тестирования сформирован­ной сети представлены на рис. 4.176-4.178. Для входов и, = 1 и и2=0 решение приведено на рис. 4.174. Сеть может считаться обученной, поскольку в ходе тестирования не зарегистрированы ошибочные от­клики. Далее обучение сети продолжилось с толерантностью погреш­ности, равной 0,025. После 510 прогонов получены графики, изобра­женные на рис. 4.179, и значения весов, приведенные на рис. 4.180. Значение погрешности RMS для этой комбинации весов можно полу­чить с графика на рис. 4.179. При толерантности погрешности 0,025 сеть плохо поддавалась обучению, поэтому после 4000 прогонов уро­вень толерантности был увеличен до 0,03. Графики и значения весов на момент изменения уровня показаны на рис. 4.181 и 4.182 соответ­ственно. После увеличения значения толерантности выполнение про­граммы очень быстро - после 402 прогонов - завершилось. Достигну­тый эффект можно наблюдать на рис. 4.183, а полученные значения весов - на рис. 4.184.

В результате обучения нейронной сети, реализующей логичес­кую систему XOR с начальными значениями весов, представленными на рис. 4. 166 и 4.96, была найдена еще одна комбинация весов, по­добная полученным при минимизации погрешности Q с помощью программы Evolver. В принципе, сформированный в текущем приме­ре и представленный на рис. 4.184 набор весов сети, обученной с по­мощью программы BrainMaker, отличается от двух аналогичных ком-


 

 


бинаций «наилучших» весов из примера 4.27 только знаками. Напри­мер, если сравнить веса с рис. 4.184 с весами, показанными на рис 4.101, то можно зафиксировать, что веса wu, w12, w2b w22 изменили знаки на противоположные, а веса w3i. щ2, w10, w20> w30 имеют в обо­их случаях одни и те же знаки, т.е. w31 и w20 остались отрицательны­ми, a w32, w10, w30 - положительными. Результаты тестирования сфор­мированной сети (с весами на рис. 4.184) для входов щ = 1 и и2 = 0 приведены на рис. 4.183. Для пары входов иЛ =0 и и2= 1 значение у ос­талось неизменным, т.е. равным 0,9700.

Для иЛ = 0 и и2 = 0, а также для иЛ - 1 и и2 = 1 выходное значе­ние у равно 0,0301

Рассмотренные примеры иллюстрируют гибридный подход, ос­нованный на объединении двух различных методов - генетического алгоритма и градиентного метода обучения весов нейронной сети, из­вестного под названием обратного распространения ошибки. В при­мере 4.27 для обучения нейронной сети применялся генетический ал­горитм программы Evolver. После 40 000 «тактов» функционирова­ния этого алгоритма (что соответствует 800 поколениям классическо­го генетического алгоритма) получено близкое к оптимальному реше­ние. Однако, как показывают примеры 4.30 и 4.31, этот результат мож­но еще улучшить за счет «дообучения» с помощью градиентного ал­горитма.

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

В примере 4.33 продемонстрирован способ обучения нейрон­ной сети методом обратного распространения ошибки (программа BrainMaker). Полученный результат оказался еще более близким к оптимальному, чем при использовании только генетического алго­ритма (при мер 4.30). Однако необходимо подчеркнуть, что градиент­ный метод не всегда приводит к достижению ожидаемого результата, который зависит от начальной точки. При другом, сгенерированном случайным образом исходном множестве весов сеть может оказаться «необучаемой», что встречается довольно часто. Кроме того, принци­пиальным недостатком градиентных методов оказывается их «заст­ревание» в локальных оптимумах. Это можно предотвратить приме­нением генетического алгоритма - только для того, чтобы найти ка­кую-либо точку, настолько близкую к глобальному оптимуму, что гра­диентный алгоритм при старте из этой точки не «застрянет» ни в ка­ком локальном оптимуме и быстро найдет глобальное решение.



Глава 4. Генетические алгоритмы


4.73. Эволюционные алгоритмы для обучения нейронных сетей



 


В рассмотренных примерах использовался генетический (эво­люционный) алгоритм программы Evolver. Конечно, для достижения тех же целей можно было применять и программу FlexTool (п. 4.9), ко­торая допускает такой же интервал изменения значений весов от -7 до 8, как и программа BrainMaker. Для выбора исходного множества весов нейронной сети также пригодны и другие реализации генетиче­ского (эволюционного) алгоритма.




Поделиться с друзьями:


Дата добавления: 2015-06-04; Просмотров: 345; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.018 сек.