David Silver 强化学习系列博客的内容整理自David Silver 强化学习的PPT和知乎叶强强化学习专栏。

1 Markov Processes

1.1 Introduction to MDPs

    在强化学习中,马尔科夫决策过程是对完全可观测的环境进行描述的,我们可以知晓所有信息,一切相关信息都被呈现给agent。几乎所有的强化学习问题都可以转化为MDP。

1.2 Markov Property

    如果一个状态St是马尔科夫性质的,那么:P[St+1|St]=P[St+1|S1,...,St]
    在一个时序过程中,如果t+1时刻的状态仅取决于t时刻的状态St而与t时刻之前的任何状态都无关时,则认为t时刻的状态St具有马尔科夫性 (Markov property)。若过程中的每一个状态都具有马尔科夫性,则这个过程具备马尔科夫性。具备了马尔科夫性的随机过程称为马尔科夫过程 (Markov process),又称马尔科夫链 (Markov chain)。马尔科夫过程中的每一个状态St记录了过程历史上所有相关的信息,而且一旦St确定了,那么历史状态信息S1...St1对于确定St+1均不再重要,可有可无。

State Transition Matrix

    描述一个马尔科夫过程的核心是状态转移概率矩阵:Pss=P[St+1=s|St=s]
    公式告诉我们,如果当前处于状态s,那么将以一定概率值转移到后继状态s
    状态转移矩阵如下:
David Silver 强化学习Lecture2:MDP
    其中,n是状态数量,矩阵中每一行元素的和为1。
    矩阵的每一行告诉我们接下来会发生什么。对于当前所处的任一状态(假设处在state1),那么P11告诉我之后到达state1的概率(即,又回到state1);P12告诉我之后到达state2的概率。在MDP中,状态矩阵定义了从任何一个可能的开始状态出发进行转移的过程。我们遵循这个转移步骤,重复很多次,从这个矩阵中不断取样就可以得到一个MDP的大概过程。

1.3 Markov Chains

    马尔科夫过程即马尔科夫链,等于一个拥有马尔科夫性质的随机状态序列。定义这个序列需要有限数量的状态集合S和状态转移概率矩阵P,可以用一个元组<S,P>表示。SP完整定义了系统的动态变化过程。
    举例:学生马尔科夫链。
David Silver 强化学习Lecture2:MDP
    图中,圆圈表示学生所处的状态,方格Sleep是一个终止状态,或者可以描述成自循环的状态,也就是Sleep状态的下一个状态100%的几率还是自己。箭头表示状态之间的转移,箭头上的数字表示当前转移的概率。
    当学生处在第1节课时,他有50%的几率会参加第2节课;同时在也有50%的几率不在认真听课,进入到浏览facebook这个状态中。在浏览facebook这个状态时,他有90%的几率在下一时刻继续浏览,也有10%的几率返回到课堂内容上来。当学生进入到第2节课时,会有80%的几率继续参加第3节课,也有20%的几率觉得课程较难而退出(Sleep)。当学生处于第3节课这个状态时,他有60%的几率通过考试,继而100%的退出该课程,也有40%的可能性需要到去图书馆之类寻找参考文献,此后根据其对课堂内容的理解程度,又分别有20%、40%、40%的几率返回值第1、2、3节课重新继续学习。一个可能的学生马尔科夫链从状态Class1开始,最终结束于Sleep,其间的过程根据状态转化图可以有很多种可能性,这些都称为Sample Episodes。以下四个Episodes都是可能的:
David Silver 强化学习Lecture2:MDP
    Sample Episode就是一个状态序列,一个从初始状态得到的状态序列。每一个序列都是随机序列,该序列来自于动态采样。该序列以一定概率分布在序列上进行状态转移,这个序列具有马尔可夫性。当状态序列的最后一个状态是终止状态时,该状态序列称为完整的状态序列 。
    该学生马尔科夫过程的状态转移矩阵如下图:
David Silver 强化学习Lecture2:MDP

2 Markov Reward Process(=MP+Rewards)

    马尔科夫过程只涉及到状态之间的转移概率,并未触及强化学习问题中伴随着状态转换的奖励反馈。如果把奖励考虑进马尔科夫过程,则成为马尔科夫奖励过程(MRP)。它是由S,P,R,γ 构成的一个元组,其中:
    S是一个有限状态集
    P是集合中状态转移概率矩阵: Pss=P[St+1=s|St=s]]
    R是一个奖励函数:Rs=E[Rt+1|St=s]
    γ 是一个衰减因子:γ[0,1]
    注意,关于奖励函数的表达式,为什么奖励是t+1时刻的?这里仅仅是一个约定。Rt+1指的是离开该状态s能获得的立即奖励。
    举例:学生马尔科夫奖励过程
