четверг, 10 марта 2011 г.

Современные парадигмы эволюционного нейросетевого экономико-математического моделирования




УДК: 338.24.01
к.т.н. Хмелев А.Г.

Современные парадигмы эволюционного нейросетевого
экономико-математического моделирования

В настоящее время бурное развитие средств вычислительной техники коренным образом меняет устоявшиеся принципы в области моделирования объектов произвольной природы. Не является исключением и экономико-математическое моделирование. Как на микроуровне, так и в макроэкономических задачах, все большее значение приобретают парадигмы, в которых основной упор делается на полностью формализованные методы моделирования. Поэтому в большинстве конечных приложений именно компьютерное моделирование рассматривается в качестве основного инструмента. Успех каждого этапа моделирования определяется не только используемыми технологиями, но и общим объемом вычислительных экспериментов.
Практически все аспекты моделирования, такие как генерация гипотез, параметрическая и структурная идентификация, проверка адекватности полученных моделей, наконец, практические реализация и внедрение (вербализация) готовой модели, при максимальной степени формализации могут быть реализованы алгоритмически. При этом вопрос достижения требуемого объема вычислений вполне может быть решен экстенсивно – за счет увеличения вычислительных мощностей. Технически расширение вычислительного объема происходит не только за счет увеличения вычислительной мощности отдельных микропроцессорных систем, в последние годы широкое развитие получают распределенные или облачные вычисления. С другой стороны в подавляющем большинстве стран динамика производства и потребления приобретает сложный трансформационный характер. В таких условиях полученные и проверенные экономико-математические модели нередко теряют адекватность в течение достаточно малого времени. Данные факты послужили серьезным толчком к развитию экономико-математических моделей, структура и параметры которых определяются в ходе вычислительного эксперимента, при этом сами модели являются в самом широком смысле адаптивными, в случае существенного изменения степени адекватности выполняется параметрическая и топологическая модификация таких моделей.
Свойством топологической и параметрической изменчивости обладают многие современные экономико-математические модели, однако особое место среди них занимают искусственные нейронные сети (ИНС). Современная практика моделирования использует топологии самого различного объема и уровня структуризации: многослойные нейронные сети; сверточные нейронные сети; сети на основе радиальных базисных функций; машины опорных векторов; ассоциативные машины; карты самоорганизации; динамически управляемые рекуррентные сети и пр. (подробнее в [11]).  Имеющийся выбор архитектур позволяет решать широкий спектр задач экономико-математического моделирования на едином математическом аппарате. Технология обучения ИНС достаточно хорошо изучена и многократно реализована в специализированных программных пакетах [10]. Однако, богатый выбор доступных архитектур как ни странно оказался довольно значимым сдерживающим фактором применения ИНС.
Выбор топологии и настройка весов связей ИНС являются определяющим и  важнейшим шагом при применении нейросетевых технологий для решения задач экономико-математического моделирования. От стратегии выбора топологии ИНС во многом зависит адекватность полученной нейросетевой модели, соответствующей системы принятия решений и т.д.
В настоящее время широко используется практика формирования искусственной нейронной сети по классической методике. Исследователь итерационно на основании собственной интуиции и опыта формирует количество слоев, нейронов, а также топологическую архитектуру ИНС, а затем производит вычислительный эксперимент: сеть обучается на основной обучающей выборке с применением некоторого метода минимизации ошибки отклика сети, а затем тестируется на независимой тестовой выборке. В том случае, если полученные результаты работы удовлетворяют заданным критериям адекватности модели, то задача формирования ИНС считается выполненной успешно; в противном случае — процесс итерационно (и часто весьма многократно) повторяется с другими значениями исходных параметров. Данный подход имеет четыре существенных недостатка:
-         полученная ИНС пригодна лишь для данной конкретной обучающей выборки, при её изменении требуется перенастройка сети;
-         не факт, что архитектура полученной сети является оптимальной в смысле минимизации ошибки обобщения;
-         квалификация исследователя в области ИНС и его умение выполнять корректную к задаче предобработку данных являются решающими факторами успеха формирования адекватной ИНС;
-         участие человека в выборе топологии лишает технологию ИНС главного преимущества – алгоритмизации.
По этой причине представляют особый интерес эвристические алгоритмы формирования топологии ИНС, которые так же, как и сами нейронные сети, основаны на наблюдениях за живой природой. Речь идет о теории и практике использования генетических алгоритмов. Данное направление выглядит довольно перспективным в задаче поиска оптимальной структуры ИНС. Искусственные нейронные сети, полученные в результате искусственной эволюции, концептуально во многом повторяют аналогичный биологический процесс. Основным сдерживающим фактором формирования завершенных технологий является несовершенство именно эволюционных методов. Ошибка в стратегии построения генетического алгоритма является более значимой, по сравнению с ошибкой в ходе обучения отдельной особи ИНС. Неудивительно, что основное внимание исследователей в настоящее время приковано именно к вопросам искусственной эволюции топологии ИНС.
В большинстве работ, посвященных данному направлению, показано, что ключевым моментом любого метода эволюционного построения ИНС является выбор генетического представления (т.е. принципа кодирования и соответствующего декодирования). Выбор представления определяет класс сетей, которые могут быть построены с помощью данного метода. Кроме того, от них зависит эффективность метода по основным параметрам.
Общие свойства генетических представлений, по которым можно оценивать и сравнивать различные методы, выделялись многими авторами. Анализ последних публикаций показывает, что довольно полно произвольный эволюционный алгоритм может быть охарактеризован следующим набором свойств: полнота, замкнутость, компактность, масштабируемость, множественность, онтогенетическая приспосабливаемость, модульность, избыточность, сложность. Краткое описание указанных свойств можно найти в [9], а более детальное — в [4].
В настоящее время обычно выделяют два больших класса способов кодирования: прямое или параметрическое кодирование (direct encoding) и непрямое или косвенное кодирование (indirect encoding).
Прямое кодирование оперирует хромосомами, часто матричного или тензорного типа, в них ИНС представлена линейно, т.е. в явном виде указаны все нейроны сети, веса и связи ИНС. Следовательно, особь не обладает инкапсулированной изменчивостью, поскольку соответствие между структурными элементами конечной ИНС (нейронами, связями, весами, функциями активации и пр.), т.е. фенотипом, и соответствующими участками хромосомы, т.е. генотипом, всегда фиксировано и однозначно.
Этот вариант описания нейронной сети является наиболее простым и легко алгоритмизируемым, а также дает возможность применять к полученным хромосомам уже имеющийся аппарат генетического поиска (в частности, операторы кроссинговера и мутации). Однако существуют заметные недостатки такой схемы кодирования. При увеличении количества нейронов и связей ИНС генотип увеличивает свои размеры, что обуславливает низкую эффективность эволюционного алгоритма за счет значительного увеличения пространства поиска. В масштабных задачах возникают наибольшие проблемы с реализацией.
Однако, данное направление не является тупиковым, существуют довольно эффективные методики, целью которых является нивелирование вышеописанных недостатков. Наиболее интересные из них будут рассмотрены ниже.
Непрямое кодирование (в англоязычных источниках также используется термин weak – подразумеваются слабосвязанные фенотип и генотип) предполагает более «биологическую» схему кодирования. В генотипе кодируется не сам фенотип, а общие характеристики ИНС – число и емкость слоев, плотность связей, типы участков для составных сетей и т.д. Чаще всего генотип может представлять собой отдельный алгоритм генерации ИНС, в качестве генов, как правило, используются параметры алгоритма (число циклов, вероятность генерации компонента ИНС и т.д.), структура же алгоритма при этом, как правило, неизменна. Применение вероятностных описателей алгоритма следует отметить отдельно, т.к. это гарантирует инкапсулированную изменчивость особи. При декодировании генотипа, или выполнении алгоритма, описанные правила применяются в заданной последовательности, в результате чего и строится ИНС. Стоит отметить рекурсивность и выборочную применимость правил в зависимости от текущего контекста, таким образом, эмулируется видовая изменчивость между поколениями.
Применение непрямых методов кодирования генетического представления дает возможность реализовать более компактное пространство поиска генетических алгоритмов. Также важным преимуществом является тот факт, что генотип позволяет кодировать модульные структуры. Это, несомненно, дает потенциально более высокий уровень адаптивности полученных результатов. Однако есть и недостатки. Практически невозможно проследить, какие изменения в генотипе оказались ключевыми и привели изменениям в фенотипе, иными словами трудно выявить факторы, которые являются положительными для целевой функции адекватности ИНС. Не менее значимыми недостатками являются множество трудностей с подбором генетических операторов, сходимостью и производительностью.
Исторически, прямое кодирование появилось раньше, видимо потому, что является более простой сферой для исследования, однако ряд недостатков этого подхода [5] заставляют исследователей все чаще обращать внимание на непрямые или косвенные методы кодирования. Однако, по своей сути косвенные методы крайне сложны для анализа. К примеру, одна и та же мутация правила, расположенного в начале «программы», оказывает колоссальный эффект, а примененная к «концевым» правилам — эффекта не оказывает вовсе, в итоге — генетический поиск часто имеет сильную тенденцию к преждевременной сходимости. Формирование операторов кроссинговера тоже является непростой задачей, поскольку использование классических бинарных операторов в косвенных методах, зачастую приводит появлению кардинально нежизнеспособных решений, но чтобы выявить их, требуется сначала обучить полученную ИНС.
В целом можно отметить то, что работы в направлении разработки методик прямого и косвенного кодирования отмечаются как весьма перспективные, и исследования данной предметной области находятся сейчас в самом разгаре. У многих научных направлений в этой связи возникли новые задачи и новый инструмент для проведения широких исследований с потенциально интересными результатами. Экономико-математическое моделирование все в большей степени опирается на статистически значимые массивы накопленной информации, поэтому и является именно таким направлением. Рассмотрим более детально наиболее удачные парадигмы эволюционных алгоритмов для нейронных сетей.
В 1989 году [8] было предложено формировать структуру ИНС с применением матрицы смежности, по аналогии с матрицей смежности для графов. Данный метод кодирования является прямым и пригоден для записи только многослойных ИНС без обратных связей. Каждой прямой связи от нейрона i к внутрисетевому нейрону j сопоставляется элемент двоичной матрицы с координатами (i,j). Если значение этого элемента единица, связь существует, в противном случае связи нет. Для описания уровня послойной удаленности нейрона выделен отдельный недвоичный вектор-столбец с размером N. Таким образом, нейронной сети из N нейронов соответствует прямоугольная матрица размерности [N, N+1].
Геном ИНС формируется по методу прямого кодирования и его варианты составляются путем конкатенации строк описанной матрицы смежности.
При расшифровке данного генома в фенотип ИНС все обратные связи (которые в принципе могут существовать в матрице смежности) игнорируются. Именно по этой причине в такой форме записывались только многослойные ИНС прямого распространения. Все нейроны со свободными синапсами и аксонами (т.е. без хотя бы одного входа или без выхода) удаляются.
Данное  представление ИНС достаточно плохо масштабируется, поскольку длина такого генома пропорциональна квадрату от максимально возможного числа нейронов в сети. Это является основной проблемой, позволяющей эффективно применять такой способ кодирования только для построения достаточно компактных  по размеру ИНС.
Теоретически такое представление может быть использовано и для формирования других классов ИНС, например, с обратными связями. Для этого необходимо лишь внести модификации в процесс расшифровки генотипа, но в таком случае частота формирования нежизнеспособных особей резко возрастает.
Анализ описанного метода прямого кодирования представляется непростой задачей. Стоит отметить два основных вопроса:
  1. Как можно гарантировать связность ИНС, ведь существует ненулевая вероятность, что входы и выходы ИНС будут не соединены?
  2. Кодирование по сути неизменной структуры ИНС может быть выполнено конечным множеством способов. Как узнать суммарное количество этих способов и исключить непродуктивное дублирование в процессе генетического поиска?
