Реферат - Группа "Нейроинтеллекта и нейроморфных систем"

advertisement
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Реферат
Диплом содержит 118 страниц, 45 рисунков, 1 таблица, 47 источников литературы.
Объем
приложений
–
23
страницы.
Объем
исходного
кода
разработанного
программного комплекса – 4000 строк.
Ключевые слова: эволюционное моделирование, адаптивные системы, нейросеть,
машинное обучение, нейробиология, автономный агент, модель обучения, теория
функциональных систем.
Целью данной работы является разработка модели обучения автономных агентов,
комбинирующую подходы эволюционного моделирования и алгоритмов прижизненного
обучения, основанную на исследованиях в области нейробиологии и психофизиологии.
Получены следующие основные результаты:
 разработаны математические модели компонентов эволюции и обучения:
среды, автономного агента, среды, агента, нейро-эволюцинного алгоритма,
первичного и вторичного системогенеза;
 разработан программный комплекс, позволяющий проводить вычислительные
эксперименты с использованием суперкомпьютерного кластера;
 проведено численное исследование разработанной модели эволюции и
обучения.
В первой главе пояснительной записки приводится критический обзор литературы,
относящейся
эволюционного
к
применению
моделирования,
современных
обзор
методов
современнных
машинного
теорий
обучения
и
нейробиологии,
синтетической теории эволюции, сравнительный анализ современных методов
моделирования активности мозга и обучения.
Во второй главе приводятся формальные модели компонент эволюции и обучения:
среды, агента, нейро-эволюцинного алгоритма, первичного и вторичного системогенеза.
В третьей главе приводятся материалы проектирования и описание подсистем
программного комплекса, позволяющего проводить вычислительные эксперименты с
использованием суперкомпьютерного кластера, для моделирования поведения и
обучения автономных агентов в среде с иерархией целей. Приводятся и обсуждаются
результаты численного исследования модели.
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Содержание
Реферат .............................................................................................................................................. 4
Введение ............................................................................................................................................ 7
1. Аналитический обзор современных методов моделирования эволюции и обучения........ 9
1.1. Аналитический обзор современных методов машинного обучения автономных агентов с
позиции моделирования целенаправленного поведения .............................................................. 9
1.2. Аналитический обзор современных теорий нейробиологии с позиции моделирования
целенаправленного поведения ..................................................................................................... 29
1.3. Аналитический обзор синтетической теории эволюции и роли обучения в ней ................ 40
1.4. Сравнительный анализ современных принципов и методов математического
моделирования активности мозга и обучения............................................................................. 44
1.5. Постановка задачи дипломного проекта .............................................................................. 50
2. Теоретическое и алгоритмическое обеспечение задачи обучения целенаправленному
поведению ....................................................................................................................................... 52
2.1. Формальная модель среды с иерархией целей ..................................................................... 52
2.2. Формальная модель нейросетевой структуры агента .......................................................... 56
2.3. Формальная модель эволюции популяции агентов.............................................................. 66
2.4. Формальная модель первичного системогенеза ................................................................... 72
2.5. Формальная модель обучения на основе эндогенной оценки результативности
целенаправленного поведения ..................................................................................................... 78
3. Программная реализация комплекса моделирования популяции агентов и
экспериментальное исследование модели .................................................................................. 87
3.1. Назначения и общие требования к экспериментальному программному комплексу........ 87
3.2. Функциональная схема подсистем экспериментального программного комплекса .......... 88
3.3. Архитектура и реализация параллельных вычислений для запуска модели на кластере... 91
3.4. Описание основных подсистем ............................................................................................. 94
3.4.1. Подсистема автоматической генерации среды с иерархией целей ............................. 94
3.4.2. Подсистема эволюции популяции агентов................................................................... 95
3.4.3. Подсистема сбора статистических показателей динамики модели............................. 99
3.4.4. Подсистема визуализации процесса жизнедеятельности агента............................... 101
3.4.5. Подсистема генерации первичных статистических отчетов ..................................... 103
3.5. Методики анализа статистических показателей и динамики модели обучения ............... 104
3.6. Экспериментальное исследование модели ......................................................................... 106
3.6.1. Краткое описание плана исследования ...................................................................... 106
5
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
3.6.2. Сравнение показателей модели на стационарной и квазистационарной среде при
использовании алгоритма NEAT .......................................................................................... 108
3.6.3. Сравнение эффективности эволюции в зависимости от параметров модели при
использовании NEAT............................................................................................................ 111
3.6.4. Проведение экспериментов с использованием штрафной функции за размер
нейронной сети агента .......................................................................................................... 112
3.6.5. Исследование внутренней динамики процесса эволюционной адаптации............... 114
Заключение ................................................................................................................................... 116
Литература .................................................................................................................................... 118
Приложение .................................................................................................................................. 123
Приложение А. Реккуррентная функция определения выхода произвольного нейрона в
нейронной сети агента................................................................................................................ 124
Приложение Б. Процедура вычисления коэффициента заполненности и коэффициента
сложности среды ........................................................................................................................ 125
Приложение В. Процедура определения общей накопленной награды, полученной агентом в
течение жизни............................................................................................................................. 126
Приложение Г. Процедура проведения мутация типа «дупликация нейрона» ....................... 127
Приложение Д. Процедуры проведения мутации типа «вставка нейрона» и «вставка связи»130
Приложение Е. Процедуры генерации стартовых популяций для двух типов эволюционных
алгоритмов .................................................................................................................................. 134
Приложение Ж. Подсистема генерации среды с иерархией целей .......................................... 138
Приложение З. Примеры различных сред ................................................................................. 141
6
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Введение
Мозг на данный момент является самой сложной нелинейной системой, с
которой когда-либо сталкивался человек в процессе познания окружающего мира.
Для изучения системных принципов работы человеческого мозга необходимо
создание совершенно новых и уникальных математических методов, моделей,
программного обеспечения и оборудования. Одим из новых подходов к изучению
динамических процессов, обеспечивающих память и мышление, является
крупномасштабное математическое моделирование.
Наибольший интерес в рамках изучения мозга вызывают механизмы
обеспечения целенаправленного поведения. Однако их рассмотрение невозможно
в отрыве от эволюции и обучения, так как именно эти два фактора обеспечивают
формирование поведения человека и животных. Существует множество теорий,
описывающих возможные принципы работы этих механизмов, однако основные
принципы функционирования нервной системы так и не открыты.
При рассмотрении каждого из существующих на данный момент алгоритмов
машинного обучения
с
точки зрения
моделирования
целенаправленного
поведения, мы обнаруживаем, что в каждом из них есть проблема, которую пока
не удалось обойти. Это может быть и невозможность самостоятельной выработки
целей агентом, и необходимость непосредственного предъявления подкрепления
или отсутствие эффективной методики прижизненного обучения в эволюционных
алгоритмах. Большинство подходов, используемых в области машинного
обучения, направлены в первую очередь в сторону прикладного применения. При
этом каждый такой алгоритм жестко ограничен в возможностях по сравнению с
реальным мозгом, с его возможностями обучения и решения сложнейших задач.
Большинство попыток моделирования сложных процессов активности мозга
основаны на данных нейробиологии, полученных много лет назад. Однако, в
последние годы область изучения мозга сделала огромный прорыв и накопила
экспериментальный
и
теоретический
материал,
который
необходимо
7
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
использовать
в
дальнейшем
при
применении
методов
математического
моделирования.
В рамках данной работы мы пытаемся сформулировать математическую модель
эволюции и обучения, основанную на теории функциональных систем П.К.
Анохина. Важными свойствами разрабатываемой модели является биологическая
адекватность, соответствие активностной парадигме нейрона и организма в
целом, наличие обучения в течение жизни за счет пластичности синапсов и
формирования новых функциональных систем на основе эндогенной оценки
результативности целенаправленного поведения каждого нейрона, как отдельного
организма.
Численное исследование данной модели в перспективе может указать на
некоторые из закономерностей функционирования мозга, подсказать идеи
оригинальных экспериментов в области нейробиологии, а также начать
разработку новых подходов в области машинного обучения и проектирования
интеллектуальных
машин
нового
поколения,
которые
будут
обладать
повышенными способностями к адаптации.
В первой главе пояснительной записки приводится критический обзор
литературы, относящейся к применению современных методов машинного
обучения и эволюционного моделирования, обзор современнных теорий
нейробиологии,
синтетической
теории
эволюции,
сравнительный
анализ
современных методов моделирования активности мозга и обучения.
Во второй главе приводятся формальные модели компонент эволюции и
обучения:
среды,
агента,
нейро-эволюцинного
алгоритма,
первичного
и
вторичного системогенеза.
В третьей главе приводятся материалы проектирования и описание подсистем
программного
комплекса,
эксперименты
с
позволяющего
использованием
проводить
суперкомпьютерного
вычислительные
кластера,
для
моделирования поведения и обучения автономных агентов в среде с иерархией
целей. Приводятся и обсуждаются результаты численного исследования модели.
8
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
1. Аналитический обзор современных методов
моделирования эволюции и обучения
1.1.
Аналитический
обзор современных методов
машинного
обучения автономных агентов с позиции моделирования
целенаправленного поведения
Приводится обзор литературы по современным моделям машинного
обучения, таким как Q-обучение (Reinforcement learning) в том числе с
введением абстрактных действий, а также обзор некоторых наиболее
интересных алгоритмов эволюции популяции автономных агентов.
Проводится критический обзор приведенных моделей с точки зрения задачи
моделирования целенаправленного поведения.
Для адаптивного поведения в произвольной среде, агент должен иметь в
своем распоряжении определенные алгоритмы, позволяющие ему изучать
строение среды и учиться принимать решение в ситуациях, в которые он
может попасть.
Предметом рассмотрения данной дипломной работы является модель, в
которой агент обучается, взаимодействуя с некоторой средой. Откликом
среды на принятые решения являются сигналы подкрепления, поэтому такое
обучение называется обучением с подкреплением и является частным
случаем обучения с учителем, но учителем является среда. Агент
воздействует на среду, а среда, в свою очередь, воздействует на агента. О
такой системе говорят, что она имеет обратную связь. Интерпретация этой
обратной связи может изменяться в зависимости от рассматриваемой задачи,
но в данном случае под такой обратной связью можно подразумевать степень
близости к целевому для агента состоянию. Такую систему можно
рассматривать как единое целое, и поэтому линия раздела между средой и
агентом достаточно условна. Конечно, с анатомической или физической
точек зрения между средой и агентом (организмом) существует вполне
определенная граница, но если эту систему рассматривать с функциональной
точки зрения, то разделение становится нечетким.
9
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
С другой стороны в качестве движущей силы развития агента может
служить не непосредственное подкрепление, а механизм естественного
отбора. В этом случае мы имеем дело не с подкреплением, предоставляемым
в процессе непосредственного функционирования в среде, а с успешностью
стратегии
поведения
агента,
определяемой
после
окончания
«жизнедеятельности» агента. Фактически это степень приспособленности
агента к среде, котороая влияет на численность потомков в эволюционных
алгоритмах.
В данном разделе мы рассмотрим несколько наиболее интересных моделей
обучения с точки зрения моделирования целенаправленного поведения и
возможности применения данных моделей в среде с иерархией целей. В том
числе
целью
данного
обзора
является
рассмотрение
нейросетевых
реализаций моделей обучения.
Начнем с интуитивного понятия агента. Несмотря на рост числа
теоретических исследований и технологий, основанных на применении
агентов, сегодня так и нет общепринятого определения термина "агент".
Существует несколько трактовок, зависящих от целей исследования.
В частности, Б.Хейес-Рот отмечал, что "мыслящие агенты непрерывно
выполняют три функции: восприятие динамически изменяющихся условий
окружения; действия по влиянию на окружение; логический вывод для
интерпретации получаемой информации, решения проблем, построения
заключений и определения действий" [1].
Его определение включает следующие свойства:

автономия:
агенты
действуют
без
непосредственного
вмешательства людей или чего-либо еще, определенным образом
контролируют свои действия и внутреннее состояние;

социальные возможности: агенты взаимодействуют с другими
агентами (и, возможно, людьми) с помощью некоторого языка;
10
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221

реактивность: агенты воспринимают свое окружение (которое
может быть физическим миром, набором других агентов и т.д.) и
отвечают периодически так, чтобы изменить что-то в своем
окружении;

целенаправленность:
агенты
не
просто
отвечают
своему
окружению, они способны на целенаправленное поведение и
проявление инициативы.
Франклин и Грессер [2] предложили следующее обобщенное, но, тем не
менее, более сильное определение агента. Автономный агент – это система,
находящаяся внутри окружения и являющаяся его частью, воспринимающая
это окружение (его сигналы) и воздействующая на него для выполнения
собственной программы действий. Расшифровка этого определения дается
перечнем свойств, которыми должен обладать автономный агент:

реактивность;

автономность;

целенаправленность;

непрерывность функционирования;

способность к коммуникации;

обучаемость (адаптивность);

мобильность;

гибкость;

индивидуальность.
Переходя непосредственно к моделям машинного обучения, в первую
очередь мы рассмотрим один из наиболее распространенных алгоритмов
обучения с подкрепление под названием Q-обучение, которое базируется на
построение функции ценности действий, ставящей в соответствие паре из
состояния
среды
и
возможного
действия
значение
предполагаемой
полезности. Информация для обучения автономного агента предоставляется
11
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
в форме “награды”, которая имеет определенное количественное значение
для каждого состояния среды. Никакой другой дополнительной информации
для обучения агенту не предоставляется. Важным свойством алгоритма Qобучения является возможность его применения даже в тех случаях, когда
агент не имеет предварительных знаний о среде [3]. В конечном итоге такое
обучение позволяет добиться фиксированной оптимальной стратегии
поведения агента.
Задача обучения с подкреплением в общем случае формулируется
следующим образом [4]. Для каждого состояния среды назначается
некоторое скалярное значение, “награда”. Таким образом агент получает
“награду” при осуществлении перехода в конкретное состояние. Целью
агента является нахождение стратегии поведения, которая максимизирует
ожидаемую дисконтированную сумму награды. Функцией ценности ( V )
является прогноз значения этой суммы из любого состояния:
 k

V ( s t )  E    rt  k ,
 k 0

1.1
где rt - награда, полученная при переходе агента из состояния st в состояние
st 1 , а  - дисконт-фактор ( 0    1), смысл которого будет обсужден ниже.
Таким образом, V (st ) представляет оценку дисконтированной суммы награды,
которую получит агент с момента времени t . Данная сумма зависит от
стратегии поведения (называемой политикой), задающей последовательность
выбираемых действий. Агенту требуется найти стратегию поведения, которая
максимизирует V для каждого состояния. Общий процесс жизнедеятельности
агента в виде марковского графа приведен на рис. 1.1 [5].
Алгоритм Q-обучения был предложен Воткинсом в 1989 г [6]. Q-обучение
непосредственно не работает с функцией ценности (1.1), а использует вместо
нее Q-функцию, аргументом которой является не только состояние, но также
и действие. Это позволяет итерационным способом построить Q-функцию и
12
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
тем самым найти оптимальную стратегию поведения. Фактически эта
функция является следующим отображением:
Q:S  A R,
где S - это множество состояний среды, A - множество возможных действий
агента, R - распределение награды по парам состояние-действие.
Суть алгоритма заключается в итерационной
корректировке значений, для


чего берется старое значение и производится поправка на основе новой
информации:


Q ( s t , at )  Q( s t , at )   t ( st , a t )  rt    max Q ( st 1 , a )  Q ( s t , a t ) ,
a
1.2
где Q(st ,at ) - старое значение, Q(st ,at ) - новое значение,  t (st ,at ) коэффициент обучения ( 0    1).




Рис. 1.1. Граф Марковского процесса решений
(Круги соответствуют состояниям, точки – возможным решениям –
разветвляющимся стрелкам)
Коэффициент обучения определяет в какой мере вновь приобритенные
знания корректируют старые. Если этот коэффициент будет равен нулю, то
обучение не будет происходить, а если единице, то это
вынудит агента
рассматривать только недавно полученные знания и он будет вычислять
13
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
действия на основе последнего эпизода обучения в данном состоянии.
Дисконт-фактор в свою очередь определяет важность для агента будующих
наград. В случае равенства фактора нулю агент становится «меркантильным»
и принимает во внимание только текущие награды. Если же значение
фактора приближается к единице, то агент будет стремиться к высокой
награде в долгосрочной перспективе. Стоит отметить, что при достижении
или даже превышении единицы значения дисконт-фактора, значения
Q
будут
расходиться.
Оценки Q-значений хранятся в 2-х мерной таблице, входами которой
являются состояние и действие. Одним из условий сходимости алгоритма в
случае использования табличного представления функции Q-значений
является многократное опробование всех возможных пар состояние-действие
[3]. Так как в практических задачах среда имеет большое количество
сотояний, а агент может выполнять целый спектр действий, то пространство
состояние-действие имеет слишком большую размерность для эффективного
поиска при обучении. Таким образом, модель должна иметь возможность
генерализировать полученные знания, начиная с очень маленьких значений
гипотетического
коэффициента
исследованная
ситуация-действие
/
неизвестная ситуация-действие. Эта проблема возникает при использовании
многих разновидностей обучения с подкреплением и носит название
проблемы масштаба. В случае использования Q-обучения для решения
проблемы масшатба применяют аппроксимацию таблицы Q-значений. Это
операция осуществляется, в том числе, с использованием нейросетевых
методик, которые будут описаны ниже.
В задаче аппроксимации ценности состояния “правильные” обучающие
значения отсутствуют – они являются решением задачи оптимизации,
которую как раз предстоит решить. Это обстоятельство вносит новый,
принципиальный уровень сложности в постановку задачи, а именно,
оптимальное решение задачи, содержащей приближения в оптимизируемом
14
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
функционале на классе выбранных аппроксимаций не обязано существовать.
В том случае если решение приближенной задачи все-таки существует, оно
не обязано приближать собой решение исходной точной задачи.
На практике это приводит к тому, что приходится довольствоваться субоптимальными
стратегиями,
представленными
аппроксимациями.
Эти
стратегии весьма условно рассматриваются, как приближенные решения
задачи оптимальной адаптации (управления).
Метод Q-обучения подходит для моделирования автономных агентов в
условиях среды с иерархией целей, так как он предоставляет эффективный
алгоритм формирования стратегий поведения в зависимости от наград за
достижения различных целей и подцелей. Однако, кроме проблем масштаба
существуют и другая проблема, с которой можно столкнуться при
применении данной методики. Применение Q-обучения подрузамевает, что
некто (в большинстве случаев экспериментатор) задал ценности всех пар
состояние-действие. Хотя подобное допущение весьма возможно на этапе
предварительного обучения, однако, в случае дальнейшего использования
обученного агента в реальной среде, его возможности дообучения весьма
ограничены. Фактически уже изначально знает о всех своих целях, и
изменению эта информация подвергаться не может. Таким образом, в
условиях достаточно интенсивно изменяющейся среды данный алгоритм
неэффективен. Учитывая то, что при изучении и моделировании активности
мозга, наибольший интерес представляют как раз нестационарные среды, в
которых агент на основании накопленных им знаний должен находить
собственные пути решения возникающей проблемы, то становится понятно,
что
Q-обучение
слабо
применимо
к
задаче
моделирования
целенаправленного поведения.
Алгоритм Q-обучения является далеко не первой попыткой построить
эффективную модель обучения с подкреплением. Модель обучения, в
которой обучающийся агент разделен на две части, актора и критика, была
15
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
предложена группой исследователей во главе с Барто в 1983 году [7]. Блоксхема, иллюстрирующая эту модель, представлена на рис.1.2. На схеме
видно, что агент состоит из актора и критика. В данной модели актор
пытается максимизировать не мгновенную награду, а ее эвристическую
оценку, которая вычисляется критиком. Критик использует внешний сигнал
подкрепления, для того чтобы поставить в соответствие состояния с
ожидаемыми дисконтированными наградами с учетом того, какая конкретная
стратегия выбрана на данном этапе актором.
Актор совершает действие согласно изменяемой стратегии  (s) , которая
базируется на совокупности взвешенных связей состояний к действиям,
обычно называемых силой действия. Критик содержит функцию ценности
V (s) ,
которая ассоциирует каждое состояние с оценкой суммарной,
долгосрочной награды, ожидаемой в случае посещения этого состояния.

Важно отметить что и функция ценности, и силы действий актора должны
быть сформированы агентом на основе опыта взаимодействия со средой. В
начале
обучения,
функция
ценности
и
силы
действий
актора
инициализируются, например, равномерно или случайно, и агент помещается
в некоторое первоначальное состояние.
Рис. 1.2. Блок-схема модели актор-критик
16
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Затем актор выбирает действия, следуя правилу которое поддерживает
действия с высокой силой, но в то же время позволяет ему разведывать среду
(1.3). После того, как результирующее состояние было достигнуто и все
награды связанные с ним были получены, критик считает ошибку прогноза
временной разницы  (1.4). Здесь, ценность, которая ассоциирована с
предыдущим состоянием, рассматривается как прогноз вознаграждения
R(s) ,
которое будет получено в последующем состоянии, плюс ценность,
ассоциированная со следующим
состоянием.
Положительная ошибка
прогноза указывает на то, что прогноз был слишком низким, а это означает,
что все оказалось лучше, чем ожидалось. В то же время все может оказаться
хуже, чем ожидалось, тогда ошибка прогноза будет отрицательной.
Ошибка
прогноза
используется
для
корректировки
как
ценности,
соответствующей предыдущему состоянию (1.5), так и силы действия,
выбранного в этом состоянии (1.6). Положительная ошибка прогноза
приводит к увеличению ценности предыдущего состояния и большей
вероятности к выполнения выбранного действия в этом состоянии.
Отрицательная ошибка ведет соответственно к уменьшению ценности
состояния. После соответствующей корректировки агент выбирает новое
действие, новое состояние будет достигнуто, новая ошибка прогноза
вычисляется, и так далее. По мере того, как агент исследует окружающую
среду и эта процедура повторяется, функция ценности критика становится
более точной, и силы действий актора изменяются так, чтобы улучшить
поведение агента с точки зрения получаемой награды. Приведем одну и
стандартных формальных реализаций такой модели актора-критика [7]:
 вероятность выбора действия актором
eW ( st ,a ) / 
P(a) 
,
W ( st , a  ) / 
e
aA
1.3
где  - параметр, влияющий на разброс значений вероятностей;
17
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
 ошибка прогноза
1.4
  rt 1  V ( st 1 )  V ( s t );
 корректировка значений функции ценности и силы действия
1.5
1.6
V (st )  V (st )   C  ,
W ( s t , a )  W ( s t , a )   A ,
где C и  A - параметры обучения, подбираемые вручную.
Приведенная модель имеет существенное сходство с ранее описанным Qобучением. Основное отличие этой модели – двойственная структура агента.
Однако, как и при использовании Q-обучения, в случае модели актор-критик
мы
также
сталкиваемся
с
проблемой
размерности,
что
означает
невозможность эффективной разведки и функционирования в обширных
средах с большим количеством возможных действий. Для решения этой
проблемы
применяются
различные
методы,
например
уменьшение
количества состояний за счет пресечения возможности наличия состояний
аналогичных с точки зрения поведения (абстракция состояний) или
нахождение
оптимального
баланса
между
изучением
среды
и
использованием накопленных знаний. Однако, в данном обзоре мы кратко
рассмотрим методику введения абстрактных действий [7].
Если рассмотреть поведение человека и животных в процессе их
жизнедеятельности, то мы наглядно увидим, что оно имеет иерархический
характер – текущее поведение делится на дискретные задачи, которые
состоят из последовательности подзадач, а они в свою очередь построены из
простых действий. Таким образом, поведение четко структурировано и
может разбиваться на отдельные подзадачи, которые индивид стремится
достичь на пути к какой-то конкретной конечной цели.
Алгоритм иерархического обучения с подкреплением, использующий
абстрактные
действия/опции
(рис.1.3),
разработан
для
повышения
эффективности стандартного подхода в средах со структурированными
18
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
целями.
Идея
заключается
в
том,
что
вместо
выбора
отдельных
«примитивных» действий, агент может выбирать абстрактные действия,
которые являются целой стратегией поведения – совокупностью действий.
После выбора временного абстрактного действия стратегия поведения,
соответствующая ему, продолжает осуществляться пока не будет достигнуто
одно из терминальных состояний, являющихся конечными для этого
абстрактного действия. Таким образом, выбор временного абстрактного
действия приводит, в конечном счете, к выполнению последовательности
«примитивных» действий. Применение абстрактных действий ведет к
решению проблемы размерности в следующем смысле – они привносят
структурированность в исследование среды. Обладая выученными на основе
предыдущего опыта абстрактными действиями, агент быстрее изучает среду,
так как ему не приходится вновь и вновь выбирать в каждом состоянии
«примитивные» действия, ведь временные действия дают агенту готовую
эффективную стратегию поведения. Таким образом, снижается размерности
пространства поиска и значительно облегчается исследование среды агентом.
Кроме этого, абстрактные действия повышают эффективность использования
полученных агентом знаний в процессе «жизнедеятельности».
Рис. 1.3. Иллюстрация понятия абстрактного действия/опции
Однако, для того чтобы все эти преимущества были использованы
агентом, он должен определенным образом приобрести набор полезных
опций (абстрактных действий) заранее. Это является одной из основных
19
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
проблемных сторон данной методики, так как предварительное приобретение
абстрактных действий сильно зависит от экспериментатора. Фактически он, а
не сам агент, должен разделить стратегию поведения, выраженную в
последовательности «примитивных» действий, на некоторые действия более
высокого уровня.
Опции характеризуются набором состояний, в которых они могут быть
выбраны, набором терминальных состояний, а также индивидуальной
стратегией конкретной опции – ассоциации состояний с действиями, которая
может содержать внутри себя другие опции.
Так же как и «примитивное» действие, опция ассоциируется с весом. На
каждом шаге агент может выбрать опцию или примитивное действие.
Ошибка прогноза награды для опции определяется как разница между
ценностью терминального состояния и ценностью состояния, в котором
опция была инициализирована, плюс все награды, которые были получены в
процессе выполнения опции. Так же как и в случае «примитивных» действий,
ошибка прогноза в этом случае используется как для корректировки
ценности инициализирующего состояния, так и для корректировки веса
опции в этом состоянии.
Для
использования
опций
необходимо
внести
ряд
изменений
в
архитектуру актор-критик, которая была представлена ранее, связанных с
тем, что актору теперь необходимо хранить множество возможных опций, а
критику знать в какой момент начинается и заканчивается выполнение
опции. Также критику необходимо следить за количеством суммарной
награды, получаемой при выполнении всех «примитивных действий»,
входящих в стратегию конкретной опции.
Важнейшим вопросом при реализации иерархического обучения с
подкреплением,
эффективного
является
обучения
предварительное
опциям
вводится
обучение
понятие
опциям.
Для
псевдо-награды,
получаемой в случае достижения активной опцией своей подцели. В этом
20
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
случае действия, которые привели к достижению этой подцели, усиливаются.
Основным отличием псевдо-награды является ее вычисление только в
пределах выполнения конкретной опции. Вычисление ошибки прогноза и
корректировка параметров в случае с псевдо-наградами происходит
описанным ранее способом в рамках одной опции. Таким образом, основной
проблемой встающей перед нами является необходимость предварительного
выбора полезных для агента подцелей, с помощью которых он обучится
опциям. Автоматический выбор таких подцелей самим агентом в процессе
обучения остается открытым для дальнейших исследований.
Резюмируя возможности обучения с подкреплением, и в частности
иерархического оубчения с подкреплением, мы можем констатировать, что
оно плохо подходит для моделирования целенаправленного поведения в
нестационарных средах. К проблемам Q-обучения, описанным выше, в
методике с включение абстрактных действий добавляется необходимость
предварительного выбора действий более высокого уровня. Кроме этого, как
отмечают сами авторы [8], данная модель хорошо работает, когда в среде
присутствует одна цель, однако в случае иерархии целей необходима
серьезная доработка алгоритма обучения.
Теперь
мы
переходим
к
рассмотрению
моделей
обучения
с
использованием нейросетевых методик. Множество задач в реальном мире
связаны с обучением с редким подкреплением. Будь то навигации в
лабиринте руин в поисках выживших или принятие тактических решений в
игре, зачастую не существует немедленной обратной связи, необходимой для
оценки текущих решений. Нейроэволюция, заключающаяся в искусственной
эволюции нейронных сетей, используя генетические алгоритмы, показывает
большие перспективы в задачах обучения с подкреплением.
Генетические алгоритмы – это класс вычислительных алгоритмов поиска,
которые построенны по подобию эволюции в живой природе. Цель
генетического алгоритма заключается в поиске такого набора параметров в
21
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
пространстве параметров, который оптимизирует некоторый критерий.
Генетические алгоритмы основаны на принципе естественного отбора, в
рамках которого более приспособленные индивиды выбираются для
репродукции.
Обычно
пространтсов
поиска
представляет
из
себя
пространство параметров ограниченной размерности. Эти параметры носят
название генотипа и могут быть различной природы. Генотип транслируется
в фенотип с помощью специальной процедуры. В дальнейшем этот фенотип
подвергается испытаниям в рамках некоторого задания, для того чтобы
вычислить заданную критерий приспособленности. Фенотипы с более
высокими значениями критерия приспособленности скрещивают свои
геномы, чтобы образовать потомка. Это делается в надежде на то, что
комбинация двух хороших наборов параметров может породить еще более
удачного потомка. Мутации, которые проявляются в процессе репродукции,
представляют из себя случайные отклонения параметров. Они применяются
для того, чтобы процедура стохастического поиска могла исследовать новые
зоны в пространстве параметров.
Нейроэволюция – это комбинация нейронных сетей и генетических
алгоритмов, в которой веса и топология нейронной сети – это фенотип,
который эволюционирует. Большинство исследований в этом направлении
предлагают модель, в которых происходит эволюция весов в нейросети с
фиксированной топологией [9] (фактически это означает фиксированную и
конечную размерность пространства поиска). При таком подходе получение
адаптивного результата в процессе эволюции достигается исключительно за
счет мутации весовых коэффициентов нейросети. Однако, подобный метод
вынуждает экспериментировать на различных популяциях агентов с разными
топологиями, для того чтобы найти эффективное решение поставленной
задачи. К тому же при изменении весов теряются знания, накопленные
агентом, в процессе предыдущего обучения. Данные обстоятельства
существенно
ограничивают
возможности
применения
моделей
22
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
нейроэволюции с фиксированной топологией сети за границами прикладных
задач аппроксимации, например, в более сложных задачах моделирования
адаптивного поведения. Именно поэтому в рамках данного раздела подобные
методы рассматриваться не будут.
Эволюционные алгоритмы, в которых структура искуственной нейронной
сети агента модифицируется от поколения к поколению с параллельной
подстройкой
весов,
являются
одним
из
современных
подходов
к
моделированию адаптивных систем. Так в работе [10] предложен метод
НейроЭволюции Укрупняющейся Топологии (NEAT). В алгоритме NEAT
предлагается наряду с весовыми коэффициентами, подвергнуть эволюции и
топологию сети, что позволяет избежать подбора эффективного количества
скрытых
нейронов
экспериментальным
образом,
то
есть
вручную.
Рассмотрим, более подробно каким образом устроена эволюция в данной
модели.
Рис. 1.4. Соответствие генома фенотипу
Кодирование генома в NEAT осуществляется таким образом, чтобы
упростить нахождение соответствующих генов при скрещивании (более
подробно скрещивание
рассмотрено
ниже).
Геном
–
это линейное
представление связей в нейронной сети (рис. 1.4). Он содержит список генов
связей, каждый из которых в свою очередь состоит из:
23
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
 индексов пресинаптического и постсинаптического нейронов;
 весового коэффициента связи между ними;
 бита^ отвечающего за экспрессию (активность) гена или ее отсутствие,
 номер новшества, который позволяет находить соответствующие гены,
смысл которого будет описан ниже.
Мутации в данной модели, как уже упоминалось ранее, могут изменять как
весовые коэффициенты (значения экспрессии конкретного гена), так и саму
топологию нейронной сети. Весовые коэффициенты мутируют обычным для
эволюционных алгоритмов способом. К каждому из весов нейронной сети с
вероятностью Pm (параметр модели) добавляется случайная величина,
математическое ожидание которой равно нулю, а дисперсия Dm - является
параметром
 модели, задающимся при запуске эволюционного процесса.

Рис. 1.5. Два типа структурной мутации
Структурные мутации могут быть двух различных видов (рис.1.5). Первый
тип мутации добавляет связь между нейронами, которые до этого являлись
несвязанными. Второй тип мутации разбивает существующую между двумя
нейронами связь путем добавления в нее нового нейрона. Старая связь
становится неактивной, а в геном добавляются две новые. Такой метод
24
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
добавления нейронов выбран для того, чтобы сразу же интегрировать новые
нейроны в сеть.
Отметим, что каждая структурная мутация увеличивает размер генома
путем добавления новых генов. Это приведет к тому, что будут возникать
геномы разных размеров, иногда с совершенно разными связями в одной и
той же позиции. Встает необходимость разработать метод скрещивания, при
котором будет учитываться возможное различие скрещиваемых геномов. Эта
проблема решается с помощью введения номера новшества в геном.
Как
отмечают
неиспользуемая
авторы
нами
[10],
в
информация.
самой
Эта
эволюции
информация
есть
скрытая,
содержится
в
историческом происхождении генов всей популяции. Два гена с одинаковым
историческим происхождением будут представлять схожие структуры сети
(возможно с разными весовыми коэффициентами), так как они произошли от
одного родительского гена в какой-то момент эволюции популяции.
Получается, что для того чтобы знать какой ген соответствует какому,
необходимо просто следить за историческим происхождением каждого гена в
популяции. В алгоритме это реализовано с помощью присвоения каждому
гену номера новшества, который увеличивается в случае появления нового
гена в процессе структурных мутаций.
Получается, что алгоритм знает какой ген в точности соответствует
другому. При спаривании подбираются гены с одинаковыми номерами
новшеств, которые называются соответствующими. Гены для которых нет
соответствующих во втором родителе называются либо «отделяющими»,
либо «преимущественными», зависит от того попадают ли или нет их номера
в диапазон номеров генов другого родителя. Такие гены представляют
структуры, которых нет у партнера. При создании потомка (рис. 1.6)
соответствующие гены выбираются случайно от одного из родителей, в то
время как все «отделяющие» и «преимущественные» гены берутся от более
приспособленного к среде родителя. Если же приспособленности к среде у
25
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
обоих родителей равны, то в геном потомка включаются все гены. Такая
схема скрещивания не требует дополнительного трудозатрадного анализа
топологии сети.
Рис. 1.6. Скрещивание двух различных топологий с использованием номеров
новшеств
В методе NEAT изначальная популяция агентов представляет собой
множество одинаковых нейросетевых структур без скрытых нейронов, у
которых все входы соединены непосредственно с выходами. Это позволяет
минимизировать
поиск
оптимальной
топологии
через
постепенное
увеличение размера генома – размера нейросетевой структуры, начиная с
минимальной. Новая структура развивается постепенно, с проявлением
структурных мутаций, и только те структуры выживают, которые будут
признаны полезными или нейтральными для приспособленности агента и
достижения
адавтивного
результата.
Другими
словами,
структурное
26
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
усложнение, которое происходит в ходе эволюции при применении методики
NEAT, всегда оправданно.
В завершении данного обзора методов машинного обучения мы кратко
осветим уже рассмотренное ранее Q-обучение с применением нейросетевых
методик для аппроксимации Q-функции.
Нейросетевые
реализации
Q-обучения
подразумевают
следующие
модификации стандартного алгоритма [11]:
 Q-функция аппроксимируется искусственной нейронной сетью, для
чего используется множество синаптических коэффициентов. Размер
памяти необходимой системе определяется количеством связей в
сети. Он не зависит от количества исследованных пар ситуациядействие;
 действие, предложенное функцией поиска, является результатом
обработки нейронной сетью входной ситуации (а также случайного
компонента);
 функция коррекции – это алгоритм модификации весов нейронной
сети, как например, алгоритм обратного распространения. Сигнал
ошибки на выходных нейронах должен быть определен.
Использование нейронной сети для аппроксимации Q-функции имеет
следующие преимущества [3]:
 эффективное масштабирование для пространства входов большой
размерности;
 обобщение для больших и непрерывных пространств состояний;
 возможность реализации на параллельном аппаратном обеспечении.
При использовании коннекционистского подхода в алгоритме Q-Learning
табличное представление Q-функции заменяется нейронной сетью [12]. На
входы сети подаются состояния, а выходы дают оценки Q-значений. Таким
образом, никаких принципиальных изменений в классическое Q-обучения не
вносится, просто меняется способ хранения оценок Q-значений. В работе
27
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
используется методика работы с нейронной сетью, предложенная Лином,
которая заключается в применении отдельной нейронной сети для каждого
действия (рис. 1.7).
Рис. 1.7. Аппроксимация Q-функции при помощи множества нейронных сетей
На каждой итерации работы алгоритма текущее состояние системы
подается на входы каждой нейронной сети, однако обновление весов
осуществляется с помощью специального метода только для той нейронной
сети, действие которой было выбрано.
Также распространено использование самоорганизующихся карт Кохонена
для хранения Q-значений [11]. На этапе обучения с каждым нейроном
ассоциируется пара состояние-действие, а также ее Q-значение. Таким
образом, число нейронов в карте равно числу хранимых ассоциаций.
В качестве заключения к данному разделу необходимо констатировать, что
практически ни один метод машинного обучения на данный момент не
подходит для моделирования целенаправленного поведения в среде с
иерархией целей. Во многом это обусловлено тем, что большинство
подходов направлены на решение конкретных прикладных задач, при этом в
более широких случаях адаптации к нестационарной среде с иерархией целей
28
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
данные модели оказываются неэффективны. Кроме этого, ни в одной
методике не уделено достаточное внимание вопросу автономного обучения
агента на основе накопленных до этого знаний о среде. Дополнительно надо
отметить, что эволюционный алгоритм NEAT сам по себе мало подходит для
полноценного моделирования поведения. Однако, взяв его за основу в
качестве метода эволюции популяции агентов и разработав дополнительные
компоненты, обеспечивающие обучение, можно сформулировать модель,
которая будет обеспечивать качественное поведение в сложных средах.
1.2. Аналитический обзор современных теорий нейробиологии с
позиции моделирования целенаправленного поведения
Приводится обзор основных нейробиологических теорий таких авторов,
как Джеральд Эдельман, Жан-Пьер Шанже и П.К. Анохин, и их принципов,
представляющих интерес с точки зрения моделирования активностного
целенаправленного поведения. Разбираются механизмы, обеспечивающие
возможность обучения и адаптивного поведения, которые предоставляют
теория функциональных систем П.К. Анохина и системно-эволюционная
теория В.Б. Швыркова.
Создание новой
модели обучения автономных агентов целесообразно
вести с учетом тех знаний о функционировании мозга, которые были
накоплены за последние десятилетия, так как существует возможно они
помогут преодолеть те трудности, с которыми столкнулось направление
машинного обучения в последние годы. С другой стороны, попытка
смоделировать когнитивные функции человека и животных может дать
новые идеи для будущих экспериментов в области нейробиологии и
психофизиологии. В свете этих причин, ниже приводится краткий обзор
основных нейробиологических принципов и современных теорий сознания,
на основе которых предполагается построение собственной модели обучения
в рамках данного дипломного проекта.
29
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
При всем многообразии теорий и подходов, используемых в психологии,
психофизиологии и нейронауках, их можно условно разделить на две
группы. В первой группе в качестве основного методологического принципа,
определяющего
подход
к
исследованию
закономерностей
мозговой
организации поведения и деятельности, рассматривается реактивность, во
второй — активность [13] (рис. 1.8).
В соответствии с парадигмой реактивности за стимулом следует реакция –
поведенческая у индивида, импульсная у нейрона. В последнем случае в
качестве стимула рассматривается импульсация пресинаптического нейрона.
В
соответствии
с
парадигмой
активности
действие
завершается
достижением результата и его оценкой. В схему включается модель
будущего результата: для человека, например, контакт с объектом-целью
[14].
Рис. 1.8. Две парадигмы нейрофизиологии – реактивность и активность
30
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Согласно
реактивностному
подходу,
агент
не
должен
проявлять
активность в отсутствии стимулов. Напротив, при использовании парадигмы
активности мы можем допустить случай, когда агенту не поступило никакого
стимула из внешней среды, однако, согласно ожиданиям агента он должен
был поступить. В этом случае агент будет действовать и обучаться для
устранения рассогласования, чего не может бы быть в случае простейшего
безусловного ответа агента на стимул из внешней среды.
Одной из наиболее разработанных теорий, которую можно отнести к
парадигме активности - теория функциональных систем П.К. Анохина. В
теории функциональных систем
в
качестве
детерминанты поведения
рассматривается не прошлое по отношению к поведению событие - стимул, а
будущее – результат [15]. Функциональная система есть динамически
складывающаяся
широкая
распределенная
система
из
разнородных
фзиологических образований, все части которой содействуют получению
определенного полезного результата [16]. Именно опережающее значение
результата и модель будущего, создаваемая мозгом, позволяет говорить не о
реакции на стимулы из внешней среды, а о полноценном целеполагании.
Архитектура функциональной системы приведена на рис.1.9. На схеме
представлена
последовательность
действий
при
реализации
одной
функциональной системы. Вначале происходит афферентный синтез, который
аккумулирует сигналы из внешней среды, память и мотивацию субъекта. На
основе афферентного синтеза принимается решение, на основе которого
формируется программа действий и акцептор результата действия – прогноз
результативности совершаемого действия. После чего непосредственно
совершается действия и снимаются физические параметры результата. Одной
из самых важных частей данной архитектуры является обратная афферентация
– обратная связь, которая позволяет судить об успешности того или много
действия. Это непосредственно позволяет субъекту обучаться, так как
сравнивая физические параметры полученного результата и предсказанного
31
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
результата, можно оценивать результативность целенаправленного поведения.
Причем небходимо отметить, что на выбор того или иного действия влияет
очень много факторов, совокупность которых обрабатывается в процессе
афферентного синтеза.
Рис. 1.9. Общая архитектура функциональной системы [16]
(ОА – обстановочная афферентация, ПА – пусковая афферентация)
Такие функциональные системы вырабатываются в процессе эволюции и
обучения в течение жизни. Если обобщать, то вся цель эволюции – это
выработка функциональных систем, которые будут давать наилучший
приспособительный эффект. Функциональные системы, вырабатываемые
эволюцией,
развиваются
еще
до
рождения,
когда
нету
прямого
соприкосновения со средой, и обеспечивают первичный репертуар. Именно
этот факт указывает на эволюционную природу этих явлений. Такие процессы
получили общее название – первичный системогенез [17].
32
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Системно-эволюционная теория, разработанная Швырковым В.Б. на основе
теории функциональных систем, отвергала даже понятие «пускового стимула»
и рассматривала поведенческий акт не изолировано, а как компоненту
поведенческого
континуума:
последовательности
поведенческих
актов,
совершаемых индивидом на протяжении его жизни (рис. 1.10) [18].
Следующий акт в континууме реализуется после достижения и оценки
результата предыдущего акта. Такая оценка – необходимая часть процессов
организации следующего акта, которые, таким образом, могут быть
рассмотрены как трансформационные или процессы перехода от одного акта к
другому [19].
Из всего вышесказанного следует, что индивид, и даже отдельный нейрон,
должны обладать способностью вырабатывать образ результата действия и
возможностью
оценивать
результативность
своего
поведения.
При
выполнении этих условий поведение можно с уверенностью называть
целенаправленным.
r
1
r
R
2
Act n
n
r
1
T
r
2
Act n+1
r
R
n +1
r
3
1
T
r
2
r
3
Act n+2
Рис. 1.10. Поведенчески-временной континуум
33
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Однако, процессы системогенеза происходят в мозге не только в развитии
(первичный системогенез), но и в течение жизни субъекта. Системогенез – это
образование новых систем в процессе обучения. В рамках системноселекционной концепции научения - формирование новой системы рассматривается как формирование нового элемента индивидуального опыта в
процессе научения. В основе формирования новых функциональных систем
при научении лежит селекция нейронов из «резерва» (предположительно
низко активных или «молчащих» клеток). Эти нейроны могут быть
обозначены как преспециализированные клетки [20].
Селекция нейронов зависит от их индивидуальных свойств, т.е. от
особенностей их метаболических «потребностей». Отобранные
клетки
становятся специализированными относительно вновь формируемой системы
– системно специализированными. Эта специализация нейронов относительно
вновь формируемых систем постоянна. Таким образом, новая система
оказывается «добавкой» к ранее сформированным, «наслаиваясь» на них. Этот
процесс называется вторичным системогенезом [21].
Следующие положения системно-эволюционной теории:
 о наличии в мозге животных разных видов большого числа
«молчащих» клеток;
 об увеличении количества активных клеток при обучении;
 о том, что вновь сформированные специализации нейронов остаются
постоянными (в эксперименте - в течение всего периода наблюдения:
недели и даже месяцы),
 что при научении происходит скорее вовлечение новых нейронов, чем
