Deep Learning: The Unreasonable
姓名:何承勇
学号:16050510005
原文链接:https://medium.com/intuitionmachine/deep-learning-the-unreasonable-effectiveness-of-randomness-14d5aef13f87#.krwn3icpf
转载自:http://www.jianshu.com/p/8e52cb53e907,有删改
【嵌牛导读】:ICLR 2017会议于法国土伦召开,大会方收到大量关于深度学习研究的论文,但鲜有更基本的关于深度学习本质的理论和实验成果,不过还是有两个研究和一篇论文让大会方眼前一亮。
【嵌牛鼻子】:深度学习、神经网络
【嵌牛提问】:神经网络充满随机性,但为何仍能趋近于收敛?
【嵌牛正文】:
首先,让我们来讨论下好消息。这个难以置信的发现是,你可以训练一个神经网络,让它学会如何学习(即元学习)。具体来说,已经有一些研究团队训练出了能够执行随机梯度下降(SGD)的神经网络。不仅这些研究团队可以证明他们的神经网络能够学习SGD,而且这种网络的效果比任何人工调试的方法都要好。这两篇发表的文章分别是《Deep Reinforcement Learning for Accelerating the Convergence Rate》 和《Optimization as a Model for Few-Shot Learning》 。可惜的是,在这之前,这两个研究团队被Deep Mind抢先一步,其论文《Learning to Learn by gradient descent by gradient descent》 介绍了这种做法。后两篇论文均训练了一个长短期记忆网络(LSTM),而第一篇论文则通过强化学习的方式进行训练。我本以为实现元学习需要更久的一段时间,但它的发展之快超出了我的预期。
另外两个团队也不甘示弱,实现了能够设计新型深度学习网络的机器,而且通过这种方式,我们可以改进现有的技术。这是在学习如何设计神经网络。两篇发表的论文分别是《Designing Neural Network Architectures using Reinforcement Learning》和《Neural Architecture Search with Reinforcement Learning》 。前一篇论文使用了强化Q学习算法来发现卷积神经网络架构。你可以在Caffe中找到一些他们生成的卷积神经网络。而后一篇论文才是真正令人震惊的(没有Google的计算资源,你根本做不到这一点)。他们不仅展示了最新的卷积神经网络,而且这种机器实际上学习了一些LSTM节点的变种。由机器创建的LSTM节点如下所示(左图和下图):
所以,不仅手工优化梯度下降方法的研究人员失业了,那些依靠设计神经网络来谋生的人们也难逃一劫!实际上这仅仅是能够自学习的深度学习系统的开始。所以,在这里我要分享一幅施米德胡贝的漫画,它恰当地描述了正在发生的事情。
这绝对是令人震惊的,而且我们对深度学习算法能发展得多快一无所知。这种元特性允许你将其应用至自身,递归地创建出越来越优秀的系统。
现在,请允许我告诉你那个坏消息。这里有一篇论文传达了这个消息:《Understanding Deep Learning required Rethinking Generalization》 。我对泛化 思考了很多,也在Quora上提了一些关于泛化 和随机性 的问题,希望有人可以分享一下他们对此的见解。然而,直到上述论文的作者进行了一系列有趣的实验之前,没有人给出一份令我满意的答案或理解这个问题的重要性。以下是他们论文中的一部分发现:
1.神经网络的有效容量是足够大的,甚至足够使用暴力记忆的方式记录整个数据集。
2.即便使用随机标签,进行优化仍然是很容易的。实际上,与使用真实标签进行训练相比,随机标签的训练时间仅仅增长了一个小的常数因子。
3.标签随机化仅仅是一种数据转换,学习问题的其他性质仍保持不变。
那个令人震惊的真相显现出来了。深度学习网络仅仅是大规模的关联记忆存储。深度学习网络即使在拟合随机数据时,仍能保持良好的泛化能力。这确实很奇怪,许多支撑神经网络有效性的依据都建立在这样一个猜想之上:“自然”数据往往存在于多维空间中一个非常窄的流形中。然而,随机数据并不具备这样的趋势。
在今年早些时候,John Hopcroft写了一篇论文 ,检验神经网络与关联记忆间的二元性。下面是他论文中的一幅插图:
《Understanding Deep Learning required Rethinking Generalization》这篇论文甚至进一步检验了我们行之有效且久经考验的泛化工具(即正则化),并发现:
显式正则化或许能提高泛化性能,但这既不必要也不足以控制泛化误差。
换句话说,我们所有的正则化工具可能并没有我们想象中那么有效!而且,更难以置信的是,SGD那不可思议的效果,实际上只是另一种碰巧有效的正则化方法!
参照线性模型,我们分析了SGD如何进行隐式的正则化。
事实上,另一个团队在提交至ICLR2017的名为《An Empirical Analysis of Deep Network Loss Surfaces》 的论文中,确认了这些网络的局部极小值是不同的:
我们的实验表明,不同的最优化方法会找到不同的极小值,即使在训练过程中非常靠后的阶段,从一种方法切换至另一种方法,也同样如此。此外,我们发现,不同最优化方法找到的极小值具有不同的形状,但这些极小值在最重要的度量——泛化精度上是相似的。
这表明,你对学习算法的选择“操纵”着算法如何得出最终结果。随机性是无所不在的,无论你如何规范自己的网络或者使用何种SGD变种算法,网络都会趋近于收敛(如果你设置了正确的随机条件)!SGD的什么性质使机器具备了学习的能力?是同分化关联的属性还是其他更一般的属性?如果我们可以让一个网络学会执行SGD,那么我们能够教会它执行这种未知的广义学习方法吗?
实际上,在今年早些时候论文《A Powerful Generative Model Using Random Weights for the Deep Image Representation》 证明了这种随机性的有效性。这篇论文也是由John Hopcroft合著,表明你可以使用随机初始化的未经任何训练的网络生成逼真的图像。这怎么可能呢?
因此,要理解深度学习,我们必须拥抱随机性。随机性起源于最大熵,而最大熵最有趣的是它的自身结构!神经网络的存储容量似乎最接近于随机权重。这里很奇怪的是,宇宙中随机性无处不在。熵值更大的方向反映了时间流向。那么,如果这个性质也是学习机器的基础,那又会发生什么呢?
原文作者:阿里云云栖社区