深度强化学习算法与实践:基于PyTorch的实现
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.2 马尔可夫决策过程

回到前面的简单模型中,在这个有关智能体的模型中,我们看到决策过程是一个顺序的过程,用状态的变化可以显示为(s1a1)→r1→(s2a2)→r2→…→(stat→ rt。定义如下一个决策过程为马尔可夫决策过程,即在智能体的策略π下,从状态st转移到状态st+1的概率完全由状态st和在该状态下采取的动作at来决定。因此,可以将这个条件概率写成如下形式:pπrtst+1|atst)。同时我们注意到,这个概率只由当前状态和动作(stat)来决定,意味着这个决策过程和过去的历史无关,即不需要追溯考虑更早时期如t-1,t-2时刻的状态和动作,只需要关注当前的状态和动作即可,这也是当前的这个强化学习决策过程中“马尔可夫”名词的由来。所谓马尔可夫性,即意味着和过去的历史无关。对于大多数的现实问题,马尔可夫性的近视是一个很好的近似,同时也减少了问题的复杂度,方便问题的抽象。在强化学习领域的算法中,大多数算法都假设问题具有马尔可夫性。

如上所述的一系列连续的决策过程被称为任务(Task)。依据任务执行时间长短,可以将任务分成两类,第一类任务有一个确定的终止时间,即到达时间T之后,整个决策过程自动终止,这类任务被称为片段任务(Episodic Task)。第二类任务则可以无限执行下去,并没有一个确定的终止时间,这类任务则被称为连续任务(Continuous Task)。对于一个任务执行中的某一步来说,人们一般并不会只考虑当前步骤的奖励,而是会综合考虑当前步骤后续的影响,即需要综合考虑当前步骤之后一系列步骤的综合奖励。举个实际的例子,在挖矿的时候,往往有些矿脉看起来很明显,但实际矿藏含量非常小,于是后续的开发价值就不大,而对于另外一些矿脉来说表面上看起来似乎没有矿藏,但是深入挖掘后可以发现矿藏的储量非常大。在强化学习的任务里需要考虑到某些状态,虽然当前奖励比较小,但是未来的奖励非常丰厚。为了能够描述这个问题,这里需要定义回报(Return)。和奖励机制考虑当前步骤不同,回报考虑了所有未来的奖励。当然对于未来的奖励需要做一定的处理,这里需要引入一个概念,叫折扣系数(Discount Factor)γ(0<γ<1)。结合折扣系数的回报定义如下,其中式(1.1)为片段任务的回报定义,式(1.2)为连续任务的回报定义。从直观上解释,因为折扣系数在0和1之间,当前时刻的回报最关联的应该是当前时刻的奖励,随着时间的推移,未来的奖励和当前时刻的状态,动作和奖励的关联越来越小,而且呈指数衰减,最后逐渐趋向于零。从公式中看,折扣系数起到了衰减未来奖励贡献的作用。除了这个作用,折扣系数能够有效地避免回报函数趋向于无穷大,为了解释这个问题,我们可以假设每个时间的奖励固定为1,在执行连续任务的时候,如果没有折扣系数,那么回报就是简单地将未来的所有奖励相加,结果会趋向无穷大发散。如果有折扣系数,通过极限可以求的整体回报是有限的,如式(1.3)所示。

可以看到,折扣系数越大,后续一系列的奖励对于当前的回报影响就越大,可以认为强化学习算法看得越远,相反,强化学习算法更关注的是当前状态后面的少数几个状态。