Для решения описанных задач необходимо выполнение относительно сложных дополнительных комбинаторных исследований, которых до настоящего момента в этой сфере не проводились [3].
Одной из наиболее интересных попыток нивелировать недостатки прямого кодирования с сохранением основных преимуществ является разработанный в 2002 году [6] метод эволюционного формирования ИНС с нарастающей топологией (NEAT — Neural Evolution through Augmenting Topologies).
В своих изысканиях авторы отметили ряд основных проблем, характерных как для прямого кодирования в частности, так и для эволюционных алгоритмов в целом. Ниже приведены эти проблемы.
  1. Идентичные представления — одна и та же (топологически) ИНС, т.е. с фиксированным фенотипом может быть по-разному описана в генотипе даже в рамках одного способа кодирования.
  2. Незащищенные инновации — в ходе нейроэволюции изменения структуры ИНС выполняются добавлением или удалением одного или нескольких нейронов. И нередко добавление новых нейронов в ИНС приводит к тому, что значение её целевой функции (фитнес) снижается. К примеру, добавление нового нейрона вносит дополнительную нелинейность в изначально линейный процесс. Ясно, что на начальном этапе значения фитнес-функции будет уменьшено, пока синаптические коэффициенты нового нейрона не оптимизируются.
  3. Стартовый размер и топологические инновации — во многих методиках эволюции ИНС стартовая популяция формируется случайным образом как на топологическом уровне, так и на параметрическом уровне инициализации весовых коэффициентов. Кроме того, что приходится расходовать вычислительные ресурсы на отсеивание нежизнеспособных ИНС, такие популяции имеют тенденцию к вырождению, т.е. сходятся к решениям, размер которых чрезмерно завышен (т.е. ИНС переобучена). Это вызвано тем, что первоначально сформированная случайная топология имеет слабо редуцируемый в ходе генетического поиска набор связей. Во многих исследованиях показано, что поиск с последовательным увеличением размера ИНС оказывается более предпочтительным, т.к. это гарантирует существенное сужение пространства поиска. Теоретически одним из методов решения данной задачи может быть формирование штрафного коэффициента, который уменьшал бы значение фитнесс-функции особи в зависимости от размера ИНС. Однако вопросы расчета такого коэффициента являются отдельной оптимизационной задачей, сложность решения которой сопоставима с продуцируемыми в ходе эволюции ИНС.
Эволюционный метод NEAТ базируется на биологическом понятии гомологичных генов, а также на существовании в природе процесса синапсиса — выравнивания гомологичных генов перед кроссинговером.
В методике полагается, что гены у двух различных особей являются гомологичными, при условии, что они сформировались в результате одной и той же мутации в прошлом. Иначе говоря, при некоторой структурной мутации (добавление нового нейрона), соответствующему гену присваивается уникальный порядковый номер, который впоследствии не изменяется в ходе эволюции. Такой номер называется историческим маркером и позволяет решить все три описанные выше задачи, используя следующие принципы:
1.     Размер ИНС минимален, в силу монотонного однонаправленного роста емкости ИНС, что положительно сказывается на обобщающих свойствах и скорости работы эволюционного алгоритма.
2.     Особи с близкими топологическими структурами, отсеиваются, и, таким образом, оставляют свободное фитнесс-пространство для мутаций.
3.     Кроссинговер выполняется исключительно между гомологичными генами.
Более детальное и развернутое описание методики, равно как и сравнительный анализ с прочими методиками приведен в [6].
Теперь целесообразно более подробно рассмотреть, что предлагается в настоящее время в сфере непрямого или косвенного кодирования архитектуры ИНС. В биологических системах генотип не может характеризовать полностью все черты и особенности особи. Он содержит лишь сведения о белках, т.е. об относительно элементарных составляющих, которые используются с одной стороны как строительные элементы, из которых формируется организм, и с другой стороны как алгоритм для построения тканей особи. Данный процесс развития или дешифровки получил название онтогенез.
В то же время даже поверхностный анализ живой природы показывает, что многие объекты в природе обладают фрактальными свойствами, например, побережья, облака, кроны деревьев, кровеносная система и система альвеол человека или животных (идеальный фрактал – бесконечно самоподобная геометрическая фигура). В этой связи переход к фрактальным описаниям ИНС вполне логичный шаг. В генотипе описывается не сама структура нейронной сети, но алгоритм или правила формирования такой структуры.
Наиболее известным является подход к реализации этой идеи, который базируется на системах Линдемайера (Lindenmayer), или L-системах. Свои корни метод берет из области моделирования морфогенеза растений. Грамматика L-системы состоит из пошагового набора операторов, использующихся для формирования строки-описания структуры ИНС. Процесс пошагового применения правил последовательно повторяется и носит название string-rewriting. К стартовому символу S поочередно применяются правила переписывания строк, пока не будет сформирована строчка только из специфичных символов, которые называются терминальными.
В 1990 году [8] была разработана грамматика генерации для графов (Graph Generation Grammar – GGG). Правила в общем виде выглядят как:

                                                                                                      (1)

