Нейроэволюционные методы поддержки принятия решений
Загинайло Максим Васильевич,
аспирант, кафедра «Вычислительные системы и информационная безопасность», Донской государственный технический университет (ДГТУ), [email protected]
Фатхи Владимир Ахатович
доктор технических наук, профессор, заведующий кафедрой «Вычислительные системы и информационная безопасность», Донской государственный технический университет (ДГТУ), [email protected]
В настоящее время при решении трудно формализуемых задач активно используются различные интеллектуальные системы, в том числе искусственные нейронные сети. В данной статье приведены основные алгоритмы нейроэволюционных методов, которые активно применяются для повышения интеллектуализации систем поддержки принятия решений и искусственных нейронных сетей в условиях неопределённости. Рассмотрены такие методы как, CE, NEAT, EANT, ENS3 и DXNN. Методы рассматриваются в хронологическом порядке их изобретения, что даёт представление о том, как развивалась данная область с течением времени. Рассмотренные методы являются наиболее распространёнными и известными в рассматриваемой области. Каждый из приведённых методов подробно рассмотрен, определены его достоинства и недостатки. А также выполнен сравнительный анализ всех рассмотренных в статье нейроэво-люционных методов.
Ключевые слова: нейроэволюционные методы, принятие решений, генетические алгоритмы.
Быстро меняющиеся условия среды и необходимость корректного планирования действий привели к потребности внедрения нейроэволюционных модулей в системы поддержки принятия решений (Decision support system, СППР) [1]. Задачи, которые являются трудно формализируемыми, требуют более тщательной проработки с помощью СППР. Задачи такого характера, чаще всего, возникают в контексте такой предметной области, для которой ещё не разработаны математически корректные теории для описания объектов и моделей для принятия решений. В указанных областях задач чаще всего в качестве средств для автоматизации СППР применяются различные нейроэволюционные методы. Следующие методы CE, NEAT, EANT, ENS3 и DXNN являются наиболее широко известными и распространёнными среди прочих нейроэволюционных методов (рис. 1).
Рис. 1 - Хронологическая последовательность разработки рассматриваемых методов
В данной статье рассмотрены основные нейроэволюционные методы и сделан их сравнительный анализ.
Теория нейроэволюции в наше время активно развивается, однако, на практике существует достаточно небольшое количество эффективных методов, которые возможно применять в реальных задачах. Рассмотрим более подробно методы, чаще всего использующиеся в практических задачах.
Cellular Encoding (CE) - он же метод клеточного кодирования — принадлежит к методам класса косвенного кодирования. Суть работы метода состоит в последовательном усложнении структуры нейронной сети с подстройкой всех входных весов на каждом шаге [2]. Каждый шаг модифицирует топологию существующей нейронной сети и корректирует веса входных данных, что является неким подобием биологической эволюции. Как известно, любой нейронная сеть состоит из слоя входных, выходных и скрытых нейронов. Каждый нейрон имеет узел входных данных и выходных, посредством которых происходит взаимосвязь между всеми элементами внутри нейросети. Так же при проектировании ИНС (искусственной нейронной сети) задаются особые параметры-регистры, а именно: вес нейрона, порог активации, функция активации и параметр, который используется во внутренних операциях нейрона для определения выходного сигнала. Генетический алгоритм, лежащий в основе данного метода, производит усложнение топологии ИНС на каждом шаге посредством эмбриоген-ного кодирования и дополнительным построением грамматического древа. В основе метода клеточного кодиро-
X X
о
го А с.
X
го m
о
м о м о
о
CS
о
CS
о ш m
X
3
<
m О X X
вания лежит два основных шага. На первом шаге необходимо сформировать набор правил функционирования ИНС. На следующем шаге реализовать процесс эволюционного поиска, задача которого, применять составленные правила для нахождения оптимального решения задачи.
Метод показывает наибольшую эффективность при построении сложных комплексных нейронных сетей, иерархия которых, состоит из взаимосвязей более мелких нейронных подсетей. Преимущество метода клеточного кодирования заключается в возможности простой замены функции активации на любом этапе обучения ИНС. Отсутствие ограничения по сложности структуру и количеству нейронов позволяет строить ИНС любого размера и конфигурации. Особи, появляющейся на каждом этапе усложнения, гарантированно являются более сильными потомками, чем особи-родители, что вдет к отсутствию пустых этапов эволюции. Из недостатков необходимо отметить высокие требования к ресурсам, использующихся в процессе построения ИНС, модифицированной данным методом, так как каждый нейрон хранит в себе дубликаты синтаксического древа. Исходя из необходимости осуществлять операции шифрования и дешифрования грамматического дерева, можно сказать, что недостатком так же является и низкая производительность метода клеточного кодирования.
Deus Ex Neural Network (DXNN) - он же метод оптимизации нейронной сети - метод, основная особенность которого, состоит в том, что модификация структуры и модификация весовых коэффициентов нейрона происходят независимо друг от друга[3]. Существует большое количество различных модификаций этого метода, в которых реализованы прямые и обратные способы кодировки хромосом.
Метод состоит их двух основных этапов: глобальный поиск - на данном этапе происходит усовершенствование топологии; локальный поиск подразумевает модификацию только весовых коэффициентов. Рассмотрим шаги алгоритма DXNN:
1. На первом шаге алгоритма происходит генерация исходной популяции генотипов, которые состоят из минимально возможного количества нейронов.
2. Необходимо преобразовать генотипы, являющиеся составляющим популяции, в фенотипы.
3. На данном шаге производится проверка следующих параметров: локальная оптимизация весовых коэффициентов фенотипа и его оценка приспособленности. Проверка будет продолжаться во времени столько раз, сколько значение приспособленности будет возрастать раз подряд. Все последующие шаги алгоритма будут повторяться до тех пор, пока проверка не будет пройдена.
4. Фенотип преобразуем в генотип, производим изменение весов и значения приспособленностей, которые соответствуют им.
5. Сортируем особей относительно значения приспособленности. Если возникает ситуация с равными значениями, то необходимо отдать предпочтение нейросети, которая содержит как можно меньше нейронов.
6. Необходимо удалить 50% наименее приспособленных особей.
7. Для каждой особи, которая осталась, необходимо произвести расчёт количества потомков^. Количество потомков соразмерно значению приспособленности i-ой нейросети /■, которую необходимо сравнить с общей приспособленностью favg популяции, с усредненным
размером ИНС Cavg, и размером исходной ИНС С£ по формуле Nt = т^.
Javg^i
8. Генерация новой популяции особей-потомков N. Для этого необходимо создать дубликат особи-родителя и применить к ней, выбранный ранее, алгоритм мутации Y раз. Это количество генерируем случайным образом из отрезка [1,jpi\, где Pt — это общее число нейронов в особе-родители.
9. На этом этапе необходимо повторять последовательность шагов 2-8 такое количество раз, пока значение функции приспособленности не приблизится к установленному эталонному значению. Либо использовать критерий остановки алгоритма, ограничив максимальное число эволюционных этапов.
В алгоритме DXNN при выполнении 8 шага можно использовать четыре вида мутации: стандартное присоединение нейрона, присоединение особи-нейрона с последующим разрывом связи между двумя соседними нейронами-особями, добавление к случайной особи новых входных связей, или выходных связей.
Рассмотрим достоинства и недостатки данного метода. Возможность определения низкого уровня приспособленности особи из-за неверно подобранных весов или плохо сконструированной топологии. Преимущество меметического метода DXNN перед другими схожими методами состоит в том, что весовые коэффициенты оптимизируются, не влияя на ранее оптимизированные на предыдущих шагах итерации структуры.
Существенным недостатком данного метода можно назвать последовательное увеличение сложности топологии и чрезмерное увеличение количества нейронов. Этот недостаток вызван отсутствием мутаций, удаляющих связи или нейроны. Оптимизация нейронов происходит только за счёт оптимизации весовых коэффициентов.
Evolutionary Acquisition of Neural Topologies (EANT) — он же метод эволюционного модифицирования топологий нейронных сетей — основная особенность которого, это применение гибридной схемы кодировки [4], от английского common genetic encoding (CGE). Такая схема позволяет раздельно модифицировать любые структуры и характеристики проектируемой ИНС, при этом обладая двумя отличительными чертами: полнотой и замкнутостью. Гибридная схема кодировки интерпретирует генотип нейронной сети как обыкновенную линейную последовательность нейронов-генов, которые, в зависимости от топологии, принимают один из трех различных видов: узел, вход или джампер. Под узлом понимаются нейроны-гены, которые чаще всего являются скрытым слоем, и обладают параметрами-регистрами, описанными в методе CE (функция активации, весовой коэффициент и т.д.). Входами являются нейроны-гены, расположенные во входном слое нейронной сети. Джамеры это гены обладающие синаптической связью, они хранят в себе ссылки на узлы, между которыми существует подобная связь и с которыми соединен он сам.
Применение кодировки по схеме CGE к проектируемой нейронной сети и ее дальнейшую модификацию можно реализовать в два этапа:
1. Проведение исследования пространства топологий. Этот этап включает применение различных структурных мутаций, результат которых - появление новых дополнительных джамперов, либо удаление лишних, а также формирование новой нейронной подсети. Эти три
операции являются равновероятными. Так же необходимо определить количество нейронов-генов m, которых коснется операция мутации. Для этого можно воспользоваться формулой
т= pmN,
гдерт е [0,1] - вероятность возникновения мутации у нейрона-гена, который определяется случайно, N - общее количество нейронов-генов в сети.
2. Определение параметров и их дальнейшая настройка при строго фиксированной топологии. В этом случае все весовые коэффициенты подстраиваются с помощью методов эволюционной стратегии.
Основное достоинство эволюционного модифицирования топологией состоит в краткости представления генотипа ИНС, и в высокой скорости работы из-за отсутствия этапа декодирования. Наиболее эффективно применять данный метод в задачах с ограниченным временем на её решение. Весомым изъяном описанного ранее метода является недоступность структурной мутации и операторов кроссинговера и, как следствие, лимитирование пространства генетического поиска.
Evolution of Neural Systems by Stochastic Synthesis (ENS3) - он же эволюционная модификация нейронной сети при помощи стохастического синтеза - основная особенность данного алгоритма модификации заключается в том, что в основе его работы лежит биологическая теория коэволюции[5]. Используя данный метод можно избежать наложения ограничений на общую численность нейронов-генов и структуру ИНС, но необходимо помнить, что метод применим лишь к нейросетям с сигмоидальной функцией активации. Алгоритм выполняет сразу две функции - оптимизацию топологии нейросети и её характеристик, таких как - весовые коэффициенты и пороги активации.
Опишем шаги алгоритма:
1. На первом шаге необходимо выполнить создание начальной базовой популяции нейронов-генов P(t), t = 0, состоящей из п(0) подсетей.
2. Применение оператора репродукции для генерации следующей популяции потомков Р'(0).
3. На данном этапе необходимо менять структуру всей популяции потомков P'(t) при помощи определенных стохастических операторов.
4. Следующим шагом будет оценка особей потомков. Каждая особь P'(t) сравнивается с особью-родителем P(t) из начальной популяции, и проводится расчет ее приспособленности.
5. Применение ранговой селекции к популяции-роди-телям P(t) и популяции потомкам P'(t) для генерации новой популяции P'(t + 1).
6. Критерием остановки можно считать заранее установленное число эпох или достижение заданной точности обучения ИНС. Если достигнуто максимальное число эпох, но не получена заданная точность, то необходимо вернуться к шагу 2 и продолжить расчёты.
Преимущество метода заключатся в простоте его реализации и высокую эффективность работы для ИНС малых и средних размеров. Недоступность оператора скрещивания является серьёзным недостатком метода, так как правильное внедрение этого оператора позволяет значительно сокращать время генерации особи с лучшими параметрами.
Neuro-Evolution by Augmenting Topologies (NEAT) - он же нейроэволюционный способ расширения топологий -
основная особенность заключается в оптимизации весов нейронов-генов и последовательной модификации ИНС, путем поочередного структурного усложнения [6]. При генерации начальной популяции необходимо использовать полносвязную ИНС. Топология должна состоять из входного слоя нейронов и выходного, а количество самих нейронов-генов строго определено заранее. Основная структура генотипа в данном методе — это список связей между нейронами, список синапсов. Каждая такая связь хранит в себе вес нейронов, которые она связывает и специальное число необходимое в работе оператора скрещивания.
Для алгоритма присуще два различных оператора генной мутации, которые применяются раздельно для модификации весов нейронов-генов и топологии ИНС. Все весовые коэффициенты должны иметь заданную при проектировании вероятность срабатывания оператора мутации. Такие мутации способны привести к расширению изначального генотипа нейронной сети, поскольку результат их работы это появление новых нейронов-генов.
Как было сказано выше, для метода присуще специальные числа, хранящиеся в синапсах, которые необходимы каждому нейрону-гену. Эти числа выполняют особую роль, а именно, хранят в себе изменения параметров нейронов-генов в хронологическом порядке. Если необходимо пересчитать эти специальные числа-маркеры, то срабатывает специальная последовательность действий: при добавлении нового нейрона-гена ему присваивается значение числа-маркера, увеличенного на единицу.
Синапсу подвергаются только те гены, у которых инновационные числа являются идентичными. Из таких генов формируется генотип для следующего поколения. Смешав подходящие друг с другом случайные гены или усреднив вес связи, можно получить искомое новое поколение. Вероятность, с которой может произойти повторная активация повторная неактивных генов это строгое значение, заданное на этапе скрещивания.
При работе метода каждая популяция будет разделена на независимые друг от друга виды, при помощи внедрения специальной метрики во всем генотипомном пространстве. Процесс разделения состоит из определения расстояния 5 — между отдельными хромосомами, которая является линейной комбинацией добавочных генов Е, и количеством обособленных генов й.
СтЕ + СпО _
8= 1 ,, +с3Ш, N 3
где N - объём генов необходимых для нормализации; с1,с2,с3 - коэффициенты, которые были заранее определены. В общем виде процесс разделения на отдельные виды занимает три этапа.
1. Генерация начальной популяции особей £0 и нулевой эпохи эволюции. Формирование списка видов с начальным видом 50.
2. Случайным образом необходимо определить генотип-представителя 50 и вычислить его порог принадлежности к виду 5£.
3. В эволюционную эпоху t для каждого генотипа де Р необходимо вычислить расстояние 5, описанное выше, до выбранных представителей вида , и рассчитать внутривидовую приспособленность
X X
о го А с.
X
го m
о
м о м о
где В виду
функция, определяющая принадлежность к
<1,ô(i,j)>ôt
о es о
CS
О Ш
m
X
3
<
m о х
X
Далее определяется возможное количество потомков пк, которые принадлежат к исследуемому виду
пк =-^Ps
где Fk - усредненная приспособленность внутри одного вида к; F'a=Y,k~Fk - сумма усредненных приспособленности всех видов; Ps - размер популяции.
После окончания кластеризации необходимо провести анализ получившихся особей. Те из них, кто показал наилучший результат при расчете внутривидовой приспособленности, должны составить новое поколение для дальнейших расчётов. При отсутствии таких особей поколение удаляется из выборки и на его место становится новое сгенерированное поколение.
Достоинства описанного метода заключается в использовании чисел-маркеров. Высокое популяционное разнообразие, достигнутое за счет применения видовой кластеризации, тоже является несомненным преимуществом метода. Эти достоинства помогают решить проблемы незащищённости нововведений и ранней сходимости. Высокая ресурсоёмкость и малое пространства поиска - главные недостатки рассмотренного метода. Они возникают в следствие того, что эволюция идёт путём постепенного усложнения. Сравнительный анализ рассмотренных в статье методов приведён в таблице 1.
Подведём итоги, основная масса нейроэволюцион-ных алгоритмов приводят к ограничению на структуры нейросети. Не позволяют модифицировать вид функции активации. Существенным недостатком многих методов является то, что эволюционная модификация сопряжена со структурным усложнением нейронов-генов. Некоторые из методов требуют наличие представительной выборки для прохождения обучения с учителем.
Таблица 1
Сравнительная характеристика наиболее актуальных методов
Метод Модификация параметров Способ кодировки Метод эволюции
ENS Совместная Прямой Эволюционный метод
EANT Раздельная Смешанный Эволюционная стратегия
CE Совместная Непрямой Генетическое программирование
DXNN Раздельная Прямой и непрямой Меметический метод
NEAT Раздельная Прямой Генетический метод
Исходя из всего вышеперечисленного можно сделать вывод, что ни один из рассмотренных методов не удовлетворяет следующим качествам - запрет на ограничения для оптимизируемой особи, динамика эволюции, изменение различных значений нейросети.
В связи с этим задача разработки нового нейроэво-люционного метода остаётся крайне актуальной. Метод должен включать в себя свободу от ранее оговоренных ограничений и должен быть универсальным. Позволять управлять одновременно как структурой нейронной сети, так и параметрами функций активации и весовыми коэффициентами.
Литература
1. Хайкин С. Нейронные сети: полный курс, 2-е издание. — М.: Вильямс, 2006.
2. Whitley D., Gruau F., Pyeatt L. Cellular encoding applied to neurocontrol // Sixth International Conference on Genetic Algorithms, 1995. P. 460-469.
3. Sher G. I. Evolving Chart Pattern Sensitive Neural Network Based Forex Trading Agents // Neural and Evolutionary Computing, Computational Engineering, Finance, and Science. 2011. P. 47-68.
4. Sommer G., Kassahun Y Efficient reinforcement learning through evolutionary acquisition of neural topologies // 13th European Symposium on Artificial Neural Networks, 2005. P. 259-266.
5. Pasemann F., Dieckmann U. Balancing rotators with evolved neurocontroller. — Leipzig: Max Planck Institute for Mathematic in Sciences, 1997.
6. Stanley K., Miikkulainen R. O. Evolving neural networks through augmenting topologies //Evolutionary Computation. 2002. Vol. 10. No. 2. P. 99-127.
Neuroevolutionary methods of decision support Zaginailo M.V., Fathi V.A.
Don state technical university (DSTU)
At present, when solving difficult to formalize problems, various intelligent systems are used, including artificial neural networks. This article presents the main algorithms of neuroevolutionary methods that are actively used to increase the intellectualization of decision support systems and artificial neural networks under conditions of uncertainty. Methods such as CE, NET, ENT, ENS3, and DXN are considered. Methods are considered in chronological order of their invention, which gives an idea of how the field has developed over time. The considered methods are the most common and well-known in the field under consideration. Each of these methods is considered in detail, its advantages and disadvantages are determined. A comparative analysis of all the neuroevolution methods considered in the article is also performed. Keywords: neuroevolutionary methods, decision-making, genetic
algorithms. References
1. Haykin S. Neural networks: a complete course, 2nd edition. - M
.: Williams, 2006.
2. Whitley D., Gruau F., Pyeatt L. Cellular encoding applied to
neurocontrol // Sixth International Conference on Genetic Algorithms, 1995. P. 460-469.
3. Sher G. I. Evolving Chart Pattern Sensitive Neural Network
Based Forex Trading Agents // Neural and Evolutionary Computing, Computational Engineering, Finance, and Science. 2011. P. 47-68.
4. Sommer G., Kassahun Y. Efficient reinforcement learning through
evolutionary acquisition of neural topologies // 13th European Symposium on Artificial Neural Networks, 2005. P. 259-266.
5. Pasemann F., Dieckmann U. Balancing rotators with evolved
neurocontroller. - Leipzig: Max Planck Institute for Mathematic in Sciences, 1997.
6. Stanley K., Miikkulainen R. O. Evolving neural networks through
augmenting topologies // Evolutionary Computation. 2002. Vol. 10.No. 2. P. 99-127.