Markov Process
几乎所以的强化学习问题都可以表述成马尔可夫决策过程(MDP)的形式。
Markov Property
Definition
A state is Markov if and only if
下一个状态只与当前状态有关
从状态s到状态s’的状态转移概率
状态转移矩阵定义从状态s到状态s’的转移概率。
Markov Process
马尔可夫过程中的所有状态均满足马尔可夫性,马尔可夫过程可以表示成一个而元组,包含状态和状态转移矩阵。
下图是一个马尔可夫过程的例子。初始状态为C1,最终状态为Sleep。
采样(sample)是一个非常重要的概念。如图所示,采样的初始状态为C1,最终状态为Sleep。
比如:
- C1 C2 C3 Pass Sleep
- C1 FB FB C1 C2 Sleep
- C1 C2 C3 Pub C2 C3 Pass Sleep
采样的长度是不固定的是随机的。
马尔可夫过程可以用上述状态转移矩阵表示,第一行第二列是0.5,也就是从C1到C2的转移概率,第二行,第三列为0.8,也就是从C2到C3的转移概率。每一行的总和为1。
Markov Reward Process
可以认为带有value的马尔可夫过程。
R告诉我们从在时间t,状态s的时候,能获得多少reward,这是立即奖励,也就是t+1时候的reward。
Return
可以看作是从时间t开始到结束的累计奖励。
当
接近于0时,我们倾向于短期的reward,当接近于1时,倾向于长期reward。
为什么要设置衰减因子
?
Value Function
value function 衡量在状态s时,到结束时可以获得reward的总和,也就是对
的期望。
还是以上面的为例子:从C1开始,
可以理解为
是一个随机变量,
是
这些随机变量的和,v是
的期望。
Bellman Equation
当前的value function可以看出两部分组成。它的基本思想就是递归分解。
对于MRP而言,奖励仅仅与状态有关,因此bellman方程可以做一下分解表示:
在bellman方程中,值函数被分解为两部分,一部分是对于t+1时间步的奖励的期望,另一部分是对于有折扣的下一状态值的期望。第一部分中由于t+1步的奖励就是t时刻的状态所获得的奖励,因此期望可以直接略去;第二部分则是利用状态转移矩阵对状态值函数求的期望。
bellman equantion的矩阵表示形式
这里前面的v和后面的v是相同的,就是待求解矩阵。这种方法只适合状态比较少的情况。
Markov decision Process
MDP是一个包含MRP的决策过程。它是一个所有状态都具有马尔可夫性的环境。
Policy
A policy is a distribution over actions given state,
这里的policy 中并不包含reward,因为我们并不关心过去所得的reward,我们的策略是最大化将来的reward。此外,当前的state包含之前的所有信息。
- Policy 完全定义了agent的行为
- MDP policy 只依赖于当前的状态
- Policy是固定的,与时间无关
- 给定一个 MDP 和policy ,状态序列 是markov过程 , 状态和奖励序列 也是markov过程
- 其中:
Value Function
之前提到的是不包含action的value function,也就是上图中的state-value function,他是关于state 的value function。这里又补充了关于action的value function。 可以理解为状态s有多好, 可以理解为在状态s下采取action a有多好。
Bellman Expectation Equation
之前提到的关于state的bellman equation为:
现在关于action的bellman equation为:
下面用树状图解释一下:
白色的圈为状态,黑色的点为action。
求根结点s的value
,在状态s时,可能会以不同的概率
采取对应action,对应图中的两个黑色的点。采取每个action都会得到一个action-value function
。这里把不同的action对应的值进行平均就得到了状态s时的value
。
这幅树状图描述了在状态s时采取action a得到的
。每执行一次cation都会得到立即的reward
,然后会以概率
转移到不同的状态s’。在不同的状态s’都会有
,这里对所有可能的状态s’进行平均,然后乘衰减因子
,再加上之前立即reward
就得到了最终的
。
下面两幅图是上面两幅图的组合。就是进行递归操作。
这里讲解一下7.4 是如何计算的。7.4是在状态C3是的value。在状态C3时,可能采取两种action分别为Study和Pub,对应的概率均为0.5,采取action Pub之后会得到立即奖励 +1,然后分别以0.2,0.4,0.4的概率转换为状态C1,C2,C3。采取action Study之后会得到立即奖励+10,然后以1.0的概率转移到结束状态。
7.4 = 0.5*(1+0.2*(-1.3)+0.42.7+0.47.4) + 0.5*(10+1*0)
Bellman Expectation Equation(Matrix Form)
直接求解可得
Optimal Value function
其实我们并不关心在markov chain中可以得到多少reward,我们关心的是在系统中找到最佳路径。
仅仅告诉了我们最大可能的reward,但是并没有告诉我们最好的policy是什么。
告诉了我们在状态s,采取a所获取的最大reward ,如果我们可以获取到
,我们就可以说MDP得到了解决。因此解决MDP可以认为是寻找
。
Optimal Policy
如何定义好的Policy?
- 寻找optimal policy
Bellman Optimality Equation
在之前求
是平均不同action的reward
,这里求
是找到最大的action所获得的reward
。
这里求
和之前的操作相同,也是采取的平均的方法。
下面两幅图为上面的组合,采用了递归的方法。
这里是max(… + …)而不是max(…) + …
Bellman最优方程是非线性的,没有固定的解决方案,解决Bellman optimality equation 的方法通常是采样迭代的方法,比如
- Value Iteration
- Policy Iteration
- Q-learnig
- Sarsa
Extensions to MDPs
视频中简要提及,没有详细讲解。