在上一篇博客[RL] 3 Finite Markov Decision Processes (1) 中,我们将问题抽象成一个模型,本篇博客,我们将着手解这个模型。
The Markov Property
在增强学习中,agent根据evironment给出的state做出决策。这里我们先详细探讨一下state:一些state应该满足的条件以及不应该期望state满足的条件。
state表示所有提供给agent的信息。在这里,我们不考虑state信号如何构成、改变或者学习得到,并不是说state的表示不重要,而是我们更关注决策的制定。
不应该将state限制为即时感知,state应当给agent更多信息
显然,state应该包括即时信息,比如刚刚测量到的位置,但是state可以包括更多。state可以是原始信息经过处理后的深层信息,或者也可以是随着时间推移构建出的具有时间维度的信息。比如我们的眼睛一次只看屏幕上具体的一点,经过一次扫描构建出整个屏幕的内容;或者我们听到一个词“yes”,state应该包括之前我们问的问题,因为新的state完全取决于之前的问题;或者一个控制系统可以测得两个不同时间它所处的位置,可以计算得到一个包括速度的state。在所有这些例子中,state基于当前的感知以及之前的state或历史的感知构建。
不应该期望state提供agent所有关于environment的信息,即使额外的信息在决策时非常有用
如果agent玩的是21点,那我们不应该期望它能够知道下一张牌是什么;如果agent正在接一个电话,我们不应该期望它知道对方是谁。在所有这些例子中,environment有隐藏的状态信息,如果agent知道这些信息会利于决策,但agent不该知道,因为它没有任何相关的感知。总之,我们不认为agent不知道一些信息是有问题的,它只需要知道一些信息,甚至在之后可以忘记一些信息。
Markov
理想情况下,我们想要的是一个state信号,很好地总结了过去的感知,这样一来,所有相关信息就都被保留下来了。这通常比即时的感知更多,但不会超过所有历史感知的总和。一个成功保留所有相关信息的state信号,我们称它为Markov,或者说它具有Markov property(马尔可夫性质)。比如,下棋时当前的格局可以看成是Markov state,因为它包括了之前所有重要的对弈过程。尽管对弈过程中的一些信息丢失了,但所有对之后的对弈而言重要的信息都被保留了下来。
The Markov Property
现在我们正式地定义Markov Property。为了数学形式上的简单,我们假设state和reward是有限个的。(这使得我们考虑离散的情况——求和、概率;而不是连续的情况——积分、概率密度,当然扩展到连续的情况是容易的)
考虑environment如何根据agent在t时刻的action做出t+1时刻的反馈。在最一般的情况下,这取决于所有曾经发生过的事。因此,下一步的变化只能通过完整的联合概率分布刻画:
即根据所有过去的事件: S0,A0,R1,...,St−1,At−1,Rt,St,At ,environment反馈 r,s′ 的概率。
如果state满足Markov Property,那么environment在t+1时刻的反馈将只取决于t时刻的state和action,因此下一步的变化可以通过下式刻画:
换句话说,一个state是Markov state,当且仅当:
如果满足Markov Property,我们可以根据当前state和action推测下一个state和reward,并且可以迭代地推测之后所有state和reward,而且表现地和知道所有历史信息一样。同时,我们也可以根据当前state和action制定policy(策略),获得的最优策略并不会比知道所有历史信息差。
有时候,即使state不是严格满足Markov Property,我们也可以认为它是近似的Markov state。
Markov Property在增强学习中是非常重要的,因为它使得policy和reward是一个仅仅与当前state相关的函数。
Markov Decision Processes
终于,我们讲到了我们的主角MDP。满足Markov property(马尔可夫性质)的增强学习任务我们称为Markov Decision Process(马尔可夫决策过程),或者MDP。如果state和action的空间是有限的,那么称为finite Markov decision process (finite MDP)。
一个特定的finite MDP由state集合
S
和action集合
A
以及environment的one-step dynamics(一步变换)
p(s′,r|s,a)
定义。我们再次给出
p(s′,r|s,a)
的定义,即在给定state和action
s
和
给定(1)式,我们可以求出我们想知道的关于environment的一切。
给定state和action下的reward期望:
state转移概率:
给定state、action、下一个state下的reward期望:
Value Functions
几乎所有的增强学习算法,都是用value function(价值函数)来估计agent在给定的state下有多好(或者agent在给定的state下执行给定action有多好)。value function是关于state的函数。好的程度,由未来期望的reward定义,或者更精确的,即return的期望
E[Gt]
。当然,期望的return由选择的action决定,因此value function与具体的policy有关。
回忆一下我们的policy
π
,是从state
s∈S
到action
a∈A(s)
的映射
π(a|s)
,表示在state s下选择action a的概率。我们将policy
π
下,state s的value定义为
vπ(s)
,代表从state s开始,之后采取policy
π
获得的return的期望。对于MDP,我们可以正式地定义
vπ(s)
:
我们称 vπ 为state-value function for policy π
类似的,我们可以定义,在
states,policyπ
下采取action a的value
qπ(s,a)
——从state s开始,采取action a,之后遵循policy
π
获得的return的期望:
我们称 qπ 为action-value function for policy π
vπ和qπ 可以由经验估计。比如一个agent遵循 policyπ ,对于每个遇到的state,它维护这个state之后实际获得return的均值,随着遇到这个state的次数趋向于无穷,均值将收敛到这个state实际的value。如果将每个state的均值根据选择的action不同分成很多份,那么每一份就对应了这个state下采取特定action的value, qπ(s,a) 。我们称这种方法为Mont Carlo methods(蒙特卡洛方法)因为它涉及到对实际的return做多次随机采样后取均值。当然,当state集合很大的时候,这种方法是不切实际的,或许我们需要对state进行参数化,获得一个更小的参数集合代替state集合,参数下的 vπ,qπ 估计return的精确度取决于参数化函数的近似性质(这将在很后面介绍)。
增强学习和动态规划中经常使用value function的一个基本性质——满足特定的递归关系。对于给定的
policyπ,states
,以下s和它可能的后继state之间的一致性条件成立:
其中隐含着, a∈A(s),s′∈S,r∈R ,另外我们用 ∑s′,r 简化了 ∑s′∑r 。
注意最后的方程看上去依旧复杂,实际上并不复杂。它实际上是基于三元组 (a,s′,r) 求累积和 π(a|s)p(s′,r|s,a)[r+γvπ(s′)] ,即当前state s,采取action a后转移到s’子状态,s的value是a所得的reward以及所有子状态的value之和。(图1)
图1 backup diagram
(7)式称为 Bellmanequationforvπ(vπ的贝尔曼方程) ,它表示了state的value与它后继state的value之间的关系。根据图1,试想一下从一个state向另一个state转移。空心的圆表示一个state,实心的圆表示(state,action)的二元组。从 s 开始,agent可以依照
我们称图1这样的图为backup diagram(回溯图?),因为它刻画了从子节点到父节点回溯操作的关系。
Next Blog
现在我们将MDP又推进了一步,我们有了value function来衡量一个state或者一个action的value,接下来我们将问题转换为最大化问题,即最大化value。这部分我们放到下一篇博客。
[RL] 3 Finite Markov Decision Processes (3)