首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >动作CycleGAN好奇心探索 代码开源

动作CycleGAN好奇心探索 代码开源

作者头像
用户1908973
发布2018-07-20 17:38:20
2970
发布2018-07-20 17:38:20
举报
文章被收录于专栏:CreateAMindCreateAMindCreateAMind

Curiosity-driven Exploration by Self-supervised Prediction

一项好的勘探政策是允许代理人访问尽可能多的国家,即使没有任何目标。我们期望良好的勘探政策能够覆盖尽可能多的地图;我们期望它访问尽可能多的游戏状态。令我们吃惊的是,我们发现在这两种情况下,无奖励代理都能很好地执行报价(请参见视频)。

https://github.com/pathak22/noreward-rl

https://pathak22.github.io/noreward-rl/

动作cyclegan!视频动作到视频--视频视频到动作! 自监督 预测 动作 视觉

知乎:

https://www.zhihu.com/question/59899209/answer/309530869

Flood Sung的介绍:

今天花了点时间看了这篇paper,感觉还是挺有意思的。 这里面的RL问题是针对sparse reward的任务,而且不仅仅sparse,如果没有好的action,reward甚至得不到。那么文章选择的马里奥和vizdoom确实是不错的例子。那么,面对这种情况,大部分时间reward为0,agent该怎么办呢?难道就在env里面瞎转悠?没意义呀!

那该怎么办呢?没有reward ? 想来确实很难,如果我们的思维局限在现有的reward上。 但是作者就是突破了思维的维度! 我们要给agent制造reward!让agent有意义的在env里转悠!

怎么才能有意义的转悠呢? 想想我们人在一个新地方转悠是为了干啥?熟悉环境。 OK,所以问题就来了:我们怎么才能更好的让agent熟悉环境?如何设计一个评价指标来评价熟悉度! 想想我们人如果对一个环境很熟悉,比如有一个拐角,那么我们常常会想象,还没拐弯脑子就能浮现拐角后的样子。这说明我们人可以记忆并预测呀! 所以,我们就可以设计一个指标,这个指标就是根据当前state和action预测未来的state,然后计算与实际state的偏差。偏差越小,说明对环境越熟悉,偏差越大说明对环境很不熟悉,需要agent去熟悉。ok,这个熟悉度就是我们想要的reward!大概是为了引起大家关注吧,作者把这叫做好奇心。(话说深度学习这种叫法也是为了引起大家注意,要不然叫多层人工神经网络最优化模型多难听呀)其实我觉得就是熟悉度。整个训练过程都是为了提升agent对环境的熟悉情况。

有了熟悉度,接下来就是如何训练的问题。要预测state可没那么容易,特别是高维度的state比如图像。怎么办?降维呗,弄一个CNN提取state的特征,我们用提取的特征来计算熟悉度就行啦。解决到这里,就差最后一步了:如何构造训练这个cnn来提取特征?

作者处理这个问题的方法我觉得很有创意!作者构造了这个CNN,然后训练目标竟然是根据当前state和下一个state估计中间采取的action。和前面熟悉度预测state正好反过来。这种方法可以利用现有数据进行监督学习,无限量的学。要能估计action,CNN就需要能够提取图像中的有用信息,比如自身的位置变化,周围物体的变化,而对于图像中无关的信息则能自动忽略。所以作者牛逼,用这么简单的方法就能自动提取有效信息。

Curiosity-driven Exploration by Self-supervised Prediction 论文笔记:

我们证明了即使没有任何外在奖励,好奇的代理人也能学习到好的解释策略。举例来说,一个只接受好奇心训练的特工,作为回报,可以在超级马里奥兄弟的一级游戏中穿越相当大的一部分。类似地,在VizDoom中,特工学会了智能地沿着走廊行走,而不是撞到墙壁或被困在角落里(见4.2节)。

这些结果表明,即使在没有明确目标的情况下,该方法也能使agent学习可推广的技能。

Intrinsic Curiosity Module (ICM). ICM encodes the states st, st+1 into the features φ(st),φ(st+1) that are trained to predict at (i.e. inverse dynamics model). The forward model takes as inputs φ(st) and atand predicts the feature representation φˆ(st+1) of st+1.

cyclegan 互相转换学习?视频动作到视频--视频视频到动作

我们的主要贡献是基于agent关于其环境的知识的预测误差来设计内在奖励信号,该内在奖励信号扩展到像图像这样的高维连续状态空间,绕过预测像素的困难问题,并且不受不影响agent的环境的不可预测方面的影响。

作为一种解决方案,过去提出了测量学习进度而不是预测误差( Schmidhuber,1991 )。不幸是,目前还没有已知的用于测量学习进度的计算上可行的机制。

修改代理人观察结果的所有来源分为三种情况: ( 1 )可以由代理人控制的事物;( 2 )代理人无法控制但可能影响代理人的事物(例如,由另一代理人驾驶的车辆),以及( 3 )代理人无法控制但不影响代理人的事物(例如,移动树叶)。一个好的好奇心特征空间应该模仿( 1 )和( 2 ),而不受( 3 )的影响。后者是因为,如果存在对代理无关紧要的变化源,则代理没有动机知道它。

