Генетические алгоритмы
1. Идея метода
Генетические алгоритмы используют принцип естественного отбора и эволюционной мутации для конструирования или обучения нейросетей. Иногда бывает очень трудно построить хорошую модель нейросети для конкретной задачи обработки информации, из-за трудности понимания работы как самой нейросети, так и принципов, управляющих информацией в самой задаче из-за её неформализуемости (а нейросети используются чаще всего именно в таких задачах).
Существуют различные приложения генетических алгоритмов: 1. Построение топологии НС; 2. Обучение нейросети; 3. Оптимизация контрольных параметров.
2. Алгоритм работы для задачи построения топологии
Входные данные: начальная популяция нейросетей, предположительно подходящих для решения задачи.
Выходные данные: нейросеть, решающая задачу с требуемой точностью.
1. Обучение каждой нейросети в популяции
2. Для каждой НС определяется её эффективность решения данной задачи
3. Если задача решена какой либо нейросетью, ВЫХОД
4. Наименее эффективные НС удаляются из популяции, наиболее эффективные скрещиваются(1) и дают новое поколение НС; самая лучшая нейросеть остается в популяции
5. На новое поколение накладывается мутация(2) (чтобы обойти локальные минимумы ошибки)
6. Повторяется цикл с 1.
1: Механизм скрещивание НС зависит от конкретной архитектуры нейросети. Например, для многослойного персептрона с прямым распространением этот процесс представляет собой образование новой НС, в которой выходные нейроны родителей станут скрытыми нейронами потомка (рис. 1). При этом сохраняются знания, накопленные родителями.
Скрещивание двух нейросетей для образования нового поколения
Рис. 1
2: Мутация может представлять собой умножения произвольно выбранных весов НС на случайный коэффициент, близкий к 1.
3. Алгоритм работы для задачи обучения нейросети
Входные данные: нейросеть, требующая обучения.
Выходные данные: обученная нейросеть, решающая задачу с требуемой точностью.
1. Создается случайным образом исходная популяция нейросетей (все индивиды имеют одинаковую архитектуру, но разные значение весов связей и других переменных)
2. Оценивается эффективность решения задачи каждой нейросетью
3. Если задача решена, ВЫХОД
4. Индивиды сортируются в соответствии с эффективностью решения задачи
5. Самая лучшая нейросеть сохраняется, на остальные накладываются мутации
6. При достижении некоторого момента времени происходит генерация нового поколения: наиболее подходящие индивиды скрещиваются, наименее подходящие удаляются из популяции; недостающее количество генерируется случайным образом
7. Повторяется цикл с 2.
4. Выводы
Генетические алгоритмы дают возможность построить такие модели НС, которые было бы трудно создать аналитическими методами. Благодаря эволюционному подходу возможно без участия конструктора автоматически найти эффективное решение задачи. Но из-за самой природы алгоритма (случайность и перебор вариантов) время, необходимое на решение задачи, может быть очень большим, и достижение желаемого результата не гарантировано.