深度学习综述目录深度学习综述...................................................................................................................................11.神经网络的发展...............................................................................................................22.深度学习研究现状分析...................................................................................................22.1深度学习在语音识别领域的研究现状.....................................................................22.2深度学习在图像识别领域的研究现状.....................................................................32.3深度学习在自然语言处理领域的研究现状.............................................................73.技术挑战分析与解决方案...............................................................................................83.1可用的带标签数据集的较少.....................................................................................83.2网络的复杂度上升和可解释性降低.........................................................................83.3过拟合.........................................................................................................................83.4局部最优解.................................................................................................................93.5梯度消失现象.............................................................................................................94.深度学习的未来...............................................................................................................91.神经网络的发展深度学习(deeplearning)作为机器学习算法中的一个新兴技术,其动机在于建立,模拟人脑进行分析学习的神经网络。深度学习的本质是对观察数据进行分层特征表示,实现将低级特征进一步抽象成高级特征表示,而这一切都是通过神经网络来执行的。深度学习主要借助了神经网络技术,神经网络的最基本单元是神经元。而神经网络的研究开始比较早,早期的感知器模型是最早的神经网络雏形,也称为单层神经网络(无隐藏层)。然而感知器只能做最简单的线性分类任务,甚至无法解决简单的异或问题。但是当网络增加一个计算层之后,不仅可以解决异或问题,而且具有非常好的非线性分类效果。1986年,Rumelhar和Hinton等人提出了反向传播(BackPropagation,BP)算法,解决了两层神经网络所需要的复杂计算量问题,从而带动了业界使用两层神经网络研究的热潮。与单层神经网络不同。理论证明,两层神经网络可以无限逼近任意连续函数。也就是说,面对复杂的非线性分类任务,两层(带一个隐藏层)神经网络可以分类的很好。但是神经网络仍然存在若干的问题:尽管使用了BP算法,一次神经网络的训练仍然耗时太久,而且困扰训练优化的一个问题就是局部最优解问题,这使得神经网络的优化较为困难。同时,隐藏层的节点数需要调参,这使得使用不太方便,工程和研究人员对此多有抱怨。神经网络的研究再次陷入了冰河期。2006年,Hinton在《Science》和相关期刊上发表了论文,首次提出了深度信念网络[1]的概念。与传统的训练方式不同,深度信念网络有一个“预训练”(pre-training)的过程,这可以方便的让神经网络中的权值找到一个接近最优解的值,之后再使用微调(fine-tuning)技术来对整个网络进行优化训练。这两个技术的运用大幅度减少了训练多层神经网络的时间。他给多层神经网络相关的学习方法赋予了一个新名词—深度学习。2.深度学习研究现状分析深度学习极大地促进了机器学习的发展,受到了世界各国相关研究人员和互联网公司的重视,目前深度学习应用最广泛的三个领域是语音识别,图像识别和自然语言处理。2.1深度学习在语音识别领域的研究现状长期以来,语音识别系统大多是采用高斯混合模型(GMM)来描述每个建模单元的概率模型。由于这种模型估计简单,方便使用大规模数据对其训练,该模型有较好的区分度训练算法,保证了该模型能够很好的训练。在很长时间内占据了语音识别应用领域主导性地位。但是GMM实质上一种浅层学习网络模型,特征的状态空间分布不能够被充分描述。而且,使用GMM建模数据的特征维数通常只有几十维,这使得特征之间的相关性不能被充分描述。最后GMM建模实质上是一种似然概率建模方式,即使一些模式分类之间的区分性能够通过区分度训练模拟得到,但是效果有限。从2009年开始,微软亚洲研究院的语音识别专家们和深度学习领军人物Hinton合作。2011年微软公司推出基于深度神经网络的语音识别系统,这一成果将语音识别领域已有的技术框架完全改变。采用深度神经网络后,样本数据特征间相关性信息得以充分表示,将连续的特征信息结合构成高维特征,通过高维特征样本对深度神经网络模型进行训练。由于深度神经网络采用了模拟人脑神经架构,通过逐层的进行数据特征提取,最终得到适合进行模式分类处理的理想特征。2.2深度学习在图像识别领域的研究现状对于图像的处理是深度学习算法最早尝试应用的领域。2012年的ImageNet竞赛中,Krizhevsky等人训练了一个大型的深度卷积神经网络AlexNet,它包含了8个学习层:5个卷积层和3个全连接层。Krizhevsky等人成功借助了ImageNet这个足够大的数据集,借助了GPU的强大计算能力,借助了深层的CNN网络,借助了随机梯度下降(SGD)和Dropout等优化技巧,借助了训练数据扩充策略,最终赢得了2012年的ILSVRC,实现了top-5的错误率为15.3%的好成绩。无论如何,他们靠着深度学习震惊了机器学习领域,从此大量的研究人员开始进入这个领域,一发不可收拾。2013年的ZFNet错误率降到了11.2%。2014年ChristianSzegedy等人[4]设计的GoogLeNet是一个22层的卷积神经网络,在ILSVRC2014上top-5的错误率降到了6.7%。2015年,微软亚洲研究院的KaimingHe等人设计了一个多达152层的ResNet架构,它比之前的深度神经网络都深,但却降低了复杂度,从而更易于训练,ResNet的错误率也降到了3.6%。而人类的水平也仅仅是5%-10%,由此可见,深度学习网络已经跟人类的分辨能力相当了。深度学习在机器学习领域中一直是核心话题,历史上研究人员所努力的主要挑战之一是无监督学习,近几年来在生成模型上进行了大量工作。此外,自然地与机器交流的能力也是梦想目标之一,并且诸如Google和Facebook之类的巨人已经提出了几种方法。无监督学习是指从原始数据中提取模式和结构,无需额外信息的任务,而不是需要标签的监督学习。对于这个问题,使用神经网络的经典方法是自动编码器(autoencoders)。基本版本由多层感知器(MultilayerPerceptron,MLP)组成,其中输入和输出层具有相同的尺寸大小,并训练较小的隐藏层以恢复输入。一旦训练完毕,从隐藏层的输出对应于可用于聚类、维数降低、改进监督分类甚至用于数据压缩的数据表示。近年来出现了基于生成模型的新方法。所谓生成式对抗网络,它能够解决模型无监督学习的问题。GAN是一场真正的革命,这种研究带来了深远的影响。在这个演示视频中,YannLeCun(深度学习的创始人之一)说,GAN在过去20年里,是机器学习最重要的思想。生成式对抗网络早在2014年由IanGoodfellow提出,近几年来,GAN开始显示出真正的潜力。改进的技术帮助培训和改善体系架构(深卷积GAN)。技术上来说,GAN由两个网络之间的持续推动(因此“对抗”):一个生成器(generator,G)和一个辨别器(discriminatory,D)。给定一组训练示例,我们可以想像,有一个底层分布(x)来管理它们。使用GAN,G将产生输出,并且D将判断它们是否来自训练集合的相同分布。G将从一些噪声z开始,因此生成的图像是G(z)。D从分布(实际)和伪造的(从G)采用图像和它们进行分类:D(x)和D(G(Z))。GAN的工作网络,如图1:图1:GAN的工作网络D和G都在同时学习,并且一旦G被训练成它知道足够多的关于训练样本的分布,它可以产生新的样本,有着非常相似的属性。下图是由GAN生成的图像。这些图像由CIFAR-10训练的GAN产生。有些东西抓住了某些特征,使它们可以从远处来看很像真实的东西。如图2:图2:GAN生成的图像2.2.1InfoGANInfoGAN是GAN模型的一种改进。针对于生成样本的噪音进行了细化,挖掘一些潜在的信息,模型将噪音分为两类:第一类是不可压缩的噪音z,第二类是可解释性的信息c,模型的生成网络会同时使用这两种噪音,进行生成样本。InfoGAN中最重要的是提出一种假设,认为之间的互信息应该很大即应该很高,这样模型得到的效果会更好。InfoGAN所要达到的目标就是通过非监督学习得到可分解的特征表示。使用GAN加上最大化生成的图片和输入编码之间的互信息。最大的好处就是可以不需要监督学习,而且不需要大量额外的计算花销就能得到可解释的特征。通常,我们学到的特征是混杂在一起的,如下图所示,这些特征在数据空间中以一种复杂的无序的方式进行编码,但是如果这些特征是可分解的,那么这些特征将具有更强的可解释性,我们将更容易的利用这些特征进行编码。如图3:图3:特征在数据空间中以一种复杂的无序的方式进行编码前人也通过很多监督非监督的方法学习可分解的特征。在InfoGAN中,非监督学习通过使用连续的和离散的隐含因子来学习可分解的特征。2.2.2CGANGAN中输入是随机的数据,过于自由化,那么很自然的会想到能否用输入改成一个有意义的数据,最简单的就是数字字体生成,能否输入一个数字,然后输出对应的字体。这就是CGAN要做的事。做法是非常的简单的:就是在G网络的输入在z的基础上连接一个输入y,然后在D网络的输入在x的基础上也连接一个y,如图4:图4:CGAN网络图训练方式几乎就是不变的,但是从GAN的无监督变成了有监督。只是大家可以看到,这里和传统的图像分类这样的任务正好反过来了,图像分类是输入图片,然后对图像进行分类,而这里是输入分类,要反过来输出图像。显然后者要比前者难。基于这样的算法,CGAN中做了两个