David Silver 强化学习Lecture2:MDP
    在上图的基础上在每一个状态旁增加了一个奖励值,表明到达该状态后(或离开该状态时)学生可以获得的即时奖励,如此构成了一个学生马尔科夫奖励过程。学生到达每一个状态能获得多少奖励不是学生自己能决定的,而是由充当环境的授课老师或教务部门来确定,从强化学习的角度来说,奖励值由环境动力学确定。

2.1 Return

    收获(return) 是一个马尔科夫奖励过程中从某一个状态St开始采样直到终止状态时所有奖励的有衰减的之和。数学表达式如下:Gt=Rt+1+γRt+2+...=k=0γkRt+k+1
    从公式上可以看到,我们不关心每个状态上所获得的reward,关心的是整个变化过程中奖励的总和。注意,在这个公式中没有计算期望。这是因为我们只是谈论在这个时刻的某一个随机样本G,它来自马尔科夫奖励过程。其中衰减系数γ体现了未来的奖励在当前时刻的价值比例。γ接近0,表示趋向现在的奖励;γ接近1,表示趋向未来的奖励。
    引入衰减系数的好处:a)数学表达的方便;b)避免陷入无限循环(远期利益具有一定的不确定性);c)在金融学上,立即的回报相对于延迟的回报能够获得更多的利益;d)符合人类对于眼前利益的追求。

2.2 Value Function

    价值是马尔科夫奖励过程中状态收获的期望。 其数学表达式为:v(s)=E[Gt|St=s]
    公式表明,一个状态的价值v(s)是该状态s的收获的期望。也就是说从该状态开始依据状态转移概率矩阵采样生成一系列的状态序列,对每一个状态序列计算该状态的收获,然后对该状态的所有收获计算平均值得到一个平均收获。当采样生成的状态序列越多,计算得到的平均收获就越接近该状态的价值,因而价值可以准确地反映某一状态的重要程度。如果存在一个函数,给定一个状态能得到该状态对应的价值,那么该函数就被称为价值函数
(value function) 。价值函数建立了从状态到价值的映射。
    举例说明,上述学生MRP收获和价值的计算。
计算某一状态序列的收获:
David Silver 强化学习Lecture2:MDP
    以第2个sample为例:
G1=C1状态离开的即时奖励+γ×FB状态离开的即时奖励+γ2×FB状态离开的即时奖励+γ3×C2状态离开的即时奖励+γ4×FB状态离开的即时奖励=2+(1)1/2+(1)1/4+(2)1/8+(2)1/16=3.125
计算各个状态的价值:
1.γ=0:即,不关心除了当前这一步以外的其他时间步。
David Silver 强化学习Lecture2:MDP
    例如对于class1,只考虑当前的时间步,无论sample怎么选取,return都是-2。即:每个状态的价值函数等于各状态的即时奖励。
2.γ=0.9:即,各状态的价值需要通过计算平均return得到。
David Silver 强化学习Lecture2:MDP

Bellman Equation for MRPs

    从状态的价值的定义可以看出,得到每一个状态的价值,进而得到状态的价值函数对于求解强化学习问题是非常重要的。但通过计算收获的平均值来求解状态的价值不是一个可取的办法,因为一个马尔科夫过程针对一个状态可能可以产生无穷多个不同的状态序列。
    贝尔曼期望方程是一个迭代方程,其目的就是用于方便地求解价值函数,基本思想是对价值函数进行递归分解。最终分解的结果如下:v(s)=E[Rt+1+γv(St+1)|St=s]
    上式中,v(s)由两部分组成,一部分是该状态的即时奖励期望,即时奖励期望等于即时奖励,因为每次离开同一个状态得到的奖励都是一个固定的值;另一个是下一时刻状态价值的期望,可以根据下一时刻状态的概率分布得到其期望。
    那么,上述方程可以写成:v(s)=Rs+γsSPssv(s)。上式就是马尔科夫奖励过程中的贝尔曼方程。它表示一个状态的价值由该状态的奖励以及后续状态价值按概率分布求和按一定的衰减比例联合组成。
    举例学生MRP的贝尔曼方程
David Silver 强化学习Lecture2:MDP

