马尔可夫决策过程(MDP)公式推导及理解(DataWhale组队学习笔记)

马尔可夫决策过程通过对智能体与环境的交互过程进行建模,从而达到求解最优策略的问题。


1、马尔可夫性质: 

p(X_{t+1}=x_{t+1}|X_{0:t}=x_{0:t})=p(X_{t+1}=x_{t+1}|X_t=x_t)


 

2、满足马尔可夫性质的状态序列,通过状态转移矩阵来表示状态之间的变化:

        状态转移函数:

p(s'|s)=p(s_{t+1}=s'|s_t=s)

        状态转移矩阵:

\begin{pmatrix} p(s_1|s_1) & \cdots & p(s_N|s_1)\\ \vdots & \ddots & \vdots\\ p(s_1|s_N) & \cdots & p(s_N|s_N) \end{pmatrix}


 

 3、通过定义状态价值函数,来评估:从当前状态开始,之后可能获得的价值量

        折扣回报(discounted return): ​​​​​​

 ​G_t=\sum_{i\in\{0, \dots, T-t-1\}}\gamma^{i}r_{i+t+1}

        折扣的作用只是为了对未来的回报进行加权,来增加现有奖励的影响。

        在有模型的强化学习问题中,马尔可夫决策过程满足最优子结构和重叠子问题,因此可以使用动态规划算法来精简模型的求解。在无模型的强化学习算法中,智能体与环境交互过程在完成之前,回报始终是一个未知的量,通过蒙特卡洛算法来计算随机抽样后的回报期望,来解决回报未知的问题。

        因此我们需要定义状态价值函数,即当前状态对于后续回报的期望:

V(s)=\mathbb{E}[G_t|s_t=s]


4、通过贝尔曼方程的数学推导,来给状态价值函数的迭代计算提供数学基础:

        对于 t 时刻的状态 s_t=s,智能体从动作集合 \{a_t\} 中采取一个动作 a_t^i 。

        智能体通过决定一个策略来从这个集合中选择出一个动作,因此可以用一个概率的形式来表示智能体的策略:

\pi(a|s)=p(a_t=a|s_t=s)

        因此在状态 s 和动作 a 发生后,根据一定概率使得状态变为 s' ,满足下述公式:

P_{\pi}(s'|s)=\sum_{a\in\mathbb{A}}\pi(a|s)p(s'|s,a)

        在 t 时刻到达状态 s 后,智能体通过策略 \pi 来选择动作 a ,后续的回报期望由于动作 a 的引入而发生了变化,因此比照状态价值函数来定义动作价值函数:

Q_{\pi}(s,a)=\mathbb{E}_{\pi}[G_t|s_t=s,a_t=a]

        状态价值函数是对动作集合 \{a_t\} 中每个动作及后续的动作价值函数的总和:

V_{\pi}(s)=\sum_{a\in\mathbb{A}}\pi(a|s)Q_{\pi}(s,a)


5、根据回报的递归形式来推导状态价值函数的递归形式:

        根据折扣回报的定义,我们有:

G_t=r_{t+1}+{\gamma}G_{t+1}

        因此对应的状态价值函数,我们有:

\begin{align*}V(s)&=\mathbb{E}[G_t|s_t=s]\\ &=\mathbb{E}[r_{t+1}+{\gamma}G_{t+1}|s_t=s]\\ &=R(s)+\gamma\mathbb{E}[G_{t+1}|s_t=s]\end{align*}

        其中 R(s) 为 s 状态下的即时奖励:

R(s):=\mathbb{E}[r_{t+1}|s=s_t]

        根据状态转移函数的定义,我们有:

\mathbb{E}[G_{t+1}|s_t=s]=\sum_{s'\in\mathbb{S}}p(s'|s)\mathbb{E}[G_{t+1}|s_{t+1}=s']

        因此可以得到状态价值函数的递归形式:

V(s)=R(s)+\gamma\sum_{s'\in\mathbb{S}}p(s'|s)V(s')


6、根据回报的递归形式来推导动作价值函数的递归形式:

        同样的,我们对动作价值函数有如下推导:

\begin{align*}Q_{\pi}(s,a)&=\mathbb{E}_{\pi}[G_t|s_t=s,a_t=a]\\ &=\mathbb{E}_{\pi}[r_{t+1}+{\gamma}G_{t+1}|s_t=s,a_t=a]\\ &=R(s,a)+\gamma\mathbb{E}_{\pi}[G_{t+1}|s_t=s,a_t=a]\\ &=R(s,a)+\gamma\sum_{s'\in\mathbb{S}}p(s'|s,a)\mathbb{E}_{\pi}[G_{t+1}|s_{t+1}=s']\end{align*}

        等式的最后一步,在 t 时刻,状态为 s ,智能体根据策略 \pi 来做出动作 a ,对于 t+1 时刻的回报函数求期望,相当于对 t+1 时刻的状态集合的每个状态 s_{t+1}^i 的状态价值函数求和。

        因此我们可以得到:

Q_{\pi}(s,a)=R(s,a)+\gamma\sum_{s'\in\mathbb{S}}p(s'|s,a)V_{\pi}(s')


 

7、结合状态价值函数及动作价值函数之间的关系公式,我们可以得到贝尔曼期望方程:

        根据第4步中的结论:

V_{\pi}(s)=\sum_{a\in\mathbb{A}}\pi(a|s)Q_{\pi}(s,a)

        以及第6步中的结论:

Q_{\pi}(s,a)=R(s,a)+\gamma\sum_{s'\in\mathbb{S}}p(s'|s,a)V_{\pi}(s')

        将两式结合,可以得到状态价值函数及动作价值函数在状态 s 和动作 a 的情况下的最终迭代形式:

V_{\pi}(s)=\sum_{a\in\mathbb{A}}\pi(a|s)\left(R(s,a)+\gamma\sum_{s'\in\mathbb{S}}p(s'|s,a)V_{\pi}(s')\right)

Q_{\pi}(s,a)=R(s,a)+\gamma\sum_{s'\in\mathbb{S}}p(s'|s,a)\left(\sum_{a\in\mathbb{A}}\pi(a|s)Q_{\pi}(s,a) \right )

注:本文参考《蘑菇书EasyRL》第二章内容

来源:第二章 马尔可夫决策过程 (MDP) (datawhalechina.github.io)

你可能感兴趣的:(深度学习,人工智能)