EXPLORATION BY RANDOM NETWORK DISTILLATION
作者:互联网
发表时间:2018(ICLR 2019)
文章要点:文章提出了一个random network distillation (RND)的算法,通过比较一个预测网络和一个随机初始化网络的越策误差作为exploration bonus来增加探索。主要思路是说,如果agent去过某个状态了,那么预测误差就会更小,反之就会大。
具体的,先有一个随机网络f,然后有一个predictor网络\(\hat{f}\),学习的目标就是最小化MSE
然后intrinsic reward就是基于这个误差做个normalization(normalized the intrinsic reward by dividing it by a running estimate of the standard deviations of the intrinsic returns.)。所以如果见过某个状态,并且更新过,那这个误差肯定就会变小,相应的intrinsic reward就会更小。
这里为啥要对着一个随机初始化的网络来算误差,作者的逻辑是这样的。Dynamics可能具有随机性,而通常的model都是输入状态动作,预测下一个状态。那么因为这个随机性,就会产生和预测无关的误差,因为不管你预测准不准,随机性造成的误差始终存在,无法消除。这个问题叫做noisy-TV
而作者这种方式,避免了和真实的状态比较误差,而是和一个随机网络去比,就直接抛弃了随机性造成的误差。这算是为啥这么做的原因了吧。
然后另一个点是把extrinsic reward和intrinsic reward分开训,value也对应的有两个
作者这么做的原因是,在构造intrinsic reward的时候就可以有更多的组合方式了,而且不会影响到extrinsic reward对应的policy。比如作者提到,intrinsic reward可以使用episodic return,也可以使用non-episodic return。如果和extrinsic return合到一起的话,那最后的策略就会受到这些intrinsic reward的影响,比如non-episodic return
拆开的话,就可以避免最终的策略被intrinsic reward影响。整个伪代码如下
总结:主要的思路就是通过度量prediction error来度量novelty,算是说得通吧。就是感觉受随机网络的影响比较大,如果随机网络对一些不同状态的预测没有区别,那误差就体现不出来了。另外1.97billion frames的计算量,还是承受不起啊。
疑问:作者虽然说了这个方式可以避免noisy-TV,但是感觉好像也没有避免啊,比如由随机性造成的误差就算通过随机网络预测出来了下一个状态,那这个状态应该还是不一样吧?
文章里面提到的episodic和non-episodic的区别,就是在terminal的时候截断与否吗?non-episodic就是不管terminal,继续算带discount的return?这个情况下,环境会reset吗,还是继续当前位置接着探索?
标签:误差,return,episodic,RANDOM,DISTILLATION,EXPLORATION,随机,reward,intrinsic 来源: https://www.cnblogs.com/initial-h/p/16268601.html