Reinforcement Learning:An introduction读书笔记-Chapter 3

来源:互联网 发布:西瓜影音播放器 mac 编辑:程序博客网 时间:2024/05/21 22:26

Chapter 3 Finite Markov Decision Processes

3.1 The Agent-Environment Interface


在每一步t,agent都会接收到环境的state,StS,在此基础上选择一个action,AtA(St),即在state S下所有可选的action。在下一步中,agent收到了reward(reward是在agent之外的),Rt+1,并且发现自己在一个新的state,St+1

在每一步agent都会有一个关于states到选择某个action可能性的映射,这就是policy,πt(a|s)即为在state s 时选择action a的可能性。

所有不能被agent直接改变的就是environment,agent-environment的界限是绝对控制而不是是否能得到完整的信息。

3.2 Goals and Rewards

选取reward时必须满足agent让reward最大化同时也能达成我们设定的目标。告知它你想达到的目标是什么,而不是如何达到这个目标。比如在围棋中,我们应将赢得棋局的reward设置为+1,而不是吃到敌方棋子作为+1,否则agent可能会以输掉棋局的代价吃到更多敌方棋子。

我们将reward定义在agent之外并不妨碍有些agent拥有内在的reward(internal rewards)

3.3 Returns

return Gt是关于reward序列的某一个函数。
episodic tasks:agent-environment交互可以很自然的被分成称为episodes的子序列的tasks。S+用来表示terminal state。在这种情况下其return一般定义如下(T即terminal state):

GtRt+1+Rt+2+Rt+3+...+RT

continuing tasks:在很多情况下agent-environment交互不能被很自然的分成定义好的episodes,而是无限制的一直连续下去,或者要持续很长时间。return的一般定义如下:
GtRt+1+γRt+2+γ2Rt+3+...=k=0γkRt+k+1

其中0γ1,被称为discount rate。如果γ<1,只要Rk是有界的,那么无限的加和式是有限的值,当γ=0说明其只看重即时的reward,γ越靠近1说明其将未来的reward看的越重。

3.4 Unified Notation for Episodic and Continuing Tasks

St,i:在第i个episode,t时间节点时的state,action,reward,policy等可以此类推
为了让episodic task和continuing task可以一同表示,我们将episode 的结束看作是一个特殊的state,absorbing state,在这个state它只会从该状态转化为自己本身,reward为0。

就像上图所示,整个reward sequence就可以看成+1,+1,+1,0,0,…就转化成了一个无限的序列。这样一来无论是episodic task还是continuing task的return就可以统一定义成下式,只是涵盖了γ=1T=的可能性(两个可能性不能同时满足,在第十章会引入共存的情况。)

Gtk=0Tt1γkRt+k+1

3.5 The Markov Property

Markov property:
一般情况下在t+1时environment做出的对于在t时action的回应是由之前所有发生过的事情决定的,可以用下式表示。

Pr{St+1=s,Rt+1=r|S0,A0,R1,...,St1,At1,Rt,St,At}

如果一个state signal有Markov property,t+1时刻environment做出的回应值决定于t时的state和action,可用下式表示:
p(s,r|s,a)PrSt+1=s,Rt+1=r|St=s,At=a

换句话说,一个state signal有Markov property并是Markov state当且仅当对所有s,r及所有历史state和action而言第一个式子都是等于p(s,r|St,At)的。在这种情况下environment和task本身都满足Markov property。

如果一个environment满足Markov property,只要给出现在的state和action就可以预测出下一个state和期望得到的reward。只要不断的重复这个过程,就可以推测出未来所有的state和期望得到的reward,其效果和知道所有到目前为止完整的历史state与action一样。也就是说一个关于Markov state的最优policy函数是与关于所有历史信息的最优policy函数一样可靠的。
就算一个state不是完全符合Markov的,但我们可以把它想做一个接近markov的状态。

3.6 Markov Decision Processes

一个满足markov性质的增强学习task叫做markov decison process或者MDP,如果state和action的空间都是有限的就叫做有限MDP。
一个典型的有限MDP,是由state和action集以及每一步环境的动态变化定义的。只要给出state s和action a,以及所有下一个可能成为的state和获得的reward,就可以计算出所有关于环境的信息,比如state action对的期望reward、state的转化概率、满足state-action-next-state的三元组的reward的数学期望等。finit MDP可以写做可以写做

p(s,r|s,a)Pr{St+1=s,Rt+1=r|St=s,At=a}

state-action对的期望reward则可以写做
r(s,a)E[Rt+1|St=s,At=a]=rRrsSp(s,r|s,a)

