![]() КАТЕГОРИИ: Архитектура-(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. Генетические алгоритмы
Сеть обучена с толерантностью 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
Дата добавления: 2015-06-04; Просмотров: 388; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |