GAE&reward shaping

策略算法(如TRPO,PPO)是一种流行的on-policy方法。它可以提供无偏差的(或近似无偏差)梯度估计,但同时会导致高的方差。而像Q-learning 和离线的actor-critic(如DDPG)等off-policy方法则可以用离线的样本来替代。它们可以使用其他学习过程产生的样本。这样的方法大大提高了采样的效率。不过并不能保证非线性函数逼近能够收敛。

"介于回合更新与单步更新之间的算法"

GAE 它既可以被看做使用off-policy的评价过程来减小策略梯度方法带来的方差,又被看作使用on-policy蒙特卡洛方法来修正评价梯度方法带来的偏差。 0 <λ<1的广义优势估计量在偏差和方差之间折衷,由参数λ控制。\(\lambda=0\)时方差低,偏差大,\(\lambda=1\)时方差高,偏差低。

1、TD($\lambda $)

Monte Carlo算法需要运行完整的episode,利用所有观察到的真是的reward(奖励值)来更新算法。Temporal Difference(TD)算法仅当前时刻采样的reward(奖励值)进行value function的估计。一个折中的方法就是利用n步的reward(奖励进行估计)。

n步返回的定义:\(R_t^{n} \doteq r_{t+1}+\gamma r_{t+2}+\cdots+\gamma^{n-1} r_{t+n}+\gamma^{n} \hat{v}\left(S_{t+n}, \mathrm{w}_{t+n-1}\right), \quad 0 \leq t \leq T-n\)

加上权重值后:\(R_{t}^{\lambda } \doteq(1-\lambda) \sum_{n=1}^{\infty} \lambda^{n-1} R_t^{n}\)

第一列实际上是TD(1)方法,其权重为1-λ,第二列是TD(2),权重为(1-λ)λ…,直到最后一个TD(n)的权重为\(λ^{T-t-1})\)( T是episode的长度)。权重随n的增加而衰减,总和为1。因为\(\sum_{n=1}^{\infty} \lambda^{n-1}=\sum_{n=0}^{\infty} \lambda^{n}=\frac{1}{1-\lambda}\)

image-20200109114837649

2、$\gamma $-just

定义1 估计量$$
\hat{A}_{t}

\[是γ-just的,当: \]

\underset{s_{0} ; \infty \atop a_{0: \infty}}{\mathbb{E}}\left[\hat{A}{t}\left(s, a_{0: \infty}\right) \nabla_{\theta} \log \pi_{\theta}\left(a_{t} | s_{t}\right)\right]=\underset{s_{0: \infty} \atop a_{0: \infty}}{\mathbb{E}}\left[A^{\pi, \gamma}\left(s_{t}, a_{t}\right) \nabla_{\theta} \log \pi_{\theta}\left(a_{t} | s_{t}\right)\right]

\[ 找到 $A^{\pi, \gamma}$ 的一个估计 $\widehat{A}_{t}$ ,使得用这个估计来计算得到的梯度估计期望不变。 **命题1** 假设\]

\hat{A}_{t}

\[可以写成 \]

\hat{A}{t}\left(s, a_{0: \infty}\right)=Q_{t}\left(s_{t: \infty}, a_{t: \infty}\right)-
b_{t}\left(s_{0: t}, a_{0: t-1}\right)

\[这样对于所有\]

\left(s_{t}, a_{t}\right), \quad \mathbb{E}{s: \infty, a_{t+1: \infty}} |{s, a_{t}}\left[Q_{t}\left(s_{t: \infty}, a_{t: \infty}\right)\right]=Q^{\pi, \gamma}\left(s_{t}, a_{t}\right)

\[, \]

\hat{A}_{t}

\[是γ-just的 【证明(附录b)?】 首先,我们可以将期望分解为涉及Q和b的项, \]

\begin{array}{l}
{\mathbb{E}{s, a_{0: \infty}}\left[\nabla_{\theta} \log \pi_{\theta}\left(a_{t} | s_{t}\right)\left(Q_{t}\left(s_{0: \infty}, a_{0: \infty}\right)-b_{t}\left(s_{0: t}, a_{0: t-1}\right)\right)\right]} \
{\quad=\mathbb{E}{s, a_{0: \infty}}\left[\nabla_{\theta} \log \pi_{\theta}\left(a_{t} | s_{t}\right)\left(Q_{t}\left(s_{0: \infty}, a_{0: \infty}\right)\right)\right]} \
{\quad-\mathbb{E}{s, a_{0: \infty}}\left[\nabla_{\theta} \log \pi_{\theta}\left(a_{t} | s_{t}\right)\left(b_{t}\left(s_{0: t}, a_{0: t-1}\right)\right)\right]}
\end{array}

\[依次考虑带有Q和b的项。 \]

\begin{array}{l}
{\mathbb{E}{s: \infty}, a_{0: \infty}\left[\nabla_{\theta} \log \pi_{\theta}\left(a_{t} | s_{t}\right) Q_{t}\left(s_{0: \infty}, a_{0: \infty}\right)\right]} \
{\quad=\mathbb{E}{s, a_{0: t}}\left[\mathbb{E}{s, a_{t+1 ; \infty}}\left[\nabla_{\theta} \log \pi_{\theta}\left(a_{t} | s_{t}\right) Q_{t}\left(s_{0: \infty}, a_{0: \infty}\right)\right]\right]} \
{=\mathbb{E}{s, a_{0: t}}\left[\nabla_{\theta} \log \pi_{\theta}\left(a_{t} | s_{t}\right) \mathbb{E}{s: \infty, a_{t+1: \infty}}\left[Q_{t}\left(s_{0: \infty}, a_{0: \infty}\right)\right]\right]} \
{=\mathbb{E}{s, a_{0: t-1}}\left[\nabla_{\theta} \log \pi_{\theta}\left(a_{t} | s_{t}\right) A^{\pi}\left(s_{t}, a_{t}\right)\right]}
\end{array}

\[接着 \]

\begin{array}{l}
{\mathbb{E}{s, a_{0: \infty}}\left[\nabla_{\theta} \log \pi_{\theta}\left(a_{t} | s_{t}\right) b_{t}\left(s_{0: t}, a_{0: t-1}\right)\right]} \
{\quad=\mathbb{E}{s, a_{0: t-1}}\left[\mathbb{E}{s, a_{t: \infty}}\left[\nabla_{\theta} \log \pi_{\theta}\left(a_{t} | s_{t}\right) b_{t}\left(s_{0: t}, a_{0: t-1}\right)\right]\right]} \
{\quad=\mathbb{E}{s, a_{0: t-1}}\left[\mathbb{E}{s, a_{t: \infty}}\left[\nabla_{\theta} \log \pi_{\theta}\left(a_{t} | s_{t}\right)\right] b_{t}\left(s_{0: t}, a_{0: t-1}\right)\right]} \
{=\mathbb{E}{s, a_{0: t-1}}\left[0 \cdot b_{t}\left(s_{0: t}, a_{0: t-1}\right)\right]} \
{=0}
\end{array}

\[若有\]

V=V^{\pi, \gamma}

\[,该估计器γ-just,实际上还是$A^{\pi, \gamma}$的无偏估计,否则它将产生有偏的策略梯度估计。 当$\hat{A}_{t}=\delta_{t}^{V}=r_{t}+\gamma V\left(s_{t+1}\right)-V\left(s_{t}\right)$若有\]

V=V^{\pi, \gamma}

\[,该估计器γ-just,否则它将产生有偏的策略梯度估计,,实际上还是$A^{\pi, \gamma}$的无偏估计,: $\begin{aligned} E_{s_{t+1}}\left[\hat{A}_{t}\right] &=E_{s_{t+1}}\left[r_{t}+\gamma V^{\pi, \gamma}\left(s_{t+1}\right)-V^{\pi, \gamma}\left(s_{t}\right)\right] \\ &=E_{s_{t+1}}\left[Q^{\pi, \gamma}\left(s_{t}, a_{t}\right)-V^{\pi, \gamma}\left(s_{t}\right)\right]=A^{\pi, \gamma}\left(s_{t}, a_{t}\right) \end{aligned}$ 接下来考虑n步优势函数估计( 类比TD($\lambda$)的$R_t^{n}$后得$R_t^\lambda$的步骤):公式11-16 \]

