Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


4.12.7.2. Эволюция архитектуры сети

В п. 4.12.7.1 при рассмотрении эволюционного обучения нейронных сетей предполагалось, что архитектура сети задается априорно и не изменяется в процессе эволюции весов. Однако сохраняет актуальность вопрос - как выбрать архитектуру сети? Известно, что архитектура оказывает решающее влияние на весь процесс обработки информации нейронной сетью. К сожалению, чаще всего она подбирается экспертами методом проб и ошибок. В таких условиях способ оптимального (или почти оптимального) проектирования архитектуры нейронной сети для конкретной задачи оказался бы очень полезным. Один из возможных подходов заключается в эволюционном формировании архитектуры с применением генетического алгоритма.

Также как и в случае эволюционного обучения, на первом этапе эволюционного проектирования архитектуры принимается решение относительно соответствующей формы ее описания. Однако в данной ситуации проблема не связана с выбором между двоичным и вещественным представлением (т.е. действительными числами), поскольку речь может идти только о дискретных значениях. Необходимо выбрать более общую концептуальную структуру представления данных, например, в форме матриц, графов и т.п. Ключевой вопрос состоит в принятии решения о количестве информации об архитектуре сети, которая должна кодироваться соответствующей схемой. С одной стороны, полная информация об архитектуре может непосредственно кодироваться в виде двоичных последовательностей, т.е. каждая связь и каждый узел (нейрон) прямо специфицируется определенным количеством битов. Такой способ представления называется схемой непосредственного кодирования. С другой стороны, могут представляться только важнейшие параметры или свойства архитектуры - такие как количество узлов (нейронов), количество связей и вид переходной функции нейрона. Этот способ представления называется схемой косвенного кодирования. Существуют и другие названия указанных способов представления данных, например, вместо «непосредственного кодирования» встречается термин сильная схема спецификации, а вместо «косвенного кодирования» - слабая схема классификации [34].

Схема непосредственного кодирования означает, что каждая связь нейронной сети непосредственно задается его двоичным представлением [34, 38, 45]. Матрица  размерностью ,  может представлять связи нейронной сети, состоящей из  узлов (нейронов), причем значение  определяет наличие или отсутствие связи между -м и -м нейронами. Если , то связь существует, если , то связь отсутствует. При таком подходе двоичная последовательность (хромосома), представляющая связи нейронной сети, имеет вид комбинации строк (или столбцов) матрицы . Пример рассматриваемого способа кодирования для  приведен на рис. 4.120. Если значение  обозначает количество нейронов в сети, то связи между этими нейронами будут представляться двоичной последовательностью, имеющей длину . Очевидный недостаток такого способа кодирования заключается в стремительном увеличении длины генотипа при расширении нейронной сети. Однако в обсуждаемую схему представления можно легко внести ограничения, которые сократят длину хромосом [34]. В частности, могут приниматься во внимание только однонаправленные связи, что позволит учитывать только те элементы матрицы , которые задают связи данного узла (нейрона) со следующим узлом. В этом случае хромосома для примера на рис. 4.120 будет иметь вид 0110110011.

255.jpg

Рис. 4.120. Пример непосредственного кодирования матрицы связей для нейронной сети.

Схема непосредственного кодирования может одновременно примяться для определения как связей, так и их весов. Этот способ кодирования применяется, главным образом, для небольших нейронных сетей

Схема косвенного кодирования - это способ сокращения длины описания связей, который заключается в кодировании только наиболее важных свойств, но не каждой связи нейронной сети [20, 25, 32]. По этой причине заметным достоинством схемы косвенного кодирования становится компактное представление связей. Такая схема выглядит более обоснованной с биологической точки зрения. Согласно современной нейрологии, невозможно прямо и независимо описать закодированной в хромосомах генетической информацией всю нервную систему. Такой вывод следует, например, из факта, что генотип человека состоит из гораздо меньшего количества генов, чем число нейронов в его мозге.

Известны различные методы косвенного кодирования [39, 47].

Второй этап эволюционного проектирования архитектуры нейронной сети состоит (в соответствии с типовым циклом эволюции) из следующих шагов:

1) Декодирование каждой особи текущей популяции для описания архитектуры нейронной сети.

2) Обучение каждой нейронной сети с архитектурой, полученной на первом шаге, с помощью заранее заданного правила (некоторые его параметры могут адаптивно уточняться в процессе обучения). Обучение должно начинаться при различных случайно выбираемых начальных значениях весов и (при необходимости) параметров правила обучения.

3) Оценивание приспособленности каждой особи (закодированной архитектуры) по достигнутым результатам обучения, т.е. по наименьшей целой среднеквадратичной погрешности обучения либо на основе тестирования, если наибольший интерес вызывает способность к обобщению, наименьшая длительность обучения или упрощение архитектуры (например, минимизация количества нейронов и связей между ними).

4) Репродукция особей с вероятностью, соответствующей их приспособленности или рангу в зависимости от используемого метода селекции.

5) Формирование нового поколения в результате применения таких генетических операторов, как скрещивание, мутация и/или инверсия.

Блок-схема, иллюстрирующая эволюцию архитектур, представлена на рис. 4.121.

257.jpg

Рис. 4.121. Блок-схема генетического алгоритма для поиска наилучшей архитектуры нейронной сети (случай эволюции архитектур).

Если говорить об обучении сети (шаг 2), то наиболее часто встречается развитие топологии однонаправленных сетей с применением алгоритма обратного распространения ошибки с целью локального обучения. Известны работы, в которых описывается применение генетического алгоритма для одновременной адаптации и весов и топологии [18, 30]. В других исследованиях допускались соединения в пределах одного слоя [34, 45], обратные связи [23], а также обучение на основе конкуренции (competetive learning) и по Хеббу.

Достоинством эволюционного подхода считается тот факт, что функцию приспособленности можно легко определить специально для эволюции сети со строго определенными свойствами. Например, если для оценивания приспособленности использовать результаты тестирования вместо результатов обучения, то будет получена сеть с лучшей способностью к обобщению [38].

 



<< ПредыдущаяОглавлениеСледующая >>