339 lines
39 KiB
TeX
339 lines
39 KiB
TeX
|
\documentclass{article}
|
|||
|
|
|||
|
\input{../common-preamble}
|
|||
|
\input{../bmstu-preamble}
|
|||
|
\input{../fancy-listings-preamble}
|
|||
|
\author{Алфимцев Александр Николаевич}
|
|||
|
\title{Мультиагентные интеллектуальные системы}
|
|||
|
\date{2022-09-05}
|
|||
|
|
|||
|
\begin{document}
|
|||
|
\maketitle
|
|||
|
\tableofcontents
|
|||
|
|
|||
|
\section{Лекция 1}
|
|||
|
по числителям
|
|||
|
RL, MARL
|
|||
|
|
|||
|
\section{Лекция 2}
|
|||
|
\subsection{Dynamic Programming}
|
|||
|
семейство алгоритмов исп для вычисления оптимальных стратегий при условии что имеется идеальная модель окружающей среды в виде MDP. в управлении это решение задачи через решение меньших подзадач.
|
|||
|
|
|||
|
уравнение оптимальности Беллмана. недостаточно понять в каком мы состоянии, надо ещё понять что делать в этом состоянии. алгоритмы получаются преобразованием уравнений бэллмана в правила поведения.
|
|||
|
|
|||
|
Весь РЛ можно условно разбить на задачи управления и задачи предсказания.
|
|||
|
\begin{enumerate}
|
|||
|
\item оценивание стратегии или состояния. оценку мы делаем до некоторого порога и с некоторой точностью, это называется итеративным оцениванием стратегии.
|
|||
|
\item важно что за шаг нужно не только поощрять, но и наказывать за неверный выбор
|
|||
|
\item теорема получения стратегий. идея в том чтобы понимать не только награду, но и будущие награды на каждом этапе. более оптимальные стратегии должны быть не хуже, чем текущая выбранная стратегия. если мы смогли улучшить стратегию, значит мы можем пересчитать ценности следующих шагов и получить ещё более хорошую стратегию. это называется итерацией по стратегиям
|
|||
|
\item стратегия стабилизируется если является жадной для текущей системы ценностей, а ценности стабилизируются когда мы подобрали оптимальную стратегию
|
|||
|
\end{enumerate}
|
|||
|
не очень хорошо подходит для больших алгоритмов, несмотря на сложность О(н+к). эти методы обычно работают в 100 раз быстрее линейных алгоритмов.
|
|||
|
\subsection{monte-carlo}
|
|||
|
антагоничны ДП. не говорим о среде, а есть группа методов, которые усредняют опыт. хорошо подходит об эпизодических алгоритмов. в некотором роде инкрементны. термин означает более широкий класс алгоритмов в которых присутствует значимый случайный компонент.
|
|||
|
|
|||
|
обучается на эпизодах. любое действие это замаскированное обучение. состояния оцениваются также, а потом награды усредняются. чтобы улучшить стратегию мы делаем её жадной относительно текущей ценности.
|
|||
|
|
|||
|
алгоритм стремится к идеальному алгоритму, но его не достигает. усреднённая оценка нужна для подсчёта совместных действий. Если действие не даёт результата - мы не получим никакой информации.
|
|||
|
|
|||
|
\subsection{Temporal Difference}
|
|||
|
выполняет обновление старой оценки ценностей до новой оценки ценностей. делается для максимизации выгоды от цели. МК всегда стремится толкьо вверх, а ТД может меняться в зависимости от текущих предсказаний.
|
|||
|
|
|||
|
один из видов - Q-обучение, алгоритм SARSA
|
|||
|
|
|||
|
Существует проблема переоценки, для решения придумали алгоритм двойного обучения. всё это будет табличное обучение с различными эвристиками. Если есть модель среды мы можем значительно улучшить все возможные решения. но если среда динамическая - это смерть модельных алгоритмов.
|
|||
|
|
|||
|
Есть возможность решить практическую любую задачу полным перебором древа решений (брутфорс). если мы идём только в глубину - это монтекарло.
|
|||
|
|
|||
|
\subsection{RL обучение с моделью}
|
|||
|
|
|||
|
\subsection{Теория игр в мультиагентном обучении с подкреплением}
|
|||
|
\begin{itemize}
|
|||
|
\item поиска экстремума стратегий
|
|||
|
\item
|
|||
|
\item
|
|||
|
\end{itemize}
|
|||
|
|
|||
|
Совокупность математических методов нахождения оптимальных стратегий в играх. Под игрой понимается роцесс в котором один или несколько акторов достигают цели. Сточки зрения машинного обучения ТИ это матрица. Дилемма заключённого. Алгоритм может получиться жадным, трусливым, агрессивным, в зависимости от того, какие коэффициенты получатся в таблице взаимодействия агентов. Вопрос выбора стратегии ``довериться или обмануть''. Вступает в силу равновесие Нэша.
|
|||
|
|
|||
|
РН - это состояние в котором несколько игроков находят действие, и знают, что отклонение не принесёт ни им ни партнёру выгоды, и знают, что если партнёр отклонится - таже не будет достигнут профит. Movie: Beautiful mind.
|
|||
|
|
|||
|
Замена Q-таблиц - это матрицы (Матричные игры). Стохастические игры - это пространственные методы решения таких задач.
|
|||
|
|
|||
|
Один из первых алгоритмов - алгоритм частотного максимума Ку-значений, подсчитывал частоту получения максимальной награды при выполнении определённого действия. Помогал найти максимально полезное действие для мультиагентных систем.
|
|||
|
|
|||
|
Конечный автомат в обучении заменял Ку-обучение, и первая попытка перейти от матриц к стохастическим играм.
|
|||
|
|
|||
|
Созависимое обучение - первый алгоритм joint action Learning - каждый агент смотрит не на отдельные действия, а на результат именно совместных действий, самый простой - это минимакс. Количество состояний-действий увеличивается экспоненциально от количества агентов. Подход интуитивного решения был возможен к использованию только если не было необходимости кооперации агентов.
|
|||
|
|
|||
|
Матричная игра - это кортеж (н,а1,...,аи,р1,...,ри) где н - количество агентов, а - множество действий итого агента, р - функция наград итого агента.
|
|||
|
|
|||
|
Необходимо найти действие, приводящее к макимальной награде. Также применима игра с нулевой суммой. стратегия считается лучшей если совокупность наград лучше чем при предыдущей принятой стратгии. Равновесие Нэша в матричной игре - это множество оптимальных стратегий. В системе оптимальные индивидуальные стратегии приводят к совместному провалу. улучшение результата одного ухудшит результат другого - это оптимальность по Парето. Часто совпадает с равновесием Нэша.
|
|||
|
|
|||
|
Рациональный алгоритм - способный сходиться к стратегии, отвечающей лучше всего стратегиям других агентов, которые во время обучения сходятся к стационарным стратегиям. Алгоритм обладает свойством сходимости в том случае, если стратегия обучаещегося агента обязательно сходится к стационарной стратегии. Стационарная стратегия это такая стратегия, которая не изменяется со временем.
|
|||
|
|
|||
|
Если все агенты пришли к стационарной стратегии, то система приходит к MDP. Пространство действий уменьшается со временем, также улучшается стратегия. Алгоритм PHC развили до Win or learn fast WoLF-PHC, алгоритм обладает свойством сходимости, заставляющем учиться быстрее. При добавлении параметра сходимости агенты меняют поведение не более оптимальное.
|
|||
|
|
|||
|
Марковский процесс принятия решений - это много сотояний и один агент. Стохастические игры - это соединение МДП и матричных игр.
|
|||
|
|
|||
|
Стохастическая игра - классифицируется на полностью кооперативные, конкурентные, игра с общей суммой. расширяет Ку-обучения. Использование совместных действий агентов. Введение понятия Нэш-Ку - это ожидаемая сумма дисконтированных наград при условии что все агенты следуют равновесной стратегии Нэша. Обновление Ку-значений зависит от действий всех агентов. Матрицы наград получаются после каждого шага суммированием всех матриц всех агентов.
|
|||
|
|
|||
|
Часто ставят знак равенства между теорией игр и машинным обучением.
|
|||
|
|
|||
|
\newpage
|
|||
|
\section{Нейросетевое обучение мультиагентных систем}
|
|||
|
\begin{itemize}
|
|||
|
\item IQL - независимое ку-обучение, но не с таблицей, а с нейросетью
|
|||
|
\item CDQN - центральное (централизованное) обучение (проигрывает децентрализованным системам).
|
|||
|
\item VDN - представитель класса рекуррентных нейросетей.
|
|||
|
\item MADDPG - полиси градиент, потом добавили детерминистик итд. максимально прощающая ошибки сеть.
|
|||
|
\end{itemize}
|
|||
|
|
|||
|
Успехи такого обучения связаны с развитием нейросетей. Нейросеть - это простые компьютерные процессоры обработки данных, объединённые по принципу биологической.
|
|||
|
|
|||
|
Применяются глубокое обучение DL, получается глубокое обучение с подкреплением DRL. для аппроксимации оптимальных стратегий агентов или ценностей нейросети. Мультиагентное обучение применяет несколько приёмов:
|
|||
|
\begin{itemize}
|
|||
|
\item прямая коммуникация
|
|||
|
\item дистилляция стратегий
|
|||
|
\item разделение параметров
|
|||
|
\item моделирование оппонента
|
|||
|
\item и другие
|
|||
|
\end{itemize}
|
|||
|
Коммуникация между агентами возникла совсем недавно, обычно рассматриваются независимые. Решают задачи координации. Агентов мотивируют к коммуникации. Начинается всё с Табула Раса (ничего незнающих) агентов, и агенты нашли способ общаться (трёхслойный отправитель, четырёхслойный получатель).
|
|||
|
|
|||
|
Классика мультиагентного обучения - это развитие централизованного обучения - ЦО с децентрализованным исполнением. Информация в таком алгоритме при исполнении удаляется. Агент таким образом может моделировать как поведение врага так и друга (DRON). алгоритм много щадействовал из теории игр, но многое задавалось в ручную. в глубоком обучении всё ещё также применяется табулярное обучение, но стараются минимизировать и заменять на нейросети. Идея толерантности заключается в том, что никакой агент не знает, имеет ли смысл взаимодействовать с другими агентами. Так предлагается исправить проблему затенения действий (сверхобобщение) когда мы не понимаем что делаем, но награда кортежу агентов приходит (ничему не учимся) - это обратная проблема переобучения, стараемся уменьшить шум от неоптимальных стратегий агентов.
|
|||
|
|
|||
|
недостаток алгоритмов основанных на толерантности - излишний оптимизм. Вводят гистерезис, который позволяет улучшить мультиагентное взаимодействие. гистерезисное обучение позволяет даже деградацию локальной стратегии ради общей награды.
|
|||
|
|
|||
|
Централизованное обучение подвержено ограничениям, поэтому нужно декомпозировать. Qmix показал себя в этом лучше всего.
|
|||
|
|
|||
|
\subsection{IQL}
|
|||
|
в современных алгоритмах глубокого обучения добавляется нелинейная аппроксимация максимизации функции наград и минимизации функции потерь с помощью нейронной сети. Параметров нейросети намного меньше, чем комбинаций состояний-действий при табличном способе.
|
|||
|
|
|||
|
Алгоритм независимого глубокого обучения с использованием полносвязной нейронной сети IQN, основан на алгоритме DQN. главные инновации:
|
|||
|
\begin{itemize}
|
|||
|
\item глубокие нейросети;
|
|||
|
\item использование буфера воспроизведения;
|
|||
|
\item целевая нейросеть.
|
|||
|
\end{itemize}
|
|||
|
|
|||
|
Основан на алгоритме вычислении ценности. При обучении с подкреплением есть ряд ограничений в доказательной базе и нестабильность обучения. В обучении с учителем есть идеальный вариант, здесь же есть набор из состояний-действий-реакций-сред, на выборке из которого производится обучение. Алгоритм реализует идею независимого обучения, то есть у каждого агента обинаковые нейросети внутри.
|
|||
|
|
|||
|
\subsection{CDQN}
|
|||
|
|
|||
|
\section{Эволюционное обучение}
|
|||
|
Генетические алгоритмы. Машинное обучение (МО) может быть использовано с оптимизацией, а не только МО и оптимизация сами по себе.
|
|||
|
|
|||
|
Эволюция - это необратимое развитие за счёт постепенного изменения материи. ЭА могут быть использованы в МО. Алгоритмов довольно много, но иногда их путают с nature-inspired.
|
|||
|
|
|||
|
\begin{itemize}
|
|||
|
\item InGA
|
|||
|
\item CoE - КоЭволюция
|
|||
|
\end{itemize}
|
|||
|
|
|||
|
Для мультиагентных задач первый генетический алгоритм обучал за 300 поколений агентов в мире из 1000 измерений.
|
|||
|
|
|||
|
есть также алгоритм работающий по принципу иммунной системы, удаляя неэффективных агентов специальными клетками-лейкоцитами.
|
|||
|
|
|||
|
В 2017 алгоритм IS инвариантен к частотности действий, легко распараллеливался, на момент создания был самым эффективным.
|
|||
|
|
|||
|
Эволюционная теория игр Replicator Dynamics.
|
|||
|
|
|||
|
\subsection{Нейроэволюция}
|
|||
|
Любое обучение где задействуется или нейросеть или генетический алгоритм. В отличие от обучения с учителем нужна только оценка среды в момент времени. Противопоставляют градиентному спуску в глубоком обучении. Функция награды заменяется на фитнес-функцию.
|
|||
|
|
|||
|
Генетический Алгоритм - это эвристический алгоритм поиска используемый для решения задач оптимизации путём случайного подбора комбинирования и вариации искомых параметров с использованием принципов биологической эволюции.
|
|||
|
|
|||
|
Если агент воскрешается в следующем поколении то он считается успешным и эволюционирует дальше, если нет то просто умирает. Генетический алгоритм направляется функцией приспособленности в сторону оптимального решения путём назначения истории некоторого оценочного скалярного значения.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
\appendix
|
|||
|
\setcounter{secnumdepth}{2}
|
|||
|
\setcounter{tocdepth}{2}
|
|||
|
\section*{Приложения}
|
|||
|
\addcontentsline{toc}{section}{Приложения}
|
|||
|
\renewcommand{\thesubsection}{\Asbuk{subsection}}
|
|||
|
\subsection{Семинар 1 (2022-09-06)}
|
|||
|
Expectation-Maximization Algorithm. Алгоритм используется для нахождения оценок максимального правдоподобия параметров там, где модель зависит от ненаблюдаемых скрытых или скрытых переменных
|
|||
|
|
|||
|
\subsection{Семинар 2 (2022-09-27)}
|
|||
|
0.4
|
|||
|
Разработка нового мультиагентного окружения
|
|||
|
- быть как джим путём максимального переиспользования джима
|
|||
|
- стандартизировать своё решение
|
|||
|
- сделать универсальный АПИ - много агентов
|
|||
|
- агенты могут умирать и создаваться
|
|||
|
- в каждом эпизоде среды могут участвовать разные агенты
|
|||
|
- удобно для начинающих
|
|||
|
- изменяемый апи
|
|||
|
|
|||
|
описаны бенефиты моделирования окружений для АПИ
|
|||
|
описаны проблемы состояния гонки когда например два участника одновременно анализируют среду, один ходит а анализ второго сразу становится неактуальным, это особенно очевидно когда мы находимся в среде преследователя
|
|||
|
|
|||
|
\subsection{Семинар 3 (2022-10-11)}
|
|||
|
Теория игр. Действия можно называть стратегиями
|
|||
|
|
|||
|
Оценка рациональности аудитории. написать число ближайшее к половине среднего арифместического.
|
|||
|
|
|||
|
Игра в мафию Ч Мф Мн. Ночь
|
|||
|
|
|||
|
Мн слева, Мф сверху
|
|||
|
\begin{tabular}{|c|c|c|}
|
|||
|
\hline
|
|||
|
& Мф & Ч \\
|
|||
|
\hline
|
|||
|
Мн & Ч & Мф \\
|
|||
|
\hline
|
|||
|
Ч & Мн & = \\
|
|||
|
\hline
|
|||
|
\end{tabular}
|
|||
|
|
|||
|
\[S_{Mf} = \{Mn,Ch\}\]
|
|||
|
\[S_{Mn} = \{Mf,Ch\}\]
|
|||
|
|
|||
|
Смысл как в дуэли трёх лиц треугольник A0.9 -- B0.9 -- C0.01; сильные понимают угрозу от сильных и в итоге выигрывает слабейший. Важно, что игры такого рода играются один раз, то есть никакого сетапа быть не может и мы ничего не знаем о решении других участников. По парето доминирует итог, когда оба выигрывают, но это нужна предварительная кооперация. хотя предпочтительное поведение - признаваться.
|
|||
|
|
|||
|
\textbf{Игра в нормальной форме}
|
|||
|
|
|||
|
Ограниченное число игроков.
|
|||
|
|
|||
|
Множество стратегий каждого игрока.
|
|||
|
|
|||
|
Профиль стратегий - это декартово произведение всех стратегий. (все возможные комбинации всех элементов множества)
|
|||
|
|
|||
|
\textbf{Доминирующая стратегия.}
|
|||
|
Стратегия игрока считается слабо доминирующей, если вне зависимости от того как поступают другие игроки получаемая выгода лучше других вариантов. Рациональные игроки не пользуются стратегиями над которыми идёт доминация. В начальной игре Равновесие Нэша достигается когда все люди напишут единицу. Но вопрос в том, насколько далеко мы предполагаем, что зайдут все остальные. В группе вышло число 12,5.
|
|||
|
|
|||
|
\textbf{Равновесие Нэша}
|
|||
|
Множество игроков
|
|||
|
Множество стратегий
|
|||
|
Функция выгоды (декартово произведение множества стратегий)
|
|||
|
|
|||
|
По нэшу доминирует не стратегия, а исход.
|
|||
|
Исход называется равновесием Нэша если для любого игрока и для любой стратегии выполняется выгода игрока при выборе стратегии при том что никто не изменит свою стратегию будет больше выгоды любой другой стратегии.
|
|||
|
|
|||
|
Иногда в Нэша может входить и слабая стратегия (Олигополия Бертрана).
|
|||
|
Две фирмы выпускают однородный продукт. фирмы не кооперируют. предельные издержки фирм одинаковые.цена выбирается независимо и одновременно.
|
|||
|
|
|||
|
Когда мы выбираем продавать по себестоимости - мы выходим в 0 и эта стратегия не лучше любой другой стратегии. Равновесие нэша достигается в точке себестоимости. Олигополия - это неразрешимость в которой компании конкурируют и нацелены на получение прибыли - они работают за себестоимость и не получают выгоды.
|
|||
|
|
|||
|
\subsection{Семинар 4 (2022-10-25)}
|
|||
|
|
|||
|
\subsection{Лабораторная работа 1}
|
|||
|
\href{https://drive.google.com/drive/folders/1KoUxtNMcKU__8GqzRT-gRPZoTO-Scc-6}{GDrive}
|
|||
|
|
|||
|
\subsubsection{Введение в обучение с подкреплением}
|
|||
|
Считается, что обучение с подкреплением сформировалось из трёх основных направлений:
|
|||
|
\begin{enumerate}
|
|||
|
\item обучение путём проб и ошибок: торндайк и кошки, павлов и собаки пытались путём системы вознаграждений добиться нужного поведения;
|
|||
|
\item задача оптимального управления: динамическое программирование, марковский процесс принятия решений, уравнение Беллмана;
|
|||
|
\item обучение на временн\'{ы}х разностях.
|
|||
|
\end{enumerate}
|
|||
|
|
|||
|
Объединение идей было произведено Барто и Саттоном, в 1992 алгоритм впервые победил человека в нарды, были сделаны первые попытки игры в шахматы и го. С 2013 выделяют самый активный рост по четырём направлениям:
|
|||
|
\begin{itemize}
|
|||
|
\item алгоритмы - backpropagation, CNN, LSTM;
|
|||
|
\item вычислитеьные ресурсы - закон Мура, GPU;
|
|||
|
\item данные - ImageNet и другие;
|
|||
|
\item инфраструктура - Linux, git, AWS, другие облачные решения.
|
|||
|
\end{itemize}
|
|||
|
|
|||
|
Основными толчками к развитию считаются
|
|||
|
\begin{itemize}
|
|||
|
\item [2012] Deep Learning: AlexNet $\to$ LeNet
|
|||
|
\item [2013] Reinforcement Learning (обучение с подкреплением): DQN $\to$ Q-Learning (по сути, ничего нового, наращивается инфраструктура).
|
|||
|
\item [до17] DeepMind (побеждает atari, го, шахматы, SC2), OpenAI (создают RL toolkit, побеждают в Dota2, развивают направление robo-hands)
|
|||
|
\end{itemize}
|
|||
|
|
|||
|
\begin{frm}
|
|||
|
\textbf{OpenAI Gym} - набор сред для обучения с подкреплением и исследований.
|
|||
|
\end{frm}
|
|||
|
|
|||
|
В 2017 MIT включили обучение с подкреплением в топ10 прорывных технологий, описана проблема конструктивной возможности но программной недостаточности
|
|||
|
|
|||
|
Обучение бывает:
|
|||
|
\begin{itemize}
|
|||
|
\item обучение с учителем это отличать одно от другого
|
|||
|
\item обучение без учителя это классификация и кластеризация
|
|||
|
\item обучение с подкреплением - это некоторый вход в ИИ
|
|||
|
\end{itemize}
|
|||
|
|
|||
|
На примере игры в пинг-понг
|
|||
|
\begin{itemize}
|
|||
|
\item в обучении с учителем - нужен датасет (по сути, нужно заставить человека играть несколько часов), долго, дорого, ИИ не сможет превзойти человека, потому что человек составляет разметку нейросети, изобрести новое невозможно, есть разметка правильных ответов и готовый датасет;
|
|||
|
\item обучение с подкреплением - применяется в задачах где требуется оптимизировать последовательности решений в неопределённых обстоятельствах, нужна только среда для взаимодействий, без разметки, только сигнал для подкрепления - хорошо/плохо.
|
|||
|
\end{itemize}
|
|||
|
|
|||
|
\subsubsection{Агент и окружающая среда}
|
|||
|
\begin{itemize}
|
|||
|
\item агент взаимодействует со средой получая информацию (наблюдение)
|
|||
|
\item отдаёт в среду действие
|
|||
|
\item получает от среды ответ (награда или штраф)
|
|||
|
\end{itemize}
|
|||
|
|
|||
|
\noindent Обычно представляют в виде MDP\footnote{Марковский процесс принятия решений (англ. Markov decision process (MDP)) — спецификация задачи последовательного принятия решений для полностью наблюдаемой среды с марковской моделью перехода и дополнительными вознаграждениями. Назван в честь Андрея Маркова, служит математической основой для того, чтобы смоделировать принятие решения в ситуациях, где результаты частично случайны и частично под контролем лица, принимающего решения. \href{https://ru.wikipedia.org/wiki/Марковский_процесс_принятия_решений}{wiki}}
|
|||
|
\begin{verbatim}
|
|||
|
создаём среду
|
|||
|
цикл по эпизодам, для каждого эпизода:
|
|||
|
сбрасываем среду (встаём на старт для каждого эпизода)
|
|||
|
внутри создаём цикл по шагам, для каждого шага:
|
|||
|
агент выбирает действие на основе состояния,
|
|||
|
среда ему возвращает награды или шаг done
|
|||
|
\end{verbatim}
|
|||
|
По сути, единственное, что можно использовать при таком алгоритме - это награды от среды, это позволит получить результат.
|
|||
|
В представлении работы агента существуют следующие понятия:
|
|||
|
\begin{itemize}
|
|||
|
\item накопленная награда, есть как рекурсивное представление $G_{t} = R_{t+1} + G_{t+1}$, так и нерекурсивное $G_{t} = R_{t+1} + R_{t+2} + ...$ то есть мы вычисляем награды в текущем состоянии среды и все потенциально возможные новые награды;
|
|||
|
\item policy - стратегия агента, собственно, мозги $А = \pi(S)$
|
|||
|
\item value - ценность состояния - математическое ожидание всех будущих накопленных наград $v(s) = \mathbb{E}[G_{t}|S_{t} = s]$. По сути, показывает все будущие награды, но мы не знаем функцию среды, поэтому фактически, перед нами стоит задача восстановления функции ценности среды (сейчас награды нет, но где-то в этой среде она точно есть);
|
|||
|
\item дисконтирующий множитель - это $\gamma$ в следующей степени для награды каждого следующего состояния. Так горизонт интереса агента можно регулировать. Обычно, $\gamma = [0,95, 0,99]$ чтобы агент мог смотреть далеко вперёд;
|
|||
|
\end{itemize}
|
|||
|
|
|||
|
Таким образом, MDP - это математическое ожидание от награды на следующем шаге плюс гамма умноженная на накопленную награду следующих шагов, другими словами, ценность это ближайшая награда плюс ценность следующего состояния.
|
|||
|
|
|||
|
\[v_\pi(S) = \mathbb{E}[R_{t+1} + \gamma v_\pi(S_{t+1} | S_t = s_1A_t \sim\pi(S))] \]
|
|||
|
|
|||
|
Если мы знаем функцию среды мы можем сразу идти по всем состояниям с наилучшей наградой.
|
|||
|
|
|||
|
\subsubsection{Q-learning}
|
|||
|
Например, мир сетка
|
|||
|
\begin{itemize}
|
|||
|
\item мир 10х10, 100 клеток;
|
|||
|
\item возможны движения в 4х направлениях;
|
|||
|
\item динамика детермининрованная - никаких случайностей;
|
|||
|
\item награды +1 в центре -1 в некоторых клетках
|
|||
|
\item есть препятствия, не преграждающие пути в центр
|
|||
|
\end{itemize}
|
|||
|
|
|||
|
Агент сначала ходит случайно, а потом постепенно формирует сетку с наградами (как вес в нейросети), то есть мы понимаем не только финальную награду, но и то что в награду можно попасть из соседней клетки в которой награды нет. Этот метод основан на Q-обучении.
|
|||
|
|
|||
|
Q-value - это ценность каждого действия из конкретного состояния
|
|||
|
\[ q_\pi(s,a) = \mathbb{E}[R_{t+1} + \gamma q_\pi(S_{t+1}, A_{t+1}) | S_t = s, A_t = a] \]
|
|||
|
|
|||
|
\[ Q: S \times A \to R \]
|
|||
|
|
|||
|
Составляется Q-таблица (метод носит название табулярное Q-обучение) в которой с помощью коэффициентов описывается, что будет если из состояния пойти в направлении. Такую таблицу лучше заменить на нейросеть, потому что состояний может быть бесконечно много, а бесконечность хранить в компьютере не очень удобно.
|
|||
|
|
|||
|
Агент ничего не знает о среде - надо исследовать и в какой-то момент надо начать использовать знания чтобы получать награды, возникает дилемма исследования-использования: Если агент только учится - он никогда не достигнет ценности, если совсем не исследует - не учится, всё время движется только по Q-таблице, не понимает ценности среды. Для решения дилеммы вводится \textbf{эпсилон-жадная стратегия}. $\varepsilon$ это вероятность случайного действия агента. Поскольку $\varepsilon$ постоянно линейно падает то агент постепенно начинает действовать из таблицы, а не случайно исследовать.
|
|||
|
|
|||
|
Классическое правило Q-обучения
|
|||
|
\[ Q_{new}(S_t, a) = Q(S_t,a) + \alpha[r_t + \gamma \max Q(s_{t+1}, a) - Q(s_t, a)] \]
|
|||
|
|
|||
|
Происходит корректировка ценностей, которая на каждом шаге складывается из текущей оценки плюс скорости обучения [награда за действие А в состоянии $S_t$ плюс дисконтирующий коэффициент, умноженный на максимальную ожидаемую награду в следующем состоянии $S_{t+1}$ минус текущая оценка]
|
|||
|
|
|||
|
В работе есть строки
|
|||
|
\begin{lstlisting}[language=Python,style=PyCodeStyle]
|
|||
|
if done and (reward == 0):
|
|||
|
reward = -10 # fell into the hole
|
|||
|
elif done and (reward == 1):
|
|||
|
reward = 100 # goal achieved
|
|||
|
else:
|
|||
|
reward = -1 # step on ice
|
|||
|
\end{lstlisting}
|
|||
|
|
|||
|
есть среды в которых уже есть такие условиях (например, такси) чтобы агент не слонялся без дела и если закончил без победы мы скажем что он плохо справляется.
|
|||
|
|
|||
|
В среде FrozenLake есть параметр «скользкий лёд», при котором мы не идём куда приказали, имитируя поведение, будто мы поскользнулись.
|
|||
|
|
|||
|
\end{document}
|