Система поведения Q-Learning для воплощенных агентов

Это эссе знакомит с системой поведения, основанной на Q-обучении, для воплощенных агентов, включая роботов и персонажей видеоигр.

Самые последние истории успеха обучения с подкреплением (RL) были сосредоточены на достижении сверхчеловеческого уровня производительности в некоторых виртуальных задачах - будь то видеоигра или тест управления роботами. Отдельная и менее сенсационная ветвь обучения с подкреплением - это то, что можно назвать нормативным обучением с подкреплением, и оно направлено на имитацию субъективных представлений о поведении человека или животных. Здесь цель состоит не в оптимизации для достижения произвольного уровня совершенства, а в том, чтобы воспроизвести нечто «похожее на человека» или «подобное животному». Хотя этот подход еще не получил тех же заголовков, что и другие примеры RL, он, несомненно, приведет к появлению многих важных вариантов использования в будущем. Возьмем, к примеру, появление видеоигр с открытым миром, требующих высокоточного представления поведения человека и животных, или случай с роботами для ухода за пожилыми людьми, где сверхчеловеческий уровень производительности может на самом деле казаться чуждым и дезориентирующим.

В этом эссе я представляю систему поведения для воплощенных агентов, использующую популярный алгоритм обучения Q и направленную на нормативное обучение с подкреплением. Несмотря на то, что эта интуиция ориентирована на игровые движки, ее можно распространить на другие платформы, и мы надеемся, что она вдохновит на множество вариантов использования. Q-обучение также является основой для более продвинутых систем интеллектуального поведения, таких как те, что можно найти в Autonomous Emotions Toolkit, о котором я писал в другом месте. Хотя в этой статье я подробно расскажу о системе поведения, те, кто желает более глубокого изучения, могут загрузить файлы проекта для системы поведения с сопутствующим учебным пособием.

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

В представленной системе поведения я использую Q-обучение и его таблицы для управления обучением синтетического агента или NPC (неигрового персонажа). Алгоритм обучения Q - это, по сути, метод обратной индукции, позволяющий агенту перераспределять информацию о вознаграждении назад во времени по состояниям и действиям, которые привели ее в желаемое место. Таким образом, награда, требующая произвольной длительной серии действий, может быть разделена на предыдущие состояния, которые агент предпринял, чтобы попасть туда. Когда этот процесс повторяется достаточно много раз, например, когда сливки поднимаются на поверхность, агент узнает, какие действия и сигналы окружающей среды способствовали получению награды, а какие нет.

Уравнение обучения Q приведено ниже, где пары состояния и действия относятся к координатам в таблице Q и таблице вознаграждений соответственно, а гамма - это фиксированная ставка дисконтирования между 0 и 1. Гамма определяет, насколько агент оценивает вознаграждения в настоящее время по сравнению с будущими.

Q (состояние, действие) = R (состояние, действие) + Gamma * Max [Q (следующее состояние, все действия)]

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

Пример реального соответствия типовой задаче, выполненной на приматах. Изображение Цитата: Поррино Л.Дж., Даунаис Дж. Б., Роджерс Г. А., Хэмпсон Р. Э., Дедвайлер С. А. (2005) Содействие выполнению задач и устранение последствий лишения сна с помощью ампакина (CX717) у нечеловеческих приматов. PLoS Biol 3 (9): e299.

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

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

Снимок экрана из Q Learning Behavior System, когда агент учится решать сопоставление с образцом задачи.

После достаточно долгого исследования агент продемонстрирует намеренное поведение, сначала подойдя к переключателю (конусу), а затем подойдя к миске с едой, когда горит свет, чтобы получить награды. Та же самая система может использоваться для обеспечения широкого разнообразия преднамеренных действий, в том числе избегания вражеских игроков, сбора очков здоровья и многих действий, которые человек или животное способны проявлять в игровой среде. В модифицированной версии этого примера агент учится приближаться к персонажу игрока за «пищевым вознаграждением» так же, как собака или кошка могут научиться приближаться к человеческому хозяину за угощением.

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

Аарон Круминьш - внештатный разработчик программного обеспечения, связанного с искусственным интеллектом.