增强学习笔记 第三章 马尔科夫决策过程

3.1 概念:

1、学习者和决策者称为代理

2、代理以外称为环境。环境予以新状态,以及奖励

3、从状态到行动的概率的映射,称为策略。$\pi_t(s,a)$代表第t时刻在$s_t=s$时选择$a_t=a$的概率

4、定义环境和代理的边界,跟问题本身有关。所有不能直接控制的,通常都是环境。哪怕代理理解它怎么运作。例如维持机器人的电池能量水平,那么电池能量就属于环境而不是代理自身的一部分。

 

3.2 目标和奖励

1、可以为目标设定一个特殊的奖励值

2、奖励必须表示我们想要代理完成的事情,而不是作为它怎样去完成这个事情的引导或暗示。例如象棋中,只有最后赢了才给奖励,而不是吃掉对方一个子。奖励代表目标而不是方法

3、将奖励放置于环境中,使得代理不能像随意改变行动那样去宣称自己已经获得奖励。这个并不妨碍代理自己在奖励以外自行设定另一个内部奖励,实际上很多增强学习方法都设定了内部奖励。

 

3.3 回报

1、回报指长期奖励的累积

2、片段性任务:是指有终止状态的任务。

  (1)可简单累加奖励:$R_t=r_{t+1}+r_{t+2}+\cdots+r_T$。

  (2)所有非终止状态集合记作$S$,所有状态记作$S^+$。

3、连续性任务:是指没有终止状态的任务:$T=\inf$

  (1)定义折扣回报为$R_t=r_{t+1}+\gamma r_{t+2}+\gamma^2 r_{t+3}+\cdots, 0\le\gamma<1$

  (2)$若\gamma=0$,则为完全短视,只考虑$r_{t+1}$,随着$\gamma$增大接近1,则越来越有远见。

 

3.4 片段性任务和连续性任务的统一表示

1、虽然片断性任务通常分为N个片段,但是大部分时间我们并不区分片段,甚至只考虑一个片段。

2、为统一表示,对片断性任务,对其终止状态设定一个自环,奖励为0

3、因此可以得到统一式子:$R_t=\displaystyle \sum_{k=0}^T\gamma^kr_{t+k+1}$,其中$\gamma$可为$1$,$T$可为$\infty$

 

3.5 马尔科夫属性

1、本书不讨论怎么去设计、改变或学习状态。只讨论在有状态情况下怎么行动。

2、状态可包含丰富的信息,而不只是对环境的当下感应。可以是一系列感应的集合,也可以包含历史信息。例如,听到了'yes'之后,无论当下环境如何,状态都和之前不一样。

3、状态可能无法包含当下环境的全部信息,比如交易员可能无法知道内幕消息。不知道并不可耻,但知道了马上忘记是可耻的。

4、如果状态某种形式汇总过去所有感应,包含了所有必要的信息。我们称为马尔科夫属性。例如,象棋棋盘状态并没有记录所有的下子过程,但是却包含了所有必要信息。

5、若状态满足$Pr{s_{t+1}=s',r_{t+1}=r|s_t,a_t,r_t,s_{t-1},a_{t-1},\cdots,r_1,s_0,a_1}=Pr{s_{t+1}=s',r_{t+1}=r|s_t,a_t}$,则称状态符合马尔科夫属性。

6、即使状态不完全符合马尔科夫属性,依然可以通过增强学习来进行近似学习。我们总是希望能使用状态较好地预测未来奖励以及进行行动决策。当状态越马尔科夫,增强学习的性能越好。

7、马尔科夫属性很重要,因为整个增强学习都是基于当前一个状态来做决策。本书所有理论在这个假设下才完全成立,AI很多其他领域也依赖这个属性。所以理解这个属性非常重要。当然,对于不成立的情况,算法依然有不错的结果。

8、对于平衡木问题,状态需要位置、角度等信息,但是传感器测得的这些信息通常有噪音,有延迟。因此不是完全符合马尔科夫假设。但是算法依然有不错的结果。

9、对于打牌问题,玩家只知道有限的信息,也只记住他认为关键的信息。所以他的状态信息并不是完全马尔科夫的。但是并不妨碍他打出不错的牌。

 

3.6 马尔科夫决策过程

1、符合马尔科夫属性的增强学习称为马尔科夫决策过程。若状态和行动空间为有限,则为有限马尔科夫决策过程

2、状态转移概率:$P_{ss'}^a=Pr{s_{t+1}=s'|s_t=s,a_t=a}$