Алфавит данной грамматики содержит символы трех типов: нетерминальных N={A,B,:,Z}, предтерминальных P={a,b,:,p} и терминальных T={0,1}. Грамматика в свою очередь формируется их двух частей: переменной и постоянной. Переменная часть записывается непосредственно в геном и формируется из последовательности описаний правил данной грамматики. Все символы из левой части правил являются нетерминальными, правой часть формируется из множества N?P. Постоянная часть грамматики фиксирована и содержит 16 правил для каждого предтерминального символа слева, и матрицы квадратной двоичной матрицы справа. Для терминальных символов тоже задаются простые грамматические правила. Ноль раскрывается в матрицу из нулей, а единица — в матрицу из единиц.
При работе с подобными представлениями геномов могут встречаться ситуации, когда в переменной части не задаются правила для нетерминального символа, который тем не менее использовался в правой части какого-либо одного из описанных правил. Такие символы условно считаются недействительными и переписываются, по сути, так же как и нули.
Процесс декодирования состоит в алгоритмической последовательности применения правил из генома к начальному символу S. Количество применений правил формируется в начале. Полученная матрица является по сути такой же, как и в прямом кодировании, т.е. если на диагонали элемент (i,i)=1, то ему соответствует нейрон. Все элементы (i,j) означают связь нейрона i с нейроном j, если они оба существуют. Все обратные связи, так же как и при прямом кодировании, удаляются. В силу не вполне очевидной, но, тем не менее, довольно значимой сложности описания генома данный метод широкого распространения не получил. Но он является одним из первых косвенных методов, поэтому послужил толчком к развитию более совершенных косвенных методов.
В работе [13] показано довольно простое решение: кодировать нейроны в соответствии с их координатами в двумерном пространстве. При этом каждая пара координат в генотипе, по сути, соответствует одному нейрону. Но важно, что в отличие от прямого кодирования, межнейронные связи не задаются точно в генотипе, а формируются на основе геометрического расположения нейронов в процессе декодирования. Крайние нейроны слева являются входными, а крайние справа, соответственно, выходными.
Первоначально, на старте процесса декодирования все нейроны условно размещаются в декартовом пространстве в точках, заданных координатами из генома. Затем нейроны индексируются. Номер скрытого слоя для нейронов определяется их координатой х. Если у двух нейронов их х-овые координаты совпадают, то нейроны считаются принадлежащими одному слою, причем больший номер получает нейрон, который имеет большее значение второй координаты y. Индексы для входных и выходных нейронов рассчитываются по иному. Каждому нейрону в генотипе также соответствует параметр – тип. Для входных нейронов их индекс равен I = type mod N(input), для выходных нейронов индекс рассчитывается по формуле j = N — N(output) + type mod N(output). Здесь N(input) — суммарное число входов в ИНС, N(output) — суммарное число выходов из ИНС. Очевидно, что некоторые входные и выходные нейроны будут иметь один и тот же индекс. Поэтому, при декодировании к нейронной сети добавляется N(input) входных и N(output) выходных реальных нейронов, к которым присоединены входы и выходы сети. Каждый такой дополнительный нейрон связывается со всеми нейронами с соответствующим индексом.
После дешифровки всех нейронов ИНС и размещения их в пространстве, из каждого нейрона начинает строиться дерево связей. В классическом случае оно рассчитывается как фрактал, но конкретный метод его вычисления не играет роли. Длины ветвей синаптического дерева, и допустимый угол между ветвями также задается при описании каждого нейрона в геноме. Связь между нейронами устанавливается, если анализируемая ветвь графа от одного нейрона к другому меньше установленного заранее порогового значения.
Изначально, обучение, записанных таким образом ИНС, не проводилось, они эволюционировали вместе с весовыми коэффициентами, которые также записывались в геном следующего поколения. Но подобное представление может применяться также и исключительно для построения топологии ИНС, а межнейронные синаптические коэффициенты могут рассчитываться и по классическим алгоритмам. Несмотря на некоторые преимущества по сравнению с прямым кодированием, данный метод формирования ИНС также не лишен главного недостатка присущего прямому кодированию: пространство поиска растет (хотя и линейно) одновременно с размером сети.
Следующий метод с одной стороны является дальнейшим развитием предыдущего метода, но в отличие от него использует фрактальный принцип формирования нейронов и связей между ними, аналогичный грамматическому представлению, что позволяет существенно сузить пространство генетического поиска.
В данном методе вместо кодирования каждого нейрона напрямую, записывают набор правил, предназначенных для генерации и пространственного размещения нейронов. Исходя из этого принципа, метод получил название порождающего пространства из ячеек (Generative cell space GCS) и был впервые предложен А. Кэнжелоси (A. Cangelosi) и Д. Эльмaном (J. Elman).
Процесс онтогенеза начинается с одной условной клетки специального типа. Данная клетка затем разделяется на две дочерние клетки, причем параметры разделения задаются в грамматическом правиле. Каждая из полученных клеток-потомков может быть расположена в одной из 8-и соседних с родительской ячеек (пространство – ортогональное). Процесс итерационно повторяется, до соблюдения условия остановки (в простейшем случае – заданное число раз), после чего все сформированные клетки условно превращаются в нейроны. Они разделяются на входные, выходные и скрытые по аналогичному принципу, что и в предыдущем методе. Сужение пространства поиска генома является одним из самых важных преимуществ данного метода, однако многократное повторное формирование ИНС по-прежнему существенно снижает быстродействие эволюционного поиска оптимальной топологии.
Следующий метод является более биологическим развитием предыдущего. Он использует т.н. genetic regulation network (GRN) для контроля процесса построения сети. GRN состоит из 26 регулирующих элементов (генов), построенных по аналогии с биологическими оперонами. Каждый оперон разделен на две части — регуляторную (regulatory) и экспрессивную (expression). Регуляторная часть состоит из двух регионов: индуктор и ингибитор. Экспрессивная часть также состоит из двух регионов: регуляторный и структурный. Если регуляторный регион гена совпадает с индуктором другого гена, последний экспрессируется (т.е. выполняются команды, заданные в его структурной части). Экспрессия происходит, если она не была запрещена ингибитором другого гена. Количество экспрессируемого гена («количество получаемых химических элементов») зависит от индукторной части регуляционного элемента. В силу недостаточного уровня абстрагирования от симулируемых биологических процессов данный метод широкого распространения не получил.
Идея формирования сети на основе формальных грамматик отражена в работе [9]. Однако, нужно заметить, что формальная грамматика, используемая для формирования последовательности команд, в свою очередь описывается некоторой мета-грамматикой. Для примера в работе предложена мета-грамматика, которая позволяет формировать произвольные бинарные байтовые последовательности:

