Студопедия

КАТЕГОРИИ:


Архитектура-(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.31




Пример 4.30

Программы Evolver и BrainMaker

Метод обратного распространения ошибки применяется для обучения нейронных сетей в программе BrainMaker [50]. В примере 4.30 с использованием этой программы тестируется нейронная сеть, реализующая логическую систему XOR со значениями весов, рассчи­танными в п. 4.11.1 с помощью программы Evolver. При решении при­меров 4.31 и 4.32 демонстрируется гибридный подход, т.е. обучение этой же нейронной сети программой BrainMaker, но при начальных значениях весов, рассчитанных генетическим алгоритмом программы Evolver. В свою очередь, пример 4.33 иллюстрирует обучение ней­ронной сети, реализующей логическую систему XOR, при использова­нии только программы BrainMaker.

Протестировать с помощью программы BrainMaker нейронную сеть, реализующую логическую систему XOR (рис. 4.2) с весами, рас­считанными в примере 4.27 генетическим алгоритмом программы Evolver и представленными на рис. 4.101.

На рис. 4.123 показаны значения весов, введенные в програм­му BrainMaker. Они сгруппированы в два блока, разделенные пустой строкой. Первый блок содержит веса связей между входным и скры­тым слоем так, что для каждого из двух нейронов скрытого слоя при­ведены веса связей со всеми входами, а последние элементы строк -это w10 и w20. Второй блок содержит веса связей между скрытым и вы­ходным слоем, т.е. три веса выходного нейрона, причем последним указан вес w30- В примере использовался интервал значений весов [-7, 8].

Результаты тестирования сети приведены на рис. 4.124-4.127. Можно сделать вывод о хорошей обученности сети. Значения на вы­ходах для четырех пар входных значений практически совпадают с показанными на рис. 4.101. Абсолютная разность между заданным значением d и выходным значением у для каждой пары входов иЛ и и2 (рис. 4.124 - 4.127) оказалась меньше 0,025, поэтому сеть может счи­таться хорошо обученной с толерантностью 0,025 и тем более - с то­лерантностью 0,1. Понижение порога толерантности до 0,02 означа­ло бы, что эта сеть не считается хорошо обученной и что требуемый уровень обучения не может быть достигнут. Дальнейшее обучение при толерантности, равной или меньшей 0,02, не изменяет значений весов, показанных на рис. 4.123. Однако, как будет видно из примера 4.31, уменьшение толерантности до 0,022 принесло бы эффект в ви­де «дообучения» сети.


i


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

Вначале с помощью программы BrainMaker была протестиро­вана нейронная сеть, показанная на рис. 4.2. В качестве начальных значений для алгоритма обучения программы BrainMaker использо­вались веса, рассчитанные генетическим алгоритмом программы Evolver. Следовательно, это типичный пример гибридного подхода, поскольку генетический алгоритм используется для нахождения на­чальных значений весов для градиентного алгоритма обратного рас­пространения ошибки (backpropagation). Эти начальные значения в формате программы BrainMaker представлены на рис. 4.128, а со­ответствующие результаты тестирования сети - на рис. 4.129 - 4.132.

Анализ результатов тестирования свидетельствует о том, что они оказываются хуже, чем показанные на рис. 4.124-4.127, посколь­ку в предыдущем примере не было ни одной ошибки, а в текущем примере в пяти случаях из 22 сеть дала неверный ответ. Кроме того, видно, что толерантность выходного значения на рис. 4.130 превыша­ет уровень 0,1. Впоследствии сеть подверглась обучению с помощью программы BrainMaker с толерантностью, равной 0,1. Результаты обучения иллюстрирует рис. 4.133. На нижнем графике заметно уменьшение среднеквадратичной погрешности RMS (Roof Mean Squared) при выполнении 10 реализаций (runs) алгоритма. Погреш­ность RMS отличается от погрешности Q, минимизировавшейся в примере 4.27, тем, что

N

где % = d-, - y,-, а значение N в примере 4.27 равно 4.

С учетом различий, связанных с взятием квадратного корня при расчете RMS, можно сравнить эту погрешность со значением Q из примера 4.27. Верхний график на рис. 4.133 представляет собой гис­тограмму распределения погрешности, рассчитанной как абсолютная разность между заданным cf,- и фактическим у,- выходным значением для каждой пары входов i/1(- и и2,-. На горизонтальной оси отложены значения этой погрешности, а на вертикальной оси - количество вы­ходных значений с такой погрешностью. Представлены три уровня погрешности с толерантностью 0,1. В верхней части рис 4 133 указано значение у для щ = 1, и2 = 0 и d = 1 (для упрощения здесь опущен индекс /). Результаты тестирования этой сети для трех ос­тальных комбинаций входных значений (для системы XOR) приведе-


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

ны на рис. 4.134-4.136. Абсолютная разность между эталонным (Ptn) и выходным (Out) значениями для рис 4.133 равна 0,0473, для рис. 4.134 - 0,0269, для рис. 4.135 - 0,0998 и для рис. 4.136 - 0,0979. Из гистограммы на рис. 4.133 следует, что для шести из 22 входных пар иь и2 эта погрешность равна 0,0269, такое же количество вход­ных пар имеет погрешность 0,0473, а для оставшихся входных пар эта погрешность составила около 0,099. Веса обученной таким обра­зом сети показаны на рис. 4.137.

Сеть обучена с толерантностью 0,1. Это означает, что выход­ные значения должны не более чем на 10 % отличаться от значений 0 и 1 для того, чтобы модель системы XOR была признана коррект­ной. Следовательно, при подаче эталона 0 считаются правильными значения у, меньшие или равные 0,1, а при подаче эталона 1 пра­вильными будут значения у, большие или равные 0,9.

Конечно, показанные на рис. 4.137 значения весов не могут рассматриваться в качестве оптимальных для системы XOR. Поэто­му толерантность была уменьшена до 0,025, и процесс обучения про­должился. Полученные результаты приведены на рис. 4.138.

Интересно сравнить достигнутое значение погрешности RMS с аналогичным показателем на рис. 4.133. Результаты тестирования обученной сети представлены на рис. 4.139 - 4.142. Значение абсо­лютной разности между эталоном и фактическим выходным зна­чением на следующих друг за другом рисунках составляет 0,0252, 0,0246, 0,0239, 0,0247 соответственно, что отражает гистограмма на рис. 4.138.

Значения весов для сети, обученной с толерантностью 0,025, приведены на рис. 4.143. Интересно сравнить его с рис. 4.137. Более поздние результаты оказываются гораздо ближе к оптимальным. Да­лее была предпринята попытка еще лучше обучить сеть с уменьше­нием толерантности до 0,02. К сожалению, эта попытка завершилась неудачей, поскольку способности сети к обучению оказались исчер­панными. Однако при фиксации толерантности на уровне 0,023 был достигнут конечный эффект, показанный на рис. 4.144. Результаты те­стирования сети, обученной подобным образом, представлены на рис. 4.145 - 4.148, а значения весов этой сети - на рис. 4.149. Еще лучший результат обучения, который иллюстрируется рис. 4.150, удалось получить при толерантности 0,022. Результаты тестирования сети, обученной подобным образом, представлены на рис. 4.151 -4.154, а значения весов этой сети - на рис. 4.155.

Дальнейшее снижение уровня толерантности до 0,021, к сожа­лению, уже не ведет к большей обученное™ сети, даже если бы про­грамма работала еще в течение многих часов. Таким образом, наи­лучшим решением считается сеть со значениями весов, показанными на рис. 4.155, которые следует сравнить с набором весов для приме­ра 4.27, приведенными на рис. 4.101. Нетрудно заметить, что объеди­нение генетического алгоритма программы Evolver с программой BrainMaker дало лучшие результаты, чем на рис. 4.101. Если бы вы-


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

числения сразу проводились с толерантностью 0,022, а в качестве на­чальных весов принимались значения с рис. 4.128, то результат был бы лучше, чем на рис. 4.101. Аналогичный результат можно было ожидать и в примере 4.30 при установлении уровня толерантности, равным 0,022.




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


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


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



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




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