开源啦:连DeepMind也捉急的游戏,OpenAI给你攻破第一关的高分算法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yH0VLDe8VG8ep9VGe/article/details/83746969
圆栗子 发自 凹非寺 
量子位 出品 | 公众号 QbitAI

写作“很好奇”,读作“不怕死”。

640?wx_fmt=gif

 佛系操作

打游戏的时候,有些平淡的操作,还没执行就看得到结果

比如玩马里奥,可以不去踩敌人,一路往前跳。

可是,没试过怎么知道,哪些敌人可以踩?

一扇门,不推开怎么知道里面是什么?

640?wx_fmt=gif

 就是死,也要进去看一眼 (来自山下智博)

人类玩家有好奇心,大概AI也要有好奇心比较好。

OpenAI想要鼓励强化学习AI,去探索未知的世界,不要局限在已知的舒适区。

于是,团队推出了一种方法,叫做“随机网络蒸馏 (Random Network Distillation, RND) ”,专注培养AI的好奇心:隐藏房间什么的,只有好奇的AI才能发现。

当然,这方法不止用来打马里奥,不然就屈才了。

扫描二维码关注公众号,回复: 3967355 查看本文章

640?wx_fmt=gif

 蒙特祖玛的复仇

用RND加持的算法打蒙特祖玛的复仇 (最难的雅达利游戏,可称强化学习AI的噩梦),智能体逃出了第一关的全部24个房间,成绩远远超过人类的平均分数 (4.7k) ,以及现有最前沿的算法。

鼓励探索,当然是用高额奖励

RND是一种基于预测的方法。

给每一个备选的动作,预测一下结果:

如果,结果非常容易预测,奖励分就偏低。

结果越难预测,就表示越“未知”,奖励分也越高。

640?wx_fmt=gif

 第一次离开家,并不知道外面的危险 (还是来自山下智博)

重赏之下,AI探索新世界的意愿就会更强了。

不过,预测结果有个难点,叫做嘈杂电视问题 (Noisy-TV Problem) :

举个栗子,在一个迷宫游戏里,摆一台“电视”,播放随机频道。

640?wx_fmt=gif

走到电视里面前,智能体就停下来不走了。

640?wx_fmt=gif

一旦没有了“电视”,智能体又能正常玩耍了。

是预测受到了干扰。

为了避免这样的干扰,团队定义了预测误差的三个因素

一号因素,预测误差很高,预测器无法从之前看到的例子中泛化。后面的经历会受到高预测误差的影像。

二号因素,预测误差很高,因为预测目标是随机 (Stochastic) 的。

三号因素,预测误差很高,因为缺少必要信息,或者预测器模型的局限性太大,无法适应复杂的目标函数。

OpenAI团队判断,一号是必要的,因为它把新颖程度量化了,二号和三号则需要竭力避免。

RND就是为了避免这两个因素,而诞生的探索奖

640?wx_fmt=png

上图是传统预测RND预测的对比。

避免二号因素,就要让神经网络给出确定性的答案,而不是给出多个答案和它们各自的可能性;

避免三号因素,就要选择和目标网络相同的架构。

640?wx_fmt=gif

对蒙特祖玛的复仇来说,这样特殊的奖励机制尤其必要:

如果是一般的游戏,简单的探索策略就够用了,但蒙特祖玛里面,除了拿到钥匙有奖励、碰到骷髅会死之外,其余都是0,AI很难感受到游戏规则,也不易学到有用的经验。

加重探索奖,才能让AI更加理解游戏

团队表示,RND不止蒙特祖玛的复仇适用,马里奥等等其他游戏也适用。以及,越过游戏范畴,更加广泛的强化学习AI也都可以用这个方法,让智能体对新鲜事物更好奇。

好奇的宝宝成绩好

从最简单的雅达利打砖块开始观察。

640?wx_fmt=gif

 砖块排列发生变化,奖励就会达到峰值

内在奖励,指探索奖;

外在奖励,指游戏中直接体现的奖励,如游戏分值。

每当智能体打下一块砖,砖块有了新的排列格式,内在奖励就会达到峰值 (训练伊始) 。

当它首次通过第一关的时候,内在奖励也达到了峰值 (训练数小时后) 。

再看超级马里奥。

内在目标外在目标已经基本一致了。

智能体通过了11关,找到了许多隐藏的房间,并打败了库巴大魔王

接下来,就是蒙特祖玛的复仇。

最好成绩,当然是24个房间都攻破,顺利通过第一关,得分17.5k

并且,多数情况下,智能体都能解锁20-22个房间,得分14.5k

对比一下,人类平均分是4.7k

有代码,有论文

现在,OpenAI已经把RND开源了,可以从传送门前往瞻仰:

https://github.com/openai/random-network-distillation

还有,论文也公开了:

https://arxiv.org/pdf/1810.12894.pdf

博客在这里:

https://blog.openai.com/reinforcement-learning-with-prediction-based-rewards/

640?wx_fmt=gif

 吃蘑菇,变成弹簧 (依然来自山下智博)

加入社群

量子位AI社群开始招募啦,欢迎对AI感兴趣的同学,在量子位公众号(QbitAI)对话界面回复关键字“交流群”,获取入群方式;


此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。


进专业群请在量子位公众号(QbitAI)对话界面回复关键字“专业群”,获取入群方式。(专业群审核较严,敬请谅解)

活动策划招聘

量子位正在招聘活动策划,将负责不同领域维度的线上线下相关活动策划、执行。欢迎聪明靠谱的小伙伴加入,并希望你能有一些活动策划或运营的相关经验。相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

640?wx_fmt=jpeg

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态


猜你喜欢

转载自blog.csdn.net/yH0VLDe8VG8ep9VGe/article/details/83746969
今日推荐