4.12.7. Типовой цикл эволюцииКак только определенный вид эволюции вводится в искусственную нейронную сеть, сразу возникает потребность в соответствующей ему схеме хромосомного представления данных, т.е. должен быть создан способ генетического кодирования особей популяции. Разработка способа кодирования считается первым этапом такого эволюционного подхода, наряду с которым типовой процесс эволюции включает следующие шаги [47]: - декодирование; обучение; - оценивание приспособленности; - репродукция; - формирование нового поколения. Приведенная на рис. 4.3 блок-схема сохраняет свою актуальность, поскольку (как уже упоминалось в разд. 4.10) она отображает и классический генетический алгоритм, и так называемые эволюционные программы, которые основаны на генетическом подходе и обобщают его принципы. Следовательно, этой универсальной блок-схеме соответствуют различные эволюционные алгоритмы, и в каждом из них в первую очередь должна быть сгенерирована исходная популяция хромосом. По аналогии с классическим генетическим алгоритмом инициализация (т.е. формирование этой исходной популяции) заключается в случайном выборе требуемого количества включаемых в нее хромосом, что предполагает соответствующее генетическое кодирование каждой особи. В классическом генетическом алгоритме хромосомы представляются только двоичными последовательностями. При эволюционном подходе выбор способа кодирования представляет собой важную и актуальную задачу. Далее в соответствии с типовым циклом эволюции следует декодировать каждую особь (хромосому) исходной или текущей популяции для того, чтобы получить множество решений (фенотипов) данной задачи. В случае эволюции весов, архитектур и/или правил обучения фенотипы представляют соответственно множества весов, архитектур и правил обучения. Впоследствии согласно генетическому алгоритму рассчитываются значения функции приспособленности особей исходной (или текущей) популяции. При нейросетевом подходе после декодирования хромосом получается множество нейронных сетей, для которых степень приспособленности определяется по результатам обучения этих сетей. При реализации типового цикла эволюции необходимо сконструировать множество соответствующих нейронных сетей (фенотипов): - сети с фиксированной архитектурой и множеством закодированных хромосомами весов - в случае эволюции весов; - сети с закодированной хромосомами архитектурой - в случае эволюции архитектуры; - сети со случайно сгенерированными архитектурами и начальными весами - в случае эволюции правил обучения. После обучения оценивается приспособленность каждой особи, входящей в текущую популяцию. Заметим, что также как и в примере максимизации функции (пример 4.5), для оценивания приспособленности хромосом необходимо их вначале декодировать и лишь затем рассчитать значения функции приспособленности особей по их фенотипам. Следующий шаг генетического алгоритма - это селекция хромосом. Выбираются хромосомы, подлежащие репродукции, т.е. формируется родительский пул, особи которого в результате применения генетических операторов сформируют популяцию потомков. Селекция может быть основана на методе рулетки или любом другом (см. п. 4.8.1), например, по алгоритму Уитли (Whitley) [44]. Согласно этим методам селекция производится с вероятностью, пропорциональной приспособленности хромосом, либо согласно их рангу (при использовании рангового метода). Под репродукцией в данном случае понимается процесс отбора (селекции) и копирования (размножения) хромосом для формирования из них переходной популяции (родительского пула), особи которой будут подвергаться воздействию генетических операторов скрещивания, мутации и, возможно, инверсии. Применение генетических операторов с выбранным методом селекции хромосом происходит аналогично классическому генетическому алгоритму, причем эти операторы могут отличаться от скрещивания и мутации базового алгоритма. Как отмечалось в разд. 4.10, для конкретной задачи генетические операторы могут определяться в индивидуальном порядке. Также как и в классическом генетическом алгоритме, в результате применения генетических операторов с выбранным методом селекции хромосом формируется новая популяция особей (потомков). Последующие шаги алгоритма повторяются для очередной популяции вплоть до выполнения условия завершения генетического алгоритма. На каждой итерации формируется новое поколение потомков. Наилучшая особь из последнего поколения считается искомым решением данной задачи. Таким образом, получается наилучшее множество весов, наилучшая архитектура либо наилучшее правило обучения.
|