state的转化概率可以写做
p(s|s,a)Pr{St+1=s|St=s,At=a}=rRp(s,r|s,a)

满足state-action-next-state的三元组的reward的数学期望可以写成
r(s,a,s)E[Rt+1|St=t,At=a,St+1=s]=rRrp(s,r|s,a)p(s|s,a)

事实上就是在St=s,At=a,St+1=s的情况下reward的数学期望,每个reward占到的概率是p(s,r|s,a)p(s|s,a)

在transition graph中有state nodes和action nodes,一个action node对应的所有的转化概率加起来为1,下图是一个transition graph,大的圆(里面写着low 和 high的)是state nodes,小的实心的是action node。每个箭头上前面那个数字是转化的概率,后面那个数字是对应三元组的reward的期望。

Value Function

value function是一个评估某个state的好坏,或者是在某个state采取某个action的好坏。这里的好坏指的是可以期望的未来的reward。
vπ(s) 表示的是state s在 policy π条件下的value。

vπ(s)Eπ[Gt|St=s]=Eπ[k=0γkRt+k+1|St=s]

Eπ[]代表的是在policy π 情况下任意时刻的期望。所有的terminal state的value都是0,vπ函数是policy π 的state-value function。
qπ(s,a)代表的是在state s并在policy π的情况下采取action a 的reward的期望。
qπ(s,a)Eπ[Gt|St=s,At=a]=E[k=0γkRt+k+1|St=s,At=a]

qπ是policy π 的 action-value function。
vπ(s) 满足下述递归式。
vπ(s)Eπ[k=0γkRt+k+1|St=s]=Eπ[Rt+1+γk=0γkRt+k+2|St=s]=aπ(a|s)srp(s,r|s,a)[r+γEπ[k=0γkRt+k+2|St+1=s]]//π(a|s)state saaction//psreward r,rs//reward rrewardvalue=aπ(a|s)s,rp(s,r|s,a)[r+γvπ(s)]

上式就是对于 vπ 的Bellman equation,下图就是backup diagrams,它表示了增强学习中一个很重要的操作backup:将value的信息从后续的state回传给上一个state

Optimal Value Function

当且仅当对于所有sS都有vπ(s)vπ(s),则称ππ。总存在至少这样一个policy是优于或等于其他所有的policy的,这就是optimal policy,用π来表示。optimal policy可能有很多个,但它们都共享同样的state-value function,记作v。并且满足下式:

v(s)maxπvπ(s)sS

它们也共享相同的optimal action-value function,记作q,可以定义成
q(s,a)maxπqπ(s,a)

也可以写成v的形式
q(s,a)=E[Rt+1+γv(St+1)|St=s,At=a]

因为v(s)是最优的,所以它的值必定等于在那个state最优的action的return,也就可以表示成
v(s)=maxaA(s)qπ(s,a)=maxaEπ[k=0γkRt+k+1|St=s,At=a]=maxaE[Rt+1+γv(St+1)|St=s,At=a]=maxaA(s)s,rp(s,r|s,a)[r+γv(s)]

q也可以换一种表达方式
q(s,a)=s,rp(s,r|s,a)[r+γmaxaq(s,a)]

上述式子称为Bellman optimality equation
事实上我们只要知道p(s,r|s,a)就可以通过上述的式子推导出v,因为每个s有这样一个等式,如果有N个state也就有N个等式,有N个未知数,就可以通过非线性方程解出来。得到了v也就可以得出q。这也就意味着我们只要在每个state greedy地找到一个action使得Bellman optimality equation最大化就可以了。本来greedy是一个短期的概念,但因为value本来就考虑了长远的reward,就使得只要greedy地专注于短期的或者说某一步的最优就可以得到长期的最优,就将return从长期转化到了每个state局部、立马可得的。
虽然接触Bellman optimality equation可以得到最优的policy,但是很少是直接有效的,因为这要求穷举,找出所有的可能性。这个解决方案建立在至少以下3个假设上:

  1. 可以很精确地知道环境的动态
  2. 有足够多的计算资源
  3. 符合马尔可夫
    很多增强学习的问题都可以看作是近似解出Bellman optimality equation

Optimality and Approximation

主要要克服的问题:计算力的限制(尤其是每一步计算力的限制),空间的限制
增强学习on-line学习的本质让其放更多的精力在经常出现的情况上,在这些情况上做更好的决定,而不是专注于不经常出现的情况。

阅读全文
0 0
原创粉丝点击