Введение в обучение с подкреплением(1)

обучение с подкреплением
Введение в обучение с подкреплением(1)

Первое предложение текста статьи: «Это третий день моего участия в Gengwen Challenge. Подробности о мероприятии см.:Обновить вызов

009.jpeg

Если вы хотите посмотреть похожие видео, вы можете найти меня на видео Арбуз (аккаунт zidea) или Bilibili (аккаунт zidea2015), чтобы найти видеокомментарий, который я разместил.Обратите внимание, что аватар и аватар, используемые Цзяньшу, одинаковы.

Deepmind работает над тем, чтобы заставить ИИ играть в более сложную игру Starcraft после победы над чемпионом мира по го. Я думаю, вам может быть не менее интересно, как реализуются проекты, в которых ИИ может играть в игры. Интерес интересом Реализовать такой проект по-прежнему сложно, но как бы ни было сложно, мы все равно начинаем шаг за шагом с азов.

010.png

Основы вероятности

Прежде всего, прежде чем мы начнем, мы кратко вернемся к некоторым вероятностным знаниям, которые могут быть использованы в этом обмене.

Случайные величины и функции распределения

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

P(X=0)=0.5P(X=1)=0.5\begin{aligned} P(X=0) = 0.5\\ P(X=1) = 0.5\end{aligned}

Функция плотности вероятности (PDF)

PDF — это аббревиатура функции плотности вероятности, которая представляет возможность определенного значения случайной величины, с которой мы знакомы.

002.png

003.png

p(x)=12число Пио2exp((xμ)22о2)p(x) = \frac{1}{\sqrt{2\pi \sigma^2}}\exp \left(- \frac{(x - \mu)^2}{2 \sigma^2}\right)

ожидать

ожидания для непрерывных дистрибутивовE[f(x)]=xp(x)f(x)dxE[f(x)] = \int_x p(x)f(x)dx

ожидания для дискретных распределенийE[f(x)]=xp(x)f(x)E[f(x)] = \sum_x p(x)f(x)

случайная выборка

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

срок

006.png

001.jpg

Состояние

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

012.png

Action

aе{left,right,up,down} a \in \{left,right,up,down\}

Действия — это агенты (и мы представим, какие агенты будут следующими), ответы, данные в зависимости от текущего состояния. Тогда мы увидим

Agent

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

Policy

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

Математически функция политики выражается какчисло Пи(s,a)[0,1]\pi(s,a) \rightarrow [0,1] число Пи(as)=P(A=aS=s)\pi(a|s) = P(A=a|S=s)

  • число Пи(lefts)=0.1\pi(left|s) = 0.1
  • число Пи(rights)=0.2\pi(right|s) = 0.2
  • число Пи(ups)=0.6\pi(up|s) = 0.6
  • число Пи(downs)=0.1\pi(down|s) = 0.1

Из приведенной выше формулы легко найти, чтообучение с подкреплениемГлавное - изучить эту функцию политики. Пока у вас есть эта функция политики, после ввода состояния политика будет делать случайную выборку, чтобы выполнить действие. Случайная выборка здесь предназначена для того, чтобы противник не угадал машину и не нашел правила, поэтому стратегия политики является случайной.

reward

использоватьRRЧтобы выразить награду, нужно дать оценку в соответствии с действием и состоянием. Эту оценку можно понимать как награду. Как спроектировать награду, очень важно. Хорошо продуманная награда даст в два раза больше результата с половиной усилий.

  • Определенные награды за уничтожение вражеских танков
  • Если враг взломает гнездо, вы потеряете много наград.

переход состояния

На основе текущего действия и предыдущего состояния мы получим новое состояние,p(s's,a)=P(S'=s'S=s,A=a)p(s^{\prime}|s,a) = \mathbb{P}(S^{\prime}=s^{\prime}|S=s,A=a)

Что касается перехода между состояниями, наше совместное использование скрытой цепи Маркова сделало это очень ясным в графическом виде, то переход между состояниями определяется средой, а среда в игре — это система.

016.png

Взаимодействие агента и среды

Далее давайте посмотрим, как Агент взаимодействует со средой.

007.jpg

Случайность в обучении с подкреплением

  • Политика дает действие случайным образом в зависимости от состояния

017.png

  • Окружающая среда дает следующее состояние на основе действия, а состояние является случайным

018.png

019.png

  • Политика Согласноs1s_1даватьa1a_1
  • Окружающая среда согласноs1,a1s_1,a_1даватьs1s_1иr1r_1
  • Политика по-прежнему основывается наs2s_2даватьa2a_2

Итеративно повторите вышеуказанные шаги, чтобы сформировать путьs1,a1,r1,s2,a2,r2,,sT,aT,rTs_1,a_1,r_1,s_2,a_2,r_2,\cdots,s_T,a_T,r_T

Возвращение

Давайте сравним награды с наградами.Награды - это накопление наград от текущего состояния серии действий с текущего момента, а награды накоплены до последней награды в конце игры.

Ut=Rt+Rt+1+Rt+2++U_t = R_t + R_{t+1} + R_{t+2} + \cdots +

  • СвязанныйRtR_tиRt+1R_{t+1}Ценность их вознаграждений со временем будет уменьшаться. Давайте рассмотрим пример, чтобы кратко объяснить эту проблему. Поскольку будущие вознаграждения не более ценны, чем текущие вознаграждения, мы можем добавить скидку для корректировки.γ\gammaвыражатьγе[0,1]\gamma \in [0,1]

затем добавилγ\gammaВозврат также является дисконтированным доходом, как показано ниже.

Ut=Rt+γRt+1+γ2Rt+2++U_t = R_t + \gamma R_{t+1} + \gamma^2 R_{t+2} + \cdots +

Также необходимо объяснить ставку дисконтированияγ\gammaэто гиперпараметр, который необходимо считать установленным,γ\gammaНастройка будет иметь влияние на обучение с подкреплением. Когда какой-то момент закончился,RtR_tтакже в нижнем регистреrtr_tтак какUtU_tЗависимое вознаграждение является случайной величиной, поэтомуUtU_tтакже является случайной величиной.

Мы знаем, что Политика генерируетчисло Пи(as)\pi(a|s)в то время как среда дает следующее состояние на основе текущего состояния и действияs's^{\prime}этоp(s'a,s)p(s^{\prime}|a,s), то текущая наградаRtR_tтекущийStS_tи действиеAtA_tСвязанный.

тогда дляUtU_tПросто и все будущие моментыAt,At+1,At+2,A_t,A_{t+1},A_{t+2},\cdotsиSt,St+1,St+2,S_t,S_{t+1},S_{t+2},\cdotsвсе имеет значение

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

Функция значения действия (значение)

Ut=Rt+γRt+1+γ2Rt+2++U_t = R_t + \gamma R_{t+1} + \gamma^2 R_{t+2} + \cdots + UtU_tявляется случайной величиной, которая зависит от всех будущих действий и состояний,UtU_tНе зная в момент времени t,

Qчисло Пи(st,at)=E[UtSt=st,At=at]Q_{\pi}(s_t,a_t) = E[U_t|S_t=s_t,A_t=a_t]

даUtU_tНайдите математическое ожидание и аккумулируйте в нем случайность с помощью интегралов.Например, хотя мы не знаем, что произойдет в следующий момент, например, подбрасывание монеты, мы не знаем, будет ли в следующий момент орел или решка, но мы знаем, что выпадет орел или решка. Все вероятности равны 0,5. Предположим, что верхняя сторона вверх, и мы записываем случайную величину X как 1, а решку как 0. Тогда ожидание равно0.5×1+0.5×0=0.50.5 \times 1 + 0.5 \times 0 = 0.5, та же причинаUtU_tМожно ожидать, что случайная величина получит число, то естьQчисло ПиQ_{\pi}

КромеStS_tиAtA_tВсе остальные случайные величины интегрируются и накапливаются, а полученноеQчисло ПиQ_{\pi}функция ценности действия,Qчисло Пи(st,at)Q_{\pi}(s_t,a_t)

Q*=maxчисло ПиQчисло Пи(st,at)Q^{*} = \max_{\pi} Q_{\pi}(s_t,a_t)

Q*(st,at)Q^{*}(s_t,a_t)

функция значения состоянияVчисло ПиV_{\pi}

значение, основанное наttсостояние моментаsts_tОжидаемый будущий доход (возврат)

Vчисло Пи=EA[Qчисло Пи(st,A)]V_{\pi} = E_{A}[Q_{\pi}(s_t,A)]

  • Рассматривайте действие как случайную величину A и накапливайте ее, интегрируя
  • Vчисло ПиV_{\pi}только сsts_tичисло Пи\piсвязанные с функцией
  • Vчисло ПиV_{\pi}Можете ли вы рассказать нам о текущем состоянии