而在Track2上拿了冠军的Intel团队的文章则是给定当前图像,当前的各游戏数据(血量,子弹数和分数)及提高这些数据的迫切程度的权值(Goal),对每个动作输出一个提高值f(比如说做这个动作之后,血量提高了多少,或者又杀死了几个敌人),然后用最高的提高值来选下一步动作。这个实际上是Q值网络的变种。他们生成了各种类型的地图做了训练,效果比DQN及A3C都要好些,而且因为迫切程度的权值是一个输入,所以这个模型具有在线改变目标的能力,比如说可以先让它去加血,加完了再去杀敌,当然这个高层逻辑目前还是需要人去控制。 另外增强学习这边还有一些文章值得关注的。比如说有关模拟学习(imitation learning)的一些工作(两篇以上)。增强学习有个问题是奖励函数需要预先设计好,一般通过手工比较麻烦,这两篇模拟学习的核心思想是通过人类的演示来自动习得增强学习中的奖励函数。 理论这边目前还没有看到特别意思的文章。一般来说深度学习的理论相较实践而言,迭代速度要慢很多,主要是门槛比较高,也并非关注的焦点。我这次投了一篇理论,细节请见下文。虽说理论比较冷门,我仍然相信对理论的深入了解是有长期的功用,会在将来指导实践。 深度学习没有解决的理论问题 虽然深度学习人人都在喊人人都在用,但是它究竟为什么能有效果,到目前为止都没有初步的结论。具体来说,有两个理论问题没有解决,一个是泛化能力,另一个是收敛性。深度神经网络那么多参数,再配以能拟合世界上大部分函数的强大模型容量,按通常机器学习理论的说法,应该是很容易过拟合才对;但是试看目前的卷积神经网络,往往只要是训练集上有了效果,测试集上就不会太差。同样的参数下其它模型,比如说Random Forest和Adaboost,早就过拟合得不能看了。这是为什么呢?目前学术界没有统一的结论。退一步说,假设我们已经承认了深度神经网络对某个问题有效,就是说存在一个权值的解使得期望误差很小,但因为深度学习优化是个非凸问题,这个存在的解,能否通过梯度下降的优化算法得到,还是会陷入局部极小或者在鞍点停很久?这就牵涉到全局收敛性及收敛速度的问题。 这两个问题都很难很难,大家熟悉的工具在非线性传递函数及非凸问题面前似乎毫无用处,更不用说多层非线性网络带来的分析上的困难。为了能对付这个问题,需要去寻找更有效的数学工具,使用更创造性的分析方法。 我这次终于做了第一篇关于深度学习理论的文章,投给了ICLR。文章中首先对于单层ReLU下的梯度,在输入数据符合高斯分布的条件下给了一个闭式解,然后用它证明了在某些适当的初始条件下,优化含有ReLU隐层的二层网络也可以收敛到指定解,而不会掉进局部极小,用的方法是常微分方程的一些理论。这个结论很有意思,因为这类二层网络通常有指数量级的对称性,天生非凸,而要得到一个想要的解,就需要去研究不同初值下对称性破缺(Symmetry-Breaking)的结果。我在结果刚开始露头的时候和组里人讨论过,各位大佬们都觉得玩对称性破缺这种东西非常非常难,我也没指望自己再往下挖能做出些什么来,不过在努力下,居然就得到了一些意想不到的结果。 我想着做层次式模型(Hierarchical model)及深度学习的理论已经有一些年了,从2010年开始一篇有关图像对齐的非凸问题的全局最优解拿了CVPR的Oral,到PhD的中间几年开始想着怎么针对图像设计特定的层次式模型,之后在2013年,因为提出了CVPR那篇的层次式拓展,拿了ICCV13的Marr Prize Honorable Mention。后来2013年9月进了谷歌还在业余时间继续做(见文章收集中的《业余做研究的心得》系列),险些投了一篇文章出去,可是因为无法将提出的理论框架和梯度下降算法结合起来而放弃;最后在2015年时跳到Facebook人工智能研究所,终于有一些可以专心思考的时间,但就算如此仍然到现在才有一些结果,投了第一篇有关深度学习理论的文章。 长长的旅程 (责任编辑:本港台直播) |