这次有幸成为了首届VGML(Video Games and Machine Learning)的workshop的受邀演讲嘉宾。以下是流水帐。
我第一个演讲,因为Gabriel的开场白只花了十分钟,所以我有五十分钟,占了点小小的便宜。主要讲了DarkForest,Doom还有最近的ELF的框架。ELF是一个游戏之上的框架,任何游戏或者虚拟环境,只要带有C++接口都可以往里装(现在有Python接口也可以了),而ELF会自动处理并行的问题。ELF收集完了一个batch的游戏数据,就可以交给Python端的强化学习算法进行训练。这样的框架很灵活,不管是Self-Play还是Multi-Agent或者是MCTS,不管是简单的A3C或者是带规划(planning)的复杂强化学习算法,都可以统一在一起。另外我们还在ELF里面写了个微缩版的即时战略游戏MiniRTS,帧率在笔记本电脑上达到了单核4万帧每秒,对训练颇有帮助,训练一个包含采矿造兵防守进攻的能玩完整游戏的AI只需要单GPU几个CPU半天时间。
大家对ELF还有挺多兴趣的,问了好几个问题。DeepMind那边Oriol一副挺当回事的表情,并反复表示他们的文章里引了我们这篇。后来我一查居然同一篇文章引了两次,回想起Oriol说自己困得不行,得要回去睡觉,看来这文章还真是赶出来的。
然后是两个Spotlight。说实在这一次的workshop的文章质量很高,一篇是用多智能体的模型玩星际局部战斗,借用了博弈论里面counterfactual的思路去定义每个智能体的优势函数(advantage function),效果居然和把所有兵当成一个智能体的性能差不多,挺令人吃惊的。另一篇则回顾了俄罗斯方块的算法。
接下来是Marc,他之前在DeepMind后来去了新开的蒙特利尔Google Brain。他介绍了一下Atari Game的历史,把Atari游戏归为三类,一类是已经解决的,一类是还未解决的,另一类是被AI找到漏洞刷分的。有趣的是,大部分还未解决的游戏集中于Atari游戏发布后期,证明我们AI的水平目前还局限于此,未来还有很长的路要走。对于“游戏研究有何意义”的质问,他引用了强化学习老前辈Richard Sutton的观点,认为“游戏会比真实世界更真实”。
接下来是EA的Magnus Nordin,SEED组的老大(注意不是高达那个SEED)。来自游戏公司的讲义,其质量只能以惊艳来形容。他一开始介绍了目前运用深度学习在图形学和物理引擎上面的进展。其中通过像素点采样来进行光线跟踪,然后用神经网络插值这个效果实在太漂亮,眼看着图形学界折腾了十数年的实时光线跟踪就要被深度学习两三下做成了。之后他介绍了EA在AI上的进展,他们用online+offline A3C对一个3D射击游戏(可能是战地1942?)训练了一个相当复杂的网络,取得了不错的效果。
接下来是另两篇Spotlight。一篇做吃豆人(Pacman)游戏,用奖励分解(reward decomposition)的技术做到超人类的性能,在这个游戏上远远甩开了之前所有的算法。另一篇是基于两阶段GAN的地形生成算法,生成的地形相当自然漂亮。
下午做Minecraft上的平台Malmo的Katja过来做演讲。她对合作式AI有相当的兴趣。接下来就是大家非常关注的暴雪和DeepMind合作的星际2的API,由来自暴雪的主任工程师Jacob来讲。Jacob一身肌肉,颇有当电影明星的潜质。他一开始就声明要录音,说这是给他妈妈的礼物,让大家一起喊hi Mom。不得不说好温馨啊。他讲了很多干货,配上DeepMind之前发布的文章一起看效果更佳。我相信大家对此都很有兴趣,所以我会再开一篇博客专门讲。
说句题外话,晚上我们一起吃饭的时候,Jacob同学透露出他是坐经济舱十几个小时飞过来的,刚下飞机就过来做演讲,为的是给组里人省经费;收了账单还要仔细看里面有没有列着酒,因为酒不让报销……真是不容易。
接下来由来自DeepMind的Max讲几个和三维场景有关的工作。有些部分像UNREAL,从去年的NIPS Workshop开始大家都听过很多次了,还有一些是最近的工作,如用autoencoder来训练可迁移特征的DARLA,还有让Agent听从自然语言指令(instruction following)的工作。
最后是由来自密歇根大学的教授Honglak Lee的演讲收尾。主要讲了他们ICLR16和ICML17的两个工作。他们使用Minecraft这个平台,搭建二维迷宫,用Hierarchical RL让智能体在迷宫中顺序执行多个指令,并能执行以前没有见过(但每部分都见过)的指令。
Workshop的最后部分是让所有的演讲者坐在一起回答观众们的问题。总的来说气氛比较欢乐。以下是一些我还记得起来的问题及回答:
1. 什么是强化学习将来重要的方向?
大家各种讨论,主要提的方向是Model-based RL还有hierarchical RL。当然这些都说说而已嘛,不要当真。不过蒙对了也说不定。
2. 如何使得AI可被解释。
我的观点是现在主要是数据太多,依赖关系太复杂所以人看不过来。像AlphaGo,首先你不知道DCNN是怎么得到下一步的走法的,其次面对一株庞大无比的MCTS搜索树,人根本看不过来。所以说要达成可解释性,要不就让神经网络自己总结,然后反馈给人。你说我们凭什么在看不到对方心跳呼吸还有神经元传导细节的条件下去相信一个人,还不是因为相信他的话嘛。
3. 大家对内在驱动力(Intrinsic reward)的看法如何。
我觉得这个是非常重要的,以前是Feature engineering,现在变成了reward engineering。以后环境越来越多,人类肯定没有精力去设计所有的reward。这样的话让agent自己找到目标非常重要。其它人也纷纷觉得这是个很有意思的方向。
4. 计算资源重要还是新算法重要。
我觉得两者都重要,是不相关的两个因素。计算资源谁不喜欢,大家都想要GPU越多越好,本来跑两天的算法,两小时就可以跑出来,那太好了。但是我仍然认为新算法是推动领域发展的根本因素,不然大家都回家睡觉,等着机器传来奇迹吧。我们跑到悉尼来开这个会的初衷,不就是要来看不同的想法不同的思路的嘛,大家都依赖机器,那这个会就不用开了。
来源: http://www.tuicool.com/articles/be67Jjm