<g> ::=
"<BitStr> ::=" <Rps>
"<onb4> ::=" <onb4t>
"<onb2> ::=" <onb2t>
"<onb1> ::=" <onb1t>
"<bto> ::=" <value>
<onb4t> ::= <bto><bto><bto><bto>
<onb2t> ::= <bto><bto>
<onb1t> ::= <bto>
<Rps> ::= <Rpt>
| <rept> "|" <reps>
<rept> ::= "<onb4><onb4>"
| "<onb2><onb2><onb2><onb2>"
| "<onb1><onb1><onb1><onb1><onb1><onb1><onb1><onb1>"
<bto> ::= "<bto>"
| 1
| 0
<value> ::= <valuet>
| <valuet> "|" <value>
<valuet> ::= 1 | 0

Для трансляции такой грамматики указывается входная строка, которая определяет последовательность номеров правил, выбираемых в тех случаях, когда нетерминал содержит более одного способа вывода.
Вышеописанная мета-грамматика, может служить основой для следующей конечной грамматики:

<BitStr> ::= <bto>11<bto>00<bto><bto>
| <onb2><onb2><onb2><onb2>
| 11011101
| <onb4><onb4>
| <onb4><onb4>
<onb4> ::= <bto>11<bto>
<onb2> ::= 11
<onb1> ::= 1
<bto> ::= 1 | 0 | 0 | 1

