1.2.7. Генетический алгоритм обучения
Впервые идея использования генетических алгоритмов для обучения: (machine learning) была предложена в 1970-е годы. Во второй, половине 1980-х к этой идее вернулись в связи с обучением нейронных: сетей.
Использование механизмов генетической эволюции для обучения нейронных сетей кажется естественным, поскольку модели нейронных сетей разрабатываются по аналогии с мозгом и реализуют некоторые его особенности, появившиеся в результате биологической эволюции.is
Основные компоненты генетических алгоритмов - это стратегии репродукций, мутаций и отбор "индивидуальных" нейронных сетей (по аналогии с отбором индивидуальных особей).
Первая проблема построения алгоритмов генетической эволюции - это кодировка информации, содержащейся в модели нейронной сети. Коды называют "хромосомами". Для фиксированной топологии (архитектуры) нейронной сети эта информация полностью содержится в значениях синаптических весов (W) и смещений (Б). Вектор (W,B) рассматривается как хромосома. Возможны более сложные способы кодирования, информации. Для реализации концепции отбора необходимо ввести способ сопоставления (сравнения) различных хромосом в соответсвии с их возможностями решения поставленных задач. Для нейронных сетей с последовательными связями это может быть стандартная мера - сумма квадратов разностей компонент действительного и желаемого сигналов. (Эта мера используется в стандартном алгоритме обратного распространения.) В отличие от большинства других алгоритмов обучения, для генетических алгоритмов требуется не один набор начальных значений; параметров, а несколько наборов, которые называются популяцией хромосом. Популяция обрабатывается с помощью алгоритмов репродукции, изменчивости (мутаций), генетической композиции. Эти алгоритмы напоминают биологические процессы. Наиболее важные среди; них: случайные мутации данных в индивидуальных хромосомах, переходы (кроссенговер) и рекомбинация генетического материала, содержащегося в индивидуальных родительских хромосомах (аналогично гетеросексуальной репродукции), и миграции генов.
Генетический алгоритм работает следующим образом. Инициализируется популяция и все хромосомы сравниваются в соответствии с выбранной функцией оценки. Далее (возможно многократно) выполняется процедура репродукции популяции хромосом. Родители выбираются случайным образом в соответствии со значениями оценки (вероятность того, что данная хромосома станет родителем, пропорциональна полученной оценке). Репродукция происходит индивидуально для одного родителя путем мутации хромосомы либо для двух родителей путем перекрещивания генов. Получившиеся дети оцениваются в соответствии с заданной функцией и помещаются в популяцию.
В результате использования описанных операций на каждой стадии эволюции получаются популяции со все более совершенными индивидуумами.
Область применения: распознавание образов, классификация, прогнозирование (в последнее время наиболее широко генетические алгоритмы обучения используются для банковских прогнозов). В литературе описана нейронная сеть для распознавания сигналов гидролокатора, которая была обучена с помощью генетического алгоритма. Эксперименты, описанные в литературе, показывают, что генетические алгоритмы очень эффективны в поиске глобальных минимумов адаптивных рельефов, так как в них исследуются большие области допустимых значений параметров нейронных сетей. (Градиентные алгоритмы дают возможность находить только локальные минимумы.) Другая причина того, что генетические алгоритмы не застревают в локальных минимумах - случайные мутации, которые аналогичны температурным флуктуациям метода имитации отжига. В литературе есть указания на достаточно высокую скорость обучения при использовании генетических алгоритмов. Хотя скорость сходимости градиентных алгоритмов в среднем выше, чем генетических алгоритмов.
Генетические алгоритмы дают возможность оперировать дискретными значениями параметров нейронных сетей. Это упрощает разработку
цифровых аппаратных реализаций нейронных сетей. При обучении на компьютере нейронных сетей, не ориентированных на аппаратную реализацию, возможность использования дискретных значений параметров в некоторых случаях может приводить к сокращению общего времени обучения. В рамках "генетического" подхода в последнее время разработаны многочисленные алгоритмы обучения нейронных сетей, различающиеся способами представления данных нейронной сети в "хромосомах", стратегиями репродукции, мутаций, отбора. Источники: [51] - [59].