BEBOLD: EXPLORATION BEYOND THE BOUNDARY OF EXPLORED REGIONS
Posted initial_h
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BEBOLD: EXPLORATION BEYOND THE BOUNDARY OF EXPLORED REGIONS相关的知识,希望对你有一定的参考价值。
发表时间:2020
文章要点:文章提出了一个叫BeBold(Beyond the Boundary of explored regions)的新的count-based的探索方法,缓解了short-sightedness and detachment的问题,在MiniGrid和NetHack环境上测试,取得了不错的效果。short-sightedness是说agent在两个状态之间来回震荡,没法探索其他状态,从而陷入local minima。这个问题的原因是intrinsic reward会在两个状态之间来回升高和降低,导致agent在这两个状态之间反复横跳,不能探索其他状态。Detachment是说agent会把一个state的intrinsic reward消耗完了之后再去另一个新的状态,但是因为之前那个状态的intrinsic reward已经消耗完了,再想回去之前那个状态就很难了。作者的BeBold算法提出了四个点:
1、Exploration Beyond the Boundary.设置如下形式的intrinsic reward
就是说,如果下个状态被访问的次数比上一个状态少,就会给一个reward。反过来如果下一个状态被访问的次数比上一个状态多,不会有负的reward(有个max算子)。而且如果一条轨迹的访问次数都差不多,那么intrinsic reward就没了。作者说这个方法可以让agent持续更均匀的探索(continue pushing the frontier of exploration in a much more uniform manner)。
2、Episodic Restriction on Intrinsic Reward (ERIR).在一个episode里面,agent只有在第一次访问一个状态的时候才会给一个intrinsic reward,后面访问相同的状态不会有intrinsic reward了。作者说这个方式可以避免反复横跳。
3、Inverse visitation counts as prediction difference.在估计访问次数的时候,作者是这么估计的
其实没看懂为啥这么做,有啥好处。原理上来看,有点像RND里面通过预测状态的误差来给intrinsic reward的方式。可能要再看看RND的paper。
4、Shared visitation counts N(s_t) in the training of Procedurally-Generated (PG) Environments.在那种一点一点生成地图的环境里,作者没有做下采样来合并相似的状态,也没有用不同的网络来计算访问次数,而是直接共用。文章也没有提这么做的好处和坏处。
总结:针对当前探索存在的问题做了一些改进,效果比之前更好。不过离解决NetHack这种超级难的问题还差很远,当然当前也没有方法能解决这个游戏。然后从算法角度来说,个人觉得针对这类迷宫、房间类的问题应该比较适用,对于随机性较强的环境可能不适用,因为同一个状态和动作下也会转移到不同状态,导致intrinsic reward会更频繁的给出,但是并不是因为动作做得好,而是因为随机性。这点作者在limitation里也提到了(Noisy TV Problem. the agent trained using a count-based IR will get attracted to local sources of entropy in the environment. Thus, it will get high IR due to the randomness in the environment even without making any movements.)。
疑问:Inverse visitation counts as prediction difference那个地方没明白为啥那么做,具体实现细节也不太清楚。
以上是关于BEBOLD: EXPLORATION BEYOND THE BOUNDARY OF EXPLORED REGIONS的主要内容,如果未能解决你的问题,请参考以下文章