由于没有激励该特征空间对不受代理的行为影响的任何环境特征进行编码,因此我们的代理将不会因达到固有的不可预测的环境状态而获得奖励,并且其探索策略将对干扰物对象、光照变化或环境中的其他变化源的存在具有鲁棒性。

该属性使游戏特别困难,例如,要在高管道或宽间隙上进行跳远,代理需要连续预测相同动作多达12次,从而引入远程依赖性。我们所有关于马里奥的经验都是使用好奇信号训练的,没有任何奖励。 培训详细信息本工作中的所有代理都使用视觉输入进行培训,这些输入以类似于( Mnih等人)的方式进行预处理。2016年

使用了4次动作重复,在马里奥的训练时间里使用了6次动作重复。

inverse model, φ(st) and φ(st+1) are concatenated into a single feature vector and passed as inputs into a fully con- nected layer of 256 units followed by an output fully con- nected layer with 4 units to predict one of the four possible actions. The forward model is constructed by concatenat- ing φ(st) with at and passing it into a sequence of two fully connected layers with 256 and 288 units respectively

ICM-pixels is close to ICM in architecture but incapable of learning em- bedding that is invariant to the uncontrollable part of environment. Note that ICM-pixels is representative of previous methods which compute information gain by directly using the observation space (Schmidhuber, 2010; Stadie et al., 2015). We show that directly using observation space for computing curiosity is significantly worse than learning an embedding as in ICM.

4.2。没有奖励设置 一项好的勘探政策是允许代理人访问尽可能多的国家,即使没有任何目标。在三维导航的情况下,我们期望良好的勘探政策能够覆盖尽可能多的地图;在玩游戏的情况下,我们期望它访问尽可能多的游戏状态。为了测试我们的代理是否能够学习一个好的勘探策略,我们在没有任何环境奖励的情况下对它进行了VizDoom和Mario培训。然后,我们评估了地图的哪个部分被探索(对于维兹杜姆),以及它在这种环境下取得了多大的进展(对于马里奥)。令我们吃惊的是,我们发现在这两种情况下,无奖励代理都能很好地执行报价(请参见视频)。

我们只使用基于好奇心的信号来训练我们在超级马里奥世界的代理。没有任何外在的环境奖励,我们的马里奥代理可以学习跨越30 %以上的一级。该代理不会因为杀死或躲避敌人或避免致命事件而获得奖励,但它会自动发现这些行为(请参阅视频)。一个可能的原因是,被敌人杀死的游戏将导致只看到一小部分游戏空间,使其好奇心饱和。为了保持好奇,学习如何杀死和躲避敌人,使其能够到达游戏空间的新部分,符合代理人的利益。这表明好奇心为学习有趣的行为提供了直接的监督。

我们在一个场景(例如Mario的一级场景)中训练无报酬的探索行为,然后以三种不同的方式评估所得到的探索策略: a )将所学策略“原样”应用于新场景;b )仅通过好奇心奖励的微调来调整策略;( c )调整政策,最大限度地增加一些外部奖励。令人高兴的是,在这三种情况下,我们观察到了一些有希望的泛化结果:

有趣的是,第2级的“从头开始”训练比微调策略更糟糕,即使训练迭代次数比预训练+微调加起来还要多。一个可能的原因是二级比一级更难,所以学习移动、跳跃和从头开始杀死敌人等基本技能比一级的相对“安全”要危险得多。这一结果表明,早期的预训练和后期的微调可能产生一种有助于学习和概括的曲线形式。换句话说,代理能够使用它通过播放Level - 1获得的知识来更好地探索后续级别。当然,游戏设计者这样做是为了让人类玩家逐渐学会玩游戏。 然而,有趣的是,与“按原样”运行相比,将预先在一级培训的勘探策略微调到三级会降低性能。这是因为3级对代理来说很难跨越某个点,代理遇到好奇心封锁,无法取得任何进展。由于agent在困难点之前已经了解了环境的一些部分,因此它几乎没有获得好奇心回报,因此它试图用几乎为零的内在回报来更新其策略,并且策略慢慢退化。这种行为模糊地类似于无聊,如果代理无法取得进展,它就会感到无聊,停止探索。

图8中的结果显示,ICM代理仅通过好奇心进行预训练,然后通过外部反馈进行微调,与从头开始训练的ICM代理相比,学习速度更快,获得更高的回报,从而共同最大限度地提高好奇心和外部回报。此结果确认,当需要代理实现环境指定的目标时,所学习的探索行为也很有用。还值得注意的是,ICM像素并不适用于此测试环境。这表明,与在原始感觉空间中测量好奇心相比,所提出的测量好奇心的机制对于概括的学习技能明显更好。

https://pathak22.github.io/noreward-rl/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-02-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CreateAMind 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档