Surprise-based intrinsic motivation for deep reinforcement learning

最近读论文一直没怎么写博客,以前读论文注重结论,现在转向了过程。

这篇论文,是看了一篇18年openai的论文里面的reference。17年的,比较新。

这篇论文主要涉及了一个内在R,用于在sparse state下更好的去和环境交互。

文中所有的P都是转移。

首先给出了优化函数:

也就是想最大化转移函数,f是正则函数。

L是在文章中定义为根据policy在有结束的情况下的e-reward,也就是正常的外在reward。

P是真实情况下的转移(这个是我们不知道),后面是我们要求的。

这里因为有了内在函数,所以在这里加上这个内在函数。这里主要使用了KL距离,来衡量每一个状态的新奇程度。

如果一个状态经常见到,那么这个状态在两个P中的距离就会很小,也就是内在R会很小。

那么我们就可以把reward的更新公式写成如下形式。(把期望展开)

但是问题来了,这里的P是未知的,我们可以通过自己定义的nn来求。

这里我们就回到了(2),想办法改变这个结构。

于是:

按照我们的理解,KL距离与交叉熵都是衡量两个分布距离的衡量方式,这里多一嘴,交叉熵多数情况下会用来进行loss函数优化

其实KL也完全可以,只不过一般情况下,在有监督的学习当中,H(p)这一个自信息,由于是有标签的,所以是恒定不变的,因此多数情况下不用KL,减少计算量。

然后我们再写出r的更新公式:

同时,还有另一种改写(2)的方法。那就是我们再定义一个网络 从而得到

这里KL 大于等于0,因此最小化KL,也就是最大化后边的E项。

随后我们给出了r的更新公式:

这里我们使用的,是经过k步更新得到的。也就避免了再训练一个网络,两个网络只相差k步的update。

但是文章中发现第一种方法存在很大的弊端,(这里我们给出原文,如果谁能看的明白问题的原因的话,欢迎评论)

我的理解是,当时,无法保证i-reward为0,因为很明显,你再计算的时候丢掉了一个p的自信息。

于是我们选择了第二种方法。

然后文章推到了一下贝叶斯surprise,这里的suprise主要是先验概率与后验概率的KL距离来衡量的。

下面我先给出贝叶斯surprise的framework

以上便是。

是先验分布。ht代表动作与状态历史。

是模型的后验分布。

于是我们可以推出:(关于这个推到,我有一点疑问)

因此我们带入framework中,我们可以得到,贝叶斯surprise就是:

有没有发现和(8)很像,这里只是借用了一下贝叶斯surprise,来证明(8)这样直接用网络k步差距来替代的可行性。

 

以下到了实现部分:

这里我们在(1)中使用L2正则化。

于是update公式变为了:

这里还对上面一个系数进行了规定;在每个回合中都调整一下这个系数。

整体代码如下:

其中还有一些很细节的东西没有讲到,除了文中我提到的我不是很确定的地方之外,其他部分我都通过公式推导证明了一下。

以上,欢迎指正。

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值