\begin{aligned}&\hat{A}{t}{(1)}:=\delta_{t} \quad=-V\left(s\right)+r_{t}+\gamma V\left(s_{t+1}\right)\&\hat{A}{t}{(2)}:=\delta_{t}+\gamma \delta^{V} \quad=-V\left(s_{t}\right)+r_{t}+\gamma r_{t+1}+\gamma^{2} V\left(s_{t+2}\right)\&\hat{A}{t}{(3)}:=\delta_{t}+\gamma \delta{V}+\gamma \delta_{t+2}^{V}=-V\left(s_{t}\right)+r_{t}+\gamma r_{t+1}+\gamma^{2} r_{t+2}+\gamma^{3} V\left(s_{t+3}\right)\&\hat{A}{t}{(k)}:=\sum_{l=0} \gamma^{l} \delta^{V}=-V\left(s_{t}\right)+r_{t}+\gamma r_{t+1}+\cdots+\gamma^{k-1} r_{t+k-1}+\gamma^{k} V\left(s_{t+k}\right)\end{aligned}    (11-14)\\hat{A}{t}{(\infty)}=\sum_{l=0} \gamma^{l} \delta{V}=-V\left(s_{t}\right)+\sum_{l=0} \gamma^{l} r_{t+l}    (15)\\begin{aligned}\hat{A}{t}^{\mathrm{GAE}(\gamma, \lambda)} &:=(1-\lambda)\left(\hat{A}^{(1)}+\lambda \hat{A}{t}{(2)}+\lambda \hat{A}^{(3)}+\ldots\right) \&=(1-\lambda)\left(\delta_{t}{V}+\lambda\left(\delta_{t}+\gamma \delta_{t+1}{V}\right)+\lambda\left(\delta_{t}^{V}+\gamma \delta_{t+1}{V}+\gamma \delta_{t+2}^{V}\right)+\ldots\right) \&=(1-\lambda)\left(\delta_{t}{V}+\lambda\left(\delta_{t}+\lambda \delta_{t+1}{V}\right)+\lambda\left(\delta_{t}^{V}+\gamma \delta_{t+1}{V}+\gamma \delta_{t+2}^{V}\right)+\ldots\right) \&=(1-\lambda)\left(\delta_{t}{V}\left(1+\lambda+\lambda+\ldots\right)+\gamma \delta_{t+1}{V}\left(\lambda+\lambda+\lambda{2}+\ldots\right)\right.\&\left.\quad+\gamma \delta_{t+2}{V}\left(\lambda+\lambda{3}+\lambda+\ldots\right)+\ldots\right) \&=(1-\lambda)\left(\delta_{t}^{V}\left(\frac{1}{1-\lambda}\right)+\gamma \delta_{t+1}{V}\left(\frac{\lambda}{1-\lambda}\right)+\gamma \delta_{t+2}{V}\left(\frac{\lambda{2}}{1-\lambda}\right)+\ldots\right) \&=\sum_{l=0}^{\infty}(\gamma \lambda)^{l} \delta_{t+l}^{V}\end{aligned}     (16)

