Noonisy
强化学习(二)
2022-09-13
阅读:311

值函数与贝尔曼方程


马尔可夫决策过程:
$$ \boldsymbol{S_0,A_0,R_1,S_1,A_1,R_2,...,S_t,A_t,R_{t+1},...,S_{T-1},A_{T-1},R_T,S_T} $$

奖励

(1). 即时奖励$(reward)$,表示在状态 $S_t$ 的时候,执行动作 $A_t$,得到的奖励 $R_{t+1}$
$$ \boldsymbol{S_t,\ A_t\rightarrow R_{t+1}} $$
(2). 累计奖励,表示在状态 $S_t$ 执行动作 $A_t$ 以后的累计奖励 $G_t$
$$ \boldsymbol{G_t=R_{t+1}+R_{t+2}+...+R_{T}=\sum_{k=1}^{T-t}R_{t+k}} $$
(3). 累计折扣奖励$($回报,$return)$,表示
$$ \boldsymbol{G_t=R_{t+1}+\gamma\cdot R_{t+2}+\gamma^2\cdot R_{t+3}+...+\gamma^{T-t-1}\cdot R_{T}=\sum_{k=1}^{T-t}\gamma^{k-1}\cdot R_{t+k}} $$
  • $\gamma=0,\ G_t=R_{t+1}$
  • $\gamma=1,\ $ 累计奖励
  • $\gamma\in(0,1),\ e.g.\ \gamma=0.9$,延时越长,对 $G_t$ 的影响越小
强化学习的目标:找到一个使得累计折扣奖励 $G_t$ 最大的最优策略

值函数

状态值函数

设当前策略为 $\pi$,$V_{\pi}:S\rightarrow R$,从当前状态 $s$ 开始的累计折扣奖励的期望$($执行动作不确定$)$
$$ \begin{aligned} V_{\pi}(s)&= E_\pi\left[G_t|s_t=s\right]=E_\pi\left[\sum_{k=1}^{T-t}\gamma^{k-1}\cdot R_{t+k}|s_t=s\right] \\ \\ &=E_\pi\left[R_{t+1}+\gamma\cdot R_{t+2}+\gamma^2\cdot R_{t+3}+...|s_t=s \right],\ \ {\forall}s\in S \end{aligned} \tag{2-1} $$

动作值函数

设当前策略为 $\pi$,从状态 $s$ 开始,执行动作 $a$ 后,$Q_\pi:S\times A\rightarrow R$,得到的累计折扣奖励的期望$($执行动作确定$)$
$$ \begin{aligned} Q_{\pi}(s,a)&= E_\pi\left[G_t|s_t=s,a_t=a\right] \\ \\ &=E_\pi\left[\sum_{k=1}^{T-t}\gamma^{k-1}\cdot R_{t+k}|s_t=s,a_t=a\right] \\ \\ &=E_\pi\left[R_{t+1}+\gamma\cdot V_\pi(s_{t+1})|s_t=s,a_t=a\right],\ \ {\forall}s\in S,a\in A \end{aligned} \tag{2-2} $$

动作值函数->状态值函数

若已知策略函数 $\pi$,则动作值函数服从以 $\pi$ 为概率密度函数的条件概率分布$($离散$)$
$$ \begin{aligned} V_\pi(s)&=E_{A\sim \pi(.|s)}\left[\ Q_\pi(s,a)\ \right] \\ \\ &=\sum_{a\in A}\pi(a|s)\cdot Q_\pi(s,a) \end{aligned} \tag{2-3} $$

状态值函数->动作值函数

已知
$$ \begin{aligned} Q_{\pi}(s,a)&=E_\pi\left[G_t|s_t=s,a_t=a\right] \\ \\ &=E_\pi\left[R_{t+1}+\gamma\cdot R_{t+2}+\gamma^2\cdot R_{t+3}+...|s_t=s,a_t=a \right] \\ \\ &=E_\pi\left[R_{t+1}+\gamma\cdot (R_{t+2}+\gamma\cdot R_{t+3}+...)|s_t=s,a_t=a \right] \end{aligned} $$
提一个 $\gamma$ 出来,后面括号中的部分又可以表示为
$$ G_{t+1}=(R_{t+2}+\gamma\cdot R_{t+3}+\gamma^2\cdot R_{t+4}+...) $$
再对两边同时求期望$($不知道动作 $a)$
$$ \begin{aligned} E_\pi \left[G_{t+1}|s_t=s \right]&=E_\pi\left[R_{t+2}+\gamma\cdot R_{t+3}+\gamma^2\cdot R_{t+4}+...|s_t=s\right] \\ \\ &=V_\pi(s_{t+1}) \end{aligned} $$
故:
$$ \begin{aligned} Q_\pi(s,a)&=R_{s+1}+\gamma\cdot E_\pi\left[G_{t+1}|s_t=s,a_t=a \right] \\ \\ &=R_{t+1}+\gamma\cdot \sum_{s_{t+1}\in S}P(s_{t+1}|s,a)\cdot V_\pi(s_{t+1}) \\ \\ &=\sum_{s_{t+1}\in S}P(s_{t+1}|s,a)\cdot \left[R_{t+1}+\gamma\cdot V_\pi(s_{t+1})\right] \end{aligned} \tag{2-4} $$
其中考虑状态 $s_t$ 执行动作 $a$ 后转移到状态 $s_{t+1}$ 的概率 $P(s_{t+1}|s,a)$

Bellman方程

状态值函数表示的贝尔曼方程$($常用$)$
$$ V_\pi(s)=\sum_{a\in A}\pi(a|s)\sum_{s'\in S}P(s'|s,a)(r+\gamma\cdot V_\pi(s')) \tag{2-5} $$
动作值函数表示的贝尔曼方程
$$ Q_\pi(s,a)=\sum_{s'\in S}P(s'|s,a)\left(r+\gamma\cdot \sum_{a'\in A}\pi(a'|s')\cdot Q_\pi(s',a') \right) $$
其中,$s'$ 表示 状态 $s$ 执行动作 $a$ 后的下一个状态;$r$ 表示奖励 $R_{t+1}$,是三元的奖励函数 $r(s,a,s')$

参考

最后编辑于:2022 年 09 月 16 日 23:09
邮箱格式错误
网址请用http://或https://开头