3、奖励函数:$E_{ss'}^a=E\{r_{t+1}|s_t=s,a_t=a,s_{t+1}=s'\}$

4、回收机器人例子(略),表格表示和转移图表示。

 

3.7 价值函数

1、两种表示:

  (1) 状态s的价值函数:$v_{\pi}(s)=E_{\pi}[G_t|S_t=s]=E_{\pi}[\displaystyle \sum_{k=0}^{\infty}\gamma^kR_{t_k+1}|S_t=s]$

  (2) 行动a的价值函数:$q_{\pi}(s,a)=E_{\pi}[G_t|S_t=s,A_t=a]=E_{\pi}[\displaystyle \sum_{k=0}^{\infty}\gamma^kR_{t_k+1}|S_t=s,A_t=a]$

2、这些计算都是期望值,我们对实际分布是不知道的。但是可以从经验(取样)来估算。可以知道,在算法执行时,如果对于状态s有足够多的采样的,函数值的经验平均将收敛于期望平均。我们称这种基于随机取样平均的方法为蒙特卡洛方法。

3、当状态空间特别大时,我们没办法去维护整个$v_{\pi}(s)$或$q_{\pi}(s,a)$的表格。因此我们会采用一个参数化的函数来逼近(如神经网络),并且通过调整参数来使之接近价值函数的真实值。

4、增强学习和动态规划一样符合递归性。$\displaystyle v_{\pi}=E_{\pi}[G_t|S_t=s]=\sum_a\pi(a|s)\sum_{s'}p(s'|s,a)[r(s,a,s')+\gamma v_{\pi}(s')]$,这个称为Bellman方程。$v_{\pi}$是Bellman方程的唯一解

5、backup图(略)

 

3.8 最优价值函数

1、价值函数在策略上定义了一个偏序。一个策略$\pi$比另一个$\pi'$更好,如果对所有状态$s\in S$,均有$v_*(s)\ge v_{\pi'}(s)$。

2、我们定义最优的策略为${\pi_*}$(尽管可能有多个)。对所有状态$s\in S$,均有$\displaystyle v_*(s)=\max_{\pi}v_{\pi}(s)$

3、最优策略同时也满足:对所有状态$s\in S$以及行动$a\in A(s)$,均有$\displaystyle q_*(s,a)=\max_{\pi}q_{\pi}(s,a)$

4、$v_*$和$q_*$的Bellman方程称为Bellman最优方程,它不包含与任何特定策略有关的项:

$\displaystyle v_*(s)=\max_{a\in A(s)}q_*(s,a)=\max_{a\in A(s)}\sum_{s'}p(s'|s,a)[r(s,a,s')+\gamma v_*(s')]$

$\displaystyle q_*(s,a)=\sum_{s'}p(s'|s,a)[r(s,a,s')+\gamma\max_{a'}q_*(s',a')]$

5、backup图和价值函数的backup图类似,只是在$s$下面的运算并不是按概率加权求和,而是直接选择$q_*(s,a)$最大的$a$

6、对任意$s$选择$q_*(s,a)$最大的a,是一种贪心法,但是因为每个$q_*(s,a)$本身也是考虑了所有步骤计算出来的结果,因此这种选择是全局最优。

7、回收机器人:推导出$v_*(h)$和$v_*(l)$可通过解线性方程组来完成。

8、走格子问题:求出了每个格子的$v_*(s)$,以及对应的最优$a(s)$

9、根据上面两个例子,虽然可以通过解方程的方式来求得最优解,但是实际应用中很少有效。因为要穷举所有的状态和行动,而状态数量可能很巨大,甚至并不一定已知。例如双陆棋就有$10^{20}$个可能的状态。因此寻求近似解是更通常的做法。

10、很多决策问题可以归类为近似解bellman最优方程,例如假设空间搜索(A*算法是个典型),通常指搜索有限K层,第K层不再扩展,而直接用近似方式来给出结果。

11、很多增强学习的算法实际上就是近似解Bellman最优方程。并且使用实际发生的转移比例来代替期望转移比例

 

3.9 最优化与近似

1、因为计算能力和内存的原因,精确解最优方程不可行。

2、近似很多情况下是有效的。例如双陆棋中,很多棋盘状态是不可能出现的(尤其适合人类高手对决时),对这些状态作出很差的决策并不影响整个系统的表现。因此我们更需要将精力花在常见的状态中。

 

posted on 2017-05-07 17:11  米老虎M  阅读(825)  评论(0编辑  收藏  举报

导航