книги / Нечёткое, нейронное и гибридное управление
..pdfнепрерывным диапазоном значений, а компоненты вектора цели бинарными числами (0,1).
Обучение реализуется следующим образом [9]:
–всем весам сети задаются малые значения;
–на вход сети подаются компоненты входного обучающего
вектора X и вычисляются сигналы выхода сети:
NETj xi wij ;
– вычисляются значения пороговых функций активации для сигнала NET от каждого нейрона:
1, |
если NET Qj , |
OUTj |
впротивномслучае, |
0, |
где Qj – порог нейрона сети;
– вычисляются ошибки для каждого нейрона errorj t arg et j OUTj ;
– вычисляется новый вес
wij (t 1) wij (t) xi errorj .
Далее процедура повторяется, пока ошибка не станет достаточно малой.
2.5.2. Генетические алгоритмы
Недостатком нейронных сетей является значительное время на ее обучение. Это связано с большим размером матрицы весов НС и выбором их начальных значений. Задача генетического алгоритма (ГА) оптимизировать поиск начальных значений матрицы весов и этим существенно сократить время обучения НС [6].
В общем случае ГА – стохастические, эвристические и оптимизационные методы, которые основаны на идее эволюции с помощью естественного отбора, выдвинутой Дарвином (1857). ГА впервые были предложены в 1975 г. (через 118 лет) Дж. Холландом. Есть вычислительная технология, которая используется в системах
171
искусственного интеллекта, оптимизации и программного обеспечения. ГА – простая модель эволюции в природе, реализованная в виде компьютерных программ.
Эволюция – процесс оптимизации всех живых организмов. Механизм эволюции – естественный отбор.
Естественный отбор – процесс формирования новой популяции из старой популяции, которая в дальнейшем погибает. В природе наблюдается быстрая обработка информации в нервной системе и медленный процесс естественной эволюции. Современные ЭВМ снимают это противоречие, т.е. ускоряют процесс эволюции.
Популяция – конечное множество особей (организмов). Функция приспособления (функция оценки) указывает меру
приспособления данной особи в популяции. В задачах оптимизации ее называют целевой функцией.
Хромосома – дезоксирибонуклеиновая кислота (ДНК) в оболочке или упорядоченная последовательность генов. В дальнейшем хромосома будет представляться как вектор (последовательность) из нулей и единиц.
ДНК – цепочка, состоящая из молекул нуклеотидов четырех типов (F,N,C,G), которые, располагаясь особым образом, определяют код индивидуума.
Ген – определенная часть хромосомы.
Клетки человека имеют 46 хромосом. Длина хромосомы у человека может состоять из 100000 генов, хотя их точное число неизвестно. Каждое врожденное качество особи (цвет глаз, наследственные болезни и т.д.) кодируются определенной частью хромосомы. Например, ген цвета глаз содержит информацию, кодирующую цвет глаз.
Аллель – различные значения гена. Генотип – набор хромосом данной особи.
Фенотип – набор значений, соответствующих данному генотипу. Локки – множество позиций генов.
Кроссовер – скрещивание ДНК предков и образование ДНК потомка.
172
Мутация – случайное (стохастическое) изменение одной или нескольких позиций в хромосоме под действием радиации или других влияний.
Возможно независимое применение варианта ГА и НС для решения одной и той же задачи (рис. 2.17), а также вспомогательное применение варианта ГА и НС, когда они дополняют друг друга
(рис. 2.18).
Рис. 2.17. Варианты независимых вычислительных технологий
Рис. 2.18. Варианты вспомогательных объединений вычислительных технологий
173
В первом варианте НС предназначена для поддержки ГА. НС формирует исходную популяцию для ГА.
Во втором варианте ГА предназначена для поддержки НС. При этом возможно решение трех задач: применение варианта ГА для подбора весов НС гибридным методом; для подбора правил обучения либо параметров, управляющих обучением НС; для анализа НС с целью понимания, что и почему делает НС.
Гибридный подход состоит в объединении методов ГА и ОРО для подбора весов НС. Как правило, вначале при помощи ГА находится решение (начальное значение весов), достаточно близкое к оптимальным значениям с помощью программы Evolver, затем оно рассматривается как отправная точка для традиционного поиска весов, например, ОРО с помощью программы Brein Maker.
Рассмотрим НС как отправную точку для традиционного поиска оптимальной точки весов, например ОРО с помощью программы
Brein Maker (рис. 2.19).
Оптимальный первоначальый набор весов НС выберем с помощью ГА (программа Evolver) [39] (рис. 2.20).
Рис. 2.19. Нейронная сеть
Допустим, что веса могут принимать значения в интервале от –10
до +10.
Для этого необходимо обеспечить:
–кодирование хромосом табличным методом;
–определение функции приспособления хромосом;
174
–расчет выхода НС из начальных значений хромосом;
–селекцию начальных хромосом методом рулетки;
–формирование новой популяции хромосом с помощью оператора «скрещивание»;
–кодирование новой популяции хромосом;
–определение функций приспособления новой популяции хромосом;
–расчет выхода НС с новыми значениями хромосом;
–сравнение значения старого выхода НС с новым значением выхода НС и т.д.
Рис. 2.20. Блок-схема ГА
175
Рассмотрим подробно работу ГА.
Пример 2.4. Найти хромосому с максимальным количеством единиц, где хромосомы состоят из 12 генов, а популяция насчитывает 8 хромосом. Тогда лучшая хромосома должна содержать 12 единиц.
Инициализация
Необходимо случайным образом сгенерировать 8 двоичных последовательностей (хромосом) длиной 12 бит. Этого можно достигнуть, например, подбрасыванием монет 8 12 96 раз, где при выпадании «орла» – 1, выпадении «решка» – 0. Таким образом,
сформируем исходную популяцию.
Ch1 111001100101 ;
Ch2 001100111010 ;
Ch3 011101110011 ;
Ch4 001000101000 ;
Ch5 010001100100 ;
Ch6 010011000101 ;
Ch7 101011011011 ;
Ch8 000010111100 .
Оценка приспособленности хромосом в популяции
Функция приспособленности F определяется количеством единиц в хромосоме. Тогда оценка приспособленности для каждой хромосомы в исходной популяции будет такой:
F(Ch1 ) 7;
F(Ch2 ) 6;
176
F(Ch3 ) 8;
F(Ch4 ) 3;
F(Ch5 ) 4;
F(Ch6 ) 5;
F(Ch7 ) 8;
F(Ch8 ) 5.
Хромосомы Ch3 и Ch7 имеют наибольшее значение функции
приспособленности и являются лучшими кандидатами на решение задачи. Если в соответствии с блок-схемой ГА условие остановки не выполняется, то на следующем шаге ГА производится селекция хромосом из текущей популяции с помощью рулетки или турнирного метода.
Селекция
Селекция хромосом с помощью рулетки проводится на основании формулы
v(Chi ) NF(Chi ) 100 %.
F(Chi )
i 1
Селекция хромосом может быть представлена как результат поворота «рулетки», поскольку «выигрышная» хромосома относится к выпавшему сектору этого «колеса». Чем больше сектор, тем больше вероятность победы соответствующей хромосомы. Вероятность выбора данной хромосомы оказывается пропорциональной значению ее функции приспособленности. Выбор с помощью «колеса рулетки» сводится к выбору числа из интервала [0…100], который соответствует конкретной точке на окружности колеса. В результате селекции создается родительская популяция (родительский пул) с численностью N = 8, равной текущей популяции.
177
«Метод рулетки» отбирает особи с помощью N = 8 «запусков» рулетки. «Колесо рулетки» содержит по одному сектору для каждого члена популяции. Размер i-сектора пропорционален соответствующей величине v(Chi ). При таком отборе члены популяции,
имеющие более высокую приспособленность, выбираться будут чаще, чем особи с низкой приспособленностью.
Для нашего примера получим
v(Ch1 ) 15,22 %; v(Ch2 ) 13,04 %; v(Ch3 ) 17,39 %; v(Ch4 ) 6,52 %; v(Ch5 ) 8,7 %; v(Ch6 ) 10,87 %; v(Ch7 ) 17,39 %; v(Ch8 ) 10,87 %.
На рис. 2.21 показано «колесо рулетки».
|
Ch3 |
26,28 Ch2 |
|
|
|||
|
|
|
15,22 |
|
|||
|
|
|
13,04 |
|
|
||
|
|
17,39 |
|
|
Ch1 |
|
|
45,65 |
|
15,22 |
|
||||
|
|
|
|
||||
|
|
|
|
|
|||
Ch4 |
6,52 |
|
10,87 |
0,100 |
|||
|
Ch |
|
|||||
|
|
|
|||||
|
|
8,7 |
|
|
|
8 |
|
52,17 |
|
17,39 |
|
89,13 |
|
||
|
|
|
|
||||
Ch5 |
|
10,87 |
|
|
|
||
|
|
Ch |
|
|
|||
|
|
|
|||||
|
|
60,87 Ch 71,74 |
|
7 |
|
|
|
|
|
|
|
|
|
||
|
|
|
6 |
|
|
|
|
Рис. 2.21. «Колесо рулетки»
178
Селекция хромосом турнирного метода реализуется N турнирами для выбора N особей. Каждый турнир построен на выборе k элементов из популяцииивыборе лучшейособиизних. Обычно k = 2.
Выбор новой популяции особей с помощью скрещивания и мутации
Оператор «скрещивание» осуществляет обмен частями хромосом между двумя (может быть и больше) хромосомами. При одноточечном скрещивании случайным образом выбирается одна из l 1 -точек разрыва. Обе родительские структуры разрываются на два сегмента по этой точке. Затем соответствующие сегменты различных родителей склеиваются и получаются два генотипа потомков. На рис. 2.22 показан одноточечный оператор скрещивания (точка разрыва 3).
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
|
|
1 |
0 |
1 |
|
1 |
0 |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
0 |
1 |
0 |
|
1 |
0 |
0 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 2.22. Одноточечный оператор скрещивания
При многоточечном скрещивании точек разрыва может быть больше.
Пример генетического алгоритма
Начало (генетический алгоритм); Создать начальную популяцию;
Оценить приспособленность каждой точки (хромосомы); Если популяция не сошлась, то окончанию ГА – нет; Начало (создать популяцию нового поколения); Выполнить селекцию (размер популяции 1/2) раз;
Начало (цикл воспроизводства);
179
Выбрать две особи с высокой приспособленностью из предыдущего поколения; Скрестить выбранные особи и получить двух потомков;
Оценить приспособленность потомков; Поместить потомков в новое поколение; Конец; Если популяция сошлась, то окончанию ГА – да;
Конец; Конец.
2.6. Алгоритмы обучения нейронной сети без учителя
Обучение без учителя предполагает, что при предъявлении входных образов сеть самоорганизуется, настраивая свои веса согласно определенному алгоритму. Требуемый выход в процессе обучения не указан, поэтому результаты определения возбуждающих образов для конкретных нейронов непредсказуемы. Однако существуют методы решения данной задачи: метод обучения Хэбба [9], метод обучения С. Гроссберга [9], самоорганизация (алгоритм Кохонена) [9].
Метод обучения Хэбба
Д.О. Хэбб предположил, что синаптическое соединение двух возбужденных нейронов будет усиливаться из-за корреляции их уровней. Идея корреляционного алгоритма выражается равенством
wij (t 1) wij (t) NETi NETj ,
где wij (t) – сила синапса от нейрона i к нейрону j в момент времени t; NETi – уровень возбуждения пресинаптического нейрона i; NETj – уровень возбуждения постсинаптического нейрона j.
NETj OUTi wij ,
i
где NETj – выход NET нейрона j; OUTi – выход нейрона i.
180