Слепцов Н.В. , Щербакова С.В.
ПРИНЦИПЫ СОВМЕСТНОГО ИСПОЛЬЗОВАНИЯ АППАРАТА НЕЙРОННЫХ СЕТЕЙ И ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ
Генетические алгоритмы (ГА) применяются в различных комбинациях совместно с искусственными нейронными сетями (ИНС) для решения самых разных проблем: для поиска новых обучающих правил, для оптимизации начальных множеств весов, которые используются процедурой обучения, для оптимизации активирующей функции [2].
Между тем ГА могут использоваться как для оптимизации либо весов, либо архитектуры, либо, что представляет намного больший интерес, для создания архитектуры и настройки весов одновременно без применения дополнительной процедуры обучения. Отметим, что рассмотрение существующих способов решения частных задач может обеспечить эффективные способы представления и описания процессов развития архитектуры и настройки весов, что позволит применить наиболее эффективные эволюционные операторы, механизмы и принципы кодирования.
ГА для процедур обучения ИНС. ГА при обучении ИНС заменяют обычные алгоритмы обучения, например, обратного распространения ошибки. При неизменной архитектуре в генотип не включается никакой информации об архитектуре, в нем должны быть должным образом закодированы только веса ИНС. Оценка пригодности особей получается при назначении весов данной архитектуре ИНС с последующим анализом работы сети на интересующей нас задаче.
Каноническим представление данных для ГА являются строки битов. Они способствуют представлению неявного параллелизма ГА, вовлекая в процесс оценки большое количество строительных блоков. Однако при кодировании весов ИНС, эта схема кодирования имеет ряд недостатков:
- Двоичная подстрока, которая представляет вес, высоко эпистатична. Это мешает оценивать пригодность групп битов в подстроке, или на пересечении границы описания веса.
- Генетические операции кроссовера и мутации [1] могут вызывать резкие переходы в области поиска при изменении единственного бита веса. Специальные кодировки эту проблему могут уменьшить, но не устранить.
- Если для кодирования весов применяется незначительное количество разрядов, некоторые комбинации значений могут быть оказаться труднодостижимыми при требуемой степени точности.
- Для больших сетей экспоненциальный рост области поиска может делать задачу излишне тяжелой, поскольку ГА неэффективны для управления строками с тысячами битов.
Альтернативным является применение вещественных значений весовых коэффициентов. В этом случае, каждый вес представляется геном, кроссовер действует между генами, но не внутри него, что устраняет разрушительное действие кроссовера для двоичного представления.
Дополнительно могут использоваться альтернативные формы рекомбинации (например линейная комбинация весов между предками), и для каждой оценки соответствия не требуется преобразования двоичного кода в вещественные числа. С другой стороны, с сокращением размерности задачи, неявный параллелизм, обеспеченный двоичным представлением также сокращается и в итоге при ведении генетического поиска для каждого поколения мы получаем меньше информации.
ГА создания архитектуры. ГА могут применяться в комбинации с другими конструктивными алгоритмами для создания архитектуры сети . В этом случае ГА применяется для обучения архитектуры, созданной после каждой структурной модификации, что заменяет обычные методы обучения ИНС и устраняет присущие им ограничения. Однако эта процедура сохраняет ограничения, введенные конструктивными методами, поэтому особый интерес представляют методы чистого применения ГА для проектирования архитектуры ИНС.
Создание сетевой архитектуры может интерпретироваться как поиск в пространстве архитектуры, каждая точка которого представляет различную топологию. Прямой поиск в этом пространстве - задача сложная, в первую очередь потому, что даже с ограниченным числом нейронов и наличием определенных ограничений по связи (например, отсутствием обратных связей), область поиска огромна. Характеристики области поиска делают ситуацию еще более сложной. Например, с одной стороны, сети с близкими структурными решениями могут иметь весьма различные показатели производительности, с другой стороны, сети с весьма различной топологией могут обладать очень близкими показателями обучения и обобщения. Кроме того, оценка пригодности может оказаться косвенной и зашумленной, поскольку зависит от метода обучения и начального задания весов.
Способность ГА к поиску на больших и сложных пространствах многократно демонстрировалась в широком диапазоне задач, следствием чего ГА и стали естественными кандидаты для построения ИНС. При использовании ГА для оптимизации архитектуры, веса соединений формируются в процессе обучения сети. Для каждого поколения генотип декодируется в соответствующую архитектуру, соединениям случайным равномерным образом назначаются веса, после чего возможны два варианта: сеть обучается
либо обычным алгоритмом обучения ИНС, либо применением дополнительного ГА, реализующего только процедуру настройки весов.
Эффективность формирования архитектуры с использованием ГА сильно зависит от особенностей кодирования генотипа сети.
В соответствии с уровнем сетевой спецификации, схемы кодирования ИНС могут быть разбиты на два больших класса - прямые и косвенные. Прямые представления (спецификация низкого уровня или сильная) кодируют каждый компонент сети (нейроны, слои, соединения) в определенный элемент генотипа (обратное - не обязательно, поскольку в генотипе могут быть неиспользованные или избыточные части). Такие схемы являются наиболее мощными в том смысле, что в рамках предопределенных ограничений они принципиально позволяют получить все возможные топологии. Косвенные представления (спецификация высокого уровня или слабая) кодируют общие особенности архитектуры, такие, как число слоев, количество нейронов в слое и тип соединения ( например, полные связи между смежными слоями).
В общем случае схема кодирования должна иметь достаточную выразительную мощь для фиксации потенциально интересных архитектурных решений, исключая одновременно бессмысленные или слабые, хотя эти черты обычно взаимно несовместимы или недостижимы. Можно выделить некоторые желательные особенности представления алгоритмов и эволюционных операторов в терминах эволюционного процесса:
замкнутость - представление замкнуто, если генотип всегда декодируется в допустимый фенотип согласно имеющимся ограничениям (например, наличие или отсутствие обратных связей).
полнота - представление ГА должно быть в состоянии генерировать все возможные решения проблемы в пределах указанных структурных ограничений (максимальное число нейронов и тип связи).
масштабируемость - Масштабируемость выражает способность распространения решения на большие или более трудные в некотором смысле проблемы. Однако масшабируемость различных механизмов кодирования подобным образом сложно сравнивать. Поэтому кажется более разумным сравнить масштабируемость различных схем кодирования, измеренных в терминах увеличения продолжительности обработки,
значений оценок пригодности или любого другого параметра, позволяющего оценить стоимость вычислений.
Рассмотрим некоторые из принципиально возможных различных способов применения ГА к задаче создания архитектуры ИНС.
1 Линейные представления. Линейные представления - пример прямой схемы представления сети, в соответствии с чем элементы сети и представлены в векторе. Вектор структурирован, элементы структуры - нейроны, функционирующие как строительные блоки, и оператор кроссовера модифицирован для соответствия этому представлению.
Реализация подхода обеспечивается, линеаризацией матрицы смежности сети. Соединения ИНС с N нейронами представлены как матрица смежности N X N, у которой входы каждой строки и столбца представляют соответственно вход и выход каждого нейрона, 0 или 1 указывают отсутствие или наличие связей. Матрица линеаризуется связыванием строк (или - столбцов) в вектор. Для сетей прямого распространения нужна только половина матрицы, для рекуррентных сетей - вся матрица. Пример линеаризации для сети прямого распространения показан на рис. 1.
Рис. 1
Каждая строка представляет нейрон с его входами\ выходами, интерпретируется как функциональный строительный блок, и выполняет кроссовер с обменом одинаковых строк у предков. Это предотвращает создание некорректных особей (например, без связей от входного слоя), если они отсутствуют в начальной популяции. Однако, этим значительно ограничивается достижимый уровень связности, поскольку могут быть использованы только соединения, уже представленные в исходной популяции (частичным решением могло бы быть изменение мутацией индивидуальных входов матрицы). Отметим, что матричная линеаризация имеет смысл, если только оператор кроссовера использует в своих интересах особенности такого кодирования.
Преимущества метода линеаризации матрицы смежности - в простоте его выполнения, и в том факте, что любая архитектура может быть в принципе достигнута в пределах предопределенных ограничений. С другой стороны, для больших сетей, размер матрицы может чрезмерно увеличиться, что дополнительно ухудшается тем фактом, что несуществующие элементы сети (например, нулевая строка) все равно кодируются в генотипе, впустую тратя память и вычислительные возможности.
2. Проекционное представление. Проекционное представление относится к косвенным схемам кодирования. Сети разделяются на блоки. Каждый блок представляет группу нейронов, которые могут быть также и слоем, группой слоев. Генотип, также как и в предыдущем случае, представлен списком. Список образован перечнем блоков (кластеров), отделенные маркерами, каждый блок включает число слоев и число нейронов в слое кластера, а также одно или более полей проекции, специфицирующих связи блока к другими кластерами ( по сути - отображения блока в других кластерах) (рис. 2). Кроссовер может выполняться на уровне битов, учитывая, что каждый блок представлен строкой битов, либо только между блоками .
Проекционное представление основано на интерпретации модульности сети, как оно отражается кластерной структурой (хотя кластер минимально может представлять отдельный нейрон). Если все блоки доведены до уровня до отдельных нейронов, и поля проекции включены для каждой из их связей, то результатом была бы прямая схема кодирования. Идея проекционного представления основывается на предположении о том, что сеть может быть разделена на группы нейронов, которые связаны однотипно. Как следствие, вместо кодирования индивидуальных связей нужно определить только связи между группами, что требует, однако, предопределения некоторых особенностей. Например, может предполагаться, что слои в пределах блока являются полносвязаными, и только нейроны на самом верхнем слое блока имеют связи с другими блоками. Кроме того, слои в пределах блока имеют одинаковый размер.
Рис.2
Проекции - очень гибкие схемы кодирования, поскольку и число и размер блоков являются переменными, иначе говоря, можно закодировать сети произвольной сложности. Кроме того, в зависимости от числа кластеров и числа полей проекции, представление может быть компактным, хотя это получено за счет принятия предположения о некоторой регулярности в сети. Когда блоки состоят больше чем из одного слоя, поля проекции определяют области в целевых блоках как прямоугольник, определенный числом слоев в области и числом нейронов в слое, при этом позиция прямоугольника в целевом блоке определена параметром смещения. Такое понимание позволяет интерпретировать ИНС как двумерные структуры.
Методы, основанные на двумерных представлениях.
Термин двумерное представление применяется к тем механизмам кодирования, которые либо кодируют пространственно значимые параметры, либо используют эволюционные операторы, обрабатывающие ИНС как двумерные структуры.
В первом случае параметры создания сети как физического объекта кодируются в линейном генотипе. До некоторой степени эти методы подобны моделям грамматики (МГ) , в том, что для каждого поколения сеть создается из некоторого эмбриона. Однако, в отличие от МГ, они основаны на процессе пространственного роста аксонов и соединений в биологических нейронах.
Во втором случае схемы кодирования используют генотип со структурой, подобной фенотипу (сеть) и не только интерпретируют ИНС как двумерные структуры, но также и заставляют оператор кроссовера, использовать этот факт. Учитывая максимальное число М скрытых слоев и максимальное число N скрытых нейронов в слое, образуется двоичная матрица М_^ где строки - скрытые слои сети, и каждый вход в строку представляет активный (1) или неактивный (0) нейрон. Матрицы инициализированы случайным образом с определенным количеством активных нейронов в слоях ( рис. 3 а и б). Связи предопределены (например, полные связи между смежными слоями).
Кроссовер выполняется выбором прямоугольного окна в родительских матрицах и в обмене этими областями (рис. 3 в, г, д и е). Очевидно, такая разновидность операции могла быть выполнена и при линейном представлении генотипа. Сегменты равной величины могут быть взяты от каждого слоя одной особи и обменены с другой особью.
1 0 О О 1! О 1 0 0 і 0 1 1 0 1! 0 1 I 1
м = з 0 110 о L_0___l.__l__.0_i 0 10 0 1 і _0_ 0_1___1_
Тї = 9 0 1 0 0 1 0 0 0 1 [ 0110 о| 0001
в "г
101010100 .-X-..
оіоіоооіо
! 0 1 1 1 і 0 1 1 0 1 0 1 0 о і
! 0 0 1 1 ! 0 1 0 0 1! 0 1 1 о і
0 0 0 1 0 1 1 0 0 е 0 0 0 1
Рис. 3.
3. Методы грамматических представлений. Методы на основе грамматических представлений (МГ) -косвенные представления, основанные на построении сложных структур неоднократным применением команд перезаписи элементов простой начальной структуры. Общая форма этой методики обеспечивается Ь-системами, первоначально введенными как механизм описания самоподобных структур. Ь-системы начинают работу с начального символа (аксиомы) и, рекурсивно и параллельно, применяют команды (правила вывода) для перезаписи символов в течении указанного числа.
Эти идеи были применены к развитию искусственных нейронных сетей при использовании ГА, чтобы развить правила вывода, и символы использования с соответствующей семантикой, что позволило обеспечить интерпретацию сгенерированной строки как искусственной нейронной сети. При кодировании правил в генотипе, поиск выполняется в пространстве правил преобразования, а не в пространстве сети. МГ - методы показывают лучшую масштабируемость, чем прямые методы кодирования, и они также обеспечивают формирование корректных видов соединения .
Рис. 4 а и б показывают пример грамматики. Правила (рис. 4 б) фиксированы и не принимают участие в эволюционном процессе, тогда как правила ( рис. 4а) закодированы в линейном генотипе как показано на рис. 4с. Символы в правилах фактически закодированы как битовые комбинации, так, чтобы генотип был представлен битовой строкой, и кроссовер выполнялся бы на уровне двоичных разрядов. Начиная с отдельного символа 5, каждый символ в матрице заменяется матрицей 2X2 согласно правилам. Этот процесс преобразования показан на рис. 4г - е. Результатом процесса является двоичная матрица, которая интерпретируется как матрица смежности ИНС. Для типа связей прямого распространения сеть, соответствующая матрице на рис. 4.е показана на рис. 4 .ж.
Из примера следует, что сети больших размеров могут быть построены применением дополнительного числа циклов перезаписи, следовательно, большие сети могут быть представлены малыми генотипами. Способность методов на основе грамматики создавать большие структуры повторным применением правил преобразования является преимуществом, так как для сложных сетей область поиска становится огромной и тяжелой для любого метода поиска. Это должно, в принципе, улучшить масшабируемость по сравнению с прямыми представлениями кодирования.
Для прямонаправленных ИНС генерация матриц смежности для представления сети неэффективна, поскольку значительные части генотипа не отражаются в фенотипе. Например, из рис. 4в, 28 % позиций в генотипе не использовались в создании сети рис. 4ж. Происходит это вследствие того, что фактически для постройки сети используется только верхняя половина матрицы смежности. Отметим, что этот недостаток можно обойти.
Другая проблема, которой иногда пренебрегают - сложный процесс связанный с развитием от генотипа до фенотипа, что в вычислительном плане требует существенных временных затрат, кроме того, это может делать неясным соответствие между соединениями элементов в генотипе и чертами фенотипа. Наконец, фактически невозможно наложить желаемые ограничения на архитектуру сети.
Методы на основе грамматики дают преимущество для представления весов сети с помощью процедуры кодирования, изменяя и развивая их одновременно с архитектурой. Схема кодирования при этом независима от размера сети, что является основным достоинством МГ - методов.
1. Емель янов В. В ния. М.: ФМЛ, 2003.
2. Хайкин С. Нейронные
Курейчик В.В.
ЛИТЕРАТУРА
Курейчик В.М. Теория и
практика эволюционного моделирова-
2-е изд.: М.
2006.