add MDP/value-base method
This commit is contained in:
@@ -1,7 +1,220 @@
|
|||||||
# Reinforcement Learning
|
# Reinforcement Learning
|
||||||
|
|
||||||
|
## MDP
|
||||||
|
|
||||||
|
### 马尔科夫过程
|
||||||
|
|
||||||
|
$$
|
||||||
|
<S,P>
|
||||||
|
$$
|
||||||
|
|
||||||
|
### 马尔科夫奖励过程
|
||||||
|
|
||||||
|
$$
|
||||||
|
<S,P,r,\gamma>
|
||||||
|
$$
|
||||||
|
|
||||||
|
- 回报
|
||||||
|
|
||||||
|
$$
|
||||||
|
G_t=R_t+\gamma R_{t+1}+\gamma^2R_{t+2}+\cdots=\sum^{\infty}_{k=0}\gamma^k R_{t+k}
|
||||||
|
$$
|
||||||
|
- 价值函数
|
||||||
|
|
||||||
|
$$
|
||||||
|
\begin{aligned} V(s)&= \textrm{E}[G_t|{S}_t={s}] \\
|
||||||
|
&=\textrm{E}[R_t+\gamma V({S}_{t+1})|{S}_t={s}] \\
|
||||||
|
贝尔曼方程:\\
|
||||||
|
&=r(s)+\gamma \sum_{s'\in S}P(s'|s)V(s')
|
||||||
|
\end{aligned}
|
||||||
|
$$
|
||||||
|
|
||||||
|
### 马尔科夫决策过程
|
||||||
|
|
||||||
|
$$
|
||||||
|
<S,A,P(s'|s.a),r(s,a),\gamma>
|
||||||
|
$$
|
||||||
|
|
||||||
|
- 策略
|
||||||
|
|
||||||
|
$$
|
||||||
|
\pi(a|s)=P(A_t=a|S_t=s)
|
||||||
|
$$
|
||||||
|
- 状态价值函数
|
||||||
|
|
||||||
|
$$
|
||||||
|
V^{\pi}(s)=\textrm{E}_{\pi}[G_t|S_t=s]
|
||||||
|
$$
|
||||||
|
- 动作价值函数
|
||||||
|
|
||||||
|
$$
|
||||||
|
Q^{\pi}(s,a)=\textrm{E}_{\pi}[G_t|S_t=s,A_t=a]
|
||||||
|
$$
|
||||||
|
- 贝尔曼期望方程
|
||||||
|
|
||||||
|
$$
|
||||||
|
\begin{aligned} Q^{\pi}(s,a)&=\textrm{E}_{\pi}[R_t+\gamma Q^{\pi}(s',a')|S_t=s,A_t=a]\\
|
||||||
|
&=r(s,a)+\gamma\sum_{s'\in S}P(s'|s,a)\sum_{a'\in A}\pi(a'|s')Q^{\pi}(s',a')\\
|
||||||
|
V^{\pi}(s)&=\textrm{E}_{\pi}[R_t+\gamma V^{\pi}(s')|S_t=s]\\
|
||||||
|
&=\sum_{a\in A}\pi(a|s)\left(r(s,a)+\gamma \sum_{s'\in S}P(s'|s,a)V^{\pi}(s')\right)
|
||||||
|
\end{aligned}
|
||||||
|
$$
|
||||||
|
- 蒙特卡洛方法
|
||||||
|
|
||||||
|
重复随机抽样,然后运用概率统计方法来从抽样结果中归纳出目标的数值估计
|
||||||
|
|
||||||
|
- MDP状态价值
|
||||||
|
|
||||||
|
$$
|
||||||
|
\begin{aligned} &用策略在\textrm{MDP}上采样很多条序列,计算从这个状态出发的回报再求其期望\\
|
||||||
|
&V^\pi(s)=\textrm{E}_\pi[G_t|S_t=s]\approx \frac{1}{N}\sum^N_{i=1}G_t^{(i)}
|
||||||
|
\end{aligned}
|
||||||
|
$$
|
||||||
|
- 一条序列只计算一次回报,也就是这条序列第一次出现该状态是计算后面的累积奖励,而后面再出现该状态时,该状态就被忽略了
|
||||||
|
|
||||||
|
$$
|
||||||
|
\begin{aligned} &(1)使用策略\pi采样若干条序列:\\
|
||||||
|
&s_0^{(i)} \xrightarrow{a_0^{(i)}} r_0^{(i)},s_1^{(i)}\xrightarrow{a_1^{(i)}} r_1^{(i)},s_2^{(i)}\xrightarrow{a_2^{(i)}} \cdots \xrightarrow{a_{T-1}^{(i)}} r_{T-1}^{(i)},s_T^{(i)}\\
|
||||||
|
&(2)对每一条序列中的每一时间步t的状态s进行以下操作:\\
|
||||||
|
&a.\quad更新状态s的计数器N(s)\leftarrow N(s)+1;\\
|
||||||
|
&b.\quad更新状态s的总回报M(s)\leftarrow M(s)+G;\\
|
||||||
|
&(3)每一个状态的价值被估计为回报的期望\\
|
||||||
|
&V(s)=M(s)/N(s)\\
|
||||||
|
&根据大数定律,当N(s)\rightarrow \infty时,有V(s)\rightarrow V^\pi(s),所以还有一种增量更新方法:\\
|
||||||
|
&a.\quad N(s)\leftarrow N(s)+1;\\
|
||||||
|
&b.\quad V(s)\leftarrow V(s)+\frac{1}{N(s)}(G-V(s));\\
|
||||||
|
\end{aligned}
|
||||||
|
$$
|
||||||
|
|
||||||
|
- 贝尔曼最优方程
|
||||||
|
|
||||||
|
$$
|
||||||
|
\begin{aligned} V^*(s)&=\max_{\pi}V^{\pi}(s) \qquad \forall s\in S\\
|
||||||
|
&=\max_{a\in A}Q^*(s,a)\\
|
||||||
|
&=\max_{a \in A}\{r(s,a)+\gamma \sum_{s'\in S}P(s'|s,a)V^*(s')\}\\
|
||||||
|
Q^*(s,a)&=\max_\pi Q^\pi(s,a) \qquad \forall s\in S,a\in A\\
|
||||||
|
&=r(s,a)+\gamma \sum_{s'\in S}P(s'|s,a)V^*(s')\\
|
||||||
|
&=r(s,a)+\gamma \sum_{s'\in S}P(s'|s,a)\max_{a'\in A}Q^*(s',a')
|
||||||
|
\end{aligned}
|
||||||
|
$$
|
||||||
|
|
||||||
## value-based
|
## value-based
|
||||||
|
|
||||||
|
### DP
|
||||||
|
|
||||||
|
- 策略迭代
|
||||||
|
|
||||||
|
策略评估与策略提升不断循环交替,直至最后得到最优策略
|
||||||
|
|
||||||
|
- 策略评估
|
||||||
|
|
||||||
|
$$
|
||||||
|
\begin{aligned}[h] &V^{k+1}(s)=\sum_{a\in A}\pi(a|s)\left( r(s,a)+ \gamma\sum_{s'\in S}P(s'|s,a)V^k(s') \right)\\
|
||||||
|
&当k\rightarrow \infty时,
|
||||||
|
序列\{V^{k}\}会收敛到V^\pi\\
|
||||||
|
&实际中,当\max_{s\in S}|V^{k+1}(s)-V^k(s)|\leq\epsilon时,结束策略评估
|
||||||
|
\end{aligned}
|
||||||
|
$$
|
||||||
|
- 策略提升
|
||||||
|
|
||||||
|
$$
|
||||||
|
\begin{aligned} &\textrm{if}\quad \exists \quad \pi'\\
|
||||||
|
&\textrm{st.}\quad \forall s\in S,
|
||||||
|
\quad Q^\pi(s,\pi'(s))\geq V^\pi(s)\\
|
||||||
|
&\textrm{then}\quad V^{\pi'}(s)\geq V^\pi(s)\\
|
||||||
|
&\pi'(s)=\arg \max_a Q^\pi(s,a)=\arg\max_a\{r(s,a)+\gamma\sum_{s'}P(s'|s,a)V^\pi (s')\}
|
||||||
|
\end{aligned}
|
||||||
|
$$
|
||||||
|
|
||||||
|
- 价值迭代
|
||||||
|
|
||||||
|
$$
|
||||||
|
\begin{aligned} &V^{k+1}(s)=\max_{a\in A}\{r(s,a)+\gamma\sum_{s'\in S}P(s'|s,a)V^k(s)\}\\
|
||||||
|
&\textrm{when}\quad V^{k+1}=V^k\\
|
||||||
|
&\pi(s)=\arg\max_a\{r(s,a)+\gamma\sum_{s'}P(s'|s,a)V^{k+1}(s)\}
|
||||||
|
\end{aligned}
|
||||||
|
$$
|
||||||
|
|
||||||
|
### TD
|
||||||
|
|
||||||
|
- 价值函数的蒙特卡洛
|
||||||
|
|
||||||
|
$$
|
||||||
|
V(s_t)\leftarrow V(s_t)+\alpha[G-V(s_t)]
|
||||||
|
$$
|
||||||
|
- 价值函数的时序差分
|
||||||
|
|
||||||
|
$$
|
||||||
|
\begin{aligned} &V(s_t)\leftarrow V(s_t)+\alpha[r_t+\gamma V(s_{t+1})-V(s_t)]\\
|
||||||
|
&其中,r_t+\gamma V(s_{t+1})-V(s_t)称为时序差分
|
||||||
|
\end{aligned}
|
||||||
|
$$
|
||||||
|
- Sarsa
|
||||||
|
|
||||||
|
-
|
||||||
|
|
||||||
|
$$
|
||||||
|
\begin{aligned} &初始化Q(s,a)\\
|
||||||
|
&\textbf{for}序列e=1\rightarrow E\quad \textbf{do:}\\
|
||||||
|
&\quad得到初始状态s\\
|
||||||
|
&\quad用\epsilon -贪婪策略根据Q选择当前状态s下的动作a\\
|
||||||
|
&\quad \textbf{for} 时间步t=1\rightarrow T\quad\textbf{do:}\\
|
||||||
|
&\qquad得到环境反馈r,s'\\
|
||||||
|
&\qquad用\epsilon -贪婪策略根据Q选择当前状态s'下的动作a'\\
|
||||||
|
&\qquad Q(s,a)\leftarrow Q(s,a)+\alpha[r+\gamma Q(s',a')-Q(s,a)]\\
|
||||||
|
&\qquad s\leftarrow s',a\leftarrow a'\\
|
||||||
|
&\quad \textbf{end for}\\
|
||||||
|
&\textbf{end for}
|
||||||
|
\end{aligned}
|
||||||
|
$$
|
||||||
|
- 在线策略
|
||||||
|
|
||||||
|
$$
|
||||||
|
\begin{aligned} &行为策略(采样数据表的策略)与\\
|
||||||
|
&目标策略(用这些数据更新的策略)相同,\\
|
||||||
|
&如a和a'皆有当前策略\epsilon-Greedy(Q)采样得到
|
||||||
|
\end{aligned}
|
||||||
|
$$
|
||||||
|
- 多步Sarsa
|
||||||
|
|
||||||
|
- 使用n步的奖励,然后使用之后状态的价值估计
|
||||||
|
|
||||||
|
$$
|
||||||
|
G_t=r_t+\gamma r_{t+1}+\cdots +\gamma^nQ(s_{t+n},a_{t+n})
|
||||||
|
$$
|
||||||
|
- 动作价值函数更新
|
||||||
|
|
||||||
|
$$
|
||||||
|
Q(s_t,a_t)\leftarrow Q(s_t,a_t)+\alpha[r_t+\gamma r_{t+1}+\cdots +\gamma^nQ(s_{t+n},a_{t+n})-Q(s_t,a_t)]
|
||||||
|
$$
|
||||||
|
|
||||||
|
- Q-Learning
|
||||||
|
|
||||||
|
-
|
||||||
|
|
||||||
|
$$
|
||||||
|
\begin{aligned} &初始化Q(s,a)\\
|
||||||
|
&\textbf{for}序列e=1\rightarrow E\quad \textbf{do:}\\
|
||||||
|
&\quad得到初始状态s\\
|
||||||
|
&\quad用\epsilon -贪婪策略根据Q选择当前状态s下的动作a\\
|
||||||
|
&\quad \textbf{for} 时间步t=1\rightarrow T\quad\textbf{do:}\\
|
||||||
|
&\qquad得到环境反馈r,s'\\
|
||||||
|
&\qquad Q(s,a)\leftarrow Q(s,a)+\alpha[r+\gamma \max_{a'}Q(s',a')-Q(s,a)]\\
|
||||||
|
&\qquad s\leftarrow s'\\
|
||||||
|
&\quad \textbf{end for}\\
|
||||||
|
&\textbf{end for}
|
||||||
|
\end{aligned}
|
||||||
|
$$
|
||||||
|
- 离线策略
|
||||||
|
|
||||||
|
$$
|
||||||
|
\begin{aligned} &行为策略(采样数据表的策略)与\\
|
||||||
|
&目标策略(用这些数据更新的策略)不同,\\
|
||||||
|
&如a由行为策略\epsilon-Greedy(Q)采样得到,\\
|
||||||
|
&a'由当前策略\max(Q)采样得到,
|
||||||
|
\end{aligned}
|
||||||
|
$$
|
||||||
|
|
||||||
## policy-based
|
## policy-based
|
||||||
|
|
||||||
### 一般方法
|
### 一般方法
|
||||||
@@ -202,7 +415,75 @@ $$
|
|||||||
\omega\gets\omega-\alpha\cdot\nabla_{\omega}L(\omega)
|
\omega\gets\omega-\alpha\cdot\nabla_{\omega}L(\omega)
|
||||||
$$
|
$$
|
||||||
|
|
||||||
|
### TRPO
|
||||||
|
|
||||||
|
- 策略目标
|
||||||
|
|
||||||
## Multi-agent
|
## Multi-agent
|
||||||
|
|
||||||
### Subtopic 1
|
### 完全合作关系
|
||||||
|
|
||||||
|
- multi-agent cooperative A2C(MAC-A2C)
|
||||||
|
|
||||||
|
- 策略网络
|
||||||
|
|
||||||
|
$$
|
||||||
|
\pi(A^i|S;\theta^i)
|
||||||
|
$$
|
||||||
|
|
||||||
|
- 动作A的概率密度函数
|
||||||
|
|
||||||
|
$$
|
||||||
|
\pi(A|S;\theta^1,\cdots,\theta^m)\triangleq \pi(A^1 |S;\theta^1)\times\cdots\times \pi(A^m |S;\theta^m)
|
||||||
|
$$
|
||||||
|
- 合作关系 MARL 的策略梯度定理
|
||||||
|
|
||||||
|
$$
|
||||||
|
\nabla_{\theta^i}J(\theta^1,\cdots,\theta^m)=\mathbb{E}_{S,A}\left[\left(Q_\pi(S,A)-b\right)\cdot \nabla_{\theta^i}\ln\pi(A^i|S;\theta^i)\right]
|
||||||
|
$$
|
||||||
|
- 随机梯度——策略梯度的无偏估计
|
||||||
|
|
||||||
|
$$
|
||||||
|
\begin{aligned} g^i(s,a;\theta^i)&\triangleq \left(Q_\pi(s,a)-V_\pi(s)\right)\cdot\nabla_{\theta^i}\ln\pi(a^i|s;\theta^i)\\
|
||||||
|
用r_t+\gamma\cdot v(s_{t+1};\omega)近似Q_\pi(s_t,a_t),\\用v(s_t;\omega)近似V_\pi(s_t)\\
|
||||||
|
\tilde{g}^i(s_t,a_t^i;\theta^i)&\triangleq \left(r_t+\gamma\cdot v(s_{t+1};\omega)-v(s_t;\omega)\right)\cdot \nabla_{\theta^i}\ln\pi(a_t^i|s_t;\theta^i)
|
||||||
|
\end{aligned}
|
||||||
|
$$
|
||||||
|
- 策略网络提升
|
||||||
|
|
||||||
|
$$
|
||||||
|
\theta^i\gets\theta^i+\beta\cdot\tilde{g}^i(s_t,a_t^i;\theta^i)
|
||||||
|
$$
|
||||||
|
|
||||||
|
- 价值网络
|
||||||
|
|
||||||
|
$$
|
||||||
|
v(s_t,\omega)
|
||||||
|
$$
|
||||||
|
|
||||||
|
- 观测
|
||||||
|
|
||||||
|
$$
|
||||||
|
s=[o_1,\cdots,o_m]
|
||||||
|
$$
|
||||||
|
- TD目标
|
||||||
|
|
||||||
|
$$
|
||||||
|
\hat{y_t}\triangleq r_t+\gamma\cdot v(s_{t+1};\omega)
|
||||||
|
$$
|
||||||
|
- 损失函数
|
||||||
|
|
||||||
|
$$
|
||||||
|
L(\omega)\triangleq\frac{1}{2}[v(s_t;\omega)-\hat{y_t}]^2
|
||||||
|
$$
|
||||||
|
- 损失函数的梯度
|
||||||
|
|
||||||
|
$$
|
||||||
|
\nabla_\omega L(\omega)=[v(s_t;\omega)-\hat{y_t}]\cdot\nabla_\omega v(s_t;\omega)
|
||||||
|
$$
|
||||||
|
- 梯度下降
|
||||||
|
|
||||||
|
$$
|
||||||
|
\omega\gets\omega-\alpha\cdot\nabla_{\omega}L(\omega)
|
||||||
|
$$
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 6.5 MiB After Width: | Height: | Size: 6.9 MiB |
Binary file not shown.
Reference in New Issue
Block a user