Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


4.13.2. Программа GTO

Программа GTO (Genetic Training Option - Режим Генетического Обучения) взаимодействует с программой BrainMaker. В ней реализован эволюционный алгоритм с соответственно определенными операторами мутации и скрещивания. Мутация изменяет значения весов избранного нейрона, а скрещивание заключается в обмене весов избранных нейронов у пары родителей. Например, для нейронной сети, изображенной на рис. 4.2, можно получить потомка, имеющего веса первого нейрона, унаследованные от первого родителя, и веса второго и третьего нейронов - от второго родителя. Выраженные в процентах показатели мутации (mutation rate) и скрещивания (crossover rate) определяют количество нейронов, подвергающихся мутации или скрещиванию. Пользователь также может ввести значения дополнительных параметров скрещивания и мутации. Они относятся к так называемому полному скрещиванию либо к определенным функциям распределения показателей скрещивания и/или мутации [51].

Пример 4.34

Применить программу GTO для нейронной сети, реализующей логическую систему XOR (рис. 4.2) с начальными значениями весов, представленными на рис. 4.166, которая после обучения программой BrainMaker с толерантностью погрешности, равной 0,1 (пример 4.33) имеет веса, представленные на рис. 4.175.

Все параметры программы GTO имели значения, установленные по умолчанию. В частности, предусматривалось обучение каждой сети программой BrainMaker в течение 100 прогонов (runs) и смена 30 поколений. Для оценки приспособленности сети использовались результаты как обучения, и тестирования уже обученной сети. Показатели мутации и скрещивания были равны соответственно 10 и 50. Это означает, что 50% всех нейронов сети подвергалось скрещиванию, а 10% - мутации. Также принималось, что все скрещиваемые нейроны подвергаются полному скрещиванию, т.е. потомок наследует все веса нейрона от второго родителя. Помимо того, все подлежащие мутации нейроны мутировали в соответствии с распределением Гаусса с показателем 0,25. Это означает, что к весу добавлялась некоторая величина, выбиравшаяся по распределению Гаусса. В качестве критерия оценивания потомков применялся , где  (также, как и в примере 4.31) означал погрешность, рассчитанную как квадратный корень из суммы квадратов разностей между заданным (эталонным) и выходным значением, деленный на количество эталонов. В результате выполнения программы GTO при ее взаимодействии с программой BrainMaker рассчитаны значения указанной выше погрешности для конкретных сетей, упорядоченные в порядке их уменьшения, т.е. от «наилучшей» сети к «наихудшей» (рис. 4.185).

291.jpg

Рис. 4.185. Список нейронных сетей, сформированных программой GTO для примера 4.34 и упорядоченных в последовательности от «наилучшей» до «наихудшей».

Наилучшей из 30 сформированных программой GTO нейронных сетей со структурой, показанной на рис. 4.2, оказалась сеть, для которой значение  было равно 0,9139. Значения весов этой сети представлены на рис. 4.186, а результаты ее тестирования программой BrainMaker - на рис. 4.187 - 4.190. Заметим, что значение погрешности , рассчитываемой программой Evolver, для сети с весами, показанными на рис. 4.186, равно 0,007451. Эта погрешность меньше значения , рассчитанного для сети из примера 4.33 (веса см. на рис. 4.175). Конечно, новая сеть ненамного лучше сети из примера 4.33. Теперь следует вновь применить программу BrainMaker для проверки - можно ли улучшить характеристики сети, полученной в результате выполнения программы GTO. Очевидно, что попытка дообучения этой сети с толерантностью погрешности 0,1 ничего не изменит. Однако при задании уровня толерантности 0,025 мы получаем процесс, показанный на рис. 4.191 и значения весов, представленные на рис. 4.192. Выходное значение  для  и  также приведено на рис. 4.191.

292-1.jpg

Рис. 4.186. Веса нейронной сети, реализующей систему XOR, полученные программой GTO (пример 4.34).

292-2.jpg

Рис. 4.187. Результат тестирования сформированной программой GTO нейронной сети с весами, показанными на рис. 4.186, для ,  и .

293-1.jpg

Рис. 4.188. Результат тестирования той же сети для ,  и .

293-2.jpg

Рис. 4.189. Результат тестирования той же сети для ,  и .

293-3.jpg

Рис. 4.190. Результат тестирования той же сети для ,  и .

294-1.jpg

Рис. 4.191. Процесс обучения нейронной сети, сформированной программой GTO, осуществляемый программой BrainMaker с толерантностью 0,025.

294-2.jpg

Рис. 4.192. Веса, полученные в результате гибридного обучения сети программами BrainMaker, GTO и повторно BrainMaker.

Пример 4.34 иллюстрирует следующее объединение традиционного (градиентного) алгоритма обучения, реализованного в программе BrainMaker, с генетическим алгоритмом программы GTO:

1) обучение нейронной сети программой BrainMaker;

2) применение программы GTO к сети, обученной в п.1;

3) продолжение обучения наилучшей сети, полученной в п.2, программой BrainMaker;

Следует отметить, что п.2 предполагает использование как генетического алгоритма программы GTO, так и соответствующей процедуры программы BrainMaker, вызываемой программой GTO.

Можно предложить и другой подход:

1) использование программы BrainMaker только для формирования сети со значениями весов, выбираемыми случайным образом;

2) применение программы GTO для поиска наилучших весов;

3) применение программы BrainMaker для завершения обучения

Второй подход основан на обработке программой GTO сети со случайными значениями весов. При отключении опции обучения каждой вновь формируемой сети программой BrainMaker программа GTO вызывает ее только для тестирования сети. В последующем наилучшая из созданных таким образом сетей «дообучается» программой BrainMaker (п. 3). Такая методика подобна применявшейся в примерах 4.31 и 4.32 - вначале выполняется генетический, а затем - традиционный алгоритм обучения. В программе GTO дополнительно возможно обучение каждой вновь сформированной сети (потомка) за определенное количество прогонов с последующим ее тестированием. Это пример подхода, состоящего в «дообучении» нейронных сетей традиционным (в частности, градиентным) методом каждый раз перед оцениванием приспособленности [43]. Программа GTO также предоставляет возможность выбрать один из нескольких критериев оценивания нейронных сетей (функцию их приспособленности). Решение о применении одного из двух рассмотренных гибридных подходов к совместному применению программ GTO и BrainMaker зависит от поставленной задачи и, как правило, принимается методом проб и ошибок. Как справедливо отмечается в [51], практически невозможно априорно оценить - какой подход окажется лучшим для конкретной задачи.

Применительно к нейронной сети, предназначенной для реализации логической системы XOR, наилучшие результаты можно было бы ожидать от применения второго подхода. Однако с учетом ограниченного объема настоящей работы мы не будем рассматривать дополнительные примеры, демонстрирующие различные возможности его реализации с использованием программы GTO

Наиболее важные замечания относительно гибридного подхода, состоящего в объединении генетического алгоритма с градиентным методом обучения нейронных сетей (программа BrainMaker) представлены в п. 4.13.1. Программа GTO представляет собой пример равноправного объединения обоих методов, при котором в соответствии с типовым циклом эволюции (п. 4.12.7) приспособленность особей популяции рассчитывается генетическим алгоритмом по результатам обучения нейронных сетей. Существование такой программы, как GTO, подтверждает практическое применение гибридного подхода, объединяющего достоинства двух оптимизационных методов: генетического алгоритма, который легко находит точку, близкую к оптимальному решению, и градиентного алгоритма, который стартует из найденной точки и быстро приводит к настоящему оптимуму.

 



<< ПредыдущаяОглавлениеСледующая >>