В
предыдущих параграфах была описана модель работы мозга, объясняющая теорию
функциональных систем П. К. Анохина. Настало время экспериментальной
проверки работоспособности теории.
Рис.
38
Цель данного параграфа в
том, чтобы, основываясь на полученной модели, построить некоторый простейший
анимат и показать, что он обучается достаточно эффективно и, по крайней мере,
не хуже, чем на основании существующих подходов, основанных на нейронных сетях
и потактовом обучении (Reinforcement Learning) [28].
Такой
анимат создан, запрограммирован и проведены машинные эксперименты по его
обучению. Результаты сравнения его поведения, основанные на предложенной модели
и моделях, основанных на Reinforcement Learning, показали, что предложенная
модель обучается и действует эффективней.
Система
управления аниматом. В
соответствии с теорией функциональных систем будем считать, что моделируемая
система управления аниматом имеет иерархическую архитектуру, в которой базовым
элементом системы управления является отдельная функциональная система (ФС).
При такой архитектуре функциональные системы верхнего уровня ставят цели
системам нижнего уровня. При этом можно считать, что каждая ФС решает задачу
достижения цели, используя те же методы, что и остальные ФС. На рис.
38 приведена архитектура системы управления аниматом.
Задачи отдельной
функциональной системы:
–
При заданной цели
(подцели) и известной информации об окружающей среде и состоянии ФС, найти
оптимальный способ достижения цели.
–
Если на основе
прогноза найдено действие, обеспечивающие достижение цели, то дать команду на
выполнение этого действия.
–
Осуществить
контроль правильности выполнения действия, т. е. проверить соответствие
параметров достигнутого и желаемого результатов.
Рис. 39
Модель работы
функциональной системы. На рис.
39 приведена модель работы функциональной системы. Будем считать, что в некоторый
момент времени ФС ставиться цель
Среди условий
Активация закономерностей
Прогноз ожидаемого
результата
Данные о полученном
результате
Семантический вероятностный
вывод позволяет найти набор PR
закономерностей вида
АФФЕРЕНТНЫЙ СИНТЕЗ и ПРИНЯТИЕ
РЕШЕНИЙ Выбор действий Ai = áAi1,…,Ainñ и подцелей Pi1,…,PinÌ {Pi1,…,Pik}, обеспечивающих максимальную вероятность
достижения цели P0 по закономерностям áPi1,…,Pik, Aiñ ® P0 Запрос на достижение Цели P0 Прогноз достижения цели P0 при выполнении действия Ai АКЦЕПТОР РЕЗУЛЬТАТОВ ДЕЙСТВИЙ Ожидание результата P0 и подрезультатов Pi1,…,Pin Вероятность достижения цели P0 Афферентация Pi1,…,PimÌ {Pi1,…,Pik} АФФ Синт. Прин. Реш. АК Рез. Действий АФФ Синт. Прин. Реш. АК Рез. Действий АФФ Синт. Прин. Реш. АК Рез. Действий АФФ Синт. Прин. Реш. АК Рез. Действий
Афферентация A1 A2 A3 A4 R1 R2 R3 R4 Рис. 40 Pi1 Pi2 Pi3 Pi4 Pi1 Pi2 Pi3 Pi4
Иерархия функциональных систем. Представим на рис. 40 функциональные
системы более схематично. Рассмотрим два уровня иерархии ФС. Функциональные системы не являются раз и
навсегда заданными образованьями. Они меняются и формируются в зависимости от
целей. Цели и подцели, в свою очередь, тоже формируются в зависимости от
успешности достижения конечных целей. Покажем, как с помощью закономерностей
могут автоматически формироваться цели и подцели.
Расширим понятие результата так, чтобы он мог автоматически
формироваться в процессе целенаправленных действий в сложной вероятностной
среде:
a) результат должен
обладать свойством ветвления: если получен некоторый результат, то дальнейшие
действия могут определяться неоднозначно;
b) результат должен
содержать набор признаков, которые определяют, что цель цепочки действий
достигнута и можно переходить к одной из следующих цепочек действий, т. е.
результат – это фиксация законченности действия, обеспечивающая возможность
осуществления некоторого следующего действия.
P1 P2 P3 P4 P1
Условие
b также выполнено, так как сигналы от
обратной афферентации, свидетельствующие о действительном завершении
предыдущего действия, увеличивают вероятность достижения результата следующего
действия.
Описание
модели. Приведем
схему работы анимата, реализующую схему функциональных систем. Будем
предполагать, что система управления аниматом функционирует в дискретном
времени
Введем понятие предиката-цели
Каждой функциональной
системе
Каждая
Предположим, что в
некоторый момент времени t система
где p
– оценка вероятности данной закономерности,
Оценка
результатов действий. Предположим,
что системой
где
||…|| – мера близости между полученным результатом
Генерация
правил. Для
получения множества закономерностей
Семантический вероятностный
вывод позволяет находить все закономерности вида
Данный метод основывается
на следующем определении вероятностной закономерности.
Правило
1)
2)
Здесь
p
– оценка условной вероятности правила.
Введем понятие уточнения правила. Правило
Алгоритм
семантического вероятностного вывода.
На первом шаге генерируется множество уточнений правила
На k-м (k > 1)
шаге генерируется множество уточнений всех правил, созданных на предыдущем
шаге, т.е. для каждого правила
Проверяется нельзя ли из
полученных правил удалить какой-то из предикатов так, чтобы при этом условная
вероятность правила выросла. Если можно, то такие предикаты удаляются из
правила. Алгоритм останавливается, когда больше невозможно уточнить ни одно
правило,
Для того чтобы избежать
генерации статистически незначимых правил, вводится дополнительный критерий –
оценка на статистическую значимость. Правила, не удовлетворяющие этому
критерию, отсеиваются, даже если они имеет высокую точность на обучающем
множестве. Для оценки статистической значимости в алгоритме используется
критерий Фишера (точный критерий Фишера для таблиц сопряженности).
Очевидно, что все правила,
полученные при помощи данного алгоритма, будут являться закономерностями. Чтобы
найти все закономерности
Извлечение
подцелей. Изначально
система управления аниматом имеет заданную априори иерархию ФС. В простейшем случае она
может состоять всего из одной ФС.
В процессе деятельности система управления может автоматически выявлять новые
подцели и порождать новые ФС.
Опишем процедуру порождения новых подцелей и ФС.
Предварительно определим
два типа подцелей.
Подцелями первого типа
будем называть ситуации, из которых достижение вышестоящей цели прогнозируется
одним правилом, содержащим одну цепочку действий, с высокой вероятностью
(близкой к 1).
Подцелями второго типа
будем называть ситуации, которые увеличивают вероятность достижения вышестоящей
цели, но при этом дальнейшие действия могут определяться неоднозначно.
Для выявления подцелей
первого типа среди множества правил PRj выбираются правила вида
Для выявления подцелей
второго типа рассматриваются правила с достаточно высокой оценкой условной
вероятности
Таким образом, порождается
новая подцель
Если существует правило
Если существуют правила
Затем, для каждой
выявленной подцели
Описание эксперимента. Для исследования описанной выше системы управления был поставлен
следующий простой эксперимент. При помощи компьютерной программы был смоделирован
виртуальный мир и анимат, основной целью которого является обнаружение
специальных объектов виртуального мира – «еды». Анимат должен научиться
эффективно находить и собирать еду.
Мир анимата представляет
собой прямоугольное поле, разбитое на клетки, и содержит три типа объектов:
пустые клетки («трава»), препятствия («препятствие»), и еду («еда»). Объекты
«препятствие» располагаются только по периметру виртуального мира, образуя тем
самым его естественные границы. Анимат может совершать три типа действий:
шагнуть на клетку вперед («шаг»); повернуть налево («налево»); повернуть
направо («направо»). Когда анимат шагает на клетку, содержащую еду, считается,
что он ее «поедает», клетка, на которой находилась еда, очищается и новый
объект «еда» случайным образом появляется в другом месте поля. Таким образом,
количество еды в виртуальном мире остается постоянным.
Также анимат обладает 19
сенсорами, девять из которых информируют его о наличие еды («еда на
северо-западе», «еда на севере», «еда на северо-востоке», «еда на западе», «еда
здесь», «еда на востоке», «еда на юго-западе», «еда на юге», «еда на
юго-востоке»), еще 9 сенсоров предоставляют информацию о препятствиях
(«препятствие на северо-западе», «препятствие на севере», «препятствие на
северо-востоке», «препятствие на западе», «препятствие на востоке»,
«препятствие на юго-западе», «препятствие на юге», «препятствие на
юго-востоке») и один сенсор говорит о направлении анимата («направление»).
Сенсор направления показывает ориентацию анимата относительно виртуального мира
и может принимать следующие значения: «север», «восток», «юг» и «запад».
Сенсоры еды и препятствий информируют о наличии данных объектов на клетке, на
которой находится анимат, и на соседних с ней клетках, и принимают значения
«да» или «нет». Показания этих сенсоров не зависят от ориентации анимата,
т. е. сколько бы анимат ни крутился на одном месте, их показания не
изменятся. Таким образом, чтобы эффективно ориентироваться в виртуальном мире,
анимат должен научиться сопоставлять свое направление с положением еды и
принимать решение о соответствующем действии.
Изначальный набор
предикатов анимата состоит из 22 сенсорных предикатов – по одному на каждый
сенсор еды и препятствий s: (s = «да») и четыре на сенсор
направления: («направление» = «север»);
(«направление» = «восок»);
(«направление» = «юг»); («направление» = «запад»); а также трех
активирующих предикатов: (А = «шаг»); (А = «налево»); (А = «направо»).
Изначально система
управления аниматом имеет только одну ФС, целью которой является ощущение наличия еды сенсором «еда
здесь», соответствующий предикат-цель имеет вид («еда здесь» = «да»). Когда анимат достигает эту цель, то
считается, что он «поедает» еду.
Еда
здесь Еда на Востоке И Направление Восток Рис. 41 Еда на Севере И Направление Север Еда на Юге И Направление Юг Еда на Западе И Направление Запад Е Еда на Севере Еда на Востоке Еда
на Юге Еда
на Западе
Результаты эксперимента. Одной из основных задач эксперимента была
демонстрация возможности автоматического формирования иерархии целей и
результатов при целенаправленном поведении. В ходе эксперимента системой
управления аниматом были обнаружены подцели, достижение которых значительно
увеличивает вероятность достижения цели. Пример первых двух уровней иерархии
целей, сформированной аниматом, представлен на рис. 41. На рисунке пунктирной линией обозначена основная
цель анимата, сплошной линией – подцели первого типа. Подцели, обозначенные
двойной линией, – это подцели второго типа, поскольку они увеличивают
вероятность достижения вышестоящей цели, но при этом дальнейшие действия
определяются неоднозначно. К примеру, если после достижения подцели «Еда на
севере» анимат направлен на восток, то ему надо повернуть налево, а если он
направлен на запад – то направо.
Приведем пример, каким
образом анимат использует выработанную им иерархию ФС для достижения цели. Допустим, что анимат
ориентирован на восток и сенсор «еда на северо-востоке» обнаружил еду. Очевидно, что в данной ситуации, чтобы
получить результат, анимат должен совершить три действия: шагнуть вперед,
повернуть налево и шагнуть вперед. Рассмотрим, какие цепочки запросов
сформирует система управления аниматом, начиная с самой верхней системы:
Еда здесь → Еда на
Севере & Направление Север → Еда на Севере.
Последняя функциональная
система по закономерности
(еда на
северо-востоке)&(направление = восток)&(действие = шаг) → (еда на
севере)
с вероятностью 1 запустит
на выполнение действие «шаг». Таким образом, будет достигнута подцель «Еда на
Севере». По закономерности
(еда на
севере)&(направление = восток) &(действие = налево) →(еда на
севере & направление = север)
с вероятностью 1 анимат
повернет налево и достигнет подцель «Еда на Севере & Направление Север». И,
наконец, по закономерности
(еда на севере) &
(направление = север) & (действие = шаг) → (еда здесь)
анимат шагнет вперед, в
результате чего будет достигнута цель, и еда будет «съедена».
Для того чтобы оценить
эффективность описанной модели, было решено провести сравнение данной системы
управления с системами, построенными на основании теории обучения с подкреплением
(Reinforcement Learning), описанной в
работах [148].
Для сравнения мы выбрали
две системы управления, построенные на основе популярного алгоритма обучения с
подкреплением Q-Learning. Суть алгоритма заключается в последовательном
уточнении оценок суммарной величины награды
Первая из этих двух систем
(Q-Lookup Table) основана на
использовании таблицы, которая содержит Q-значения для всех возможных ситуаций
и действий. Изначально эти значения таблицы заполняются случайным образом. В
процессе работы в каждый такт времени система совершает действие и уточняет соответствующие
Q-значения.
Вторая система (Q-Neural Net) использует аппроксимацию
функции
Для эксперимента было
выбрано поле размером 25 на 25 клеток. Весь период функционирования анимата был
разбит на этапы по 1 000 шагов (тактов). Изначально все системы делают
5 000 случайных шагов, чтобы накопить статистику и исследовать окружающую
среду, после чего начинают функционировать в обычном режиме. Оценивалось, какое
количество еды соберет анимат с разными системами управления за каждый этап
работы. Очевидно, что после того как
система управления полностью обучится и достигнет своего оптимального
поведения, анимат начнет собирать примерно одно и то же количество еды за один
этап. Таким образом, можно оценить как эффективность каждой системы управления
в целом, так и скорость её обучения.
Было проведено несколько
экспериментов, в ходе которых исследовалась эффективность и скорость обучения
каждой системы управления в случаях с различной плотностью заполнения среды
едой.
Система управления на
основе семантического вероятностного вывода во всех случаях показывала более
высокую скорость обучения и качество работы по сравнению с системами Reinforcement Learning. Обычно уже после
8,000–10,000 тактов работы система полностью обучалась и достигала своего
оптимального поведения.
Система управления на
основе нейронных сетей (Q-Neural Net)
с использованием отдельной сети для каждого действия не смогла обучиться даже
после 100,000 шагов. По этой причине в систему были внесены следующие
изменения. Во-первых, было решено использовать по одной нейронной сети для
каждого действия и каждого направления анимата. Таким образом, с учетом трех
действий и четырех возможных направлений, система использовала 12 нейронных
сетей. Во-вторых, задача для системы управления была упрощена путем уменьшения
вдвое числа сенсоров, т. е. вместо 18 сенсоров на вход системы подавалось
только 9 сенсоров, информирующих о наличии еды. Полученная таким образом система
уже смогла научиться решать поставленную задачу.
Нейросетевая система
управления оказалась чувствительна к плотности заполнения поля едой. При
большой плотности заполнения система обучается быстрее. Так, при количестве еды
на поле, равным 200, система достигает оптимального поведения в среднем через
30,000–40,000 эпох, тогда как при количестве еды равно 100 – через
70,000–80,000. При количестве еды равным 50 и меньше система перестает
обучаться. Вероятно, это связано с чувствительностью алгоритма Back Propagation к числу показов
отдельных примеров: чем меньше еды на поле, тем меньшее количество раз
нейронной сети предъявляются примеры, связанные с достижением аниматом цели,
соответственно тем меньше влияние этих примеров на процесс обучения. Кроме
того, при уменьшении количества еды на поле, сильно возрастает нестабильность
работы системы. Иначе говоря, при небольшой плотности заполнения едой анимат
чаще попадает в ситуации, когда он длительное время не может встретить еду, в
результате чего система начинает «разобучаться».
Системы управления с
использованием таблицы Q-значений показала плохое качество работы, что
объясняется достаточно большим количеством возможных ситуаций: с учетом трех
действий и четырех направлений возможно 9 984 различных ситуаций.
Результаты экспериментов показывают, что даже после 100 000 тактов работы
система управления в среднем просматривает только около 4 000 ситуаций.
Таким образом, даже после длительного времени обучения возникают ситуации,
когда система реагирует неадекватно. Кроме того, система оказалась крайне
нестабильной.
Рис. 42
Система на основе таблицы значений, так же как и
система на основе нейронных сетей, оказалась чувствительной по отношению к
плотности заполнения среды едой. Однако в отличие от нейросетевой системы
управления данная система лучше обучается при небольшой плотности заполнения.
Это связано с тем, что при малом количестве еды вероятность попасть в ситуацию,
в которой анимат уже был ранее, значительно выше, чем при большом количестве
еды. Соответственно система управления обучается поведению в наиболее вероятных
ситуациях. Но с уменьшением количества еды также возрастает и нестабильность
системы. Наилучшие результаты были
достигнуты при количестве еды, равном 100.
На рис. 42 представлены результаты экспериментов для случая,
когда количество еды на поле поддерживалось равным 100. Для каждой системы
управления рассчитывались средние значения по 20 испытаниям.
В данной модели анимата
используется только простейший способ формирования подцелей. Но уже это дает
значительные преимущества в обучении. Поэтому необходимо провести дальнейшие
исследования возможности автоматического формирования целей, которые в итоге
должны дать возможность автоматического построения иерархии целей.