圆栗子 发自 凹非寺
量子位 出品 | 公众号 QbitAI
写作“很好奇”,读作“不怕死”。
打游戏的时候,有些平淡的操作,还没执行就看得到结果。
比如玩马里奥,可以不去踩敌人,一路往前跳。
可是,没试过怎么知道,哪些敌人可以踩?
一扇门,不推开怎么知道里面是什么?
△ 就是死,也要进去看一眼 (来自山下智博)
人类玩家有好奇心,大概AI也要有好奇心比较好。
OpenAI想要鼓励强化学习AI,去探索未知的世界,不要局限在已知的舒适区。
于是,团队推出了一种方法,叫做“随机网络蒸馏 (Random Network Distillation, RND) ”,专注培养AI的好奇心:隐藏房间什么的,只有好奇的AI才能发现。
当然,这方法不止用来打马里奥,不然就屈才了。
△ 蒙特祖玛的复仇
用RND加持的算法打蒙特祖玛的复仇 (最难的雅达利游戏,可称强化学习AI的噩梦),智能体逃出了第一关的全部24个房间,成绩远远超过人类的平均分数 (4.7k) ,以及现有最前沿的算法。
鼓励探索,当然是用高额奖励RND是一种基于预测的方法。
给每一个备选的动作,预测一下结果:
如果,结果非常容易预测,奖励分就偏低。
结果越难预测,就表示越“未知”,奖励分也越高。
△ 第一次离开家,并不知道外面的危险 (还是来自山下智博)
重赏之下,AI探索新世界的意愿就会更强了。
不过,预测结果有个难点,叫做嘈杂电视问题 (Noisy-TV Problem) :
举个栗子,在一个迷宫游戏里,摆一台“电视”,播放随机频道。
走到电视里面前,智能体就停下来不走了。
一旦没有了“电视”,智能体又能正常玩耍了。
是预测受到了干扰。
为了避免这样的干扰,团队定义了预测误差的三个因素:
一号因素,预测误差很高,预测器无法从之前看到的例子中泛化。后面的经历会受到高预测误差的影像。
二号因素,预测误差很高,因为预测目标是随机 (Stochastic) 的。
三号因素,预测误差很高,因为缺少必要信息,或者预测器模型的局限性太大,无法适应复杂的目标函数。
OpenAI团队判断,一号是必要的,因为它把新颖程度量化了,二号和三号则需要竭力避免。
RND就是为了避免这两个因素,而诞生的探索奖。
上图是传统预测和RND预测的对比。
避免二号因素,就要让神经网络给出确定性的答案,而不是给出多个答案和它们各自的可能性;
避免三号因素,就要选择和目标网络相同的架构。
对蒙特祖玛的复仇来说,这样特殊的奖励机制尤其必要:
如果是一般的游戏,简单的探索策略就够用了,但蒙特祖玛里面,除了拿到钥匙有奖励、碰到骷髅会死之外,其余都是0,AI很难感受到游戏规则,也不易学到有用的经验。
加重探索奖,才能让AI更加理解游戏。
团队表示,RND不止蒙特祖玛的复仇适用,马里奥等等其他游戏也适用。以及,越过游戏范畴,更加广泛的强化学习AI也都可以用这个方法,让智能体对新鲜事物更好奇。
好奇的宝宝成绩好从最简单的雅达利打砖块开始观察。
△ 砖块排列发生变化,奖励就会达到峰值
内在奖励,指探索奖;外在奖励,指游戏中直接体现的奖励,如游戏分值。
每当智能体打下一块砖,砖块有了新的排列格式,内在奖励就会达到峰值 (训练伊始) 。
当它首次通过第一关的时候,内在奖励也达到了峰值 (训练数小时后) 。
再看超级马里奥,内在目标与外在目标已经基本一致了。
智能体通过了11关,找到了许多隐藏的房间,并打败了库巴大魔王。
接下来,就是蒙特祖玛的复仇。
见这段视频:https://v.qq.com/x/page/n1351cp49k7.html?start=44
最好成绩,当然是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/
△ 吃蘑菇,变成弹簧 (依然来自山下智博)
— 完 —
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved