前面的强化学习基础知识介绍了强化学习中的一些基本元素和总体概念。今天讲解强化学习里面最最基础的MDP(马尔可夫决策过程)。html
MDP是当前强化学习理论推导的基石,经过这套框架,强化学习的交互流程能够很好地以几率论的形式表示出来,解决强化学习问题的关键定理也能够依此表示出来。算法
MDP(马尔可夫决策过程)包含如下三层含义:框架
前面介绍了MDP的基本形式,咱们发现游戏的关键在于策略(policy),也就是如何作出决策与执行行动。在理想状态下,每个行动都要为最终的目标——最大化长期回报努力,那么理论上只要可以找到一种方法,量化每个行动对实现最终目标贡献的价值,这个方式就是用价值函数(简称值函数)来衡量。函数
值函数分两类:学习
其中的\(\pi\)是一个行动策略。spa
咱们从下图中来学习状态值函数:htm
咱们计算左边的\(s^0\)状态的\(v(s^0)\),咱们能够经过它后面的\(r_{a_i}^{s^1_{0,i}}+s^1_{0,i}\)加权的和,其中\(r_{a_i}^{s^1_{0,i}}\)是采起行动\(a_i\)后得到的奖励。blog
因此有状态值函数的Bellman公式:
\[ v_{\pi}(s_t)=\sum_{a_t}\pi(a_t|s_t)\sum_{s_{t+1}}p(s_{t+1}|s_t,a_t)[r_{a_t}^{s_{t+1}} + \gamma * v_{\pi}(s_{t+1})]\;\;\;\;\;\;(1) \]
经过这样的计算,咱们发现状态值函数能够以递归的形式表示。假设值函数已经稳定,任意一个状态的价值能够由其余状态的价值获得。递归
和状态值函数的推到同样,咱们有下面这张状态-行动值函数,它是以\(q(s,a)\)为目标来计算值函数。游戏
一样和状态值函数同样,状态-行动值函数也有相应的Bellman公式:
\[ q_{\pi}(s_t,a_t)=\sum_{s_{t+1}}p(s_{t+1}|s_t,a_t)[r_{a_t}^{s_{t+1}} + \gamma * \sum_{a_{t+1}}\pi(a_{t+1}|s_{t+1})q_{\pi}(s_{t+1},a_{t+1})]\;\;\;\;\;\;(2) \]
这个公式和上面的状态值函数的很是相似。
以上\((1)(2)\)个Bellman公式是MDP中最核心的内容,后面的各类强化学习的算法也是创建在上面2个Bellman公式之上。
经过\((1)(2)\),咱们还能推导出\(v_{\pi}(s_t),q_{\pi}(s_t,a_t)\)之间的关系。
\[ v_{\pi}(s_t)=\sum_{a_t}\pi(a_t|s_t)q_{\pi}(s_t,a_t)\;\;\;\;\;\;(3) \]
\[ q_{\pi}(s_t,a_t)=\sum_{s_{t+1}}p(s_{t+1}|s_t,a_t)[r_{a_t}^{s_{t+1}} + \gamma * v_{\pi}(s_{t+1})]\;\;\;\;\;\;(4) \]
其实\((3)(4)\)也能够经过上面2幅图获得验证。
MDP是强化学习入门的关键一步,若是这部分研究的比较清楚,后面的学习就会容易不少。所以值得多些时间在这里。虽然MDP能够直接用方程组来直接求解简单的问题,可是更复杂的问题却没有办法求解,所以咱们还须要寻找其余有效的求解强化学习的方法。