Генетические алгоритмы в задаче обучения ИНС
.docxГенетические алгоритмы в задаче обучения ИНС. Пример.
Виды объединений ГА и ИНС:
- Независимое (для решения одной и той же задачи)
- Вспомогательное (формирование исходной популяции для ГА, анализ НС, подбор параметров НС)
- Равноправное (выбор топологии ИНС, оптимизационные задачи ИНС с подбором весов ГА)
Задача – оптимизация весов НС, имеющей априори заданную топологию. Веса кодируются в виде двоичных последовательностей (хромосом).
Каждая особь популяции характеризуется полным множеством весов НС. Оценка приспособленности особей определяется функцией приспособленности, заданной в виде суммы квадратов погрешностей (разницей между ожидаемыми и фактическими значениями на выходе НС).
Генетические алгоритмы обеспечивают глобальный просмотр пространства весов и позволяют избегать локальные минимумы.
ГА могут использоваться в задачах, для которых информацию о градиентах сложно получить.
ГА для обучения ИНС – альтернатива метода обратного распространения ошибки. Цель обучения – минимизация функции ошибки Е(н)=(1/2)*(у-с)^2. ГА не подвержен попаданию в локальный минимум.
Рассмотрим НС выполняющей исключающее или (xor).
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
Требуется подобрать минимальные веса.
Допустим, что веса принимают действительные значения из интервала [–1, +1]. Тогда каждая хромосома будет комбинацией из 9 двоичных последовательностей (генотипов), кодирующих конкретные веса. Соответствующие им фенотипы представлены значениями отдельных весов, т.е. множествами соответствующих действительных чисел из интервала [–1, +1]. Длина хромосом зависит от условия задачи. Допустим, что требуется найти решение с точностью до q = 2 знаков после запятой для каждой переменной wik. Следовательно интервал [a, b] необходимо разбить на (b – a)·10^q одинаковых подынтервалов. Это означает применение дискретизации с шагом r = 10^(–q). Наименьшее натуральное число mi, удовлетворяющее неравенству (b-a) *10^q<=(2^m)-1 определяет необходимую и достаточную длину двоичной последовательности, требуемой для кодирования числа из интервала [a, b] с шагом r.