Слепцов Н.В. МЕТОДЫ ПРОЕКТИРОВАНИЯ ИНС, ОСНОВАННЫЕ НА ДВУМЕРНОМ ПРЕДСТАВЛЕНИИ И ГЕНЕТИЧЕСКИХ ВЫЧИСЛЕНИЯХ
Среди различных методов решения задач оптимизации большое распространение в последнее время получили методы эволюционно - генетического поиска, поскольку реализующие их генетические алгоритмы (ГА) универсальны, просты для реализации и достаточно эффективны для решения ряда задач инженерного проектирования, планирования, маршрутизации, размещения и др. [2].
Способность ГА к поиску на больших и сложных пространствах многократно демонстрировалась в широком диапазоне задач, следствием чего ГА и стали естественными кандидатами для построения искусственных нейросетей (ИНС).
Выполненное в ряде работ рассмотрение позволило сформулировать следующий ряд критериев для средств представления, конструирования и развития ИНС средствами эволюционного поиска:
1 - максимальный размер развиваемых структур ИНС должен быть ограничен либо оперативно, в процессе развития сети, либо в соответствии с исходными требованиями к сети;
2 - Веса соединений для улучшения масштабируемости должны допускать представление вещественными числами.
3 - Представление должно допускать применение специализированных эволюционных операторов для изменения, исследования и развития двумерной структуры ИНС.
4 - Нейроны являются естественными компоновочными единицами ИНС, эволюционные операторы должны быть в состоянии их изменить, изменяя как их связи в сети, так и размещение как отдельных нейронов, так и блоков нейронов в сети.
5 - эволюционные операторы должны быть в состоянии изменить размер сети в рамках заданных максимальных размеров.
Существующие методы эти критерии в полном объеме не выполняют. В этой связи интересно использование принципов параллельного распределенного генетического программирования, в котором вместо обычного представления дерева разбора генетического программирования используется представление графа, узлы которого размещены в двумерной сетке фиксированного размера. Представление с помощью сетки особенно интересно для ИНС, которые могут быть интерпретированы как ориентированные графы с многослойной структурой.
Представление. Пусть генотип представляется упорядоченным списком узлов двух видов: терминальных
и нейронов. В первом случае выходом узла является переменная, соответствующая входу сети. Во втором случае узел представляет обрабатывающий элемент описываемой сети. Такой узел представляется списком, содержащим информацию, необходимую для вычисления его выхода: входные связи, веса и смещение. Связи
представлены индексами, указывающими позиции связанных узлов в генотипе (рис. 1.). Порядок связей в списке, описывающем нейрон несущественен. В соответствии с критерием 1 , все особи популяции имеют одинаковое количество узлов, ограниченное максимальным размером сети.
Рис.1. Генотип и описание нейрона
Такое представление генотипа близко к линейному представлению. Однако, для применения оператора кроссовера линейное представление интерпретируется как двумерное расположение колонок и слоев в виде сетки. Узлы линейного представления генотипа нанесены на сетку согласно таблице описания, которая определяет количество слоев и количество узлов в слое. Таблица описания содержит то же самое число узлов, что и линейный генотип, и все особи популяции используют одну и ту же таблицу. Слои и колонки сетки рассматриваются как замыкающиеся круговые объекты, что приводит к тороидальной сетке. При использовании, например, таблицы описания на рис. 2б, особь на рис. 2а обработана как двумерное представление рис. 2в, на котором связи обозначены соединениями узлов.
Допустимо любое число слоев различающихся размеров. Поэтому, при использовании различных таблиц описания, могут быть получены разные представления сети. Иначе говоря, каждая таблица описания определяет свою двумерную интерпретацию для линейного генотипа. Независимо от того, что является эволюционирующей сетью, она должна соответствовать ограничениям на форму, накладываемым таблицей.
Узлы первого слоя - вход - представления терминалов сети, узлы в последнем слое - только выходные нейроны. Число входов и выходов сети зависит от решаемой задачи. Остающиеся узлы - внутренние узлы сети - образуют внутренний(е) слой(и), и они могут быть как нейронами, так и терминалами. Как следствие, при фиксированном размере генотипа все популяции, образованные сетью могут иметь различные размеры, например, потому что терминалы могут присутствовать как внутренние узлы с самого начала, или же могут быть образованы кроссовером и мутацией.
Таблица описания
Двумерное представление
сети
2
Выходной г Выходной
слой _ слой /Г
Внутренние 1
слои ^ 2~
слон
Входной 2~
слой
Входной (1)
слой ""
(г) (д)
Рис. 2: (а) Пример генотипа. XI и Х2 - входы терминалов к сети. (Ь) таблица, описывающая слои и узлы
в слое сети. (с) двумерное представление, следующее из отображения узлов генотипа (а), согласно таблице описания (Ь).
Для визуализации сети, закодированной в генотипе, связи от терминалов во внутреннем слое могут быть заменены (а соответствующие терминалы удалены) связями от соответствующих терминалов входного
слоя. Далее связи от одного и того же узла могут быть соединены в одну сложением весов.
Ограничения на возможные соединения не накладываются. Допустимы связи между несмежными слоями, связи в пределах одного слоя, рекуррентные соединения и параллельные соединения между одними и теми же узлами.
Поскольку число узлов в генотипе неизменно, представление выполняет, по крайней мере частично, критерий представления 1. В соответствии с критерием 2, веса и смещения кодируются как числа с плавающей точкой. Выход сети может быть непосредственно получен, назначением исходных значений терминалам и вычислением выходов нейронов в соответствии с их расположением в генотипе.
Оператор кроссовера и двумерное представление. Описанное представление сети соответствует плоскому двумерному представлению графа, поэтому естественно определить оператор кроссовера, основанный на этой структуре (см. критерий 3) . Кроме того, поскольку нейроны - функциональные блоки ИНС, важным является возможность рекомбинации не только реорганизовать эти естественные компоновочные блоки, но также и создавать новые ( критерий 4). Поэтому, введем двумерный оператор кроссовера, воздействующий
на два уровня: на уровень сетки и на уровень нейрона.
Оператор кроссовера воздействует на двумерное представление предков случайно выбирая узел а у первого предка и узел б у второго. (рис. 3а), и заменяет узел а в копии ( потомке) первого родителя. В зависимости от типов узла а и б , замена выполняется следующим образом:
Оба узла - терминалы: Это - тривиальный случай, узел б заменяет узел а, в топологии или весах сети изменений не производится.
Узел б - терминал и узел а - нейрон: В этом случае, узел б также заменяет узел а, но сложность сети уменьшается из-за удаления нейрона из сети (критерий 5).
Узел а - терминал и узел б - нейрон. В этом случае операция кроссовера увеличивает сложность сети, заменяя терминал нейроном и увеличивая число скрытых нейронов в сети (критерий 5). Но прежде, чем узел б заменит узел а у потомка, каждая из его связей должна быть проанализирована и, возможно, изменена в зависимости от того, являются ли они связями от терминалов или нейронов.
Это может быть показано в терминах графов. Поскольку ИНС являются ориентированными графами, нейрон является специальным случаем подграфа (рис. 3б), дуги подграфа представляют входные соединения узла б. Идея состоит в том, чтобы выбрать подграф, представляющий узел б для замена узла а в потомстве. Но подграф не передается потомству строго, его дуги изменяются согласно тому, представляли ли они первоначально связи от терминалов или нейронов.
Если связь идет от нейрона, дуга, соответствующая этой связи деформируется, так, чтобы дуга все еще представила связь от того же самого узла, когда узел б перемещен в позицию узла а. Например, дуги, представляющие связи от узла 9 и 13 деформированы, чтобы все еще представить связи от этих тех же самых двух узлов (рис. 3 б и в);
Если связь идет от терминала, соответствующая дуга не изменяется, когда узел б перемещается в позицию узла а (например, связь от узла 10). Если дуга приводит к связи от несуществующего узла при перемещении узла б в позицию узла а, дуга замыкается вокруг слоя ( слои замкнутые). Например, дуга, соответствующая связи от узла 8 замыкается, чтобы стать связью от узла 1 (рис. 3б и в). Та же самая процедура замыкания применяется к колонкам (сетка тороидальна), если требуется узел ниже входного слоя или же выше выходного слоя.
После этого преобразования дуг преобразованный подграф перемещается в положение узла а потомка (рис. 3г).
Фактически это преобразование графа выполнено в списке, который представляет узел б , переопределением индексов, представляющих связанные узлы. Такое переопределение индексов описывается следующим образом:
Если связь идет от нейрона, индекс связанного узла в списке, описывающем узел б не изменяется. Это означает, что связь от того же самого узла все еще будет существовать после того, как узел б заменит узел а в потомке.
Если связь идет от терминала, индекс изменяется для указания на другой узел, как если бы связь была строго передана от узла б узлу а, . это означает, что то же самое горизонтальное и вертикальное смещение, которое существовало между узлами а, и б применяется для преобразования по гризонтали и вертикали каждой связи узла б, идущей от терминала.
Отметим различие между возможностями замкнутых и прямонаправленных соединений. После преобразования связей в узле б, у потомков могут появиться петли. Если желательна прямонаправленная архитектура, связи от узла верхнего уровня к более низким уровням следует удалить.
Эта процедура для наследования связи ставит целью сохранения как можно большего количества информации, содержащейся в весах и соединениях.
Оба узла являются нейронами: Комбинируя два нейрона, можно изменить и топологию, и веса сети. После осуществления модификаций в соединениях узла б, как описано в предыдущем случае, объединены узлы а и узел б. Это выполнено выбором две случайных точек кроссовера, по одному в каждом узле, и заменяя
связи справа от точки кроссовера в узле а связями справа от точки кроссовера в узле новый узел для замены узла а у потомков. Точка разрыва выбрана только между связями.
Процесс может легко создать параллельные соединения между одними и теми же узлами. ния очень существенны, поскольку их результирующее влияние фактически является точной лы связи между двумя узлами.
б. Это создает
Такие соедине-настройкой си-
Рис. 3
Оператор кроссовера позволяет узлам перемещаться от одной позиции в сетке до другой (критерий 4). Эта процедура требует, чтобы связи были переопределены, иначе многие из них должны были бы быть удалены из-за ограничений возможности соединения, что приводит к потере генетического материала. Для решения этой проблемы разработан механизм модификации весов.
Хотя возможны и другие формы обработки связей, эксперименты с контролем по нечетности 2 (ХОЯ), 3, 4, 5, (сеть должна возвращать 1, если есть нечетное число 1 на входе, иначе 0 ), заставили прийти к заключению, что более эффективно работать раздельно с соединениями от нейронов и соединениями от терминалов. Соответственно предлагаются четыре модификации оператора кроссовера:
Рис . 4. (а) Представление предков. (Ь) представление узла. (с) Копия представления узла с изменен-
ными связями. Связи получили новые индексы. (^ Потомок с модифицированным представлением узла.
Рис. 5. Комбинация двух нейронов
В1. Описанный оператор кроссовера. Результаты соответствуют табл. 1.
В2: В этой форме оператора строго передаются все связи узла б. Для четырех задач, выполнение такой разновидности оператора, как показывает оценка вычислительной сложности, дает худшие результаты, чем В1 (табл. 2).
В3: Ни одна из связей узла б не изменяется. В трех из выполненных экспериментов, результаты были хуже по сравнении. с В1 (табл. 3).
В4: Передаются связи от нейронов, тогда как связи от терминалов не изменяются. Результаты оказываются хуже В1( табл. 4).
Результаты предполагают, что ИНС строят внутренние представления, создавая связи между нейронами, следовательно, важно в максимально возможной степени их сохранять, обеспечивая их связи с теми же самыми узлами. С другой стороны, перемещая связи от терминалов, мы получаем возможность передачи их нейронам оператором кроссовера, что поможет строить новые внутренние представления.
Узлы входного слоя первого предка недоступны для селекции. Во-первых, в случае сети прямого распространения замена терминала в слое входа привела бы к реализуемой особи, при перемещении нейрона во внутренний слой. Во-вторых, это способствует эволюционированию в направлении к менее сложным сетей вследствие замены терминалами входного слоя второго предка нейронов первого предка (но не наоборот) .
Таблица 1 Итоговые результаты для задачи двоичной классификации для В1
Задача Кол. поколений Нейронов Связей Уровень затрат
мин сред макс мин сред макс
XOR 2.7 (1.9) 6 9.6 10 0.8 15 24.3 31 2. 4 1,800
3 parity 28.0 (32.6) 3 8.1 10 1.6 13 29.5 41 5.8 19,800
4 parity 205.9 (156.6) 4 7.8 10 1.4 23 40.4 59 7.9 163,200
5 parity 412.6 (129) 4 7.2 9 1.4 26 47.2 65 10.3 845,000
Таблица 2 Итоговые результаты для задачи двоичной классификации для В2
Задача Кол. поколений Нейронов Связей Уровень затрат
мин сред макс мин сред макс
XOR 2.2 (2.3) 4 9.4 10 1.1 12 23.7 28 2.8 2,400
3 parity 33.7 (69.2) 5 8.1 10 1.4 19 28.5 43 4.1 21,000
4 parity 232.4 (162.7) 3 8.1 10 1.6 18 40.0 53 7.9 219,600
5 parity 458.0 (97.6) 7 8.8 10 0.9 44 51.8 58 4.2 1, 689, 800
Таблица 3: Итоговые результаты для задачи двоичной классификации для В3
Задача Кол. поколений Нейронов Связей Уровень затрат
мин сред макс мин сред макс
XOR 2.4 (2.6) 8 9.5 10 0.7 19 24.1 28 2.0 2,400
3 parity 55.2 (107.8) 3 7.8 10 2.0 12 28.5 52 7.2 25,800
4 parity 244.5 (191.3) 4 7.2 10 1.7 22 37.6 52 7.9 168,000
5 parity 415.4 (150.5) 4 7.3 10 1.9 29 44.5 63 9.4 813,200
Таблица 4: Итоговые результаты для задачи двоичной классификации для В4
Задача Кол. поколений Нейронов Связей Уровень затрат
мин сред макс мин сред макс
XOR 2.4 (3.3) 1 9.1 10 2.0 5 23.2 29 4.7 2,000
3 parity 56.2 (121.8) 2 8.0 10 2.0 9 27.6 44 5.8 18,400
4 parity 309.5 (156.6) 4 7.7 10 1.7 21 38.3 55 8.0 336,000
5 parity 446.5 (110.8) 4 7.5 9 1.4 29 44.7 52 6.5 1,520,000
Предложенный оператор кроссовера не отделяет индекс связанного узла от соответствующего веса. Следовательно, нельзя определить соответствие смещения обычному весу или нет.
Мутация. Генетическое представление допускает применение целого арсенала операторов мутации, связанных с применением эволюционных методов к ИНС: добавление и удаление связей, кроссовер узла с узлом со случайно сгенерированным набором характеристик, кроссовер случайно отобранного узла со случайно сгенерированным, добавление к весам и смещениям шума, например, с гауссовским распределением.
Если размер генотипа принят постоянным, удаления или дополнения узлов не допускаются, однако нейрон может быть заменен терминалом и наоборот, что может использоваться в предопределенных границах для уменьшения или увеличения сложности сети.
Кроссовер и и мутация по отдельности могут, в принципе, сгенерировать решения разных степеней сложности. Однако, если в функцию пригодности не включен член для штрафа сложности сети, не существует гарантия количества достижения неизбыточных решений. Штрафующие члены в функции пригодности требуют проблемно - зависимых коэффициентов, которые по определению являются трудно настраиваемыми. Можно предложить процедуру, не требующую дополнительных произвольных параметров. После того, как найдено корректное решение, один нейрон заменяется терминалом в каждой особи популяции и возобновляется эволюционный процесс. Процедура повторяется каждый раз до нахождения нового решения, пока не достигнуто определенное число поколений, либо не получена достаточно компактная архитектура согласно условиям, предопределенными пользователем. Эта стратегия генерирует решения различных степеней сложности, разрешая пользователю определить, какое решение является предпочтительным: сложное, возможно
обеспечивающее устойчивость к ошибке, или компактное, с вероятно большим потенциалом обобщения.
Очевидно, что предлагаемая процедура имеет стоимость: новая популяция, созданная преобразованием
сети, должна быть повторно оценена, иначе будет нарушен отбор родителей для следующего поколения. Однако, как есть обычно промежуток многих поколений между последовательными решениями, также возможно выполнить выбор без переоценки особей. Это может быть обработано как возмущение в эволюционном процессе. Обе формы сокращения исследуются в экспериментах, описанных далее.
Завершая рассмотрение, отметим, что фактически на основании проведенного анализа были выделены несколько критериев для представления и операторов для развития ИНС. Предложены основанные на этих критериях, новое двумерное представление и новый оператор кроссовера. Предлагаемый подход является прямой схемой кодирования, способной развить одновременно и архитектуру и веса.
ЛИТЕРАТУРА
1. Галушкин А.И. Теория нейронных сетей. кн.1. Серия «Нейрокомпьютеры и их применение» // Общ. Ред. Галушкина А.И.. - М., ИПРЖР, 2000..
2. Цой Ю.Р., Спицын В.Г. Эволюционный подход к настройке и обучению ИНС. - Нейроинформатика, 2006, N 1 ^ 30-61