переобучение старых,
согласуются с данными, полученными в работах ряда лабораторий [22].
Отдельно хотелось бы отметить, что согласно современным представлениям
психофизиологии и системно-эволюционной теории количество и состав
функциональных
систем
индивида
определяется
как
процессами
34
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
эволюционной
адаптации,
которые
отражаются
в
геноме,
так
и
индивидуальным прижизненным обучением.
Теория
функциональных
систем
успешно
исследуется
путем
имитационного моделирования и на ее основе строятся различные модели
управления адаптивным поведением [23,24].
Однако, кроме теории функциональных систем существует еще две
развитые теории, пытающиеся объяснить возникновение и строение сознания:
теория
селекции
нейрональных
групп
(нейродарвинизм)
Джеральда
Эдельмана и теория глобальных информационных пространств Жана-Пьера
Шанже. Кратко осветим данные теории, а также попытаемся найти различия и
сходства.
Теория селекции нейрональных групп или нейродарвинизм заимствовала
принцип адаптации – естесственный отбор – из теории эволюции [25]. В
нейродарвинизме существуют аналоги таких введенных ранее понятий
современной теории функциональных систем, как первичный и вторичный
репертуар. С точки зрения нейродарвинизма синтез всего поведенческого
репертуара происходит на конкурентной основе.
Множества сигналов, распознаваемых различными нейронными группами
первичного репертуара, частично перекрываются. То есть одна группа
реагирует на несколько сигналов, и на каждый сигнал реагирует несколько
групп. Существование таких функционально эквивалентных, но различных по
свойствам групп называется вырожденностью репертуара и чрезвычайно
важно для дальнейшего развития, так же, как существование разнообразия
признаков важно для дарвиновской эволюции видов. Таким образом, в случае
формирования первичного репертуара в онтогенезе (до рождения) происходит
конкуренция нейрональных групп между собой, при этом многие группы
проигрывая отмирают. За счет селекции остаются те нейрональные группы,
которые обеспечивают первичный репертуар поведения. Критерием отбора
35
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
нейрональных групп
в
онтогенетическом
развитии
является
уровень
активности, то есть отбираются те группы, которые были более активны.
В случае обучения в течение жизни, между группами также идет
конкуренция, однако само-обучение происходит за счет изменения силы
синаптической связи: ее увеличения или уменьшения (вплоть до полного
отмирания).
Итак, между группами первичного репертуара, функционирующими как
единое целое, устанавливаются связи на конкурентной основе. Эти группы
групп составляют вторичный репертуар. Группы групп вступают в следующий
раунд селекции. Устанавливаются ассоциации сигналов разной модальности
(звуковых и зрительных, зрительных и обонятельных и т.д.). Критерием
отбора на этом этапе является пространственно-временная координация
активности нейронов. Такая координация достигается за счет процессов
"повторного ввода". Этот процесс Эдельман определяет как "динамический
рекурсивный обмен сигналами через массивные параллельные аксональные
системы,
которые
реципрокно
связывают
карты
и
ядра
в
мозге".
Представление о повторном вводе является одним из ключевых для теории
отбора групп нейронов.
Фактически,
механизм
формирования
первичного
и
вторичного
поведенческого репертуара отличаются тем, что до завершения созревания
коры обучение связано как с формированием групп нейронов и синапсов, так
и с изменением синаптической проводимости, а после созревания в обучении
преобладает изменение синаптической проводимости. Получается, что отбор
групп нейронов на всех этапах подчиняется принципам дарвиновского отбора,
только происходит он не в последовательных поколениях особей, а в
популяциях
соматических
(нервных)
клеток,
связанных
синапсами.
Нейродарвинизм утверждает, что в результате такого отбора формируется
чрезвычайно гибкая адаптивная система, которая справляется с огромным
числом постоянно возникающих задач. Популяционный подход в концепции
36
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Эдельмана является ключевым моментом. Именно он позволяет объяснить,
каким образом нервная система обеспечивает категоризацию предварительно
неупорядоченного мира, без предположений о том, что мир исходно каким-
Reentry
либо образом размечен, или что мозг содержит гомункулуса.
Рис. 1.11. Механизмы генерации сознания в нейродарвинизме [26]
На рис.1.11 изображена схема генерации сознания или, фактически, схема
принятия решения по Эдельману. Как видно из схемы при генерации какоголибо решения присутствует много общего между теорией функциональных
систем и нейродарвинизмом. В рамках теории Эдельмана на этапе принятия
решения происходит синтез информации, извлеченной из памяти (conceptual
categorization), и мотивации (self), а также внешних сигналов (nonself), что
фактически соответствует этапу афферентного синтеза.
Гипотеза нейродарвинизма на данный момент широко обсуждается
мировым сообществом, а также на ее основе формулируется математические
модели обучения и эволюции в мозге [27].
37
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
В заключение данного обзора мы кратко рассмотрим теорию глобальных
рабочих пространств, которую изначально предложил Бернард Баарс [28]. В
дальнейшем свое развитие данная теория получила в работах Жан-Пьера
Шанже и Станисласа Дехане [29].
В теории Баарса мозг рассматривается как состоящий из множества
различных параллельно работающих процессоров (или модулей), каждый из
которых
способен
решать
некоторую
задачу
над
символическими
репрезентациями, поступающими им на вход. Гибкость модулей заключается
в их способности комбинироваться и образовывать новые процессоры,
которые могут решать новые задачи, а также распадаться на меньшие
составляющие процессоры. Баарс рассматривает мозг как большую группу
распределенных частичных процессоров, высоко специализированных систем,
функционирующих большую часть времени на бессознательном уровне. По
крайней мере, некоторые из этих частичных процессов могут быть
представлены на сознательном уровне, когда они организуются и образуют
глобальные процессы. Глобальные процессы предоставляют сознанию
информацию и образуются в ходе борьбы и кооперации частичных
процессоров.
Глобальное
частичных
образование
процессов.
может
Глобальные
рассматриваться
образования
как
сложная
обладают
сеть
внутренней
связностью; в результате между частичными процессами устанавливаются
множественные ограничения. Когда частичные процессы задействованы в
организации глобального процесса, их ограничивают поведенческие паттерны
в глобальных образованиях. Таким образом, частичные процессы могут
больше не функционировать (то есть не обрабатывать информацию) вне связи
с глобальным сообщением. Частичные процесы являются быстрыми, высоко
специализированными
и
нацеленными
на
обработку
информации
определенного типа. При этом они ограничены типом перерабатываемой
информации и обнаруживают недостаток гибкости и адаптивности после того,
38
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
как объединяются и кооперируются с другими частичными процессами для
совместной деятельности. Глобальные образования имеют преимущества как
в сложности, так и в гибкости, необходимые для эффективной и точной
обработки информации [31].
Рис. 1.12. Схематическое изображение гипотезы нейрональных рабочих пространств
[30]
На рис.1.12 представлена абстрактная схема, иллюстрирующая гипотезу
рабочих пространств. Фактически данная схема иллюстрирует частичные
процессы, которые объединяются в глобальное рабочее пространство. Также
данная схема делит все процессы на пять больших категорий, взаимодействие
которых собственно и рождает сознание : система восприятия (настоящее),
долговременная память (прошлое), оценочная система, система внимания
(фокусировка) и наконец моторная система (будущее).
39
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
1.3. Аналитический обзор синтетической теории эволюции и роли
обучения в ней
Приводится
аналитический
обзор
публикаций
по
современным
представлениям о развитии видов и основных механизмах и закономерностях
эволюции. Обсуждается вопрос взаимовлияния эволюции и обучения.
В середине XX века на основе теории Дарвина сформировалась
синтетическая теория эволюции (сокращённо СТЭ). СТЭ является в настоящее
время
наиболее
разработанной
системой
представлений
о
процессах
видообразования. Основой для эволюции по СТЭ является динамика
генетической
структуры
популяций.
Основным
движущим
фактором
эволюции считается естественный отбор.
Синтетическая теория в её нынешнем виде образовалась в результате
переосмысления ряда положений классического дарвинизма с позиций
генетики
начала
XX
века.
После
переоткрытия
законов
Менделя,
доказательства дискретной природы наследственности и особенно после
создания теоретической популяционной генетики трудами Р. Фишера, Дж. Б.
С. Холдейна-младшего, С. Райта, учение Дарвина приобрело прочный
генетический фундамент.
Элементарным
эволюционным
наследуемые изменения
мутаций
существуют
явлением
согласно
СТЭ
признаются
в популяциях, которые вследствие спонтанных
в
виде
смеси
различных
генотипов.
Мутации
многообразны: генные, хромосомные, геномные и другие. Важны частота
возникновения мутаций, их выраженнность, биологическая значимость новых
признаков и т.д. СТЭ детализировала понимание того, что именно
естественный отбор превращает случайные наследственные изменения в
направленный
процесс
эволюции
по
пути
все
более
эффективного
приспособления организмов к среде. Например, на рис. 1.13 представлена
схема эволюции одной из видов птиц с Гавайских островов. Вероятно, форма
40
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
А была исходной формой, из которой развились все другие формы,
характеризующиеся прежде всего изменениями формы клюва.
Рис. 1.13. Эволюция у Drepanidae с Гавайских островов [32]
Авторы синтетической теории расходились и до сих пор расходятся во
мнениях по ряду фундаментальных проблем и работали в разных областях
биологии, но они были практически единодушны в трактовке следующих
основных положений:
 элементарной единицей эволюции считается локальная популяция;
 материалом
для
эволюции
являются
мутационная
и
рекомбинационная изменчивость;
41
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
 естественный
развития
отбор
адаптаций,
рассматривается
как
видообразования
главная
и
причина
происхождения
надвидовых таксонов;
 дрейф генов и принцип основателя выступают причинами
фиксации нейтральных признаков;
 вид есть система популяций, репродуктивно изолированных от
популяций других видов, и каждый вид экологически обособлен;
 видообразование заключается в возникновении генетических
изолирующих механизмов и осуществляется преимущественно в
условиях географической изоляции.
Таким образом, синтетическую теорию эволюции можно охарактеризовать
как теорию органической эволюции путем естественного отбора признаков,
детерминированных генетически.
Кроме этого необходимо отметить, что так как элементарной единицей
эволюции является популяции, а не одна особь, то принцип естесственного
отбора может быть применим и к целой популяции. Данное обстоятельство
объясняет возможность возникновения кооперативных стратегий в различных
популяциях.
Синтетическая теория эволюции не рассматривает обучение, в качестве
одного из определяющих факторов эволюции. Однако, совеременные данные
и
теоретические
модели
показывают
[34],
что
обучение
оказывает
существенное влияние на эволюционный процесс.
Одним из первых роль обучения в эволюции рассмотрел Джеймс Болдуин
[33]. В рамках его теории потомок будет иметь больший шанс обучиться
достигать адаптивный результат, чем предок. В действительности здесь
имеется в виду то, что некоторое устойчивое поведение вида может влиять на
эволюцию
этого
вида.
Таким
образом,
мы
отчетливо
видим
факт
взаимовлияния эволюции и обучения: не только эволюция в достаточной
степени определяет поведение и обучение, но и адаптивные навыки,
42
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
приобритенные в процессе жизни, влияют на ход эволюции. В рамках теории
функциональных систем данное предположение развил К.В. Анохин (рис.
1.14). На рисунке сплошными линиями обозначены уже присутствующие
связи между элементами функциональной системы (на уровне генотипа), а
пунктиром – отсутствующие, но необходимые для функционирования
системы и достижения адаптивного результата, образующиеся в процессе
обучения.
Рис. 1.14. Переход структурных особенностей в генотип в результате мутаций
Части функциональных систем, которые сформировались в течение жизни,
от
поколения
к
поколению
становятся
все
более
генетически
детерминированными и формируются еще до рождения. С позиции
естесственного отбора данное утверждение легко объясняется тем, что
мутации, которые приводят к образованию таких частей функциональных
систем, ускоряют развитие субъекта в течение жизни, а это в свою очередь
дает ему преимущество за счет ускорения и повышения эффективности
43
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
достижения адаптивного результата. Таким образом, изменения, накопленные
в организме субъекта в процессе его взаимодействия со средой, постепенно
закрепляются в первичном репертуаре.
Это делает невозможным рассмотрение обучения в отрыве от эволюции.
Поэтому в большинстве современных теорий сознания и интеллекта (раздел
1.2) обучение строится на основе первичного репертуара. Формирование
первичного репертуара генетически детерминировано, то есть выработанно
эволюцией. Таким образом, современная модель обучения должна быть
основана на вырабатывающихся в процессе естественного отбора структурных
особенностях мозга и организма в целом.
1.4. Сравнительный анализ современных принципов и методов
математического моделирования активности мозга и обучения
Приводится аналитический обзор современных исследований и проектов в
области крупмномасштабного моделирования активности мозга, созданию
нейроморфных
систем.
Проводится
краткое
сравнение
подходов
и
предпосылок в задачах крупномасштабного моделирования мозга, а также в
исследованиях по созданию алгоритмов адаптивного управления поведением
в среде.
В последние годы область крупномасштабного моделирования мозговой
активности стала активно развиваться и все больше количество математиков и
нейробиологов вовлекается в нее. В данном разделе мы проведем краткий
обзор наиболее известных и удачных проектов в этой области.
Один из первых проектов в данной области получивший широкую огласку и
финансирование – это Blue Brain Project [35], начатый компанией IBM летом
2005 года совместно со Швейцарским федеральным технологическим
институтом в Лозанне.
Целью Blue Brain Project является детальное моделирование отдельных
нейронов и образуемых ими типовых колонок неокортекса мозга –
44
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
неокортикальных колонок. В коре нейроны организованы в элементарные
единицы – неокортикальные колонки, имеющие порядка 0.5 мм в диаметре и 2
мм высотой. Каждая такая колонка содержит около 10 тыс. нейронов со
сложной, но упорядоченной структурой связи между собой и с внешними, по
отношению
к
колонке,
нейрогруппами.
Фактологической
базой
для
моделирования послужили данные о морфологии и динамике активности
нейронов крысы и другие данные о физиологии нейрона, полученные за
прошедшие десятилетия исследований нервных клеток.
В модели нейрона в рамках данного проекта учитываются различия между
типами нейронов, пространственная геометрия нейронов, распределение
ионных каналов по поверхности мембраны клетки и другие параметры
нейронов-прототипов. Разработчкики модели отмечают, что разнобразие
типов нейронов, объединенных в нейрогруппу, весьма важно для реализации
когнитивных функций данной группы, причем каждый тип нейронов
присутствует
в
определенных
слоях
колонки,
а
пространственное
расположение, плотность и объем распределения нейронов различных типов
служат основой упорядоченного распространения активности по сети в целом.
В рамках модели также принимается во внимание, что точная форма и
структура нейрона влияют на его электрические свойства и возможность
соединения с другими нейронами, а электрические свойства нейрона
определяются разнобразием ионных каналов.
Для трехмерного моделирования нейрогрупп в рамках проекта Blue Brain
Project используется компьютер IBM Blue Gene/L (рис.1.15), который
позволяет моделировать распространение электрической активности внутри
неокортикалоной колонки в режиме реального времени.
В конце 2006 года удалось смоделировать одну колонку неокортекса
молодой крысы, состоящую из 10000 биологически правдоподобных моделей
нейронов с приблизительно 3х107 синапсами между ними.
45
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
В конце 2007 года было объявлено о завершении «Фазы I» проекта Blue
Brain. Результатами этой фазы являются:
 новая модель сеточной структуры, которая автоматически, по запросу,
генерирует нейронную сеть по предоставленным биологическим
данным;
 новый процесс симуляции и саморегуляции, который перед каждым
релизом автоматически проводит систематическую проверку и
калибровку модели, для более точного соответствия биологической
природе;
 первая модель колонки неокортекса клеточного уровня, построенная
исключительно по биологическим данным.
По мнению авторов проекта полученные клеточные модели нейронов и
модель
колонки
в
целом
позволяют
непосредственно
соотносить
моделируемые процессы распространения активности с аналогичными
процессами в биологической колонке прототипе.
Рис. 1.15. Схематическая архитектура суперкомпьютера Blue Gene/L
46
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Продолжением проекта Blue Brain новый проект IBM «Cognitive Computing
via Synaptronics and Supercomputing» (C2S2), о начале которого было
объявлено 20 ноября 2008 года [36]. Компания заявила о начале реализации
проекта разработки принципиально новой архитектуры вычислительной
системы,
воспроизводящей
организацию
межнейронных
соединений
(синапсов) и нейронных сетей мозга млекопитающих. В финансировании
проекта
принимает
участие
Агенство
перспективных
оборонных
исследовательских программ США (DARPA) в рамках проекта «System of
Neuromorphic Adaptive Plastic Scalable Electronics» (SyNAPSE). Именно это
обстоятельство объясняет фактическое отсутствие подробностей о ходе
данного проекта в периодических научных изданиях.
В центре всех исследований по проекту C2S2 находится синапс,
обеспечивающий,
благодаря
своей
пластичности,
формирование
индивидуального опыта. Планируется разработка моделей нейросетей с
числом
и
плотностью
распределения
синапсов,
сравнимым
с
соответствующими параметрами у живых организмов. Отмечается, что мозг,
скорее, представляет собой не нейронную, а синаптическую сеть, а мышление
явлется резутатом биохимической организции мозга.
В случае успеха проекта, по мнению его участников, родится принциально
новый
класс
искусственных
когнитивных
систем,
новая
парадигма
вычислительной архитектуры с многочисленными практическими приложения
во всех областях человеческой деятельности.
Один из самых ярких проектов по крупномасшабному моделированию
мозга проводился в The Neuroscience Institute Евгением Ижикевичем и
Джеральдом Эдельманом.
В
2007
году
они
смоделировали
таламокортикальную
систему
млекопитающих на основе данных о человеческом мозге [37]. Данная модель
имитирует работу миллиона спайковых нейронов, которые откалиброваны
47
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
так, чтобы повторять поведение известных типов нейронов наблюдаемых invitro в головном мозге крысы.
Рис. 1.16. Упрощенная диаграмма микросхемы структуры ламинарной коры (вверху)
и ядер таламуса (внизу)
В качестве модели нейрона используется феменологическая модель,
предложенная
Ижикевичем
[38].
В
процессе
моделирования
было
использовано 22 типа нейронных клеток (рис.1.16), которые получаются
путем изменения параметров модели Ижикевича. Для соединения нейронов
было использовано почти полмиллиарда синапсов с соответствующими
рецепторами,
долговременной
кратковременной
синаптической
STDP-пластичностью.
На
пластичностью
рис.1.17.
и
представлена
динамическая визуализация результатов моделирования.
48
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Рис. 1.17. Распростроняющиеся волны в модели Ижикевича.
(Красными точками обозначены спайки возбуждающих нейронов, черными –
ингибиторных)
В завершении данного обзора хотелось бы сказать несколько слов о
целеообразности такого крупномасштабного моделирования и отличия
данных исследований от дипломного проекта. В проектах, представленных
выше, мозг рассматривается как некоторая автономная структура, которая
может существовать отдельно от всего остального организма и, более того,
среды. Таким образом, становится неясным вопрос оценки качества
результатов моделирования – в каком случае мы поймем, что оно удачно?
Перед моделируемым мозгом не ставят никаких задач, не помещаю в какуюлибо среду. Фактически необходимость целенаправленного поведения и
49
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
достижения адаптивного результата не рассматриваются в подобного рода
проектах. Они направлены лишь на детальное воспроизведение физической
структуры, наблюдаемой в головном мозге реальных животных. Скорее всего,
рассмотрение задачи целенаправленного поведения в таких проектах
невозможно, так как с точностью повторяя физическую структуру мозга, мы
все равно не можем определить каким опытом он обладает и какие задачи
способен решать.
1.5. Постановка задачи дипломного проекта
В дипломном проекте поставлены следующие исследовательские задачи:
 Критический
обзор
современных
литературы,
методов
машинного
относящейся
обучения
к
и
применению
эволюционного
моделирования, обзор современнных теорий нейробиологии с позиции
моделирования
целенаправленного
поведения
и
обучения,
синтетической теории эволюции и роли обучения в эволюции, а также
сравнительный
анализ
современных
принципов
и
методов
математического моделирования активности мозга и обучения.
 Разработка формальной модели среды с иерархической структурой
целей и модели автономного агента.
 Разработка
нейро-эволюционного
алгоритма,
основанного
на
дупликации нейрональных структур.
 Разработка формальной модели развития (первичного системогенеза),
как
способа
задания
врожденного
репертуара
функциональных
нейронных сетей агента.
 Разработка формальной модели обучения (вторичного системогенеза) на
основе
эндогенной
оценки
результативности
целенаправленного
поведения с последующим формированием функциональных систем.
 Разработка вспомогательных алгоритмов и методик, таких как:
50
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
o Алгоритм автоматической генерации среды с иерархией целей,
позволяющий задавать разветвленную структуру подцелей;
o Методика детекции рассогласования на нейрональном уровне;
o Методика анализа статистических показателей и
динамики
модели;
o Оптимизация алгоритма для проведения параллельных расчетов
на вычислительном кластере.
 Разработка проекта программного комплекса, позволяющего проводить
вычислительные эксперименты с использованием суперкомпьютерного
кластера, для моделирования поведения и обучения автономных агентов
в среде с иерархией целей. Данный комплекс должен позволять
отслеживать различные показатели динамики модели, например,
средний коэффициент приспособленности агентов к среде, собирать
статистику эволюции, а также предоставлять возможность графической
визуализации
процесса
жизнедеятельности
и
формирования
функциональных систем в процессе научения конкретного агента.
 Написание и отладка программного кода, реализующего разработанный
проект.
 Проведение
компьютерного
моделирования
с
использованием
разработанного программного комплекса, направленного на:
o экспериментальный подбор оптимальных параметров модели,
o оценку
эффективности
разработанной
модели
обучения
автономных агентов,
o исследование
зависимости
динамики
статистических
показателей модели от размерности вектора состояния среды,
сложности среды и вероятностных параметров алгоритма,
o исследование роли обучения в эволюции.
51
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
2. Теоретическое и алгоритмическое обеспечение задачи
обучения целенаправленному поведению
2.1. Формальная модель среды с иерархией целей
Описывается структура разработанной формальной модели среды с
иерархией целей, в которой функционирует популяция автономных агентов.
Приводится определяемый на основе вероятностного подхода коэффициент
заполненности среды.
В
рамках задачи
разработки
модели
обучения
целенаправленному
поведению первым вопросом, который необходимо решить, является выбор
проблемной среды для популяции автономных агентов. В данном дипломном
проекте необходимо было разработать модель среды, которая, с одной
стороны, была бы адекватна с точки зрения реальной среды обитания
организмов, а с другой стороны, была бы математически абстрагирована от
любой конкретной среды. Второе условие необходимо для разработки модели
обучения, которая была бы эффективна в любой среде, и для имитационного
исследования поведения в общем, а не в частных случаях.
Среда, в которой функционирует автономный агент, представляется
бинарным вектором состояния:

E t   e1 t ,, en env t  , ei t   0,1,


