Использование нейросетей для анализа звуковой информации

       

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


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. Выводы

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


Содержание раздела