机器学习李宏毅学习笔记28


前言

概述增强式学习(三)Actor-Critic


一、Critic

Critic的工作是评估一个actor的好坏,通过看到某个样子的observation,接下来可能会得到多少reward。
Value function Vθ(s):V的输入是s,s是状况(比如说游戏的画面),V观察的是参数为θ的actor。Vθ是一个function,输入是s,输出是scalar,这个scalar是discounted cumulated reward(在reward前面乘上系数的G(即G’),离当前r越远的r,系数越小)。Value function就是要未卜先知,只看到s就预测actor的表现。Value functtion的数值和被观察的对象有关系,同样一个s,不同的actor得到的分数是不同的。
在这里插入图片描述
在这里插入图片描述
Critic是怎么被训练出来的,
一种方法是monte-carlo(MC)based approach。用actor和环境互动很多轮,会拿到很多记录,完成actor和环境的全部互动后会得到一个Ga’。这样看到sa接下来的输出应该是Ga’。这样value function就会获得一笔训练资料,如果看到sa作为输入,Vθ(sa)应该要跟Ga’越接近越好。同理看到sb、sc…

在这里插入图片描述
另一种方法是temporal-difference(TD) approach。区别于上一个方法,这个方法不用进行玩全部的互动就可以得到训练资料,看到st之后actor执行at得到的rt,再看到st+1,(st,at,rt,st+1)这些资料就可以训练Vθ(s)。
在这里插入图片描述
通过V(st)和V(st+1)的关系,会发现这两者之间的关系,可以写成第三个式子的关系。虽然不知道把st和st+1带入Vθ后输出是多少,但是知道两者相减的数值是多少。这两者相减,应该和rt越接近越好,而rt是知道的。
在这里插入图片描述
MC和TD是基于两种不同的假设,所以会有差异。
在这里插入图片描述
V(sb)出现8次,6次为1,平均下来,V(sb)=3/4。但基于MC,sa出现一次是0,所以V(sa)=0。而基于TD,V(sa)=V(sb)+r,r在第一个式子中为0,所以V(sa)=3/4.
Critic如何被用在actor

二、Critic如何被用在Actor

1.Version3.5

在这里插入图片描述
之前做normalization时G’-b,而这个b的合适取法是设为V(s)。
在这里插入图片描述
V(st)是看到st时的一个期望值,因为有随机性的每次得到的reward不太一样。当看到st时不一定会执行at这个操作,actor本身是有随机性的,同样的st,actor的输出会不一样,每次算出的G’都会是不一样的,把这些G’平均起来就是V(st)。Gt’是st情况下执行at接下来会得到的Gt’。
At大于0表示这个action是比随机出来的action要好,反之表示要比随机出来的要坏。
在这里插入图片描述
这个Gt’是到结束为止某一个随机出来的结果,而V(st)是很多条路径平均后的结果,用sample减平均好像不是一个好的选择。

2.Version4 :Advantage actor-critic

平均-平均
在这里插入图片描述
st经过at获得rt,到st+1,让st+1一直到结束会有很多不同的G’,把这些平均起来就是V(st+1),再加上rt,表示在st执行at后得到的期望值,用at+V(st+1)-V(st)表示At。这样st采取at得到的期望reward-不采取at而是随机sample的一个action两者期望值差距有多大。如果At>0就表示比随机出来的action要好。

三、Tip of actor critic

以游戏画面为例,Actor和critic都是network,actor的输入是一个画面,输出是每一个action的输出,critic的输入是一个画面,输出是一个数值代表接下来得到的reward的总和。这两者有共同的输入,且前面的部分是可以公用的(如cnn)。
在这里插入图片描述


总结

学习视频地址:https://www.bilibili.com/video/BV13Z4y1P7D7?p=30&vd_source=3a369b537e1d34ff9ba8f8ab23afedec

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值