2.1
где n env - размерность пространства состояний среды, ei (t ) - i -я компонента
вектора состояния, которая интерпретируется как один из признаков среды, t момент дискретного времени (здесь и далее t T  N  0).
В любой такт времени агент может изменить на противоположный один бит
этого вектора, изменяя состояние среды. Таким образом, реализуется принятое
соглашение, по которому из сходных ситуаций агент мог бы попадать в
близкие по состоянию среды ситуации. Более подробно о разработанном
механизме изменения среды агентом будет рассказано в разделе 2.2., где
приводится формальная модель автономного агента.
52
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Среда имеет множество целевых для агента состояний - A . Каждая цель a j есть упорядоченное множество изменений вектора состояния среды (рис. 2.1)
и представляется в виде короткой аннотации, как упорядоченное множество
двоек:
a j  n1 , qq ,, nk , qk ,
2.2
где ni - номер бита вектора состояния среды ( ni  1,, n env ), qi - требуемое
(целевое) значение бита, в которое его необходимо перевести ( qi  0,1 ), k сложность цели.
Рис. 2.1. Понятие цели и иерархии целей.
Выделенаая подцель записывается как ((y,0),(i,0),(j,1))
Таким образом, в среде присутствуют цели разной сложности, что
соответствует реальному миру, где множественные цепочки действий в
конечном счете приводят нас к достижению адаптивного результата [7]. У
высокоорганизованных животных достижение основной цели «выжить»
опосредовано
большим
числом
иерархически
организованных
промежуточных целей. Этими целями являются отдельные связанные между
собой события, последовательное наступление которых может привести
животное к удовлетворению мотивации [39]. Из всех различных цепочек
53
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
действий складывается целостная иерархия целей.
Важно отметить, что в
процессе достижения цели агент может осуществлять действия в отношении
одних и тех же битов вектора состояния несколько раз, фактически совершая
однотипные действия.
Множество всех целей конкретной среды образует достаточно сложную
древовидную структуру (рис.2.1) в силу того, что различные цели могут
частично пересекаться в различный момент завершенности и являться
подмножеством нескольких других различных целей.
С каждой целью связана соответствующая награда, задаваемая функцией
R (a j ) , которая, как это будет показано в разделе 2.3, не предоставляется
непосредственно агенту, а влияет на его эволюционный успех. После
достижения агентом какой-либо цели, она восстанавливает свою значимость
(полезность) для него через заданное количество тактов. То есть, если агент
повторно достигнет цель через время меньшее заданного количества тактов,
то он получит меньшее количество награды. Конкретное количество награды,
получаемой агентом при достижении подцели a j в текущий момент времени
определяется линейной функцией:
2.3
R(a j )(t  t l ) 


Rcurrent a j , t   min R (a j ),
T
r


где Tr - заданное кол-во тактов восстановления, а t l - время последнего
достижения этой цели агентом (рис. 2.2).
Такая
модель
среды
позволяет
организовать
систему
подцелей,
конкурирующих друг с другом. Это означает, что приближение к одной цели
будет приводить к отдалению от другой, и как следствие позволяет
исследовать ситуацию, в которой агенту приходиться выбирать между
различными целями, строить собственную стратегию поведения в среде.
Пока мы рассматривали случай, когда изменение среды вызывается
непосредственными действиями агента, однако среда может меняться в силу
54
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
некоторых внешних причин, независящих от действий агента. Такая среда
называется нестационарной. В рамках текущего исследования было решено
провести
ряд
экспериментов,
в
которых
агент
функционирует
в
квазистационарной среде. Частота изменений среды должна быть не слишком
высокой, для того чтобы агент успевал «приспосабливаться» к новой
ситуации. Изменчивость среды формально описывается следующим образом:
в каждый такт жизни агента вероятность изменения одного бита вектора
состояния среды составляет pen var . В зависимости от величины данной
вероятности среда может быть как практически стационарной, так и
случайной – независящей от конкретных действий агента.
Рис. 2.2. Восстановление награды после достижения цели
Для проведения экспериментов, позволяющих оценивать эффективность
разработанной модели обучения, необходимо ввести некоторый показатель,
который отражал бы сложность среды. Общее количество целей в среде не
может являться таким показателем, так как в таком случае мы не учитываем
сложность поиска этих целей, а также их собственную структуру. Это
означает, что среды, содержащие номинально одинаковое количество целей,
могут быть совершенно разными по уровню сложности для агентов.
Чтобы измерить сложность среды было решено ввести коэффициент
заполненности среды:
55
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
2.4
k
NT
1  1 i
K f   ki  env  ,

i 1 2  2 n
где
nenv - размерность среды, N T - количество целей в среде, ki - сложность
цели, k i - количество различных бит в цели. А также непосредственно
коэффициент сложности среды:
Kc 
2.5
1
Kf
Чем большее значение принимает коэффициент заполненности, тем сильнее
среда заполнена целями и, соответственно, представляет меньшую сложность
для агента. При составлении коэффцицента заполненности среды был
применен вероятностный подход при условии, что все действия агента в среде
равновероятны. Первый множитель отвечает за вероятность совершения ki
последовательных действий при условии, что действия включения и
выключения бита различны, а второй – за вероятность нахождения битов,
которые значимы для конкретной цели, в изначально правильных значениях,
то есть противоположных тем, в которые они должны быть переведены.
Необходимо отметить, что одни и те же биты могут фигурировать в
достижении цели несколько раз. Это означает, что число битов, которые
значимы для этой цели, может быть меньше, чем число совершаемых агентом
действий. Таким образом, вычисляются вероятностные сложности всех целей,
при
суммировании
которых
мы
получаем
составной
коэффициент
заполненности среды и сложность среды.
2.2. Формальная модель нейросетевой структуры агента
Приводится формализованное в рамках теории множеств и расширенной
теории графов описание нейросетевой структуры, управляющей поведением
автономного
агента.
Вводятся
основные
понятия,
связанные
с
56
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
функционированием агента в среде. Обсуждаются нейробиологические
аналогии механизмов, заложенных в работу нейросетевой структуры.
В рамках данного дипломного проекта в качестве механизма, управляющего
поведением автономного агента было решено выбрать модифицированную
монолитную многослойную нейронную сеть с рекуррентными связями,
формальная модель которой будет описана ниже. Такой выбор архитектуры
агента продиктован желанием исследовать формирование функциональных
систем и самоорганизацию нейрональных групп в процессе эволюции и
обучения
на
основе
современных
данных,
полученных
в
ходе
исследовательских работ ученых-нейробиологов. Подобное исследование
было бы невозможно при формировании блочной нейросетевой структуры, в
которой изначально задаются роли структур в нее входящих.
Нейронная сеть со структурой предикторных связей есть тройка:
N P  N P V , S , P  ,
2.6
V  v i , i  1, n neuron ,
S  sk ,l , sk ,l  vk , vl , S  V  V .
Соответственно,
V
- это множество нейронов сети ( cardV   nneuron - кол-во
нейронов в сети),
S
- множество (бинарное отношение) синапсов (связей)
сети.
P - есть множество
(бинарное отношение) предикторных связей
нейросети:
P  pk ,l , pk ,l  vk , vl ,
P  S.
Подробнее о роли предикторных связей будет рассказано в разделе 2.5,
когда
будет
приведена
формальная
модель
обучения
(вторичного
системогенеза).
Фактически нейронная сеть является ориентированным графом с еще одним
дополнительным множеством.
57
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Во множестве
V
выделяются две группы специфических вершин –
сенсорные нейроны и выходные нейроны (S-элементы и R-элементы [40]),
причем количество входных (сенсорных) нейронов равно nenv, то есть
размерности пространства состояний среды, а количество выходных нейронов
1
равно nout : n out  mink , k : k  N  n env  log 2 C km , где m - это количество
2
нейронов, которые кодируют изменение одного бита среды (далее будем
считать, что в данной модели m =2). В дальнейшем будет показано, что для
изменение
бита
вектора
состояния
среды
выделяется
определенное
подмножество выходных нейронов, причем для включения и выключения
бита эти комбинации различны. Все остальные нейроны будем называть
внутренними (A-элементы [40]).
На множестве
V
введем функцию-отображение cvi  - тип нейрона
(сенсорный - 0, внутренний - 1, выходной - 2):
c : V  C , C  0,1,2.
Данная функция однозначно отображает множество нейронов
множество
C,
V
на
т.е. каждому нейрону соответствует только один тип.
Будем считать, что входные нейроны не имеют связей от других нейронов, а
служат только для «восприятия» среды. Таким образом, на бинарное
отношение
S
в этом случае накладывает ограничение:
для vk V и vl V : cvl   0  vk , vl   S.
Переформулируем тоже самое условие, используя понятие входной
мощности вершины графа: для vi V : c vi   0  in deg(vi )  0.
Далее
без

ограничения

для i : i  1,, nenv  cvi   0
и
общности
будем

для j : j  n env  1,, n env  1  nout
Из ограничений наложенных на множество нейронов
выходных
нейронов)
считать,
вытекает
V
что
  cv   2 .
