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

Содержание

Слайд 2

В теории нейронных сетей существуют две актуальных проблемы, одной из которых

  В теории нейронных сетей существуют две актуальных проблемы, одной из

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

Обучение "с учителем" многослойной нейронной сети

Обучение "с учителем" многослойной нейронной сети

Слайд 4

Стратегия "обучение с учителем" предполагает, что есть обучающее множество {X,Y}. Обучение

Стратегия "обучение с учителем" предполагает, что есть обучающее множество {X,Y}.

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

Зависимость реального выходного сигнала Y от входного сигнала X можно записать в виде: Y = F(W,X)+Err, где:
F(W,X) - некоторая функция, вид которой задается алгоритмом обучения нейронной сети;
W - множество параметров, позволяющих настроить функцию на решение определенной задачи распознавания образов (количество слоев сети, количество нейронов в каждом слое сети, матрица синаптических весов сети);
 Err - некоторая ошибка, возникающая из-за неполного соответствия реального значения выходного сигнала нейронной сети требуемому значению, а также погрешности в вычислениях.

Слайд 5

Генетический алгоритм Генетический алгоритм является самым известным на данный момент представителем

Генетический алгоритм

 Генетический алгоритм является самым известным на данный момент представителем эволюционных

алгоритмов и по своей сути является алгоритмом для нахождения глобального экстремума многоэкстремальной функции. Он заключается в параллельной обработке множества альтернативных решений. При этом поиск концентрируется на наиболее перспективных из них. Это говорит о возможности использования генетических алгоритмов при решении любых задач искусственного интеллекта, оптимизации, принятия решений.
Слайд 6

Генетические алгоритмы для подстройки весов скрытых и выходных слоев используются следующим

  Генетические алгоритмы для подстройки весов скрытых и выходных слоев используются

следующим образом. Каждая хромосома (решение, последовательность, индивидуальность, "родитель", "потомок", "ребенок") представляет собой вектор из весовых коэффициентов (веса считываются с нейронной сети в установленном порядке - слева направо и сверху вниз). Хромосома a=(a1, а2, а3, … ,an) состоит из генов аi, которые могут иметь числовые значения, называемые "аллели". Популяцией называют набор хромосом (решений). Эволюция популяций - это чередование поколений, в которых хромосомы изменяют свои признаки, чтобы каждая новая популяция наилучшим способом приспосабливалась к внешней среде. Заметим, что в нашем случае каждый "ген" в хромосоме - реальное число, а не бит.
Слайд 7

Начальная популяция выбирается случайно, значения весов лежат в промежутке [-1.0, 1.0].

 Начальная популяция выбирается случайно, значения весов лежат в промежутке [-1.0, 1.0].

Для обучения сети к начальной популяции применяются простые операции: селекция, скрещивание, мутация, - в результате чего генерируются новые популяции.    У генетического алгоритма есть такое свойство как вероятность. Т.е. описываемые операторы не обязательно применяются ко всем хромосомам, что вносит дополнительный элемент неопределенности в процесс поиска решения. В данном случае, неопределенность не подразумевает негативный фактор, а является своебразной "степенью свободы" работы генетического алгоритма.
Слайд 8

Оператор селекции (reproduction, selection) осуществляет отбор хромосом в соответствии со значениями

Оператор селекции (reproduction, selection) осуществляет отбор хромосом в соответствии со значениями

их функции приспособленности. Здесь применим метод рулетки (roulette-wheel selection), с помощью которого осуществляется отбор. Колесо рулетки содержит по одному сектору для каждого члена популяции. Размер i-го сектора пропорционален соответствующей величине Psel(i) вычисляемой по формуле:

fi(x) - значение целевой функции i-й хромосомы в популяции; ; sumf(x) - суммарное значение целевой функции всех хромосом в популяции;

Слайд 9

Реализация работы оператора селекции

Реализация работы оператора селекции

Слайд 10

Оператор кроссовера (crossover operator)иногда называемый кроссинговером, является основным генетическим оператором, за

Оператор кроссовера (crossover operator)иногда называемый кроссинговером, является основным генетическим оператором, за

счет которого производится обмен частями хромосом между двумя (может быть и больше) хромосомами в популяции. Может быть одноточечным или многоточечным. Одноточечным называется кроссовер, если при нем родительские хромосомы разрезаются только в одной случайной точке. Для реализации N-точечного кроссовера м.б. использовано два подхода : точек разрыва меньше, чем генов в хромосоме, либо если длина хромосомы L битов, то число точек разрыва равно (L-1), при этом потомки наследуют биты следующим образом: первому потомку достаются нечетные биты первого родителя и четные биты второго; у второго же потомка все наоборот. Т.е. получается как бы "расческа".
Слайд 11

Оператор скрещивания

Оператор скрещивания

Слайд 12

Оператор мутации (mutation operator) - стохастическое изменение части хромосом. Он необходим

Оператор мутации (mutation operator) - стохастическое изменение части хромосом. Он необходим

для "выбивания" популяции из локального экстремума и способствует защите от преждевременной сходимости.

Достигаются это счет того, что каждый ген строки, которая подвергается мутации, с малой вероятностью Pmut меняется на другой ген (добавляется случайная величина между -1.0 и 1.0 к весу). Так же как и кроссовер, мутация проводится не только по одной случайной точке. Можно выбирать некоторое количество точек в хромосоме для изменения, причем их число также может быть случайным. Вероятность мутации значительно меньше вероятности кроссовера и редко превышает 1%.

Слайд 13

Сравнение результатов работы генетических алгоритмов и алгоритма обратного распространения В случае

Сравнение результатов работы генетических алгоритмов и алгоритма обратного распространения 

В случае

двухслойной нейронной сети с характеристиками: 4 входных сигнала, 3 нейрона скрытого слоя, 1 выходной сигнал
Слайд 14

Сравнение результатов работы генетических алгоритмов и алгоритма обратного распространения В случае

Сравнение результатов работы генетических алгоритмов и алгоритма обратного распространения

В случае

трехслойной нейронной сети с характеристиками: 5 входных сигналов, 3 нейрона в первом скрытом слое, 2 нейрона во втором скрытом слое, 2 выходных сигнала.