强化学习,是机器学习领域中,除监督学习、非监督学习之外,第三种学习范式。在强化学习中,智能体在环境中通过执行各种动作来与之交互,做完每个动作后都会得到一个环境反馈的奖励值,智能体的目标就是通过一系列的交互,来学习到一种策略,使得它收到的总奖励值最大。
马尔可夫
马尔科夫性:当一个随机过程在给定现在状态及所有过去状态情况下,其未来状态的条件概率分布仅依赖于当前状态;换句话说,在给定现在状态时,它与过去状态(即该过程的历史路径)是条件独立的,那么此随机过程即具有马尔可夫性质。具有马尔可夫性质的过程通常称之为马尔可夫过程。
马尔科夫决策过程(Markov Decision Processes,MDP)包含状态(state),动作(action),状态之间的转移(transition),奖励函数(reward)。
状态:描述了环境中的状态集合S:,其中N为状态数目。
动作:一系列动作的集合A:,其中K为动作数目。
状态转移函数:在状态s下执行动作a,系统状态从s转移到s'的概率,表示为:
在MDP中,一个动作的结果,也就是转移的下一个状态,只与当前的状态有关,而与之前的动作和状态无关,因此可以表示成下面的式子:
奖励函数:它指定了智能体处于某种状态,或在某种状态下执行某种动作时的奖励。在状态s下执行动作a,进入s'状态的奖励表示为:
转移函数T和奖励函数R共同定义了MDP模型,我们用四元组来表示。
策略(policy):给定一种MDP<S, A, T, R>,针对每个状态,policy用来计算接下来要执行的动作,用π来表示策略,那么:
那么一个MDP流程是这样的:在开始状态s0下,策略π计算出下一步要执行的动作a0 = π(s0),然后智能体执行这个动作,并通过转移函数T(s0,a0,s1)达到状态s1,通过奖励函数R(s0,a0,s1)得到奖励r0,循环往复这个过程就有:s0,a0, r0, s1,a1, r1, s2,a2, . . .。
最优准则和折扣
MDP中智能体的学习目标是获得尽可能多的奖励,最先想到的方式是通过贪心原则来优化当前时刻(状态)的奖励r的期望:E[r],但是只关注眼前的即时收益忽略长远收益也不是好办法,因为当前采用次优的动作,长远所得到的收益可能会高于当前采用最优动作的长远收益,因此把将来考虑进去是很重要的,MDP中主要有3种最优模型:
-
有限时域模型(finite horizon model)用来优化智能体将来h个状态上的奖励期望。
-
无限时域模型(infinite horizon model)将长期回报考虑其中,但是会对将来的奖励进行折扣,越远的奖励,折扣的越严重,用γ表示折扣率,而使用了折扣率,确保了即使是无限时域下,获得的总奖励是有限的。当γ=0时,可以将智能体理解成只重眼前利益,比较近视,当γ=1时,智能体就很有远见,同时上面的b式中发现γ上有个指数t,越远折扣越严重,这种也可以理解为希望智能体尽快学习到较好的策略。
-
平均奖励模型(average reward),最大化长期平均奖励。
如果某个任务的序列(幕,episode)长度是可知的,那么适用于有限时域模型,但很多现实情况下,幕的长度是不可知的,因此更适合用无限时域模型。
值函数与贝尔曼方程
值函数用来估计智能体处于某种状态或者在某种状态执行某个动作的好坏。注意,值函数是对特定的策略定义的。在策略π下,状态s的值函数表示为
这里使用无限时序模型,带折扣,那么值函数可以表示为:
类似的,有状态-动作值函数Q : S×A→R,表示从状态s开始,执行动作a使用策略π得到的期望值:
将值函数展开来会得到下面的形式:
它表示,状态的期望值为直接回报和下一个可能的状态的带折扣值,这些状态的值由他们的转移概率加权。
对于任意MDP,它的目标是找到一个最优策略π,能够获得最多奖励,也就是最大化上面的值函数,最优策略的值函数表示为:
上式称为贝尔曼最优方程(Bellman optimality equation),它指出,最优策略下的状态值必须等于该状态下最佳动作的预期收益。使用以下规则,可以在给定最佳状态值函数V*的情况下选择最佳动作。
上面这种方法称为贪心策略(greedy policy),因为它只选择最好的动作,类似的有最优状态-动作值函数:
Q*和V*的关系有:
因此π*可以写成:
也就是说,最佳动作是,采取了该动作后,对于下一个状态能达到最高预期。