j
(кол-во входных и
следствие,
что
58
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
для k  N : n env  1  n out  k  n neuron  cvk   1 , т.е. все остальные нейроны будут
внутренними.
На множестве
S
- введем следующие функции-отображения:
Функция wsk ,l  - вес синапса сети:

w : S  L, L   1;1,
где L - есть множество вещественных чисел на интервале от -1 до 1.
Функция ex s k ,l - признак активности (экспрессия гена) синапса:

ex : S  B, B  0,1,
где B - есть бинарное множество состоящее из двух элементов – нуля
и единицы.
Активна связь или нет определяется в результате эволюции (см. раздел 2.3).
Активность связи определяет возможность передачи сигнала по данной связи.
Введем понятие множества активных связей S A :


S A  sk ,l | sk ,l  S  exsk ,l   1 , S A  S .
Введем понятия множеств выходных ( Siout ) и входных ( S iin ) связей i -го
нейрона:

 s

,
S iout  si ,l | si ,l  S A ,
S iin
l ,i
| sl ,i  S A
S iout  S A , S iin  S A .
В общем случае для
i
не обязано выполняться S iin  S iout  {} (такое
возможно только если S A обладает свойством иррефлексивности).
Также
введем
понятия
множеств
пресинаптических
( Vi pre )
и
постсинаптических ( Vi post ) нейронов для i -го нейрона:

 v

,
Vi post  vk | si ,k  S A ,
Vi pre
k
| sk ,i  S A
59
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Vi post  V , Vi pre  V .
В общем случае для
возможно
только
если
i
SA
не обязано выполняться Vi post  Vi pre  {} (такое
обладает
свойством
асимметричности
и
иррефлексивности).
Введем функцию ovi , t  - выход i -го нейрона в момент дискретного времени
t:
o :V  T  R
ei (t ) , если сvi   0 ,
ovi , t   
 f hvi , t , иначе.
2.7
Входные нейроны являются S-элементами и предназначены для передачи
сенсорной информации в нейросеть. Именно поэтому они не являются
сумматорами приходящего потенциала и их выход всегда равен значению
соответствующего бита вектора состояния.
Фукнция
f x называется активационной характеристикой и является
логистической функцией от x (рис.2.3):
f x  
1
1  e 2 x
Рис.2.3. Логистическая функция
60
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
hvi , t 
Функция-отображение
-
потенциал
i -го
нейрона
в
момент
дискретного времени t . В случае одновременного режима работы нейросети
потенциал определяется, как
 ws   ov , t ,
h (vi , t )  h cum vi , t  
k ,i
vk Vi
pre
k ,i
vk Vi
pre
если с vi   0,
2.8
,l  vk  l  vi 
 ws  ov
h cum vi , t  
k
k
2.8
, t  1, если с vi   0 .
,l  v k  l vi 
В случае использования синхронного режима работы нейросети:
h (vi , t ) 
 ws  ov
k ,i
v k Vi
k
, t  1, если с vi   0 .
2.9
pre
Функция-отображение l vi  - слой нейрона сети:
l : V  N.
Понятие слоя для нейрона было введено для того, чтобы избежать проблем
с устойчивостью нейросети и обрести возможность однозначного определения
выхода нейрона в конкретный момент времени. Следствием введения этого
понятия был перенос потенциала, полученного по обратным связям, на
следующий такт времени (по аналогии с нейросетью Джордана с единичной
задержкой [41] и нейросетью Элмана с контекстными нейронами [42]). Более
подробно про данное техническое решение будет рассказно в разделе 3.4.2.
Будем считать, что
o(vi ,0)  0 , i  1, n neuron .
Таким образом, мы формализовали первичное понятие нейронной сети,
которая управляет поведением агента. Данная нейронная сеть построена на
формальных
нейроннах-сумматорах
с
сигмоидальной
активационной
характеристикой. В общем случае на структуру нейронной сети не
накладывается никаких ограничений, кроме описанных выше, что означает
возможность присутствия обратных связей, а также рефелективных связей.
61
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Теперь мы можем ввести закон изменения состояния среды агентом. В
разделе 2.1. было сказано, что в любой такт времени агент может изменить на
противоположный один бит вектора состояния. В текущем разделе выше было
дано описание принципа определения бита, который агент хочет изменить в
определенный такт времени, который заключается в том, что выходные
нейроны с максимальными значениями выходов кодируют изменение какоголибо бита вектора состояния (рис. 2.4). То есть в зависимости от того, на
какой комбинации выходных нейронов в данный такт времени наблюдаются
максимальные выходы, выбирается бит вектора состояния, который будет
изменен. Включение и выключение одного и того же бита кодируется
различными комбинациями выходных нейронов.
+
1
2
+
-
3
4
Рис. 2.4. Кодирование бита вектора состояния выходными нейронами
(плюсами обозначены комбинации включающие бит, минусами – выключающие)
Каждой паре нейронов сопоставим признак среды, на который они
оказывают воздействие. Для этого введем на квадрате M : i  1, n out и j  1, n out ,
i j
функцию F (i, j) :


F : M  E , E   n env ,  ,1,1,  , n env .
62
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Функция F (i, j) должна обладать следующими свойствами:
 для i  1,, n out  и j  1,, n out : i  j  F (i, j)  F ( j, i) ,
 для k  E i  1,  , n out  и  j  1,  , n out : F (i , j )  k .
Эти свойства необходимы для того, чтобы не учитывать порядок нейронов в
максимальной
группе
и
чтобы
каждому
биту
вектора
состояния
соответствовала ходя бы одна комбинация выходных нейронов.
Найдем два максимальных выхода среди выходных нейронов сети (будем
учитывать, что в данной модели изменение одного бита вектора состояния
кодируют два нейрона):
v1max (t )  arg max o vi , t  ,
vi V , c  vi  2
v2max (t ) 
arg max
vi V , c  vi 2 , vi  v1max
ovi , t  .
Таким образом, мы имеем два значения - номера двух нейронов с
максимальным выходом:
i1max t  : vi max t   v1max t ,
1
i2max t  : vi max t   v2max t .
2
Тогда для i  1, , n env :


1, если i  F i1max t , i2max t  ,

ei t  1  0, если i   F i1max t , i2max t  ,

ei (t ), иначе.

Вопрос
реализации
подобной
функции,

которая
поставила
бы
в
соответствие каждой паре нейронов изменение бита вектора состояния среды
может решаться по-разному и в данном разделе мы останавливаться на данной
техническом решении не будем.
63
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Необходимо отдельно отметить, что в случае, если агент пытается
перевести бит в положение, в котором тот уже находится, это означает, что в
данный такт времени агент бездействует.
Для дальнейшего описания формальной модели эволюции необходимо
ввести ряд дополнительных понятий, которые непосредственно относятся к
структуре нейросети агента и с помощью которых будет сформулированы
модели эволюции, первичного и вторичного системогенезов.
Будем считать, что все множество V нейронов сети разбивается на пулы
нейронов со сходной структурой связей внутри одного пула (подробно вопрос
формирования структуры связей конкретной нейросети будет обсуждаться в
разделе 2.4) :
n pool
V 
V,


1
 
V   v i , i  1, nnpool ,
 :     V   V    ,
где V  -  -пул нейронов, vi - i -ый нейрон из  -пула, n pool - количество пулов
n pool
npool

в сети, n
- объем  -пула нейронов (  nnpool  n neuron, в общем случае kl :
 1
n knpool  nlnpool ).
Без ограничения общности, для удобства записи введем соответствия
номеров нейронов, записанных с помощью двух различных обозначений:
 1

i
ki : vk  v  k  i   nnpool ,
 1
 при этом для k  1, n neuron !  1, n pool !i  1, n npool : v  v .


k
i 


В дальнейшем общая запись ( vk ) будет использоваться в случаях, когда
принадлежность данного нейрона
какому-либо конкретному пулу не
64
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
принципиальна в текущий момент времени, а также если такая запись более
удобна и наглядна.
Также для i  1,, nnpool   cvi   c  , то есть все нейроны одного пула
имеют один и тот же тип. Далее будем считать, что для  : c  0,2  nnpool  1
(или    1, n env  n out  nnpool  1 ) , то есть пулы, которые являются входными и
выходными, содержат единственный нейрон.
Введем понятие множества (бинарного отношения) связанности пулов:
SP  sp , , sp ,    ,   ,



SP  1, , n pool  1,  , n pool .
Фактически это множество показывает какие пулы нейронной сети
«связаны» друг с другом и определяет каноническое множество входных
связей для каждого нейрона пула: SPin   ,  |  ,    SP . В дальнейшем будет
показано, как на основе этого множества связанности в разделе 2.4 будет
определена структура синапсов конкретной нейросети.
Рис. 2.5. Понятие пулов нейронов и связанности пулов
65
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Сопоставим каждому элементу множества связанности пулов
sp , 
величины, которые определяют силу связанности между двумя пулами
нейронов, m , - матожидание силы связи и   , - дисперсию.
На рис. 2.5 проиллюстрированны понятия пулов и множества связанности
пулов.
Аналогичным образом вводится множество предикторной связанности
пулов:
PSP  psp , , psp ,   ,   ,
PSP  SP.
Также введем понятие канонического множества предикторных связей
нейрона пула: PSP   ,  |  ,    PSP.
В следующем разделе будет дана модель эволюции, которая реализует
изменения структуры нейрональных пулов, а не связей между отдельными
нейронами.
2.3. Формальная модель эволюции популяции агентов
Описывается разработанный алгоритм эволюции структуры нейросети в
популяции автономных агентов, основанный на дупликации пулов нейронов.
Приводится
определяющая
репродуктивный
успех
агента
функция
приспособленности, которая учитывает штрафной коэффициент за размер
нейросетевой структуры.
Эволюция популяции агентов важна, так как именно под воздействием
мутаций и отбора вырабатывается структура пулов нейронной сети,
управляющей поведением агентов, и фиксируется генотип. В эволюции
отбирается
необходимый
первичный
репертуар
поведения
животного,
который позволит ему функционировать в среде сразу после рождения. Кроме
этого в процессе эволюции вырабатываются механизмы, позволяющие
66
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
животному эффективно обучаться в течении всей жизни и выживать,
достигать необходимого результата.
В первую очередь необходимо понять, что основной механизмы эволюции –
это естественный отбор, который позволяет сохранять наиболее важные для
достижения адаптивного результата мутации и который структурирует
стохастический поиск оптимальной архитектуры нейронной сети. Достигается
это за счет отбора особей, которые наилучшим образом функционируют в
среде. Таким образом, для реализации эволюции в модели необходимо
сформулировать принцип, по которому мы сможем определить какие из
агентов успешнее выживают в среде, то есть ввести некоторую функцию
приспособленности.
Агент функционирует в среде (независимо от остальных агентов)
ограниченное количество времени (дискретных тактов), за это время он может
достигнуть существующие в среде цели, о которых в начале эволюции ничего
не известно. То есть знания о наличии и важности тех или иных целей
вырабатываются у агентов в процессе эволюции. На репродуктивный успех
агента влияет количество и сложность достигнутых целей, то есть
накопленная награда:
Tl
SRi (l )   Rti (l ),
2.10
t 1
где Rti (l ) - награда, полученная i -м агентом популяции l на такте времени t .
Кроме этого, более сложно устроенным животным требуется больше пищи,
чтобы поддерживать свою жизнедеятельность. Это означает, что на
репродуктивный успех в эволюции влияет также и объем того усложнения,
которое было необходимо для достижения адаптивного результата. Проводя
параллели, в рамках дальнейшего развития эволюционного алгоритма было
решено ввести штрафную функцию за размер агента, которая не позволяла бы
усложняться агентам без достижения новых целей и накопления большего
67
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
количества награды. В данной модели такая функция должна зависеть от
количества нейронов и количества активных связей агента:
2.11
R p  F (n neuron, n sin ).
В рамках текущего исследования было решено выбрать параболическую
функцию, которая зависит только от количества активных связей агента
(рис.2.6):
0, если n sin  Th sin ,
Rp  
2
 n sin  Th sin , иначе.

2.12

Рис.2.6. Параболическая штрафная функция за размер агента
Такая параболическая функция позволит на первых этапах развития
популяции усложняться агентам, так как скорость увеличения штрафной
функции невелика, однако в дальнейшем увеличение структуры будет
невозможно без сильного увеличения накопленной награды. В данную
функцию
введен
некий
Thsin ,
порог
который
устанавливается
экспериментально, до которого штрафная функция не начисляется. Кроме
этого введен дисконтирующий фактор  . Меняя дисконт-фактор можно
экспериментально добиваться нужной кривизны параболической функци
штрафа. Это сделано чтобы еще больше облегчить первичное развитие
агентов
в
процессе
эволюции
и
ускорить
начальное
накопление
«эволюционных знаний» о среде.
68
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
После окончания тестирования в среде всех агентов в популяции,
запускается процедура формирования новой популяции, количество агентов в
которой всегда постоянно и является параметром модели.
Итоговая вероятность попадания потомка конкретного агента в каждое из
мест новой популяции с учетом штрафной функции составляет:
SR i (l )  R p i (l )
R
Pi (l  1) 
Np
 ( SR
j
,
2.13
(l )  R p i (l ))
j 1
где l - такт эволюции, N - количетсво агентов в популяции.
То есть количество потомков у агента определяется исключительно
успешностью жизнедеятельности агента – чем больше целей достиг агент и
больше награды получил – тем больший процент следующей популяции будут
составлять его потомки
В рамках современного направления машинного обучения существует
множество
различных
эволюционных
алгоритмов,
однако
в
данном
исследовании необходимо было использовать такой, который отвечал бы
особенностям
структуры
агента
и
наиболее
точно
соответствует
нейробиологическим данным.
В качестве отправной точки для создания модели эволюции был взят за
основу алгоритм NEAT [10], подробно освещенный в разделе 1.1. В данном
алгоритме есть возможности двух типов мутаций – добаление новой связи и
вставка нейрона в уже существующую связь, а также мутации значений весов
уже существующих синапсов. В качестве дополнения к описанному алгоритму
в экспериментальном исследовании, проводимом в рамках данной дипломной
работы, было решено добавить возможности случайной дезактивации или
активации связей. За этот признак отвечает функция-признак активности на
поле синапсов. Вероятность дезактивации каждой из активированных связей
потомка в процессе формирования новой популяции равна pdis , а активации
69
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
дезактивированной -
pen . Включение и выключение связей позволяют
избежать возможного накопления ненужных связей, которые никак не будут
помогать агенту достигать адаптивного результата. Кроме этого уменьшение
количества связей снижает размерность пространства поиска, что, как
показывает практика, увеличивает его эффективность.
Однако, с точки зрения современных представлений об эволюции мозга,
алгоритм NEAT является искусственным и не основан на биологических
данных. К тому же разработанные модели первичного и вторичного
системогенеза нуждались в другом эволюционном алгоритме, который
отвечал бы структурным особенностям этих алгоритмов. Поэтому было
решено заменить мутацию типа «вставка нейрона» на «дупликацию». Также в
отличие от NEAT модифицированный эволюционный алгоритм оперирует
понятиями пулов нейронов и множеств связанности пулов, а не конкретными
нейронами и синапсами.
При образовании потомка агента вероятность дупликации каждого пула
родителя (за исключением входных и выходных слоев, которые не могут
дуплицировать):
pdup vi  
st
pdup


Fdup n pool , cardSP
.
2.14
В подсчет данной вероятности введен специальный множитель Fdup (n pool , n sin ) .
Это неубывающая положительная функция, которая зависит от числа
нейронов и количества связей в множестве связанности пулов. Этот
множитель введен для того, чтобы вероятность дупликации каждого
нейронального пула уменьшалась с ростом структуры нейросети агента в
эволюции.
Схематическое изображение мутации типа «дупликация пула» приведено на
рис. 2.7.
70
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Дупликация
пула
Рис. 2.7. Схема процесса дупликации пула
Из схемы наглядно видно, что в процессе мутации от пула-«родителя» 
отделяется пул-«потомок»  , который сохраняет каноническое множество
входных связей пула-«родителя» с теми же параметрами. Выходные связи
между
пулами
также
сохраняются,
однако
соответствующие
им
математические ожидания распределяются поровну между «родителем» и
«потомком». При этом дисперсии остаются неизменными. Таким образом,
получается, что мы дублируем уже существующую структуру в сети (участок
генома), однако в дальнейшем в процессе эволюции и обучения эта структура
может специализироваться и функционировать совершенно иначе, нежели
пул-«родитель». Кроме этого, так как образовался новый пул, необходимо
задать объем этого пула и уменьшить объем пула-«родителя»:
nnpool  nnpool , nnpool  nnpool ,
71
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
  0;1.
Также необходимо определить каким образом в эволюции происходит
появление
связей-предикторов.
Решено
было
использовать
уже
существующий механизм добавления связей и для связей предикторов. Таким
образом, вероятность образования связи-предктора между пулами, между
которыми уже есть обычная связью, в каком-либо поколении равна pmut pred .
Закрепление в популяции связей-предикторов в долгосрочной перспективе
происходит за счет эволюционного отбора тех из них, которые приводят к
более качественному обучению (об этом будет рассказано в разд. 2.5) в
течение жизни и значит позвляют достичь адаптивного результата в условиях
изменяющейся внешней среды.
2.4. Формальная модель первичного системогенеза
Приводится
формализованное
описание
модели
первичного
системогенеза, позволяющего синтезировать начальную структуру нейросети
путем случайной эндогенной активации нейронов в сети с заданными
параметрами и определения степени связанности различных сегментов.
Сформированная в первичном системогенезе начальная структура нейросети
будет позволять реализовывать врожденный репертуар поведений агента.
Процесс синтеза и отбора популяций нейронов, которые составят
первичный репертуар функциональных систем агента, называется первичным
системогенезом [17]. Первичный репертуар определяет поведение агента
сразу после его рождения.
Введем понятие случайного вещественного числа -  r , которое каждый раз
является различным и подчиняется некоторому закону распределения X с
параметрами распределения n1 ,, nN :  r ~ X (n1 , , n N ) (в каждом конкретном
~
случае указывается отдельно), и понятие случайного подмножества - X r  X ,
~
т.е. случайной выборки элементов из надмножества, где X - произвольное
72
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
множество.
При
этом
мощность
данного
случайного
подмножества
неограничена, то есть тоже является случайной, если это отдельно не
оговаривается.
При определении пулов нейронов было введено требование о схожести
структуры связей у нейронов, принадлежащих к одному и тому же пулу. Для
синтеза конкретной нейросетевой структуры, управляющей поведением
агента воспользуемся каноническим множеством связей SPin и каноническим
множеством предикторных связей PSP для каждого нейрона vk  V  .
Определим особенности множества синапсов S нейросети. Будем считать,
что
множество
связей
каждого
нейрона
задается,
как
случайное
подмножество канонического множества связей его пула и фактически
определяется через множество связанности пулов:


V  vk  V   S kin  vl , vk  | vl  V r     ,   SP r ,
1
SP r  SPin , V r    V  , card V r    card V  .
8


 
Определим функцию веса связи на подмножество связей для каждого
нейрона всех пулов:
wsl ,k    r ,  r ~ N m , ,  ,  ,
для sl ,k  S , v k  V  , v l  V  .
in
Таким образом, мы определили множество входных связей S k для каждого
нейрона и задали веса этих связей, что означает однозначное задание и
out
множества выходных связей S k для каждого нейрона.
Схожим образом определим структуру предикторыных связей нейросети:


V  vk  V   Pk  vl , vk  | vl  V r     ,    PSP r ,
1
PSP r  PSP , V r    V  , card V r    card V  .
8


 
73
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Несмотря на то, что у предикторной связи есть начальный и конечный
нейрон, мы вводим только одно множество Pk , потому что предикторная
связь является предикторной только для конечного нейрона.
После того, как в процессе развития получены пулы связанных нейронов,
заданные в геноме агента, часть нейронов и синапсов будет активирована, а
некоторая (большая) часть нейронов после завершения процесса первичного
системогенеза будет молчащими.
Введем на множестве нейронов V функцию-признак активности нейрона
actvk  :
act : V  B , B  0,1,
1, если нейрон активный,
act v k   
0, если нейрон молчащий.
Молчащий нейрон – это такой нейрон в нейронной сети агента, выход
которого для любого значения потенциала на этом нейроне равен нулю, т.е.
hvk , t   ovk , t   0 для
t  t en ,
где
t en -
некоторое
время
возможного
«включения» молчащего нейрона в процессе вторичного системогенеза(об
этом будет идти речь в разделе 2.5). То есть молчащий нейрон до некоторого
момента времени не передает сигналов. Переопределим, в таком случае
функцию выхода нейрона, которая была приведена в разделе 2.2:
ei (t ) , если сvi   0 ,

ovi , t   0, если actvi   0,

 f hvi , t , иначе.
2.15
В связи с использование формальных нейронов МакКаллока-Питтса с
сигмоидальной активационной характеристикой (логистической функцией)
встает вопрос о формальном определении критерия нахождения нейрона в
возбужденном состоянии, так как в данной модели выход нейрона
практически всегда будет ненулевым и принадлежать диапозону (0;1) .
74
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Введем понятие возбужденного состояния нейрона (рис. 2.8). Нейрон vi
считается возбужденным в момент времени t , если
o vi , t   Th ,
где Th - есть некоторый порог активации. Эта функция называется функцией
Хэвисайда. В противном случае нейрон считается невозбужденным.
Возбужденное
состояние
Невозбужденное
состояние
Рис. 2.8. Определение возбужденного состояния нейрона
В процессе первичного системогенеза определяются наиболее «связанные»
области нейронной сети, которые сформируют первичный репертуар
функций агента. Допустим, что первичный системогенез происходит в
течение некоторого времени
T sys .
В течение этого времени (до «рождения»
агента) некоторые нейроны проявляют спонтанную эндогенную активность.
Именно с помощью этой активности закрепляются синапсы между наиболее
«связанными» областями.
Допустим, что в каждый момент времени первичного системогенеза
эндогеннную активность проявляют psys  0,1 нейронов, то есть:
для t  T
sys
 
v k  V r : V r  V  card V r  p sys card V  
o vk , t    r , где  r ~ R (Th ,1) .
75
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Нейроны, проявляющие эндогенную активность, возбуждают связанные с
ними нейроны, что позволяет определенить наиболее
«связнанные»
популяции нейронов. После прохождения процесса системогенеза для
каждого нейрона v k  V определим сумарное значение потенциала, которое
он получил по своим синапсам:
2.16
T sys
sys
k
h
  hv k , t .
t 1
В качестве критерия выбрано суммарное значение потенциала, а не
значение на выходе, чтобы исключить из критерия добавку спонтанной
активности самого нейрона.
Пускай в результате первичного системогенеза должны стать активными
p start всех нейронов сети, причем не принципиально к каким конкретно пулам
принадлежат эти нейроны. Стоит отметить, что при выборе нейронов мы не
будем учитывать входные и выходные нейроны, так как они априори
включаются в изначальную нейросеть агента.
Таким образом, для выбора наиболее «связных» областей нейросетевой
структуры необходимо выделить множество наиболее активных нейронов, то
есть:
v1max  arg max hksys , v 2max 
vk :c  vk 1
arg max
vk :c vk 1 vk  v1max
hksys ,

v max

p start n neuron 
hksys ,
arg max


v k :c v k 1v k  v1max ,,v maxstart neuron  
p

n

1


 



V sys  max  v1max ,  , v max
.
p start n neuron 
Мы определили множество активных нейронов агента после его рождения:
v k  V max  act v k   1,
v k  V max  act v k   0.
76
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Теперь необходимо отобрать множество связей для этих активных
нейронов. Предположим, что закрепляются только те синапсы, которые в
процессе системогенеза были максимально вовлечены в передачу сигналов –
сумарное возбуждение, проведенное по этим синапсам, должно быть выше
некоторого порога Th sys sin . Аналогично сопоставим сумарный проходящий
потенциал каждому синапсу в сети:
2.17
T sys
sys
l ,k
Sh
  ovl , t wsl ,k .
t 1
Теперь определим множество связей, которые будут закреплены:


sys  sin
S syssin  sl ,k | vl  v max  v k  v max  Shlsys
,
, k  Th
и скорректируем множество синапсов нейросети, используя множество S syssin :


S  S / sl ,k | vl  V max  vk  V max  sl ,k  S syssin .
Аналогично отберем множество предикторных связей. Для каждой
предикторной связи введем показатель, который отражал бы насколько точно
предикторная связь предсказывает активацию конечного нейрона:
T sys
 ov , t  1  Th   o v , t   Th   o v , t  1  Th   ov , t   Th 
l
Ph
sys
l ,k

k
l
k
t 2
.
T sys  1
2.18
Показатель Phlsys
,k меняется в пределах от 0 до 1 . Для определения связейпредикторов, которые необходимо отобрать для включения в нейросеть
после первичного системогенеза вводится порог Th sys  pred . После этого
оперделим множество предикторных связей:


sys pred
P sys pred  pl ,k | vl  v max  v k  v max  Phlsys
,
,k  Th
и скорректируем множество связей-предикторов нейросети, используя
множество P sys  pred :


P  P / pl ,k | vl  V max  vk  V max  pl ,k  P sys pred .
77
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
sys  pred
Порог Th
в данной модели был выбран равным 0.5 , что означает отбор
тех связей, которые больше чем в половине раз предсказали активации
нейрона правильно. С помощью изменения данного порога можно
регулировать степень статистической значимости предсказаний тех связей,
которые мы отбираем в процессе первичного системогенеза.
Необходимо отдельно отметить,
что отбору на
этапе
первичного
системогенеза подвергаются только те связи, в которых и пресинаптический,
и посинаптический нейрон входят во множество активирующихся нейронов.
Связи, в которых участвуют молчащие нейроны, будут подвергаться отбору в
процессе вторичного системогенеза. Кроме этого связи между активными
нейронами и входными/выходными нейронами также не подвергаются
изменениям на этапе первичного системогенеза.
2.5. Формальная модель обучения на основе эндогенной оценки
результативности целенаправленного поведения
Приводится формальная модель вторичного системогенеза, описанная в
рамках теории множеств и расширенной теории графов, основанная на
эндогенной оценке результативности целенаправленного поведения агента и
формировании функциональных систем путем постепенного включения в
нейросеть молчащих нейронов. Синтезируемые нейрональные группы
cпециализируются относительно новых для агента проблемных ситуаций и
корректируют его поведение, делая возможным достижение адаптивного
результата.
Описывается
разработанная
методика
детекции
рассогласования на нейрональном уровне за счет применения предикторных
связей, которые формируют акцептор результата действия.
Эволюция агентов и отбор нейрональных групп в процессе первичного
системогенеза
играет
большую
роль
в
формировании
репертуара
адаптивного поведения агента. Однако, исключительно с помощью эволюции
эффективное достижение адаптивного результата затруднительно, так как
случайные мутации не всегда могут привести к организации полезных для
78
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
агента функциональных систем, особенно в условиях среды с иерархией
целей, где для достижения результата необходимы множественные цепочки
последовательных действий.
Организация новых функциональных систем должна проходить, в том
числе, и в процессе разведки среды во время жизни агента за счет
механизмов прижизненного обучения. Большинство современных моделей
обучения не предоставляют эффективных механизмов обучения агента,
основанных на эндогенной оценке результативности текущего поведения,
поэтому было решено разработать собственную методику, построенную по
принципам обучения, которые на данный момент исследуются в области
нейробиологии.
Модель обучения
Обязательные
компоненты
Методика
формирования
предикторных связей
Эволюция
Прижизненное
формирование
Необязательные
(мало-формализованные)
компоненты
Методика
формирования
функциональных систем
Синапсы
Формирование в
развитии
Корректировка
весов в процессе
обучения
Молчащие нейроны
Методика включения
нейронов
Предъявление подкрепления
при устранении
рассогласования
Внутренняя прокрутка
пробных действий и
формирование систем без
совершения внешних
действий
(рефлексия-сознание)
Методика отбора
ненужных нейронов
после обучения
Рис. 2.9. Состав компонентов модели обучения автономного агента
79
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Ключевой принцип, положенный в основу создаваемой методики, гласит,
что обучение агента происходит, если он, действуя способом, приводившим
его ранее к целевому состоянию, в данный момент не может достичь
желаемого результата. Процессы обучения, приводящие к полезному
результату, происходят в мозге на нейрональном уровне, а значит
необходимо создать механизмы, которые будут определять, насколько
текущий результат соответствует ожиданиям агента на уровне отдельных
нейронов и функциональных систем.
Основные компоненты разрабатываемой модели обучения представлены на
рис.2.9. Некоторые из них уже обсуждались в предыдущих разделах. На
данной схеме все компоненты разбиты на две основных категории обязательные и необязательные. Наличие обязательных компонент в модели
необходимо
для
обеспечения
ее
минимальной
функциональности.
Необязательные компоненты представляют наибольшую сложность в
разработке, так как на данный момент с точки зрения нейробиологии
обеспечивающие их механизмы изучены недостаточно полно. Однако,
именно поэтому моделирование этих компонент хоть и не является
первостепенной задачей, но представляет наибольший интерес. В рамках
данного дипломного проекта были сформулирвонны формальные модели для
большинства обязательных компонентов модели обучения.
После проведенной в предыдущем разделе формулировки алгоритма
первичного системогенеза (соответственно определения модели синтеза
начальной нейросети автономного агента) необходимо формализовать
модель вторичного системогенеза – обучения в течение жизни агента. В
соответствии с системно-эволюционной теорией [20] обучение в течение
жизни происходит за счет задействования молчащих нейронов, формальное
описание которых дано в разделе 2.4, то есть нейронов, которые раньше не
давали спайки и никак не влияли на принимаемые агентом решения.
Подобный
механизм
позволяет
сохранять
исходную
специализацию
80
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
нейронов, выработанную в результате эволюции, и избежать потери
информации, распределенной по всей нейросети, которая происходит в
случае изменения весов синаптических связей в уже сформированных
функциональных системах нейронов. Однако необходимо разработать
механизм, который будет определять когда обучение необходимо, а когда
нет.
Введем функцию-отображение a pk ,l , t  - активность предикторной связи –
на множестве предикторных связей P :
a : P  T  B, B  0,1.
1, если ovk , t   Th,
a  p k ,l , t   
0, иначе.
Подобные связи-предикторы, как уже упоминалось ранее, образуются по
синапсам, уже существующим в сети, но призваны не распространять
возбуждение, а передавать информацию другим нейронам о предсказании
предстоящих активаций этих нейронов.
Введем
понятие
рассогласования
нейрона
–
это
несоответствие
предсказания нейрона о текущих афферентациях с непосредственно
пришедшими аферентациями, которое проявляется в двух случаях:
1) в случае отсутствия достаточной для возбуждения нейрона
афферентации в тот момент, когда она ожидалась;
2) в случае прихода достаточной для возбуждения афферентации,
когда она не была предсказана предикторными связям.
Таким образом, множество предикторных связей нейрона служит для
детекции момента рассогласования. Введем на множестве нейронов
V
функцию рассогласования er(vk , t ) (для vk : actvk   1 ):
er : V  T  B, B  0,1
81
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221


a pl , k , t  1



pl , k P
pred

er vk , t   ov k , t   Th 
 Th  
card pl ,k | pl , k  P






a pl ,k , t  1



pl , k P
pred

 ovk , t   Th 
 Th .
card pl , k | pl ,k  P




2.19 
При определении функции рассогласования был введен некоторый порог
Th pred (в численных экспериментах этот порог брался равным 0.5), служащий
для определения ошибки предсказания для конкретного нейрона. Для
предсказания будущей афференатции необходимо, чтобы достаточное
количество предикторных связей предсказало ее своей активностью. Таким
образом мы вводим понятие поля предсказания или рецептивного поля для
каждого нейрона.
Формально нейрон vi рассогласован в момент времени t , если
er (v k , t )  1.
Фактически
предложенный
способ
детекции
рассогласования
на
нейрональном уровне и является эндогенной оценкой результативности
целенаправленного
поведения,
на
основе
которой
агент
определяет
насколько успешны его действия.
Необходимо отметить, что для нейронов,
предикторные
связи
и
соответственно
не
у которых отсутствуют
может
быть
построено
предсказание, функция рассогласования не определена, значит они не могут
быть рассогласованы.
Если в какой-то момент времени на нейроне наблюдается рассогласование,
то необходимо обучение (вторичный системогенез).
Рассмотрим, как протекает формирование новых функциональных систем
нейронов в первом варианте рассогласования. Пусть на k -ом нейроне в
82
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
момент времени
t
наблюдается рассогласование, то есть er(vk , t )  1 . В первом
случае это означает, что ov k , t   Th  vl  V : vl , v k   P  a p l ,k , t  1  1. В
таком случае найдем молчащий нейрон в пуле V  нейрона vk ( v k  V  ) с
максимальной афферентацией от пресинаптических нейронов в момент
времени t :
v  arg max hvi , t ,
max 
vi V   act vi 0
Найденный нейрон с максимальной афферентацией может повлиять на
принятие положительного решения о совершаемом действии, поэтому
данный нейрон перестает быть молчащим и становится активным:
act

max

v  1 .
В случае включения молчащего нейрона
max 
v активируются только те связи,
которые в данный момент передают максимальный потенциал (как
ативирующий, так и тормозящий), и кроме этого добавляется активирующая
связь на нейрон vk , который был рассогласован и иницировал процесс
обучения, то есть:
S
 S /v | v ,
i
max
i
w

max

v   S  ovi , t   Th
  
max

v  , vk ,

v  , v k   r ,  r ~ R (0,1).
Активирующая связь на рассогласованный нейрон необходима из-за того,
что активация нейрона в данный момент времени может быть существенной
для достижения адаптивного результата. Таким образом, мы выделяем из
всего множества связей включающегося нейрона только те, которые значимы
для данной ситуации рассогласования и отличают ее от ситуации, в которой
агент достигает результата, действуя способом опробанным ранее.
Также, необходимо перенести предикторные связи, которые предсказали
афферентацию, на только что включенный нейрон:



P  P  vl , max v  | pl ,k  P  a pl ,k , t  1  1 .
83
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Данная
процедура
обучения
выполняется
рассогласованных на такте времени
t,
для
всех
нейронов,
в результате чего образуются
модифицированные множества синапсов сети S
и множество связей-
предикторов P .
Рис. 2.10. Формирование новых функциональных систем.
Белым обозначены молчащие нейроны, темно-серым – активные, а штриховкой
закрашен включающийся нейрон в пуле рассогласованного нейрона. Старые связи
обозначены темными стрелками (синапсы – сплошными, связи-предикторы пунктиром), отобранные связи включившегося нейрона обозначены тонкими
светло-серыми стрелками.
На
рис.
2.10
представлена
иллюстрация
формирования
новых
функциональных систем в процессе обучения. Синтезируемые таким образом
нейрональные группы cпециализируются относительно новых для агента
84
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
проблемных ситуаций и корректируют его поведение, делая возможным
достижение адаптивного результата.
Рассмотрение
аналогичным,
второго
поэтому
случая
мы
рассогласования
будем
опускать
во
многом
некоторые
будет
очевидные
подробности. Приход афферентации, достаточной для возбуждения нейрона
vk ,
когда
это
не
было
 a p , t  1
ov , t   Th 
 Th
card p | p  P
предсказано,
означает,
что
l ,k
pl , k P
pred
k
l ,k
молчащий
. Найдем, как и в предыдущем случае,
l ,k
max 
нейрон
v
в пуле V  нейрона vk ( v k  V  ) с максимальной
афферентацией от пресинаптических нейронов в момент времени t ,сделаем
его активным, при этом структура синапсов преобразуется аналогично
первому случаю, за исключением связи на рассоласованный нейрон – в
данном случае она является сильной ингибирующей связью:

w
max



v j , vk    r ,  r ~ R 0.5, 1 .
Такой сильный тормозный вес связи необходим в данном случае из-за того,
что включенному нейрону необходимо вытормаживать нейрон, который в
данный момент времени рассогласован. Это связано с тем, что данный
нейрон активируется в тот момент времени, когда он не должен этого делать.
Множество предикторных связей P во втором случае рассогласования
изменяется аналогично первому случаю, то есть на вновь активированный
нейрон переносятся связи-предикторы, которые могли бы предсказать
афферентацию.
Необходимо отдельно отметить, что включение молчащих нейронов
происходит до тех пор, пока не будет устранено рассогласование. При этом
неизбежно
накопление
непосредственно
избыточных
приводят
к
нейронов,
достижению
так
как
не
необходимого
все
они
результата.
Разработка методики отбора в момент окончания обучения (устранения
рассогласования)
тех
включенных
молчащих
нейронов,
которые
85
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
непосредственно повлияли на устранение рассогласования, имеет под собой
реальную биологическую основу. В процессе обучения животного происходит
активация многих до этого молчащих нейронов, однако в результате
закрепляется только малая их часть – новая сформированная функциональная
система. Это свидетельсвует о попытках включения в систему различных
нейронов, которые потенциально могут устранить рассогласование.
Формирующиеся
в
процессе
обучения
функциональные
системы
используются исключительно в процессе жизни конкретного агента. Для
формирования следующего поколения популяции используется описанный в
разделе 2.4 процесс первичного системогенеза, однако эффект постепенного
перехода
функциональных
систем,
сформировавшихся
в
результате
прижизненного обучения, в генотип за счет мутаций [33] позволит агентам
быстрее достигать адаптивного результата, обучаясь все меньше и меньше.
Описанная выше методика составляет основу прижизненного обучения
агента за счет эндогенной оценки результативности целенаправленного
поведения,
позволяющей
последующего
детектировать
формирования
новых
момент
рассогласования,
функциональных
систем
и
путем
включения молчащих нейронов. Предложенный алгоритм позволяет каждому
нейрону агента иметь память, внутреннее представление состояния, которое
он хочет достичь, и соответственно позволяет распознавать ситуации, когда
он достигает или не достигает желаемого состояния. Подобные качества
каждого нейрона в отдельности должны транслироваться и быть присущи
всей сети в целом.
На данный момент за рамками данной методики остались такие вопросы,
как: пластичность (корректировки) весов синапсов в процессе обучения,
формирование дополнительных связей-предикторов в процессе обучения, а
также отбор значимых включенных нейронов после окончания процесса
обучения.
86
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
3. Программная реализация комплекса моделирования
популяции агентов и экспериментальное исследование
модели
3.1. Назначения и общие требования к
экспериментальному
программному комплексу
Описываются основные функциональные требования к программному
комплексу и его назначение. Приводится описание задач решаемых с
помощью его применения.
Для апробирования разрабатываемой модели эволюции и обучения
автономных агентов, подбора оптимальных параметров модели и анализа
проведенных
экспериментов,
необходимо
реализовать
программный
комплекс, который позволяет решать весь спектр задач, появляющихся в
процессе проведения экспериментального исследования.
Программный комплекс должен позволять проводить моделирование
эволюции обучающихся автономных агентов в популяции произвольного
объема.
Приведем
краткие
требования
к
основным
возможностям
программного комплекса:
 возможность использования двух вариантов эволюционного алгоритма
(модернизированного NEAT и алгоритма, основанного на дупликации
пулов нейронов);
 поддержка алгоритма первичного системогенеза, как метода синтеза
первичной структуры нейросети агентов;
 поддержка обучения в течение жизни за счет эндогенной оценки
результативности целенаправленного поведения и формирования
функциональных систем;
 поддержка возможности работы со средами произвольной размерности
и произвольной иерархией целей;
87
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
 поддержка
возможности
работы
с
популяциями
произвольных
объемов;
 поддержка возможности гибкой настройки реализованных алгоритмов
с помощью файла настроек, а также задания пользовательских
настроек;
 поддержка технологии параллельных вычислений на кластере.
Приведем также требования к дополнительному набору инструментов
разработанного комплекса:
 наличие инструмента автоматического создания среды со структурой
конкурирующих подцелей;
 наличие системы сбора статистической информации о показателях
динамики модели, которая позволяла бы детально исследовать процесс
обучения;
 наличие подсистемы графической визуализации процесса жизни
агента, с возможностью оценки показателей динамики в режиме
реального времени;
 наличие подсистемы вычисления коэффициента заполненности и
коэффициента сложности среды;
Функциональность
экспериментального
программного
комплекса
не
ограничивается приведенными выше требованиями, однако их реализация
позволяет
обеспечить
основной
инструментарий
для
проведения
экспериментальных исследований.
3.2.
Функциональная
схема
подсистем
экспериментального
программного комплекса
Приводится
функциональная
схема
разработанного
программного
комплекса, указываются подсистемы входящие в ее состав. Приводится
пример UML-диаграммы деятельности одной из основных компонент
программного комплекса.
88
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Основные блоки функциональной схемы разработанного программного
комплекса приведены на рис. 3.1. Особенности реализации некоторых блоков,
приведенных на рисунке, будут обсуждаться в следующих разделах.
Подсистема
визуализации
нейросети агента
Подсистема
отслеживания
параметров динамики
модели
Подсистема
визуализации
жизни агента
Подсистема
генерации среды
Подсистема
эволюции
Подсистема
анализа
динамики
Подсистема
обучения
Подсистема
моделирования
поведения агента
Рис. 3.1. Основные функциональные блоки экспериментального программного
комплекса
На
рис.
3.2.
приведен
пример
крупнозернистой
UML-диаграммы
деятельности [43] подсистемы эволюции. Данная подсистема выбрана не
случайно в качестве примера, так как наряду с подсистемой обучения она
является главной компонентой разработанного экспериментального комплекса
89
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
act Dynamic View
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unre
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unre
EA 8.0 Unregistered
EA 8.0 Unregistered Trial Version EA 8.0 Unre
«datastore» Trial Version
Файл настроек
Задание параметров
моделирования
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unre
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unre
Генерация стартовой
EA 8.0 Unregistered Trial Version EA
8.0 Unregistered Trial Version EA 8.0 Unre
популяции
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unre
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unre
«datastore»
Файл популяции
EA 8.0 Unregistered
Trial Version Заполнение
EAагента
8.0 Unregistered Trial Version EA 8.0 Unre
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unre
Жизнь агента
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unre
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unre
Подсчет
накопленной
награды
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unre
[ необходимо
EA 8.0 Unregistered
Version
EA 8.0 Unregistered Trial Version EA 8.0 Unre
проведениеTrial
мутаций
]
[ else ]
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered
Trial Version EA 8.0 Unre
Проведение мутаций
синаптических
коэффициентов
[ агенты текущей
EA 8.0 Unregistered Trial Version EA 8.0
Unregistered
EA 8.0 Unre
популяции
закончилис ь ] Trial Version
Формирование
EA 8.0 Unregistered
Trial Version EA
8.0 Unregistered Trial Version EA 8.0 Unre
нового
Проведение
структурных
мутаций
поколения
[ else ]
EA 8.0 Unregistered Trial Version
EA 8.0 Unregistered Trial Version EA 8.0 Unre
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unre
Запись нового
[ el se ]
поколения
EA 8.0 Unregistered Trial Version EA
8.0 Unregistered Trial Version EA 8.0 Unre
[ эволюционные
]
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered такты
Trialпрошли
Version
EA 8.0 Unre
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unre
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unre
Рис. 3.2. Крупнозернистая UML-диаграмма деятельности подсистемы эволюции
90
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Данная диаграмма приведена без учета обучения агентов в течение жизни,
чтобы не усложнять ее вид. На диаграмме изображены все основные действия,
которые
моделирует
подсистема:
генерация
стартовой
популяции,
моделирование жизнедеятельности агента, подсчет накопленной награды и
формирование нового поколения с учетом возможности мутаций.
3.3. Архитектура и реализация параллельных вычислений для
запуска модели на кластере
Описывается разработанная архитектура параллельных вычислений на
кластере с использованием библиотеки функций HP-MPI, предназначенной
для поддержки работы параллельных процессов в терминах передачи
сообщений. Приводится схема взаимодействия родительских и дочерних
процессов,
спецификация
межпроцессорного
обмена
рабочими
сообщениями для обеспечения корректной обработки данных.
В
рамках
дипломного
экспериментальное
проекта
исследование
было
разработанной
необходимо
модели
провести
обучения
и
эволюции. Для проверки воспроизводимости результатов моделирования
необходимы многократные запуски эволюции с различными параметрами
алгоритма на раличных средах, что требует больших затрат вычислительных
ресурсов. Для проведения исследования РНЦ «Курчатовский институт» был
предоставлен доступ к вычислительному кластеру. Кластер состоит из 432
узлов следующей спецификации:

8 процессоров Intel Xeon 5150, частота — 2.66 ГГц;

8 гигабайт оперативной памяти;

жесткий диск объемом 70 Гб;

сетевые подключения: Gigabit Ethernet и InfiniBand 4x DDR;

для передачи MPI-сообщений используется InfiniBand.
Для организации параллельных вычислений на кластере используется
технология Message Passing Interface (MPI). MPI – это программный
91
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
интерфейс (API) для передачи информации, который позволяет обмениваться
сообщениями между процессами, выполняющими одну задачу [44].
MPI является наиболее распространённым стандартом интерфейса обмена
данными в параллельном программировании, существуют его реализации для
большого числа компьютерных платформ. Используется при разработке
программ
для
кластеров
и
суперкомпьютеров.
Основным
средством
коммуникации между процессами в MPI является передача сообщений друг
другу. На кластере РНЦ «Курчатовский институт» используется коммерческая
Done
Process
Rank = 1
Issued
реализация MPI от компании Hewlett-Packard – HP-MPI [45].
Task list
+
+
Task №1
+
-
Task №2
-
-
Task №i
Task №i
Process
Rank = 2
Process
Rank = 3
Task №2
Task №P
Process
Rank = j
Process
Rank = N
Task №K
Рис. 3.3. Схематичное изображение очереди заданий и выдачи задания процессу
Для эффективного паралельного вычисления результатов эволюции была
разработана
спецификация
схема
межпроцессорного
межпроцессорных
взаимодействия
сообщений.
Обмен
(рис.
3.3)
и
сообщениями
осуществляется с помощью стандартных функций MPI_Send и MPI_Recv.
92
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Разработанный комплекс запускается на N процессорах, при этом рабочими
являются N-1 процесс. Один из процессов является родительским и отвечает
за выдачу заданий дочерним процессам, а также следит за их выполнением.
В начале работы комплекса формируется полный список заданий (запусков
эволюции на разных средах, с разными параметрами), которые необходимо
выполнить. Родительский процесс выдает первичные задания всем процессам,
а затем ждет завершения выполнения. В случае если дочерний процесс
сигнализирует о завершении выполнения, а при этом список невыданных
заданий еще не пуст, то данному процессу выдается новое задание. В
противном случае родительский процесс посылает данному дочернему
процессу команду завершения.
Для корректной работы комплекса была разработана спецификация
межпроцессорных сообщений. Формат исходящих сообщений рабочего
процесса представляет из себя:
 сообщение о выдаче задания:
<номер среды> E <вероятность выключения связи> D <вероятность
включения связи> C <степень нестационарности среды> V <номер
попытки> T <номер набора параметров> P
 команда завершения: q
Формат исходящего сообщения дочернего процесса:
 сообщение о завершении выполнения задания: <номер процесса> O
Если общее количество заданий, необходимых для выполнения, меньше
чем число процессоров, отданных в распоряжение комплекса, то после выдачи
первоначальных
заданий,
родительский
процесс
посылает
команду
завершения неиспользуемым дочерним процессам.
93
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
3.4. Описание основных подсистем
3.4.1. Подсистема автоматической генерации среды с иерархией
целей
Описывается разработанный алгоритм автоматической генерации
среды с иерархией целей, позволяющий составлять разветвленную
структуру вложенных подцелей в среде произвольной размерности и
сложности.
Подсистема генерации среды реализует построение случайной иерархии
целей в соответствии с разработанной формальной моделью среды.
Результатом работы подсистемы являются цепочки подцелей различной
сложности, вид которых указан на рис. 3.4.
n1
p1
n2
p2
nk

pk
Риc. 3.4. Общий вид цели в среде
На рисунке
ni - номер бита вектора состояния среды (0..7),
pi -
требуемое значение бита, в которое его необходимо перевести ( 0,1 ), k сложность подцели. Таким образом, в соответствии с моделью среды, агент,
последовательно
переводя
требуемые
биты
в
нужное
состояние,
приближается к достижению подцели.
В начале работы подсистема генерирует определенное количество N T U
целей, сложность которых определяется случайно в интервале от
максимальной сложности K max и минимальной максимальной сложности
(K max ) min , задающихся пользователем. Процесс генерации происходит с
учетом следующего правила: если в процессе достижения подцели один бит
участвует несколько раз, то не может существовать двух последовательных
переключений этого бита в одно и тоже значение. После этого, каждая из
целей разбивается на количество подцелей, равное разности сложности
сгенерированной цели и минимальной сложности подцели K min . С каждой
94
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
из полученных подцелей подсистема ассоциирует награду Ri равную
20  2 k i  K min . В итоге на выходе подсистемы получается файл со следующей
структурой, указанной на рис. 3.5.
NT
nenv
k1
R1
1
1
n1
p1
n2
1
p2
1
NT
p2
1

nk1

n k NT
p k1
1

k NT
n1
RNT
NT
p1
NT
n2
NT
NT
p k NT
NT
Рис. 3.5. Структура файла с иерархией целей в среде
3.4.2. Подсистема эволюции популяции агентов
Описывается программная реализация подсистемы, реализующей
эволюционную адаптацию различных структур разработанной модели
агента. Приводится схема преобразования структуры данных нейросети
в процессе структурных мутаций и скрещивания.
В разработанной подсистеме эволюции популяции агентов реализованы
два эволюционных алгоритма: модернизированный алгоритм NEAT и
алгоритм, основанный на дупликации пулов нейронов.
Хранение структур нейронных сетей агентов, при использовании обоих
эволюционных
алгоритмов,
осуществляется
за
счет
использования
специальной динамической структуры (рис.3.6), содержащей гены как для
нейронов, так и для связей. У объекта «нейрон» есть ссылка на список
входящих синапсов, а в гены связей включаются непосредственные ссылки
95
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
на пресинаптический и постсинаптический нейрон. Такая структура данных
уменьшает время необходимое для различных операций с нейросетью,
таких как вычисление выходов, образование потомка, мутации и т.д.
Network
header
Neurons
Neuron
Neuron
Neuron
int ID;
synapse *incon;
int type;
int out;
neuron *next;
int ID;
synapse *incon;
int type;
int out;
neuron *next;
int ID;
synapse *incon;
int type;
int out;
neuron *next;
Synapse
Synapse
Synapse
int ID;
neuron *post;
neuron *pre;
int expres;
int weight;
synapse *next;
int ID;
neuron *post;
neuron *pre;
int expres;
int weight;
synapse *next;
Synapse
Synapse
Synapses
int ID;
neuron *post;
neuron *pre;
int expres;
int weight;
synapse *next;
int ID;
neuron *post;
neuron *pre;
int expres;
int weight;
synapse
*next;
int ID;
neuron *post;
neuron *pre;
int expres;
int weight;
synapse
*next;
Synapse
int ID;
neuron *post;
neuron *pre;
int expres;
int weight;
synapse
*next;
Рис. 3.6. Структура данных хранения нейросети, управляющей поведением агента
Выходы нейронной сети в каждый такт времени вычисляются
рекуррентной функцией, при использовании которой структура сети
разворачивается в обратном порядке, начиная с выходных нейронов, и
динамически
вычисляются
выходы
нейронов,
необходимых
для
определения выхода текущего нейрона последнего слоя. Полученные таким
образом выходы всех нейронов хранятся непосредственно в динамическом
96
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
списке генов нейронов в целях уменьшения объема памяти, необходимой
для функционирования подсистемы.
Не смотря на то, что изначально в алгоритме NEAT не вводится понятие
слоя нейронной сети, из-за возможности формирования произвольной
структуры сети (включающей обратные и рефлексивные связи) для
корректного расчета выходов нейросети в рамках программной реализации
было введено понятия слоя. Введение слоев позволяет избежать проблем с
устойчивостью нейросети и однозначно определять выход нейрона в
конкретный момент времени.
Использование слоев позволяет, как это показано в разделе 2.2,
переносить потенциал, полученный по обратным связям, на следующий
такт времени (по аналогии с нейросетью Джордана с единичной задержкой
[41] и нейросетью Элмана с контекстными нейронами [42]). При этом под
обратной связью подразумевается связь от логически более удалённого
элемента к менее удалённому. В данной модели связь считается обратной,
если номер слоя пресинаптического нейрона больше или равен номеру слоя
постсинаптического нейрона.
В результате множественных мутаций происходит неоправданное
накопление обратных связей, например когда появляются связи между
нейронами одного слоя. Для избежания данного являения была разработана
специальная методика анализа нейронной сети при осуществлении мутаций,
связанных с вставкой нейрона в алгоритме NEAT. На рис. 3.7 приводится
схематичное
изображение
всех
возможных
случаев
расположения
разбиваемой при вставке нового нейрона связи и действий алгоритма,
основанных
на
анализе
топологии
нейронной
сети..
На
рисунке
вставляемый нейрон обозначен штриховкой. В случаях если разбиваемая
связь была между нейронами соседних слоев, то для нового нейрона
создается отдельный слой.
97
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
1 ( i – j > 1)
Layer i
мутация
Layer j
Layer i
Layer k
k=i-1
Создание нового
слоя не происходит.
Layer j
2 ( j – i > 1)
Layer j
мутация
Layer j
Layer k
Layer i
Layer i
k=i+1
Создание нового
слоя не происходит.
3 ( i – j = 1)
Layer i
мутация
Layer i+1
Layer i
Layer j
Layer j
Создается новый слой.
Все нейроны, слой которых
был >= i, сдвигаются в
следующий слой.
4 ( j – 1 = 1)
Layer j
мутация
Layer i
Layer j+1
Layer j
Layer i
5 (j=i)
Layer i
мутация
Layer i+1
Layer i
Создается новый слой.
Все нейроны, слой которых
был >= j, сдвигаются в
следующий слой.
Создается новый слой.
Все нейроны, слой которых
был > i, а также
постсинаптический нейрон,
сдвигаются в
следующий слой.
Рис. 3.7. Схематичное изображение вариантов вставки нейрона
Для эволюционного алгоритма, основанного на дупликации нейронов,
также была разработана методика анализа нейросети при осуществлении
мутаций. Если в результате мутации добавляется связь между нейронами
одного слоя, то для постсинаптического нейрона создается отдельный слой,
98
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
в который он смещается. Это сделано для того, чтобы данная связь не
считалась обратной.
3.4.3. Подсистема сбора статистических показателей динамики
модели
Описывается
показатели
подсистема,
динамики
позволяющая
модели
и
отслеживать
осуществляющая
сбор
основные
статистики
эволюции популяции агентов. Приводится описание формата вывода
статистики данной подсистемой.
Для проведения экспериментального исследования описанной ранее
модели была разработана подсистема сбора показателей динамики
эволюционной адаптации популяции агентов. Была предложена система
статистических
показателей,
позволяющая
оценивать
эффективность
модели и исследовать внутренние особенности процесса обучения агентов.
В число основных отслеживаемых параметров вошли:

средний коэффициент приспособленности агента к среде
(среднее значение полученной награды по поколению):
n agent
 SR (l )
i
i 1
R (l ) 
n agent
3.1
,
где SRi (l ) - награда, полученная i -м агентом поколения l , nagent кол-во агентов в популяции;

максимальный коэффициент приспособленности по поколению:
3.2
Rmax (l )  maxagent (SRi (l ));

i 1,, n


в случае использования штрафной функции за размер нейросети
агента
отслеживаются
абсолютные
значения
среднего
и
максимального по попудяции коэффициента приспособленности

среднее количество нейронов по поколению;
99
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221

среднее количество активных связей по поколению;

среднее количество достижений каждой цели агентами;

среднее количество агентов, достигающих конкретную цель
(хотя бы один раз).
Кроме отслеживания вышеназванных показателей проводилась запись
лучшего
агента
популяции
(с
наибольшим
коэффициентом
приспособленности), а с шагом равным 100 поколений проводилась запись
всей популяции агентов. Таким образом, с помощью подсистемы
отображения процесса жизнедеятельности выбранного агента и подсистемы
моделирования жизни одного поколения, мы получаем возможность
тщательно исследовать результаты эволюционной адаптации в отношении
выбранного поколения, а значит в любой точке этого процесса.
Рис. 3.8. Пример снимаемой относительной гистограммы
Рис. 3.9. Пример снимаемой абсолютной гистограммы
100
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Дополнительно записывалось два типа гистограмм распределения
полученной награды по поколению – относительная и абсолютная (рис. 3.83.9).
В разделе 3.5 приводятся разработанные методики анализа модели на
основе описанных выше отслеживаемых статистических параметров
динамики модели.
3.4.4. Подсистема визуализации процесса жизнедеятельности агента
Приводится описание подсистемы, осуществляющей графическое
отображение
процесса
функционирования
выбранного
автономного
агента. Описывается графический интерфейс данного режима работы
программного комплекса.
В процессе проведения исследования часто возникает необходимость
отследить процесс жизни конкретного агента, выбранного из какого-либо
поколения. Такой анализ может проводиться как для проверки правильной
работы подсистемы эволюционной адаптации, так и для более детального
изучения сформированных в процессе эволюции стратегий поведения в
среде.
Для этих целей была реализована подсистема, осуществляющая
отображение процесса жизни выбранного агента в стационарной или
квазистационарной среде (рис.3.10).
Данная
подсистема
позволяет
наблюдать
действия
агента
по
изменению битов вектора состояния среды, случайные изменения среды (в
случае квазистационарной среды), значения на выходных нейронах агента,
которые непосредственно определяют совершаемое действие. Последняя
функция может понадобиться для оценки «уверенности» агента в своих
действиях, основанной на степени близости больших значений на выходных
нейронах
друг к другу. Достаточная близость третьего по величине
101
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
значения к двум максимальным может свидетельствовать о неуверенности
агента в выбранном действии, а также о возможности изменения стратегии
поведения в этом случае в ближайших тактах эволюции.
Рис. 3.10. Рабочее окно разработанной подсистемы визуализации жизни агента
В отличие от подсистемы эволюции, расчет достижения подцелей
агентом происходит непосредственно в процессе функционирования, что
позволяет следить за приближением или отдалением агента от достижения
той или иной цели. В режиме «реального времени» пользователю выводится
список целей, к достижению которых агент в данный момент времени
наиболее близок, а также накопленная этому моменту награда.
В правом окне подсистемы ведется текстовый лог действий агента,
фиксируются моменты достижения целей и приближения к их достижению.
Основное
окно
подсистемы
предназначено
для
визуального
отображения действий агента. Поддерживаются режимы потактового и
поточного моделирования, с изменяемой задержкой визуализации. Текущее
действие агента подсвечивается красным светом на векторе состояния
102
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
среды, целевые биты подсвечиваются синими цветом в случае, если агент
еще не перевел их в правильное состояние, и зеленым в противном случае,
также выводится номер бита в текущей выбранной цели и его целевое
значение.
Большинство пользовательских объектов основного окна системы
создаются в динамическом режиме, что позволяет поддерживать работу со
средами, обладающими различной размерностью и содержащими различное
количество целей произвольной сложности.
3.4.5. Подсистема генерации первичных статистических отчетов
При
проведении
большого
количества
экспериментов,
возникает
необходимость построения большого количества графиков зависимости
динамики максимальной и средней накопленной награды от номера
эволюционного такта и динамики достижения целей по поколениям.
Особенно это полезно в процессе отладки некоторой новой модификации
модели. Строить такие графики вручную нецелесообразно, так как для
подробного анализа их использование является проблематичным в силу
большого количества. В основном они используются для первичной оценки
успешности того или иного запуска эволюции. В связи с этим было решено
написать компактную подсистему, которая позволяла бы в поточном
режиме генерировать подобные отчеты.
Для этой цели использовался бесплатный аналог среды MatLab – SciLab
5.1.1, который позволяет загружать матрицы значений из файла и строить
по этим значениям графики в автоматическом режиме путем написания
скрипта. Предварительный обработчик подготавливает данные результатов
моделирования в формате, с которым работает SciLab. Пример графика,
построенного автоматически с помощью разработанной подсистемы,
приведен на рис.3.11.
103
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
1200
1000
800
600
400
200
0
0
500
1000
1500
2000
2500
Рис. 3.11. Пример графика построенного разработанной подсистемой с помощью
программы SciLab
3.5. Методики анализа статистических показателей и динамики
модели обучения
Приводятся разработанные для оценки эффективности применения
модели методики анализа статистических показателей модели в зависимости
от различных параметров, таких как сложность среды, размерность среды,
вероятностные параметры и т.д..
Для анализа и сравнения различных модификаций эволюционного
алгоритма, а также его эффективности на различных средах, было необходимо
разработать методику анализа статистических показателей модели, которые
были введены в разделе 3.4.3. В рамках
дипломного проекта были
разработаны различные подходы к анализу, часть из которых апробировалась
и результаты их применения приведены в разделе 3.6.
По результатам прогонов эволюции на различных средах было решено
построить гистограммы распределения относительной накопленной награды в
лучшем среднем поколении из записанных с шагом дискретизации каждого
запуска.
104
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Для этой операции в каждом запуске находилась популяции с лучшей
средней
накопленной
наградой
и
для
статистической
достоверности
результатов осуществлялся многократный запуск «жизни» каждого агента
популяции из различных случайных сосотояний, после чего находилось
выборочное среднее набираемой награды для каждого агента. Также по этим
данным
строились
гистограммы
распределения
среднеквадратического
отклонения, вычисляемого по формуле стандартной ошибки арифметического
среднего:
S
При
проведении
n
2 
n 1
анализа
по
1 n
 xi  x