\[用$\hat{A}_{t}^{(1)}$来估计A是偏差最大的(因为只有一个“客观的部分rt”),但是方差是最小的(因为可能的不同情况最少);而与之相比,$\hat{A}_{t}^{(2)}$来估计A的偏差小一些,方差则大一些;越往后的$\hat{A}_{t}^{(k)}$则偏差越来越少,而方差越来越大。 要注意的是,GAE方法还有一个缺点,那就是我们要用到的训练集单位不再只是一步数据(s,a,r,s′),而是要用到连续多步的数据。这一定程度上会使得训练的灵活性下降。 policy gradient方法是一个“回合更新”的算法,训练集的基本单位是一条完整的轨道;而Actor-Critic是一个“单步更新”的算法,训练集的基本单位是一个transition(s,a,r,s′)。如果采用上述的方式去估计Aπ(s,a), 则相当于是一种“介于回合更新与单步更新之间的算法”,其训练集的基本单位也是介于一条完整轨道与一步之间。 图解: <img src="C:\Users\scarlettzhu\AppData\Roaming\Typora\typora-user-images\image-20200109152420434.png" alt="image-20200109152420434" style="zoom:67%;" /> ### 3、reward shaping 主要解决的问题:奖励稀疏,不是等到中止状态给奖励,而是每向目标靠近一步就给reward之外的奖励。 但是有可能会出现刷分的情况: <img src="C:\Users\scarlettzhu\AppData\Roaming\Typora\typora-user-images\image-20200109102257877.png" alt="image-20200109102257877" style="zoom:67%;" /> 在A和B之间循环走动,达到奖励值最大。 解决方案:引入势能函数$\Phi(s)$ ,定义了一个状态的势能. 这个概念借鉴了物理学的势能概念。 当agent从一个高势能状态转移到第低势能转移时,它将获得额外地奖励(类似物理中的动力)。 反过来,如果agent从低势能状态到高势能状态,它将失去奖励(得到一个和上面相同但负的奖励),类似能量守恒。使用两个状态的势能差值$\Phi\left(s^{\prime}\right)-\gamma \Phi(s)$作为额外奖励可以保证不改变MDP的最优解。 $R_{t}=r_{t+1}+\gamma r_{t+2}+\gamma^{2} r_{t+3}+\gamma^{3} r_{t+4}+\ldots=\sum_{k=0}^{\infty} \gamma^{k} r_{t+k+1}$ $V^{\pi}(s)=\mathbb{E}_{\pi}\left\lceil R_{t} | s_{t}=s\right]$ $Q^{\pi}(s, a)=E_{\pi}\left[R_{t} | s_{t}=s, a_{t}=a\right]$ $V_{M}^{\pi}(s)=\mathbb{E}\left[r_{1}+\gamma r_{2}+\gamma^{2} r_{3}+\ldots ; \pi, s\right]$, where $r_{i}$ is the reward received on the $i$ th step of following $\pi$, starting from $s$ $Q_{M}^{\pi}(s, a)=\mathbb{E}_{s^{\prime} \sim P_{sa}}\left[r\left(s, a, s^{\prime}\right)+\gamma V_{M}^{\pi}\left(s^{\prime}\right)\right]$ Bellman最优原理 $Q_{M}^{*}(s, a)=\mathbb{E}_{s^{\prime} \sim P_{s a}}\left[r\left(s, a, s^{\prime}\right)+\gamma \max _{a^{\prime} \in A} Q_{M}^{*}\left(s^{\prime}, a^{\prime}\right)\right]$ reward shaping的结论: 【结论】If $F$ is a potential-based shaping function, then every optimal policy in $M^{\prime}=\langle S, A, T, \gamma, R+F\rangle$ will also be an optimal policy $M=\langle S, A, T, \gamma, R>$ 如果F是基于势能函数的塑形函数,那么改变之后的reward function= r + F重新构成的马尔科夫过程的最优控制还是不变,跟原来一样,反之亦然。 【定义】 1) A shaping reward function $F: S \times A \times S \rightarrow \mathbb{R}$ is potential-based if there exists $\Phi: S \rightarrow \mathbb{R}$ s.t. $F\left(s, a, s^{\prime}\right)=\gamma \Phi\left(s^{\prime}\right)-\Phi(s)$,$r'=r+F=r+ \gamma \Phi\left(s^{\prime}\right)-\Phi(s)$ 2) $\hat{Q}_{M^{\prime}}(s, a):=Q_{M}^{*}(s, a)-\Phi(s)$ 【证明】: $Q_{M}^{*}(s, a)=\mathbb{E}_{s^{\prime} \sim P_{s a}}\left[r\left(s, a, s^{\prime}\right)+\gamma \max _{a^{\prime} \in A} Q_{M}^{*}\left(s^{\prime}, a^{\prime}\right)\right]$ $\begin{aligned} Q_{M}^{*}(s, a)-\Phi(s) &=\mathrm{E}_{s^{\prime} \sim P_{s a}}\left[r\left(s, a, s^{\prime}\right)+\gamma \max _{a^{\prime} \in A} Q_{M}^{*}\left(s^{\prime}, a^{\prime}\right)\right]-\Phi(s) \\ &=\mathbb{E}_{s^{\prime} \sim P_{s a}}\left[r\left(s, a, s^{\prime}\right)+\gamma \Phi\left(s^{\prime}\right)+\gamma \max _{a^{\prime} \in A}\left(Q_{M}^{*}\left(s^{\prime}, a^{\prime}\right)-\Phi\left(s^{\prime}\right)\right)\right]-\Phi(s) \\ &=\mathbb{E}_{s^{\prime} \sim P_{s a}}\left[r\left(s, a, s^{\prime}\right)+\gamma \Phi\left(s^{\prime}\right)-\Phi(s)+\gamma \max _{a^{\prime} \in A}\left(Q_{M}^{*}\left(s^{\prime}, a^{\prime}\right)-\Phi\left(s^{\prime}\right)\right)\right] \end{aligned}$ 第一步到第二步是因为$\Phi$只和s有关,和a是无关的,第二步到第三步是因$E(\Phi(s))=\Phi(s)$ 因为$F\left(s, a, s^{\prime}\right)=\gamma \Phi\left(s^{\prime}\right)-\Phi(s)$,$\hat{Q}_{M^{\prime}}(s, a):=Q_{M}^{*}(s, a)-\Phi(s)$ 得到 \]

\begin{aligned} \hat{Q}{M^{\prime}}(s, a) &=\mathbb{E} \sim P_{s a}}\left[r\left(s, a, s^{\prime}\right)+F\left(s, a, s^{\prime}\right)+\gamma \max {a^{\prime} \in A}\left(\hat{Q}{M{\prime}}\left(s, a^{\prime}\right)\right)\right] \ &=\mathbb{E}{s^{\prime} \sim P{s a}}\left[r^{\prime}\left(s, a, s^{\prime}\right)+\gamma \max {a^{\prime} \in A}\left(\hat{Q}{M{\prime}}\left(s, a^{\prime}\right)\right)\right] \end{aligned}

\[ $\hat{Q}_{M^{\prime}}$满足Bellman最优方程,所以$\hat{Q}_{M^{\prime}}=Q_{M^{\prime}}^{*}$。所以这里说明M中的最优策略也是M'中的最优策略. $       Q_{M^{\prime}}^{*}(s, a)=Q_{M}^{*}(s, a)-\Phi(s) \quad       V_{M^{\prime}}^{*}=V_{M}^{*}(s)-\Phi(s)$ **reward shaping 不改变最优策略。** 【优点】可以加速强化学习 【应用】可以在具有修改后的奖励函数的MDP上学习策略,然后在原始MDP上使用策略。可以作为一个插入人类先验知识的入口。 在许多任务中, 人类总结了大量的次优(大概对, 不是100%对, 基本上符合经验)启发式的规则。设$a_{h}$为根据启发规则在状态s下得到的启发行为,用agent选择的action是不是和启发式规则一致作为势能函数,若一致,则具有高势能。 势能函数的本质,就是Q函数的初始化状态。 一般我们使用全0 Q-value作为初始Q-value,通过更新Q-value最终收敛到最优值. 势能函数改变Q-value的初始状态。好的势能函数一定程度上接近最优Q-value, 可以减少一些早期学习从而加速学习过程。 试想一下,如果势能函数完全等于最优Q-value, 当前状态仅仅学习一步满足Bellman方程。 https://www.teach.cs.toronto.edu/~csc2542h/fall/material/csc2542f16_reward_shaping.pdf https://zhuanlan.zhihu.com/p/56425081 ### 4、Reward shaping和GAE的关系 ![image-20200109144024001](C:\Users\scarlettzhu\AppData\Roaming\Typora\typora-user-images\image-20200109144024001.png)\]

posted @ 2020-01-11 16:45  LIN_KID  阅读(705)  评论(0编辑  收藏  举报