Слепцов Н.В.
ОБУЧЕНИЕ ИНС С ПОМОЩЬЮ МЕТОДА ОТОБРАЖЕНИЯ ВЕСОВ
Процедура обучения искусственных нейронных сетей ( ИНС) для любой частной задачи может рассматриваться как отображение начального множества случайных весов соединений в множество весов, решающих задачу. Иначе говоря, процесс обучения определяет функцию отображения начального набора случайных весов в корректное с точки зрения задачи множество. Например, обучающий алгоритм обратного распространения ошибки итерационно пытается создать подобную функция отображения. При этом обучающие процедуры применяют для адаптации весов одну и ту же стратегию, несмотря на то, что поверхности ошибок для различных задач принципиально различны. Как следствие, процесс обучения сталкивается со значительным количеством осложнений. В качестве путей разрешения проблемы возможны как поиск новых частных процедур обучения, так и применение принципиально новых подходов к созданию отображающих функций. В частности, интересным набором возможностей с этой точки зрения обладают методы эволюционно - генетических вычислений , в частности, генетическое программирование ( ГП). При использовании подхода, основанного на двумерном представлении ИНС, ГП может быть применено для автоматического неитерационного построения отображающей функции адаптации весов. Построение функции идет одновременно с развитием архитектуры сети и в максимальном соответствии с особенностями задачи.
Представление. Идея подхода может быть основывается на следующем. С каждой особью популяции связана ее собственная функцию отображения, преобразующая исходные веса в адаптированные (смещения обрабатываются как обычные веса). На рис. 1а набор весов для конкретной особи не соответствует задаче. Функция отображения на рис. 1б преобразует исходные веса к итоговым на рис. 1в. Функция отображения фактически реализована на основе дерева синтаксического анализа ( рис. 1.д). Структура сети рис. 1а кодируется и преобразуется ( развивается методами двумерного представления ИНС, а развитие\оптимизация дерева синтаксического анализа хорошо соответствует возможностям генетического программирования.
С 0.1)
1.0/ \0.4
(0.3 1 (0.6 !
ТЧ&5 ЪЯ/Л
-0.3 0.8
(в) (г)
Рис. 1
Каждая особь в популяции представляет собой структуру, одна часть которой описывает архитектуру кодируемой сети ( ИНС), а другая часть соответственно описывает функцию отображения начальных случайных в общем случае весов в веса, используемые для оценку пригодности сгенерированной сети. ( рис. 2)
Рис. 2
Первая часть - описание сети- закодирована в соответствии с двумерным представлением как упорядоченный список узлов двух типов терминальные или нейрон. В первом случае узел содержит ввод к сети, во втором случае{регистре}, узел представляет элементарный обрабатывающий элемент закодированной сети и представляется списком, содержащим в том числе и информацию о всех соединениях. Соединения кодируются индексами, указывающими позиции связанных узлов. С помощью сетевого представления эта часть генотипа особи интерпретируется как двумерная структура. Вторая часть генотипа кодирует функцию отображения как дерево синтаксического анализа.
В генотип не включены ни веса, ни смещения. Для связи этих значений с архитектурой, в начале эволюционного процесса создается единственный упорядоченный список исходных весов, как если бы все узлы, в т.ч. и терминальные, имели максимально возможное число связей. Список также включает исходные веса для представления смещения всех узлов, включая терминальные. Список исходных весов фиксирован и уникален, является характеристикой популяции и применяется для задания исходных весов и смещений для каждой особи популяции при проверке ее пригодности. Для каждого нейрона особи такая оценка выполняется просмотром всех связанных улов, выбором для связанных узлов исходных весов и смещений и преобразованием с помощью отображающей функции из генотипа исходных значений в адаптированные.
Для построения дерева синтаксического анализа во второй части генотипа, в соответствии с принципами генетического программирования определяются наборы терминалов и функций применяемые при создании начальной популяции, терминалы, инициализируются случайными вещественными константами, набор функций включает арифметические операции или любую подходящую математическую функцию. Поскольку полная адаптация весов выполняется функцией отображения, множественные связи между узлами, в от-
личие от чисто двумерного представления,
не применяются.
исходные веся
(б)
Рис.3. а. Восстановление отображающей функции по известным точкам б Процесс получения функции
при неизвестных значениях адаптированных весов
Отметим, что для фиксированной архитектуры сети, при известных заранее значениях верных весов, нахождение функции отображения свелось бы к нахождению функции по ряду точек, однако, поскольку эти значения не известны, поиск функции отображения основан на оценке особи с последующим вычислением адаптированных весов, как и в классических генетических алгоритмах (ГА). Обучение методом ГА собирает информацию об оценке в различных точках пространства поиска назначением различные весов особям популяции. В данном случае исходные веса одинаковы, но функция отображения различна для каждой особи.
Особенностью предлагаемого подхода является разделенность в генотипе архитектуры и обучающего правила, поэтому оператор кроссовера может применяться для одновременной, но независимой модификации обеих частей.
С этой целью определим его следующим образом. Оператор выполняет раздельно рекомбинацию частей генотипа, кодирующей архитектуру и отображающую функцию. Действия по рекомбинации фрагмента, описывающего архитектуру, следующие:
Рекомбинация производится выбором узлов а и б соответственно для первого и второго предка и замене узла а узлом б в копии первого предка (потомке). В зависимости от типов узлов а и б, замена
выполняется следующим образом:
Оба узла - терминалы: Узел б заменяет узел а.
Узел б - терминал и узел нейрона: Узел б заменяет узел а.
Узел б - нейрон и узел а терминал: Модифицированный узел б создается для замена узла а в потом-
ке изменением индексов соединений узла б.
Новый узел с множествен-узел б и узел а объеди-
Рис. 4. Комбинация нейронов (а)узел а . (б) Модифицированный узел б (в)
ными связями.(г) То же, множественные связи удалены
Оба узла - нейроны: После изменения узла б как в предыдущем случае, няются выбором два случайных точек кроссовера по одной для узла, и замене связей справа от точки в узле а содержимым справа от точки в узле б, новый узел заменяет узел а в потомстве. Множественные связи удаляются, поскольку они не имеют смысла при использовании отображающих функций.
Действия по рекомбинации фрагмента, описывающего структуру отображающей функции, следующие: стандартный для генетического программирования оператор кроссовера заменяет у потомка в описании дерева одного предка случайным фрагментом, выбранным у второго предка ( рис. 5.). Для ограничения необоснованного роста дерева, задаются максимально возможные размеры и выбор поддеревьев для обмена осуществляется с учетом этих ограничений.
Отметим два факта. Первый, несмотря на то, что значения весов вычисляются каждый раз при оценке особи, применение отображающих функций неэквивалентно применению обычной процедуры обучения в каждом поколении. В случае традиционных алгоритмов обучения основные затраты падают на выполнения множества шагов обучения для формирования итоговой функции. При использовании отображающих функций затраты связаны с выполнением эволюционного процесса, а не с самой функцией.
Рис.5 (а), (б) - предки, (с) - потомок
Рис.6
Второе, при отображении весов размер пространства поиска ограничено.
Для демонстрации работы подхода рассмотрим результаты построения сетей для стандартных тестовых задач контроля по нечетности, например, построение сети для задачи контроля по нечетности на 3 входа. Исходная сеть с
архитектурой, соответствующей двумерному представлению, показана на рис.6 , там же представлены исходные веса.
Рис. 7
Отображение множества исходных весов в адаптированные выполнено найденной функцией отображения рис. 8а, отображение дерева которой показано на рис. 86. В результате получаем сеть рис. 7.
К + [(К+1)2 + 2] « . К)
(Ф
Рис. 8
Полученные результаты показывают, что для ряда приложений предложенный метод отображения весов с помощью функций является работоспособной альтернативой. Кроме того, механизм кодирования весов не зависит от размеров сети, что дает дополнительные преимущества в комбинации с другими методами.