来源:非正式组织
概要:在Yann LeCun、Yoshua Bengio和Geoffrey Hinton三巨头nature深度学习综述《deep learning》文章中提到,这段期间神经网络模型被主流的计算机视觉和学术界所抛弃。
一、前言
深度学习的发展大致分为这么几个学期:
萌芽期:从BP算法的发明(1970s-1980s)到2006年期间。
迅速发展期:从2006年栈式自编码器+BP微调提出之后。
爆发期:从2012年Hintont团队的Alexnet模型在ImageNet竞赛取得惊人成绩之后。
萌芽期
在Yann LeCun、Yoshua Bengio和Geoffrey Hinton三巨头nature深度学习综述《deep learning》文章中提到,这段期间神经网络模型被主流的计算机视觉和学术界所抛弃。
这期间,学者们试图用有监督学习的方式训练深度神经网络,然而方法不是十分奏效,陷入了困境,在Andrew的教程中可以找到大概这几点原因:数据获取
数据获取问题。有监督训练依赖于有标签的数据才能进行训练。然而有标签的数据通常是稀疏的,因此对于许多问题,很难获得足够多的样本来拟合一个复杂模型的参数。例如,考虑到深度网络具有强大的表达能力,在不充足的数据上进行训练将会导致过拟合。
局部极值问题。使用监督学习方法来对浅层网络(只有一个隐藏层或者没有隐藏层)进行训练通常能够使得参数收敛到合理的范围内。但是当用这种方法来训练深度网络的时候,并不能取得很好的效果。特别的,使用监督学习方法训练神经网络的时候,通常会涉及到求解一个高度非凸的优化问题。对深度网络而言,这种非凸优化问题的搜索区域中充斥着大量“坏”的局部极值,因而使用梯度下降法(或者像共轭梯度下降法,L-BFGS等方法)效果并不好。
梯度弥散问题(或者梯度消失)。梯度下降法在使用随机初始化权重的深度网络上效果不好的技术原因是:梯度会变得非常小。具体而言,当使用反向传播方法计算导数的时候,随着网络的深度的增加,反向传播的梯度(从输出层到网络的最初几层)的幅度值会急剧的减小,结果就造成了整体的损失函数相对于最初几层的权重的导数特别小。这样,当使用梯度下降法的时候,最初几层的权重变化非常缓慢,以至于他们不能够从样本中进行有效的学习。这种问题通常被称为“梯度的弥散”或者梯度消失。
因为一直没有找到有效的解决这些问题的方法,这期间,深度神经网络的发展一直不温不火。或者说在2001年Hochreiter的Gradient flow in recurrent nets: the difficulty of learning long-term dependencies(好像是这篇)提出了神经网络存在的几个问题后,在接下来的几年内神经网络的发展陷入了低谷。而那几年流行的机器学习算法是SVM和集成模型(随机森林、adaboost等)。
迅速发展期
2006年hinton在nature上发表了一篇文章Reducing the dimensionality of data with neural networks,针对上面提到的三个深度学习的问题,提出了栈式自编码器+BP微调的解决方案。在一定程度上解决了上面的三个问题。
栈式自编码神经网络是无监督学习算法。因而不需要规模很大的有标签样本。
经过自编码神经网络训练后的参数已经落在一个较优的位置上,从这个位置开始BP微调,不用担心局部极值问题。
自编码神经网络训练已经使得深度网络的前几层具有表达能力了,比如可以提取出图片的边,局部组建等等,即使有梯度弥散问题,前几层参数不再更新,也不会影响最终深度网络的表达能力。
从此,深度学习开启崭新的浪潮。
爆发期
在12年的ILSVRC竞赛中,Hinton团队的Alexnet模型Imagenet classification with deep convolutional neural networks将1000类分类的top-5误差率降低到了15.3%,碾压了第二名使用SVM算法的26.2%,开启了深度学习的革命,从此之后,深度学习走上了指数式的发展道路。
回到Hilton团队的Alexnet模型上,仅仅使用了有监督的训练,貌似没涉及无监督的预训练。不是在之前说有监督的深度学习训练存在很多问题吗,大概是因为这几条原因,导致了有监督训练的可行:
大规模标注数据的出现。在ILSVRC使用的数据集包括120万的训练图片,5万张验证图片和15万张测试图片。这些图片都是有标注的(属于1000类),而在imagenet出现之前,这样规模的标注数据是不存在的。
对于局部极值的问题,nature综述中,三个大牛作者的说法是:对于深度网络来说,局部极值从来都不是一个问题,从任意的初始参数值开始训练网络,最后都能达到相似的分类效果。这也是被最近的理论和实践所证明的。
对于梯度弥散导致的收敛速度慢的问题,Alexnet模型的两大利器:ReLu激活函数和GPU并行加速,前者使SGD有6倍的加速,后者使用两块CTX580GPU也极大的加快了SGD的收敛速度,两者的效果相乘,使得无监督预训练几乎是多余的了,梯度弥散问题也不再是一个很大问题。
总结
对于06-12年期间的深度神经网络主要以无监督预训练为主流,从12年以后,这时数据库足够大(上万级别),模型足够先进(ReLU激活函数,dropout等等),同时计算速度足够快(GPU)加速,使得无监督预训练(自编码神经网络)在很多应用场景中失去了存在的价值,有监督训练已经足够完成任务。
一句话总结,06年的无监督预训练开启了深度学习的纪元,在之后深度学习快速发展的过程中,大数据的获取、计算机硬件的发展以及深度模型的升级使得有监督训练重新走上舞台,无监督训练也算是完成了历史使命。
那么预训练还有用吗?答案是肯定的,比如我们有一个分类任务,数据库很小,这时还是需要通过预训练来避免过拟合的问题,只不过预训练是通过在一个大的数据库上,通过有监督来完成的,这种有监督预训加小的数据库上的微调的模型称为Transfer learning。
未来智能实验室致力于研究互联网与人工智能未来发展趋势,观察评估人工智能发展水平,由互联网进化论作者,计算机博士刘锋与中国科学院虚拟经济与数据科学研究中心石勇、刘颖教授创建。
未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。
如果您对实验室的研究感兴趣,欢迎支持和加入我们。扫描以下二维码或点击本文左下角“阅读原文”