3 Markov Decision Processes(=MRP + action)

    马尔科夫奖励过程并不能直接用来指导解决强化学习问题,因为它不涉及到agent行为的选择,因此有必要引入马尔科夫决策过程。 马尔科夫决策过程(MDP) 是由S,A,P,R,γ 构成的一个元组,其中:
    S是一个有限状态集
    A是一个有限行为集
    P是集合中基于行为的状态转移概率矩阵Pssa=E[Rt+1|St=s,At=a]
公式理解:执行动作a后,从一个状态转移到另一个状态的概率。
    R是基于状态和行为的奖励函数Rsa=E[Rt+1|St=s,At=a]
公式理解:执行动作a后,离开一个状态的即时奖励。
    γ 是一个衰减因子:γ[0,1]
    这里的P和R都与具体的行为a对应,而不像马尔科夫奖励过程那样仅对应于某个状态。由于action的引入会影响状态转移矩阵P和相应的回报R。
    举例说明学生MDP:
David Silver 强化学习Lecture2:MDP
    图中依然用空心圆圈表示状态。红色的文字表示的是采取的行为,而不是先前的状态名。对比之前的学生MRP示例可以发现,即时奖励与行为对应了,同一个状态下采取不同的行为得到的即时奖励是不一样的。由于引入了Action,容易与状态名混淆,因此此图没有给出各状态的名称;此图还把Pass和Sleep状态合并成一个终止状态;另外当选择”去酒吧”这个动作时,之后出现的state就是随机的了,也就是说此时Agent没有选择权决定去哪一个状态。
    在马尔科夫决策过程中,agent有根据自身对当前状态的认识从行为集中选择一个行为的权利,而agent在选择某一个行为后其后续状态则由环境的动力学决定。比如上图中,class1状态下选择Study这个action,那么将百分百转化到class2状态;但是class3状态下选择Pub这个action,将有0.2的概率转化到class1状态,0.4的概率转化到class2状态,0.4的概率转化到class3状态。第一个概率100%和第二个概率0.2,0.4,0.4都是基于状态和行为的状态转化概率,是由环境的动力学决定的。

3.1 Policy

    agent在给定状态下从行为集中选择一个行为的依据则称为策略 (policy),用字母π表示。策略π是某一状态下基于行为集合的一个概率分布:π(a|s)=P[At=a|St=s]
    公式理解:如果你处在状态s下,策略π这个概率分布会给你一个概率映射,告诉你接下来选择哪一个动作执行的概率。
    比如上图中,状态class1下,有0.5的概率选择动作Facebook,也有0.5的概率选择动作Study。
    策略π仅和当前的状态有关,和历史信息无关。
    随机策略是一个很常用的策略,当个体使用随机策略时,个体在某一状态下选择的行为并不确定。借助随机策略,个体可以在同一状态下尝试不同的行为。
    当给定一个马尔科夫决策过程: M=S,A,P,R,γ和一个策略π,那么状态序列S1,S2,...是一个符合马尔科夫过程 S,Pπ 的采样。类似的,联合状态和奖励的序列S1,R2,S2,R3,...是一个符合马尔科夫奖励过程S,Pπ,Rπ,γ的采样,并且在这个奖励过程中满足下面两个方程:
Pssπ=aAπ(a|s)Pssa
    公式理解:在执行策略π时,状态从s转移至s的概率等于一系列概率的和,这一系列概率指的是在执行当前策略时,执行某一个行为的概率与该行为能使状态从s转移至s的概率的乘积。
Rsπ=aAπ(a|s)Rsa
    公式理解:当前状态s下执行某一指定策略π得到的即时奖励是该策略π下所有可能行为得到的奖励与该行为发生的概率的乘积的和。

3.2 Value Function

    有两个值函数:状态价值函数和行为价值函数。
状态价值函数:vπ(s)=Eπ[Gt|St=s]
    告诉我们状态s有多好,在这个状态下,遵循一定的策略π,最终能得到多少奖励的期望,或者说在执行当前策略π时,衡量agent处在状态s时的价值大小。
行为价值函数:qπ(s,a)=Eπ[Gt|St=s,At=a]
    告诉我们在一个特定的状态s下采取一个特定的action有多好,在这个状态下,遵循一定的策略π,对当前状态s执行某一具体行为a所能得到的收获的期望,或者说在遵循当前策略π时,衡量对当前状态s执行行为a的价值大小。

Bellman Expectation Equation

    定义了基于策略π的状态价值函数和行为价值函数后,依据贝尔曼方程,可以得到如下两个贝尔曼期望方程:
vπ(s)=E[Rt+1+γvπ(St+1)|St=s]
qπ(s,a)=E[Rt+1+γqπ(St+1,At+1)|St=s,At=a]
    由于行为是连接马尔科夫决策过程中状态转换的桥梁,一个行为的价值与状态的价值关系紧密。具体表现为一个状态的价值可以用该状态下所有行为价值来表达:vπ(s)=aAπ(a|s)qπ(s,a)
    公式理解:在遵循策略π时,状态s的价值体现为在该状态下遵循某一策略而采取所有可能行为的价值按行为发生概率的乘积求和。
    类似的,一个行为的价值可以用该行为所能到达的后续状态的价值来表达:qπ(s,a)=Rsa+γsSPssavπ(s)
    公式理解:一个某一个状态下采取一个行为的价值,可以分为两部分:其一是离开这个状态的价值,其二是所有进入新的状态的价值与其转移概率乘积的和。
    如果把上二式组合起来,可以得到下面的结果:
vπ(s)=aAπ(a|s)[Rsa+γsSPssavπ(s)]
qπ(s,a)=Rsa+γsSPssaaAπ(a|s)qπ(s,a)
    举例学生MDP,计算状态s4的价值。
David Silver 强化学习Lecture2:MDP

3.3 Optimal Value Function

    给定策略 π下的 MDP 问题可以通过其衍生的 MRP和P来求解。不同的策略可以得到不同的价值函数,这些价值函数之间的差别有什么意义?是否存在一个基于某一策略的价值函数,在该策略下每一个状态的价值都比其它策略下该状态的价值高?如果存在如何找到这样的价值函数?这样的价值函数对应的策略又是什么策略?为了回答这些问题,我们需要引入最优策略、最优价值函数等概念。
    解决强化学习问题意味着要寻找一个最优的策略让agent在与环境交互过程中获得始终比其它策略都要多的收获,这个最优策略用π表示。一旦找到这个最优策略 π,那么就意味着该强化学习问题得到了解决。
最优状态价值函数:是所有策略下产生的众多状态价值函数中的最大者:
v=maxvπ(s)
最优行为价值函数:是所有策略下产生的众多行为价值函数中的最大者:
q(s,a)=maxqπ(s,a)
    存在如下的结论:对于任何马尔科夫决策过程,存在一个最优策略π优于或至少不差于所有其它策略。一个马尔科夫决策过程可能存在不止一个最优策略,但最优策略下的状态价值函数均等同于最优状态价值函数:vπ(s)=v(s);最优策略下的行为价值函数均等同于最优行为价值函数:qπ(s,a)=q(s,a)
    最优策略可以通过最大化最优行为价值函数 qπ(s,a)来获得:
David Silver 强化学习Lecture2:MDP
    该式表示,在最优行为价值函数已知时,在某一状态s下,对于行为集里的每一个行为a将对应一个最优行为价值q(s,a),最优策略v(a|s)将给予所有最优行为价值中的最大值对应的行为以100% 的概率,而其它行为被选择的概率则为0,也就是说最优策略在面对每一个状态时将总是选择能够带来最大最优行为价值的行为。这同时意味着,一旦得到q(s,a),最优策略也就找到了。因此求解强化学习问题就转变为了求解最优行为价值函数问题。
    举例学生MDP最优策略
David Silver 强化学习Lecture2:MDP

4 附:学生MDP计算过程

4.1 学生马尔可夫决策过程某策略价值函数计算

求解下图中红色的价值函数。采用的策略以及衰减系数在图中标出。
David Silver 强化学习Lecture2:MDP
David Silver 强化学习Lecture2:MDP
计算公式:
David Silver 强化学习Lecture2:MDP
求解的方法:迭代法计算。由于迭代次数较多,大概需要迭代11次才能收敛到图中的数值。这里只演示前4次迭代。
David Silver 强化学习Lecture2:MDP
David Silver 强化学习Lecture2:MDP
David Silver 强化学习Lecture2:MDP
David Silver 强化学习Lecture2:MDP

4.2 最优策略下的最优状态价值

不同的策略(上述策略是π(a|si)=0.5) 下得到各个状态的最终价值并不一样, 在最优策略下最优状态价值的计算将遵循以下公式,此时一个状态的价值将是在该状态下所有行为价值中的最大值。
David Silver 强化学习Lecture2:MDP
最终求解答案如下。
David Silver 强化学习Lecture2:MDP
计算过程:
David Silver 强化学习Lecture2:MDP
David Silver 强化学习Lecture2:MDP
David Silver 强化学习Lecture2:MDP
David Silver 强化学习Lecture2:MDP

相关文章: