:COO、执行总编、主编、高级编译、主笔、运营总监、客户经理、咨询总监、行政助理等 9 大岗位全面开放。 简历投递:j[email protected] HR 微信:13552313024 新智元为COO和执行总编提供最高超百万的年薪激励;为骨干员工提供最完整的培训体系、高于业界平均水平的工资和奖金。 加盟新智元,与人工智能业界领袖携手改变世界。 【新智元导读】Facebook 人工智能组研究员、围棋项目负责人田渊栋昨日在知乎专栏撰文,介绍投稿 ICLR2017 的三篇论文,其中两篇应用(包括获 Doom AI Track1 第一名论文),一篇理论。田渊栋还阐述了他对深度学习局限的一些思考。 ICLR2017的投稿时间终于截止。这次投了三篇文章出去,是我个人做研究以来单次会议投稿数最多的一次。 如何用增强学习中的 Actor-Critic 模型再加上课程学习来训练 Doom AI 拿到 AI 比赛冠军:Training Agent for First-Person Shooter Game with Actor-Critic Curriculum Learning(PDF:?id=Hk3mPK5gg) 如何用卷积神经网络让计算机读入一个算法的输入输出,自己写代码:Unsupervised Program Induction with Hierarchical Generative Convolutional Neural Networks 对于用ReLU作为传递函数的二层非线性神经网络的收敛性分析:Symmetry-Breaking Convergence Analysis of Certain Two-layered Neural Networks with ReLU nonlinearity 让计算机自己写代码 ICLR这个会议的投稿是即时公开的,上传完文章之后,任何人都可以看到,不存在任何时延。翻阅投稿的论文,你会看到这个领域的迭代之快,世所罕见。我之前在专栏《快速迭代的人工智能》里面提到领域投稿的速度, 等到这次再看看投稿列表,发觉自己可能还低估了。 像“让计算机自己写代码”这个想法,在去年的文章里还出现得不多,并且主要是以构建可微分计算机(比如说DeepMind的神经图灵机,可微分神经计算机)的形式,让神经网络通过端对端的梯度下降的优化方法,学会如求和排序等具体任务。但是这个思路有几个比较大的问题,一个是因为神经网络的黑箱性质,对可微分计算机学习后使用的算法没办法解释;第二个是梯度下降法取决于初值的选取,且优化过程较慢;第三个是扩展性不好,对60个数排序可以,100个数就完全不行,有悖人类的直觉。而让计算机生成代码则没有1和3这两个问题,2也可以通过预先训练神经网络生成代码来克服,不通过优化,直播,而用一遍前向传播就可以了。 我们的第二篇投稿就是基于这个想法,将算法的输入输出的结果抽取特征后,送入卷积神经网络文献中层次式生成图像的经典框架,生成一张二维图,每行就是一行代码,或者更确切地说,是代码的概率分布。有了好的分布,就可以帮助启发式搜索找到正确的程序。而神经网络的训练数据,则由大量的随机代码,随机输入及随机代码执行后得到的输出来提供,所以基本不需要人工干预,算是非监督的办法。 等到今年的ICLR的文章一公布,随便翻一翻就找到了七篇计算机自动生成(或者自动优化)代码的文章。打开一看,引论里全在描述同样的动机。看完之后,我心里暗自庆幸我们及时投了出去,不然等到ICML就要被灭得渣都不剩了。当然方法上来说,大部分使用的还是RNN和Autoencoder,没有像我们这样脑洞大开用卷积神经网络的,而且就算是代码里包含循环和分支,卷积网络也可以给出相对较好(比随机和LSTM的baseline要好挺多)的预测。相比之下,大部分的文章还只是局限于直线式程序(straight-line program),即没有分支和循环的程序。 用A3C模型和课程学习训练 Doom AI 另外增强学习这个领域目前也是大红大紫。游戏的应用当然是重头戏,这次我们 (@吴育昕)的 Doom 这篇文章用了 DeepMind 那边最新的A3C训练 再加上 课程学习(Curriculum Training)的方法,训练出一个比较强的AI,这个AI读取最近的4帧游戏图像,及它们的中心图像(为了瞄准方便),和AI自己的游戏数据(血量和子弹数),然后输出AI应当做的六个动作(向前/左/右,左/右转,开火,注意这里没有后退的选项)。我们自己写了小地图,先在小地图上做了训练,训练时按照AI的成绩去逐渐调节敌人的强弱,以加速训练的进度,然后放进大地图里面再行训练。最后我们还使用了一些人工的规则,先领会AI的意图(比如说想右转),然后用 VizDoom 里面速度更快的命令取而代之。我们的AI参加了比赛,获得了 Track1(已知地图)的冠军。我们没有像第二名那样使用游戏内部数据(比如说敌人是否出现在视野中)进行训练,这让框架通用性较高。当然因为时间所限,目前还没有在 Track2(未知地图)上做训练和测试。 (责任编辑:本港台直播) |