Таким образом, генотип отдельной особи представляет собой по сути две бинарных строки — первая предназначена для генерации грамматики на основе мета-грамматики, а вторая — для генерации уже, собственно, ИНС на основе полученной грамматики.
Более подробно описание метода см. в [7], [8].
Существует множество прочих методов нейроэволюции (получившие распространение отражены в [3]). Можно отметить краткие отличительные особенности каждого из них:
-         прямое позонное кодирование топологии;
-         формирование контексто-зависимых L-систем;
-         подход, аналогичный Кэнжелоси и Эльмaну, но с использованием случайных булевых ИНС;
-         использование грамматического дерева для задания деления нейронов;
-         рост условных нейроклеток задается L-системами.
Основными недостатками формирования ИНС практически всех рассмотренных эволюционных методов являются следующие:
-         в рассмотренных эволюционных генетических алгоритмах параметры и принципы оптимизации ошибки (т.е. обучения) ИНС не являются компонентом генома, что по-прежнему требует участия эксперта в обучении ИНС;
-         как в косвенных, так и в прямых методах кодирования длина генома является переменной величиной (за исключением GRN), и поэтому искусственно завышает размерность пространства генетического поиска оптимальной топологии ИНС;
-         в рассмотренных методах не предусмотрены механизмы распараллеливания вычислений, т.е. при каждом новом обучении особи следует передавать вычислительному агенту всю обучающую выборку, геном, алгоритм формирования топологии, алгоритм обучения, что неприемлемо для облачных вычислительных систем;
-         многие из рассмотренных методов не имеют возможности обратного хода (т.е. упрощения топологии ИНС), что исключает возможность дообучения существующей популяции.
После анализа принципов формирования ИНС рассмотренными методами, целесообразно использовать модифицированный генетический алгоритм с косвенным кодированием фенотипа геномом фиксированной длины, который отличается тем, что включает в себя не только топологические характеристики ИНС и фрактальные описатели межнейронного взаимодействия, но и параметры процесса обучения ИНС (скорость, параметры шага, инерция градиента, максимальное время обучения, используемый метод обучения и т.д.). Алгоритм получил название генетический алгоритм адаптивного обучения (GAAL - genetic algorithm for adaptive learning). Практическое применение данного подхода рассмотрено в работе [12]. В геном алгоритма включаются лишь те показатели, которые характеризуют статистические свойства ИНС, что позволяет фиксировать длину генома конечной величиной и применять классические технологии кроссинговера и мутации.
Для сравнения вычислительных и математических характеристик предложенных методов на практике возможно применение лишь эмпирических оценок. Аналитический анализ в данный момент провести значительно труднее.
По этой причине, математически доказательно сказать, какой из описанных подходов является наиболее оптимальным, в настоящее время проблематично. Это связано с тем, что однозначного критерия «универсальной оценки» так и не выработано. Метод тестовых заданий является в данный момент фактически единственным доступным инструментом оценки эффективности.
Рассмотрим результаты сравнений, выполненных в [3] (сравниваются ряд алгоритмов между собой) и в [6] (сравнивается методика NEAT с некоторыми другими методиками).
В [3] выполнялось сравнение методик следующих авторов:
-         Миллер (прямое кодирование);
-         Китано (кодирование на L-системах);
-         Нолфи (пространство ячеек);
-         Кэнжелоси (порождающее пространство ячеек);
Для сравнения использован ряд искусственных проблем. Детальные результаты приведены в [3], однако в целом можно отметить, что:
-         ИНС, эволюционированные по методу Китано, дают лучшие результаты;
-         ИНС, построенные по методу Миллера, не сильно хуже Китано;
-         ИНС, построенные по методу Нолфи, заметно хуже Китано и Миллера;
-         ИНС, построенные по методу Кэнжелоси, еще хуже Нолфи.
Впрочем, указано, что лучшие сети, построенные с помощью двух «плохих» методов, имеют заметно больший потенциал к обучаемости в тех случаях, когда они обучаются неоднократно с различными случайными начальными весами.
В работе [6] выполняется сравнение NEAT с некоторыми другими методиками (Ev. Programming [7], Conventional NE [8], Sane [1], и ESP [2]). Результаты сравнения на одной из задач приведены в таблице.

Таблица 1. Сводные данные различных эволюционных алгоритмов

Метод 
Оценки особей 
Поколения 
Популяция
Ev. Programming
307,200
150
2048
Conventional NE 
80,000
800
100
SANE 
12,600
63
200
ESP 
3,800
19
200
NEAT 
3,600
24
150

Как можно увидеть, NEAT ведет себя несколько лучше, чем большинство сравниваемых методик, но эти данные требуют проверки в прочих проблемных областях. Возможно, что другие алгоритмы обладают иными преимуществами, нежели быстродействие алгоритма.
Так, например, при тестировании нейросетевого классификатора в работе [12] алгоритм GAAL показал на 120% худшее по сравнению с NEAT время расчета, однако при этом параметры процесса обучения были также найдены генетическим алгоритмом.
В целом по результатам рассмотренных исследований можно привести ряд выводов. Во-первых, применение эволюционных алгоритмов обучения ИНС является весьма перспективным направлением, т.к. снижает требования к уровню квалификации в области нейросетевого моделирования для конечного пользователя. Во-вторых, спектр возможных вариаций эволюционной адаптации топологии ИНС в настоящее время разработан лишь для узкого класса сетей прямого распространения, в этой области предстоит еще много новых исследований. В-третьих, косвенные методы кодирования вполне могут конкурировать в плане производительности как с классическими методами прямого кодирования, так и с их более современными модификациями. Наконец, косвенные методы – единственный в настоящее время способ исключить субъективный фактор (человека) из процесса формирования и проверки на адекватность экономико-математических нейросетевых моделей.

Список литературы.

1. David E. Moriarty, Risto Mikkulainen. Efficient reinforcement learning through symbiotic evolution. Machine Learning 44(1-3): 11-32, Department of Computer Sciences, The University of Texas at Austin. Austin, TX 78712, 1996.
2. Gomez, F., and Miikkulainen, R. (2001). Learning robust nonlinear control with neuroevolution. Technical Report AI01-292, Department of Computer Sciences, The University of Texas at Austin.
3. Gronroos M. “Evolutionary Design of Neural Networks”,-PhD thesis, Dept. of Mathematical Sciences, University of Turku, Finland.
4. Karthik Balakrishnan, Vasant Honavar Properties of genetic representations of neural architectures. – University of Tennessee – Universitat Erlangen-Nurnberg, Erlangen, 1996.
5. Kenneth O.Stanley, Risto Miikkulainen. Evolving Neural Networks through Augmenting Topologies. Evolutionary Computation 10(2): 99-127, The MIT Press, 2002.
6. Kenneth O.Stanley, Risto Miikkulainen. Evolving Neural Networks through Augmenting Topologies. Evolutionary Computation 10(2): 99-127, The MIT Press, 2002.
7. Saravanan N., Fogel D. B. Evolving neural control systems // IEEE Expert, 1995, pp. 23-27.
8. Wieland A. Evolving controls for unstable systems. // Proceedings of the 1990 Connectionist Model Summer School. – San Mateo, CA: Morgan Kaufmann, 1990.– 91–102.
9. Конушин А. Эволюционные нейросетевые модели с незаданным заранее числом связей. – Компьютерная графика и мультимедиа. Выпуск №1(2) 2003. Режим доступа http://cgm.computergraphics.ru/issues/issue1
10. Круглов В.В., Борисов В.В. Искусственные нейронные сети: Теория и практика. – 2-е изд. стереотип. – М.: Горячая линия-Телеком, 2002. – 382 с.: ил.
11. Саймон Хайкин Нейронные сети: полный курс, 2-е издание. – М. : Издательский дом «Вильямс», 2006. – 1104 с.
12. Хмелев А.Г., Лютянская Л.А. Нейросетевые модели идентификации и оптимизации системы бюджетирования крупных промышленных предприятий. – Научный информационный журнал «Бизнес информ», № 2(1), 2010, (361). – С.103-106.
13. Цой Ю.Р., Спицын В.Г. Эволюционный подход к настройке и обучению искусственных нейронных сетей // Электронный журнал "Нейроинформатика". - 2006. - Т. 1, №1. - С. 34-61.

0 коммент.:

Отправить комментарий