n  1 i 1

данной

2
методике
3.3
по
гистограмме
распределения среднекватратического отколонения можно определить в каком
состоянии (развития или стагнации) находилась лучшая популяции в
конкретном запуске эволюции и оценить качество эволюции. Однако из-за
большого объема результатов, данный вид анализа можно рассматривать лишь
как дополнительный инструмент.
Для уменьшения количества анализируемых данных было решено
использовать не гистограмму распределения наград для лучшего среднего
поколения, а просто среднее значения накопленной награды в этом поколении.
При такой постановке, мы терям информацию о распределении награды по
лучшей популяции, однако соотносим лишь одно число – средннюю награду
набираемую лучшим средним поколением – к каждому запуску эволюции. Это
позволяет нам строить и анализировать наглядные графики зависимости
качества обучения при различных модификациях алгоритма от сложности
среды, размерности пространства состояний среды или вероятностных
параметров. При этом необходимо осуществлять подобный анализ для всех
лучших популяций на средах с разным показателем квазистационарности,
чтобы определить насколько агенты успешно функционируют в условиях
разной изменчивости среды.
105
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
В дальнейшем для анализа будут в основном использоваться даже не
среднее значение накопленной награды для лучшей популяции, а отношение
средних накопленных наград для запусков с разными параметрами или
моделями. При использовании такого метода теряется некоторая информация,
однако он наиболее нагляден, так как сравнивая относительные значения с
единичным уровнем мы можем легко сравнить различные варианты
разработанной модели.
3.6. Экспериментальное исследование модели
3.6.1. Краткое описание плана исследования
Приводится
краткое
описание
схемы
экспериментального
исследования разработанной модели, полный список доступных для
изменения
параметров
модели
и
множество
сгенерированных
экспериментальных сред.
Прежде чем обсуждать результаты исследования, проведенного в рамках
дипломного
проекта,
моделирования,
а
приведем
также
полный
значений,
с
перечень
которыми
параметров
проводились
экспериментальные запуски модели.
Общие парараметры модели:

N p = 200 (количество агентов в популяции)

Tl = 250 (время жизни агента)

Tr = 30 (количество тактов восстановления полной награды за
достижение цели)

nenv = 8 (размерность пространства состояний среды)
Параметры эволюционного алгоритма:

Paddcon = 1% для всего агента (вероятность добавления синапса в
алгоритме NEAT)
106
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221

Paddnode = 1% для всего агента (вероятность добавления нейрона в
алгоритме NEAT)

Pm = 60 % для каждой связи (вероятность мутации веса агента
при образовании потомка)


Dm = 0.08 (дисперсия значения мутации веса синапса)
p dis =
1-й
набор
2-й
набор
0.85%
1.1%
(вероятность дезактивации связи в процессе эволюции)

pen =
0.85%
1.1%
(вероятность активации дезактивированной связи)

p en var =
0.85%
1.1%
(вероятность случайного изменения одного бита вектора состояния
среды)
Для проведения статистически обоснованного исследования с помощью
разработанной подсистемы было сгенерировано 16 сред с различным
коэффициентом заполненности среды (табл.3.1). В рамках дипломного
проекта исследование проводилось на средах размерности 8.
Табл.3.1. Состав экспериментальных сред
Идентификатор
среды
Количество
целей
Коэффициент
заполненности
среды
Коэффициент
сложности среды
1
10
0.020538
48.6895
2
10
0.009067
110.2952
3
16
0.028617
34.9444
4
18
0.017688
56.5362
5
25
0.018224
54.8734
6
25
0.033337
29.997
1.1
8
0.012713
78.6629
1.2
10
0.012548
79.6972
107
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Идентификатор
среды
Количество
целей
Коэффициент
заполненности
среды
Коэффициент
сложности среды
1.3
11
0.012287
81.3859
1.4
13
0.013292
75.2315
1.5
15
0.024296
41.1594
1.6
18
0.028917
34.5814
1.7
20
0.024799
40.3236
1.8
22
0.033388
29.9508
1.9
24
0.026113
38.2958
1.10
26
0.037999
26.3164
3.6.2. Сравнение показателей модели на стационарной и
квазистационарной среде при использовании алгоритма NEAT
Одной из основных целей исследования было сравнение эффективности
разработанной модели эволюции на стационарной и квазистационарной
среде. Для этого проводились запуски эволюции с двумя наборами
параметров на 16 средах, приведенных в табл. 3.1. Для более точного
определения эффективности в каждом отдельном случае проводилось три
запуска на каждой среде с одним набором параметров. После этого для
каждого запуска проводился анализ по методике, описанной в разделе 3.5, и
результаты усреднялись.
На
рис.3.12
приведены
зависимости
средней
по
всем
агенам
накопленной награды по лучшему среднему поколению после прогона на
стационарной
среде
агентов,
обучавшихся
на
стационарной
и
квазистацинарной среде с 1-м набором параметров, от коэффициента
заполненности среды.
В дальнейшем удобнее будет оперировать не самими значениями
средних накопленных наград, а их отношениями для запусков с разными
108
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
параметрами модели. На рис. 3.13-3.14 приведены зависимости отношений
средних накопленных наград по поколению для агентов, обученных на
стационарной и квазистационарной среде. Для построения первого графика
все агенты прогонялись на стационарной среде, а для второго – на
квазистационарной с показателем нестационарности равным 0.85.
Средняя накопленная награда по поколению
900
800
Агенты, обучавшиеся на
квазистационарной среде
700
Агенты, обучавшиеся на
стационарной среде
600
500
400
300
200
100
0
0
0.005
0.01
0.015
0.02
0.025
Коэффициент заполненности среды
0.03
0.035
0.04
Рис. 3.12. Графики накопленной награды по поколению для агентов,
обучавшихся на стационарной и квазистационарной средах
Анализируя приведенные графики, можно увидеть, что эффективность
эволюции на квазистационарной среде увеличивается при уменьшении
коэффициента заполненности среды, то есть при ее усложнении. Это
объясняется
тем,
что
нестационарность
среды
способствует
более
«глубокому» ее «изучению» со стороны агентов, так как чтобы эффективно
функционировать в такой среде агентам необходимо сначала «найти» цели,
которые надо достигать.
Также из сравнения графиков становится понятно, что агенты,
эволюционировавшие
в
квазистационарной
среде,
становятся
все
109
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
эффективнее с повышением степени нестационарности среды, в которой
проводится контрольный прогон.
(квазистационарная/стационарная)
Отношение средних
Накопленных наград
3.5
Отношение наград (прогон на
стационарной среде)
3
2.5
2
1.5
1
0.5
0
0
0.005
0.01
0.015
0.02
0.025
0.03
0.035
0.04
Коэффициент заполненности среды
Рис. 3.13. Отношение наград агентов, эволюционировавших на разных типах
сред, после прогона на стационарной среде
(квазистационарная/стационарная)
Отношение средних
Накопленных наград
3.5
Отношение наград (прогон на
квазистационарной среде)
3
2.5
2
1.5
1
0.5
0
0
0.005
0.01
0.015
0.02
0.025
0.03
Коэффициент заполненности среды
0.035
0.04
Рис. 3.14. Отношение наград агентов, эволюционировавших на разных типах
сред, после прогона на квазистационарной среде
Стоит отметить, что в рамках задачи моделирования наибольший интрес
представляют как раз среды повышенной сложности (не за счет малого
количества целей, а засчет большой размерности пространства состояний).
110
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
3.6.3. Сравнение эффективности эволюции в зависимости от
параметров модели при использовании NEAT
Для сравнения эффективности применения двух наборов параметров,
которые различаются вероятностями активации и дезактивации синапсов,
были построена зависимость отношения средних накопленных наград по
лучшему среднему поколению каждого запуска эволюции от коэффициента
заполненности среды после контрольного прогона на средах с разным
показателем нестационарности (рис. 3.15).
Отношение средних наколенных наград
(1-й набор параметров / 2-й набор)
8
Прогон на стационарной среде
7
Прогон на квазистационарной среде (0.85)
6
Прогон на квазистационарной среде (1.1)
5
4
3
2
1
0
0
0.005
0.01
0.015
0.02
0.025
0.03
Коэффициент заполненности среды
0.035
0.04
Рис. 3.15. Отношение наград агентов, обучавшихся с 1-м и 2-м набором
параметров, после контрольного прогона на средах с разным показателем
нестационарности
Результаты исследования говорят о том, что в случае размерности среды
равной 8, агенты, которые эволюционировали в квазистационарной среде с
первым набором параметров, практически всегда ведут себя более
качественно
(набирают
больше
награды),
чем
агенты,
прошедшие
эволюцию с использованием второго набора параметров. Однако, в случае
повышения степени нестационарности среды при контрольном прогоне
лучшей средней популяции, отношение средних накопленных наград
111
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
начинает
приближаться
эффективности
двух
к
единице,
наборов
что
параметров.
говорит
Таким
об
одинаковой
образом,
агенты,
эволюционировавшие с использованием второго набора параметров,
становятся более эффективными на более нестационарных средах.
В рамках исследования зависимости эффективности эволюции от
параметров
эволюционного
алгоритма
была
выдвинута
следующая
гипотеза: степень нестационарности среды, при которой популяция в
процессе эволюции достигает максимальной награды, растет с увеличением
размерности среды. Данная гипотеза вытекает из того, что при больших
размерностях пространства состояний среды, агентам сложнее исследовать
среду, а значит повышение квазистационарности среды должно приводить к
более эффективной эволюции. Проверка данной гипотезы является одним
из направлений будущего экспериментального исследования.
3.6.4. Проведение экспериментов с использованием штрафной
функции за размер нейронной сети агента
В рамках дипломного проекта было проведено численное исследование
эволюции с использованием штрафной функции, описанной в разделе 2.3.
Значение порога Th sin , до которого не начисляется штраф за размер агента,
было выбрано равным 35, так как количество связей у нейронных сетей
агентов первого поколения равно 40.
В первую очередь, необходимо сравнить эффективность эволюции на
стационарных и квазистационарных средах. Для этих целей применялась
такая же методика, как и в разделах 3.6.2, 3.6.3. На рис. 3.16 приведена
зависимость отношения средних накопленных наград по лучшей средней
популяции
агентов
каждого
запуска
эволюции
от
коэффцициента
заполненности среды при контрольном прогоне на стационарной среде.
Закономерность, проявляющаяся на данном графике, сходна с уже
найденной нами в разделе 3.6.2. Агенты, проэволюционировавшие в
112
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
квазистационарной среде, становятся более эффективны при высокой
сложности среды, однако в данном случае это становится заметно при
гораздо больших значениях коэффициента заполненности среды, чем в
случае эволюции без использования штрафной функции. В целом, агенты,
прошедние эволюцию в квазистационарной среде, практически на всех
средах,
принимавших
участие
в
экспериментальном
исследовании,
Отношение средних накопленных наград по
поколению
(квазистационарная среда/ стационарная)
показывают лучшие результаты, достигая улучшение до 11 раз.
12
11
Отношение накопленных наград
(прогон на стационарной среде)
10
9
8
7
6
5
4
3
2
1
0
0
0.005
0.01
0.015
0.02
0.025
0.03
Коэффициент заполненности среды
0.035
0.04
Рис. 3.16. Отношение наград агентов после прогона на стационарной среде (при
использовании эволюционного алгоритма с штрафной функцией)
В завершении приведения результатов текущего экспериментального
исследования в данном разделе, сравним эффективность эволюции с
использованием и без использования штрафной функции.
На рис. 3.17 приведено отношение средних накопленных наград лучших
средних популяций агентов, адаптировавшихся к квазистационарной среде с
использованием и без использования штрафной функции, при контрольном
прогоне на стационарной среде. Данные результаты подтверждают, что
эволюционный
алгоритм
с
использованием
штрафной
функции
обеспечивает более успешную адаптацию популяции. При этом в
113
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
большинстве случаев размер нейронной сети агента (количество активных
связей и нейронов) меньше, чем при использовании эволюционнного
алгоритма без штрафной функции, что совпадает с предположениями
выдвинутыми при введении параболической штрафной функции (раздел
Отношение средних накопленных наград
( эволюция со штрафом/ без штрафа)
2.3).
12
Отношение накопленных наград
(прогон на стационарной среде)
11
10
9
8
7
6
5
4
3
2
1
0
0
0.005
0.01
0.015
0.02
0.025
0.03
Коэффициент заполненности среды
0.035
0.04
Рис. 3.17. Отношение наград агентов после контрольного прогона на
стационарной среде (при использовании эволюционного алгоритма со штрафной
функцией и без нее)
3.6.5. Исследование внутренней динамики процесса эволюционной
адаптации
Для
анализа
динамики
эволюции
агентов
можно
использовать
гистограммы распределения награды, полученной агентами, для разных
поколений.
Исследование распределений награды в последовательных поколениях
позволяет
предложить
следующий
сценарий
возникновения
новых
адаптаций в популяции. В определенный момент времени один из агентов в
результате структурных мутаций и удачного начального состояния среды
получает значительно больше награды в течение жизни, чем остальные
114
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
агенты популяции. Его потомки составляют большую часть следующего
поколения. Однако они могут получать повышенную награду только из
определенных состояний среды. В процессе дальнейшей эволюции
количество таких состояний среды увеличивается, то есть отбираются
агенты способные применять успешную стратегию в большем количестве
случаев, что приводит к росту среднего количества награды по поколению.
Таким образом, оптимальная стратегия, найденная в процессе эволюции
одним агентом, распространяется по всей популяции. Эту гипотезу
подтверждают
гистограммы
распределения
полученной
награды,
приведенные на рис. 3.18.
Рис. 3.18. Относительные гистограммы распределения награды для трех
поколений (номера 1401, 1413, 1425 соответственно)
115
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Заключение
В рамках дипломного проекта были проанализированы современные подходы в
областях машинного обучения, эволюционных алгоритмов и нейробиологических
теорий с позиции моделирования целенаправленного поведения и обучения. Были
рассмотрены публикации по синтетической теории эволюции и взаимовлиянию
эволюции и обучения. Также был проведен сравнительный анализ современных
принципов и методов математического моделирования активности мозга и
обучения.
Были
определены
необходимые
компоненты
разрабатываемой
модели
эволюции и обучения, такие как
 среда с иерархией целей;
 нейросетевой агент;
 эволюционный алгоритм, основанный на дупликации нейрональных
пулов;
 первичный и вторичный системогенез, позволяющие синтезировать
первичную структуру нейросети и проводить эффективное обучение
соответственно.
Также были сформулированы их формальные математические модели.
Проведенная теоретическая работа позволила построить единую математически
строгую
модель
«жизни»
автономного
агента,
основанную
на
теории
функциональных систем П.К. Анохина, системно-эволюционной теории В.Б.
Швыркова и современных экспериментальных данных.
В рамках работы над дипломом предложены методики анализа динамики
статистических показателей модели,
с помощью которых было проведено
исследование зависимости эффективности эволюции от сложности среды,
размерности среды и вероятностных параметров эволюционного алгоритма.
Был
разработан
экспериментальный
программный
комплекс,
который
позволил эффективно проводить эксперименты по обучению автономных агентов
116
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
в произвольных средах и осуществлять подробный анализ результатов эволюции
и обучения. Разработанное приложение дает возможность проведения детального
анализа принципов и закономерностей формирования нейросетевой архитектуры
в процессе эволюции и обучения, а также исследования взаимовлияния эволюции
и обучения.
Результаты настоящего исследования были представлены в рамках ряда
российских и зарубежных конференций [46,47]. Они лягут в основу дальнейших
работ по усовершенствованию моделей машинного обучения, созданных на
основе современных исследований в области нейробиологии и психофизиологии,
и моделирования когнитивных функций мозга. Это позволит, в том числе, глубже
понять механизмы работы мозга, как нелинейной динамической системы.
117
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Литература
1. Hayes-Roth B. «An architecture for adaptive intelligent systems». // Artificial
Intelligence.Vol.72, pp.329-365 (1995).
2. Franklin S., Graesser A. «Is it an Agent, or just a Program? A Taxonomy for
Autonomous Agents». // Proceedings of the Third International Workshop on
Agent Theories, Architectures, and Languages (1996).
3. Кузьмин В. «Использование нейронных сетей в алгоритме Q-learning». //
Transport and Telecommunication. Vol.4, n.1 (2003).
4. Kaelbling L.P., Littman M.L., Moore A.W. «Reinforcement Learning. A
Survey». // Journal of Artificial Intelligence Research. Vol. 4, pp. 237-285
(1996).
5. Терехов
С.А.
«Нейро-динамическое
программирование
автономных
агентов» // Лекция по нейродинамическому программированию. г.Троицк
(2004).
6. Хайкин С. Нейронные сети: полный курс. 2-е издание. М.:Вильямс (2008).
7. Botvinick M.M., Niv Y., Barto A.G. «Hierarchically organized behavior and its
neural foundations. A reinforcement learning perspective». // Cognition. Vol.113,
issue 3, pp. 262-280 (2009).
8. Singh S., Lewis R., Barto A.
«Where Do Rewards Come From? » //
Proceedings of the Cognitive Science Society (CogSci). Pp. 2601-2606 (2009).
9. Floreano D., Durr P., Mattiussi C. «Neuroevolution from architectures to
learning». // Evolutionary Intelligenc. Vol. 1, no.1, pp. 47-62 (2008).
10. Kenneth S., Miikkulainen R. «Evolving Neural Network through Augmenting
Topologies». // Evolutionary Computation. Vol. 10(2), pp. 99-127 (2002).
118
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
11. Touzet C. «Neural Reinforcement Learning for an Obstacle Avoidance
Bahavior». // In IEE Colloquium on Self Learning Robots. Digest No.1996/026
(1996).
12. Touzet С. «Neural Reinforcement Learning for Behaviour Synthesis». // Robotics
and Autonomous Systems, Special issue on Learning Robot: the New Wave.
(1997).
13. Александров
Ю.И.
«Введение
в
системную
психофизиологию».
//
Психология XXI века. М.: Пер Се, стр. 39-85 (2003).
14. Александров Ю.И., Анохин К.В. и др. Нейрон. Обработка сигналов.
Пластичность. Моделирование : Фундаментальное руководство. Тюмень:
Издательство Тюменского Государственного Университета (2008).
15. Анохин П.К. Очерки по физиологии функциональных систем. М.: Медицина
(1975).
16. Анохин П.К. « Идеи и факты в разработке теории функциональных
систем». // Психологический журнал. Т.5, стр. 107-118
(1984).
17. Анохин П.К. «Системогенез как общая закономерность эволюционного
процесса». // Бюллетень экпериментальной биологии и медицины. № 8, т. 26
(1948).
18. Швырков В.Б. Введение в объективную психологию. Нейрональные основы
психики. М.: Институт психологии РАН (1995).
19. Александров Ю.И. Психофизиология: Учебник для вузов. 2-е изд. Спб.:
Питер (2003).
20. Александров Ю.И. «Научение и память: системная перспектива». // Вторые
симоновские чтения. М.: Изд. РАН, стр. 3-51 (2004).
21. Теория системогенеза. Под. ред. К.В.Судакова. М.: Горизонт (1997).
119
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
22. Jog M.S., Kubota K, Connolly C.I., Hillegaart V., Graybiel A.M. «Bulding neural
representations of habits». // Science. Vol. 286, pp. 1745-1749 (1999).
23. Red'ko V.G. , Anokhin K.V., Burtsev M.S., Manolov A.I., Mosalov O.P.,
Nepomnyashchikh V.A., Prokhorov D.V. «Project "Animat Brain": Designing the
Animat Control System on the Basis of the Functional Systems Theory» //
Anticipatory Behavior in Adaptive Learning Systems. LNAI 4520, pp. 94-107
(2007).
24. Red'ko V.G., Prokhorov D.V., Burtsev M.S. «Theory of Functional Systems,
Adaptive Critics and Neural Networks» // Proceedings of IJCNN 2004. Pp. 17871792 (2004).
25. Edelman G. Neural Darwinism: The theory of neuronal group selection. NY:
Basic Books (1987).
26. Edelman G. The Remembered Present: A Biological Theory of Consciousness.
NY: Basic Books (1989).
27. Fernando C., Karishma K.K., Szathmáry E. «Copying and Evolution of Neuronal
Topology». // PLoS ONE 3(11): e3775.doi:10.1371/journal.pone.0003775 (2008).
28. Baars B. A Cognitive Theory of Consciousness. Cambridge, MA: Cambridge
University Press (1988).
29. Dehaene S., Naccache L. «Towards a cognitive neuroscience of consciousness basic evidence and a workspace framework». // Cognition. Vol.79, pp. 1-37
(2001).
30. Dehaene S., Kerszberg M., Changeux J.-P. «A neuronal model of a global
workspace in effortful cognitive tasks». // PNAS. Vol. 5, no. 24, pp. 14529-14534
(1988).
31. Baars B. In the Theater of Consciousness. New York, NY: Oxford University
Press (1997).
120
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
32. Dodson E. O. «The kingdoms of organisms». // Systematic Zoology. Vol. 20, no.
3 (1971).
33. Baldwin J. «A New Factor in Evolution». // The American Naturalist. Vol. 30,
no. 354, pp. 441-451 (1896).
34. Burtsev
M.,
accumulation
Anokhin
of
K.
adaptive
and
Bateson
complexity
P.
«Learning
in
simulated
drives
the
evolution».
// Artificial Life XI: Proceedings of the Eleventh International Conference on the
Simulation and Synthesis of Living Systems. P. 756 (2008).
35. Markram H. «The blue brain project». // Nat Rev Neurosci. Vol. 7, pp. 153-160
(2006).
36. IBM Pressroom [Электронный ресурс] / «IBM Seeks to Build the Computer of
the Future Based on Insights from the Brain»
– 2008 — Режим доступа:
http://www-03.ibm.com/press/us/en/pressrelease/26123.wss#release
, свободный. — Загл. с экрана. — Яз. англ.
37. Izhikevich E., Edelman G. «Large-scale model of mammalian thalamocortical
systems». // PNAS. Vol. 105, no.9, pp. 3593-3598 (2008).
38. Izhikevich E. «Simple Model of Spiking Neurons». // IEEE Transactions on
Neural Networks. Vol. 14, no. 6 (2003).
39. Швырков В.Б. « Теория функциональной системы как методологическая
основа нейрофизиологии поведения». // Успехи физиологических наук. Т.9,
№ 1, стр. 81-106 (1978).
40. Rosenblatt F. Principles of Neurodynamics: Perceptrons and the Theory of Brain
Mechanisms. Washington, DC: Spartan Books (1962).
41. Jordan M. «Serial order: A parallel distributed processing approach». // Institute
for Cognitive Science Report 8604 (1986).
42. Elman J. «Finding structure in time». // Cognitive Science. Vol. 14, no. 2, pp.
179-211 (1990).
43. Ларман К. Применение UML 2.0 и шаблонов проектирования. 3-е изд. М.:
«Вильямс» (2006).
121
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
44. Gropp W., Snir M. MPI: The Complete Reference. Second edition. Cambridge,
MA: The MIT Press (1998).
45. HP-MPI User’s Guide. 11th Edition. Hewlett-Packard Development Company
(2007).
46. Lakhman K.V., Burtsev M.S. «The neural network model of evolution and
learning of goal-directed behavior». / FENS Forum Abstracts. Vol.5, 176.30
(2010).
47. Лахман К.В., Бурцев М.С. «Нейросетевая модель эволюции и обучения
целенаправленному поведению на основе формирования функциональных
систем». / XV Научная школа «Нелинейные волны -2010». Фундаментальные
и прикладные задачи нелинейной физики. Конференция молодых ученых.
Тезисы докладов. Н. Новгород: ИПФ РАН. Стр. 147-148 (2010).
122
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Приложение

Приложение А. Рекуррентная функция определения выхода произвольного
нейрона в нейронной сети агента

Приложение Б. Процедура вычисления коэффициента заполненности среды
 Приложение В. Процедура определения общей накопленной награды,
полученной агентом в течение жизни
 Приложение Г. Процедура проведения мутация типа «дупликация нейрона»
 Приложение Д. Процедуры проведения мутации типа «вставка нейрона» и
«вставка связи»
 Приложение Е. Процедуры генерации стартовых популяций для двух типов
эволюционных алгоритмов
 Приложение Ж. Подсистема генерации среды с иерархией целей
 Приложение З. Примеры различных сред
123
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Приложение А. Реккуррентная функция определения выхода произвольного нейрона в нейронной
сети агента
float Output(struct Genome *Neuron, int Agent)
{
if (Neuron->type == 0) // если это сенсорный нейрон
{
Neuron->CurrentOut = EnviromentVector[(Neuron->ID)-1];
return EnviromentVector[(Neuron->ID)-1];
}
else
if (Neuron->CurrentOut==Empty) // Если выход еще неозначен
{
struct ConGenome *tmp;
tmp=CurNetwork[Agent];
float h=Neuron->Cummulative; // Добавление прошлых "обратных" связей
Neuron->Cummulative=0;
while (tmp!=NULL)
{
if (((tmp->Out_ID)->ID==Neuron->ID)&&(tmp->Enabled))
if ((tmp->In_ID)->layer < Neuron->layer) // если связь прямая
{
h+= (tmp->Weight) * Output(tmp->In_ID, Agent);
tmp->check=true; // помечаем, что связь сработала
}
tmp=tmp->link;
}
Neuron->CurrentOut=tansig(h);
124
Пояснительная записка к дипломной работе «Разработк
целенаправленному поведению на основе теории функци
return tansig(h);
}
else return Neuron->CurrentOut;
};
Приложение Б. Процедура вычисления коэффициента заполненности и коэф
среды
float CoefFullEnvironment()
{
bool k_en[EnResolution]; // Массив вхождений какого-либо бита в цель
float CoefFull=0.0; // Коэффициент заполненности среды
for (int i=0;i<AimQuantity;i++)
{
for (int z=0;z<EnResolution;z++) k_en[z]=false;
for (int j=0;j<AimArray[i].Complexity;j++) // Определение битов, входящих в цель
k_en[AimArray[i].Aim[j].Number]=true;
float CoefFullAim=1; // Сложность цели
int k_enc=0; // Количество битов входящих в цель
// Вычисление сложности среды
for (int k=0;k<AimArray[i].Complexity;k++) // Подсчет вероятности совершения k последовател
CoefFullAim=CoefFullAim*(1.0/((float)EnResolution));
// Подсчет кол-ва битов входящих в цель
for (int k=0;k<EnResolution;k++) k_enc+=k_en[k];
// Подсчет вероятности нахождения битов в изначальных правильных состояний
for (int k=0;k<k_enc;k++) CoefFullAim=CoefFullAim*(0.5);
//----------------------
Пояснительная записка к дипломной работе «Разработк
целенаправленному поведению на основе теории функци
CoefFull+=CoefFullAim;
}
return CoefFull;
}
Приложение В. Процедура определения общей накопленной награды, получе
жизни
int FillReward(int Agent)
{
for (int i=0;i<LifeTime;i++)
{
for (int j=0;j<AimQuantity;j++)
if (AimArray[j].Complexity<=(i+1))
{
int stop=0;
int k=0;
do
{
// Примечание: если агент ничего не сделал то в Летописи записано 0, а значит все
if (AimArray[j].Aim[k].Number == (abs_f( LifeRecord[i-AimArray[j].Complexity + k + 1 ]) if (LifeRecord[i-AimArray[j].Complexity+k+1] < 0)
if (AimArray[j].Aim[k].Value==0) stop=0;
else stop=1;
else
if (AimArray[j].Aim[k].Value==1) stop=0;
else stop=1;
Пояснительная записка к дипломной работе «Разработк
целенаправленному поведению на основе теории функци
else stop=1;
k++;
}while ((!stop)&&(k<AimArray[j].Complexity));
if (!stop)
{
AimStatistic[j]+=1;
AimTemp[j]+=1;
AgentReward[Agent] += min(AimArray[j].Reward,
(i+1-AimArray[j].VisitTime)*AimArray[j].Reward/(float) TimeReward);
AimArray[j].VisitTime=i+1;
}
}
}
for (int i=0;i<AimQuantity;i++)
{
if (AimTemp[i]) AimStatPure[i]++;
AimTemp[i]=0;
}
return 0;
}
Приложение Г. Процедура проведения мутация типа «дупликация нейрона»
int NeuronDuplicate(Genome *KidNeuron, ConGenome *KidSinaps)
{
struct ConGenome *LastSinaps;
LastSinaps = KidSinaps;
int ConQuantity=0; // Количество старых связей
Пояснительная записка к дипломной работе «Разработк
целенаправленному поведению на основе теории функци
// Нахождение последнего гена связей и подсчет текущего количества связей в потомке
while (LastSinaps->link!=NULL)
{
ConQuantity++;
LastSinaps=LastSinaps->link;
}
ConQuantity++;
//----------------------------struct Genome *LastNeuron;
LastNeuron=KidNeuron;
while (LastNeuron->link!=NULL) LastNeuron = LastNeuron->link; // Нахождение последнего нейро
int NeuronQt = LastNeuron->ID; // Количество старых нейронов
struct Genome *tmpGen;
tmpGen = KidNeuron;
do
// До тех пор пока не пройдены все старые нейроны
{
if (tmpGen->type == 1) // Если текущий нейрон - внутренний
{
bool Duplicate = (rand()%10001<DuplicateNeuronProb/max(1.0,(float) (NeuronQt-NeuronNetS
// Введена поправка, уменьшающая вероятность дупликации с ростом нейросетевой стру
if (Duplicate)
{
struct ConGenome *tmpConGen;
tmpConGen = KidSinaps;
// Создание нового нейрона
LastNeuron->link=new Genome;
LastNeuron->link->ID = LastNeuron->ID + 1;
Пояснительная записка к дипломной работе «Разработк
целенаправленному поведению на основе теории функци
LastNeuron=LastNeuron->link;
LastNeuron->link = NULL;
LastNeuron->layer = tmpGen->layer;
LastNeuron->type = 1;
//-------------------------
do
// До тех пор пока не пройдены все старые связи
{
if ( (tmpConGen->In_ID->ID == tmpGen->ID) || (tmpConGen->Out_ID->ID == tmpGen->ID
// Если текущая связь является входной или выходной для текущего нейрона
{
// Копирование связи
LastSinaps->link = new ConGenome;
LastSinaps->link->ID = LastSinaps->ID + 1;
LastSinaps=LastSinaps->link;
LastSinaps->link=NULL;
LastSinaps->Enabled = tmpConGen->Enabled;
if (LastSinaps->Enabled) LastSinaps->DisPop=0;
else LastSinaps->DisPop=EvolutionStep;
LastSinaps->InnNumber = tmpConGen->InnNumber;
if (tmpConGen->In_ID->ID == tmpGen->ID) // Если текущая связь является выходно
{
LastSinaps->Out_ID = tmpConGen->Out_ID;
LastSinaps->In_ID = LastNeuron;
// Деление исходящей связи пополам
LastSinaps->Weight= tmpConGen->Weight / 2;
tmpConGen->Weight = tmpConGen->Weight / 2;
//---------------------------------
Пояснительная записка к дипломной работе «Разработк
целенаправленному поведению на основе теории функци
}
else
{
LastSinaps->In_ID = tmpConGen->In_ID;
LastSinaps->Out_ID = LastNeuron;
LastSinaps->Weight= tmpConGen->Weight;
}
}
tmpConGen=tmpConGen->link;
}while ( (tmpConGen!=NULL)&&(tmpConGen->ID<=ConQuantity) );
} // Duplicate
}
tmpGen=tmpGen->link;
}while ( (tmpGen!=NULL)&&(tmpGen->ID<=NeuronQt) );
return 0;
}
Приложение Д. Процедуры проведения мутации типа «вставка нейрона» и «в
//------------------- Проведение мутации типа "вставка нейрона" для NEAT ----------------------------int NeuronInsert(ConGenome *KidSinaps,int ParentNumber, int *InID, int *OutID, int *CheckNewLayer
{
int k=0; // Признак возникновения нового слоя
int NewNodeLayer;
int NewConNumber = rand()%ConEnQuantity[ParentNumber]+1;
Пояснительная записка к дипломной работе «Разработк
целенаправленному поведению на основе теории функци
struct ConGenome *tmpConGen;
tmpConGen=KidSinaps;
int ConCount=0;
// Определение разделяемой связи
while ((ConCount!=NewConNumber) && (tmpConGen!=NULL))
{
if (tmpConGen->Enabled) ConCount++;
if (ConCount!=NewConNumber) tmpConGen=tmpConGen->link;
}
//-----------------------------tmpConGen->Enabled=false;
tmpConGen->DisPop=EvolutionStep;
// Определение слоя нового нейрона
if ( (tmpConGen->In_ID)->layer < (tmpConGen->Out_ID)->layer )
// Если постсинаптический нейрон находился в более высоком слое
if ( ( (tmpConGen->Out_ID)->layer - (tmpConGen->In_ID)->layer ) == 1) // Если нейроны находи
{
NewNodeLayer=(tmpConGen->Out_ID)->layer; // Слой нового нейрона равен слою постсин
k=1;
}
else
{
NewNodeLayer=(tmpConGen->In_ID)->layer + 1;
// Новый нейрон помещается в следующий слой после пресинаптического нейрона
}
else if( (tmpConGen->In_ID)->layer > (tmpConGen->Out_ID)->layer )
// Если пресинаптический нейрон находился в более высоком слое
Пояснительная записка к дипломной работе «Разработк
целенаправленному поведению на основе теории функци
if ( ( (tmpConGen->In_ID)->layer - (tmpConGen->Out_ID)->layer ) == 1) // Если нейроны нахо
{
NewNodeLayer=(tmpConGen->In_ID)->layer;// Слой нового нейрона равено слою пресин
k=1;
}
else
{
NewNodeLayer=(tmpConGen->In_ID)->layer -1; // Новый нейрон помещается в слой пер
}
else // Если нейроны находились в одном слое
{
NewNodeLayer=(tmpConGen->In_ID)->layer;
k=2;
}
*InID = tmpConGen->In_ID->ID;
*OutID = tmpConGen->Out_ID->ID;
*CheckNewLayer = k;
*NewNeuronLayer=NewNodeLayer;
return 0;
}
//------------------- Проведение мутации типа "добавление связи" ----------------------------int AddSinaps(Genome *KidNeuron, ConGenome *KidSinaps, int ParentNumber,int *In_Node,int *Out_
int *ShiftLayer)
{
int FaultQt = 0; //Количество ложных генераций связи - введено, чтобы не было зацикливания
int InNode, OutNode;
Пояснительная записка к дипломной работе «Разработк
целенаправленному поведению на основе теории функци
int out=0;
int AddCon=1;
int _Shift=0; // Детекция сдвига в следующий слой постсинаптического нейрона (для модифици
int _ShiftLayer=0; // Номер слоя сдвигаемого постисанптического нейрона (для модифицирова
do
{
InNode=rand()%(NeuronQuantity[ParentNumber])+1;
OutNode=rand()%(NeuronQuantity[ParentNumber])+1;
struct ConGenome *tmpConGen;
tmpConGen=KidSinaps;
while ((tmpConGen!=NULL)&&((tmpConGen->In_ID->ID!=InNode)||(tmpConGen->Out_ID->ID!=O
tmpConGen=tmpConGen->link;
FaultQt++;
out=0;
if (FaultQt>1000) out=1; // Если число ошибочной генерации превысило максимум, то выходи
else if (tmpConGen==NULL) // Еcли нет такой связи в сети
if (OutNode>EnResolution) // Если постисаптический нейрон не сенсорный нейрон
if ( (OutNode>(EnResolution+OutResolution)) || (InNode<=EnResolution) || (InNode>(EnR
//Если постсинаптический и пресинаптический нейроны не являются одновременн
// или тоже самое - ( (FaultQt>=1001) || ( (tmpConGen==NULL) && ( (OutNode>(
(InNode<=EnResolution) || (InNode>(EnResolution+OutResolution)) ) && (OutNod
}while (!out);
if (FaultQt>1000) AddCon=0;
// Детекция необходимости сдвига постсинаптического нейрона в следующий слой, если появ
одного слоя (используется для модернизированного эволюционного алгоритма)
if (AddCon)
{
struct Genome *tmpGen;
Пояснительная записка к дипломной работе «Разработк
целенаправленному поведению на основе теории функци
tmpGen = KidNeuron;
int inlayer,outlayer;
while (tmpGen!=NULL)
{
if (tmpGen->ID==InNode) inlayer = tmpGen->layer;
if (tmpGen->ID==OutNode) outlayer = tmpGen->layer;
tmpGen=tmpGen->link;
}
if (inlayer == outlayer)
{
_Shift = 1;
_ShiftLayer=inlayer;
}
}
*In_Node = InNode;
*Out_Node = OutNode;
*Add_Con = AddCon;
*Shift = _Shift;
*ShiftLayer = _ShiftLayer;
return 0;
}
Приложение Е. Процедуры генерации стартовых популяций для двух типов
алгоритмов
// Процедура генерации стартовой популяции для модернизированного эвлюционного алгоритм
int InitFirstGeneration_ModernEvolution()
Пояснительная записка к дипломной работе «Разработк
целенаправленному поведению на основе теории функци
{
char filename[255];
int PrRank;
MPI_Comm_rank(MPI_COMM_WORLD, &PrRank); // Определение процессом своего номера
sprintf(filename,"%sGenerationX_%i.txt",WorkDir,PrRank+ProgNum);
hOUT = fopen(filename,"w");
for (int i=0;i<AgentPopulation;i++)
{
if (NetworkRoutine==1) // Если используется "одновременный" режим работы нейросети
{
for (int j=0;j<EnResolution;j++)
{
sprintf(filename,"1\n");
fprintf(hOUT,"%s",filename);
}
for (int j=0;j<OutResolution;j++)
{
sprintf(filename,"3\n");
fprintf(hOUT,"%s",filename);
}
sprintf(filename,"2\n");
fprintf(hOUT,"%s",filename);
sprintf(filename,"|\n");
fprintf(hOUT,"%s",filename);
}
else // Если используется "синхронный" режим
{
int NeuronQt=EnResolution+OutResolution+1;
Пояснительная записка к дипломной работе «Разработк
целенаправленному поведению на основе теории функци
sprintf(filename,"%i\n|\n",NeuronQt);
fprintf(hOUT,"%s",filename);
}
for (int j=0;j<EnResolution;j++)
{
sprintf(filename,"%i\t%i\t%.6f\t1\t%i\t%i\n",j+1,EnResolution+OutResolution+1,((rand()%2001)fprintf(hOUT,"%s",filename);
}
for (int j=0;j<OutResolution;j++)
{
sprintf(filename,"%i\t%i\t%.6f\t1\t%i\t%i\n",EnResolution+OutResolution+1,EnResolution+j+1,((
fprintf(hOUT,"%s",filename);
}
sprintf(filename,"||\n");
fprintf(hOUT,"%s",filename);
}
fclose(hOUT);
return 0;
};
// Процедура генерации стартовой популяции для NEAT
int InitFirstGeneration_NEAT()
{
char filename[255];
int PrRank;
MPI_Comm_rank(MPI_COMM_WORLD, &PrRank); // Определение процессом своего номера
sprintf(filename,"%sGenerationX_%i.txt",WorkDir,PrRank+ProgNum);
hOUT = fopen(filename,"w");
Пояснительная записка к дипломной работе «Разработк
целенаправленному поведению на основе теории функци
for (int i=0;i<AgentPopulation;i++)
{
if (NetworkRoutine==1) // Если используется "одновременный" режим работы нейросети
{
for (int j=0;j<EnResolution;j++)
{
sprintf(filename,"1\n");
fprintf(hOUT,"%s",filename);
}
for (int j=0;j<OutResolution;j++)
{
sprintf(filename,"2\n");
fprintf(hOUT,"%s",filename);
}
sprintf(filename,"|\n");
fprintf(hOUT,"%s",filename);
}
else // Если используется "синхронный" режим
{
int NeuronQt = EnResolution+OutResolution;
sprintf(filename,"%i\n|\n", NeuronQt);
fprintf(hOUT,"%s",filename);
}
for (int j=0;j<OutResolution;j++)
for (int k=0;k<EnResolution;k++)
{
sprintf(filename,"%i\t%i\t%.6f\t1\t%i\t%i\n",k+1,j+EnResolution+1,((rand()%2001)-1000)/10
Пояснительная записка к дипломной работе «Разработк
целенаправленному поведению на основе теории функци
fprintf(hOUT,"%s",filename);
}
sprintf(filename,"||\n");
fprintf(hOUT,"%s",filename);
}
fclose(hOUT);
return 0;
};
Приложение Ж. Подсистема генерации среды с иерархией целей
int Gen()
{
srand((unsigned) time(0));
for (int i=0; i<AimQuantity; i++)
{
AimArray[i].Complexity = rand()%(MaxCompl-MinMaxCompl+1)+MinMaxCompl;
AimArray[i].MinComplexity = rand()%(AimArray[i].Complexity-MinCompl+1)+MinCompl;
for (int j=0;j<AimArray[i].Complexity;j++)
{
int CurPos;
int CurVal;
int stop=0;
do
{
CurPos=rand()%EnResolution;
CurVal=rand()%2;
int k=j-1;
stop=0;
while ((!stop) && (k!=-1))
{
Пояснительная записка к дипломной работе «Разработк
целенаправленному поведению на основе теории функци
if (AimArray[i].Aim[k].Number == CurPos) stop=1;
k--;
}
if (stop == 1)
if (AimArray[i].Aim[k+1].Value != CurVal) stop=0;
}while (stop);
AimArray[i].Aim[j].Number=CurPos;
AimArray[i].Aim[j].Value=CurVal;
}
}
int AimTotalQuantity=0;
for (int i=0;i<AimQuantity;i++)
AimTotalQuantity+=AimArray[i].Complexity - AimArray[i].MinComplexity + 1;
char filename[255];
strcpy(filename,"C:\\En.txt");
hOUT = CreateFile (filename, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL);
sprintf(filename,"%i\n%i\n",EnResolution,AimTotalQuantity);
WriteFile (hOUT, filename, strlen(filename), &RW, NULL);
for (int i=0;i<AimQuantity;i++)
for (int j=0;j<AimArray[i].Complexity - AimArray[i].MinComplexity + 1;j++)
{
//case AimArray[i].MinComplexity + j of
int Compl=AimArray[i].MinComplexity + j;
if (Compl==2) Reward=20;
else if (Compl==3) Reward=60;
else if (Compl==4) Reward=120;
else Reward=200;
sprintf(filename,"%i\t%i\n",AimArray[i].MinComplexity + j, Reward);
WriteFile (hOUT, filename, strlen(filename), &RW, NULL);
for (int k=0;k<AimArray[i].MinComplexity + j;k++)
{
sprintf(filename,"%i\t%i\t",AimArray[i].Aim[k].Number,AimArray[i].Aim[k].Value);
WriteFile (hOUT, filename, strlen(filename), &RW, NULL);
Пояснительная записка к дипломной работе «Разработк
целенаправленному поведению на основе теории функци
}
sprintf(filename,"\n");
WriteFile (hOUT, filename, strlen(filename), &RW, NULL);
}
CloseHandle(hOUT);
return 0;
}
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Приложение З. Примеры различных сред
Среда 1.1. (8 целей)
2
20
41
2
30
20
61
3
21
60
11
2
10
20
11
3
70
60
11
4
20
70
20
41
70
20
41
31
01
200
11
3
70
120
11
5
51
40
60
51
Среда 1. 8. (22 цели)
3
60
10
4
01
61
71
50
61
71
50
61
200
21
2
51
120
21
5
31
20
40
4
51
120
10
2
31
70
20
41
40
141
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
2
20
21
3
60
21
4
30
31
70
70
50
61
21
30
51
30
51
41
50
21
21
30
20
41
3
60
60
50
2
30
20
50
3
60
120
60
2
60
60
60
4
10
120
01
3
20
60
10
4
11
20
10
3
31
120
31
2
01
60
31
4
51
20
31
3
01
120
30
2
51
120
21
4
51
50
60
41
50
11
142
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
Среда 1. 10. (26 целей)
2
20
11
3
60
11
4
60
71
10
30
61
30
50
30
40
40
60
40
60
10
20
51
3
10
120
20
2
71
60
20
4
60
20
20
3
71
20
50
2
60
60
11
2
61
20
01
3
40
200
51
2
30
120
51
5
70
60
51
4
30
20
60
3
70
120
11
2
70
60
60
51
60
40
143
Пояснительная записка к дипломной работе «Разработка и реализация нейросетевой модели эволюции и обучения
целенаправленному поведению на основе теории функциональных систем» Студент: Лахман К.В. Группа К10-221
3
60
40
4
50
50
51
50
51
70
11
71
60
11
71
60
60
30
60
30
01
60
30
01
10
120
11
5
71
60
11
4
11
200
31
3
50
120
31
5
31
120
51
4
11
60
51
4
50
20
51
3
31
200
40
2
50
120
40
5
31
200
11
40
144
Download