什么是深度学习和机器视觉?
“深度学习”的概念从2007年左右开始受到关注。当时Geoffrey Hinton和Ruslan Salakhutdinov在前向神经网络中提出了一种有效的训练算法。在该算法中,网络中的每一层都被视为无监督的受限玻尔兹曼机,然后使用有监督的反向传播算法进行优化[7]。在1992之前,在更一般的情况下,schmid Huber也在递归神经网络上提出了类似的训练方法,并在实验中证明了这种训练方法可以有效提高监督学习的执行速度[8][9]。
自深度学习出现以来,它已经成为许多领域中各种领先系统的一部分,尤其是在计算机视觉和语音识别方面。在语音识别中的TIMIT和图像识别中的ImageNet、CIFAR 10等通用测试数据集上的实验表明,深度学习可以提高识别准确率。
硬件的进步也是深度学习重获关注的重要因素。高性能图形处理器的出现大大提高了数值和矩阵运算的速度,显著缩短了机器学习算法的运行时间[10][11]。
基本概念[编辑]
深度学习的基础是机器学习中的分布式表示。离差是指观测值假定是由不同因素相互作用产生的。在此基础上,深度学习进一步假设这种交互过程可以分为多个层次,代表对观察值的多层次抽象。不同的层次和级别可以用于不同的抽象层次[1]。
深度学习就是利用这种分层抽象的思想,从较低层次的概念中学习较高层次的概念。这种层次结构往往是利用贪婪算法逐层构建的,从中选出更多对机器学习有帮助的有效特征[1]。
很多深度学习算法都是以无监督学习的形式出现的,所以这些算法可以应用于其他算法达不到的无标签数据。这种数据比标记数据更丰富,也更容易获得。这也为深度学习[1]赢得了重要优势。
人工神经网络下的深度学习[编辑]
一些最成功的深度学习方法涉及到人工神经网络的使用。人工神经网络的灵感来自诺贝尔奖获得者大卫·H·哈贝尔和托斯滕·威塞尔在1959中提出的理论。Huber和Wiesel发现大脑初级视皮层中有两种细胞:简单细胞和复杂细胞,它们承担不同层次的视知觉。受此启发,很多神经网络模型也设计成不同节点之间的分层模型[12]。
Fukushima Bonhiko提出的新认知机器使用无监督学习训练引入了卷积神经网络。严乐存将监督反向传播算法应用于该架构[13]。事实上,自20世纪70年代提出反向传播算法以来,许多研究人员试图将其应用于训练有监督的深度神经网络,但最初的尝试大多失败了。Sepp Hochreiter在博士论文中将失败归因于梯度消失,梯度消失在深度前馈神经网络和递归神经网络中都出现过,后者的训练过程与深度网络相似。在分层训练的过程中,用于修改模型参数的误差随着层数的增加呈指数下降,导致模型训练效率低下[14][15]。
为了解决这个问题,研究者们提出了一些不同的方法。Jürgen Schmidhuber在1992中提出了多级网络,利用无监督学习对深度神经网络的每一层进行训练,然后利用反向传播算法对其进行优化。在这个模型中,神经网络中的每一层都代表了一个观察变量的压缩表示,该压缩表示也被传输到网络的下一层[8]。
另一种方法是由Sepp Hochreiter和Juergen schmid Huber提出的长短期记忆神经网络(LSTM)[16]。2009年,在ICDAR 2009举办的连笔手写识别大赛中,在没有任何先验知识的情况下,深度多维长时短时记忆神经网络获得了三项比赛的胜利[17][18]。
Sven Baker提出了一种在训练中仅依赖梯度符号的神经抽象金字塔模型,解决图像重建和人脸定位问题[19]。
其他方法也是利用无监督的预训练来构造神经网络寻找有效特征,然后利用有监督的反向传播来区分标记数据。Hinton等人在2006年提出的深度模型提出了一种利用多个隐变量学习高层表示的方法。该方法使用smolenski在1986中提出的受限玻尔兹曼机[20]对包含高层特征的每一层进行建模。该模型保证了数据对数似然的下界随着层数的增加而增加。当学习到足够多的层数时,这个深层结构就变成了一代模型,整个数据集就可以通过自顶向下的采样进行重构[21]。Hinton声称该模型可以有效地从高维结构化数据中提取特征[22]。
吴恩达和杰夫·迪恩领导的谷歌大脑(英文:Google Brain)团队创建了一个神经网络,仅通过YouTube视频学习高级概念(如猫)[23] [24]。
其他方法依赖于现代电子计算机的强大计算能力,尤其是GPU。2010年,在瑞士人工智能实验室IDSIA的Juergen schmid Huber的研究小组中,Dan Ciresan和他的同事演示了直接用GPU实现反向传播算法,忽略了梯度消失的存在。在颜乐存等人[10]给出的手写识别MNIST数据集上,该方法优于现有的其他方法。
截止到2011年,前馈神经网络深度学习的最新方法是交替使用卷积层和max-pooling层,并添加一个简单的分类层作为顶层。没有必要在训练过程中引入无监督的预训练[25][26]。自2011以来,该方法的GPU实现[25]获得了多种模式识别竞赛,包括IJCCNN 2011交通标志识别竞赛[27]等竞赛。
这些深度学习算法也首次在一些识别任务中实现了与人类表现相同的竞争力[28]。
深度学习结构[编辑]
深度神经网络是一种至少有一个隐含层的神经网络。与浅层神经网络类似,深层神经网络也可以为复杂的非线性系统提供建模,但额外的层为模型提供了更高层次的抽象,从而提高了模型的能力。深度神经网络通常是前馈神经网络,但也有语言建模等方面的研究将其扩展到递归神经网络[29]。协变神经元网络(CNN)已经成功应用于计算机视觉领域[30]。此后,卷积神经网络也被用作自动语音识别领域的听觉模型,并取得了比以往方法更好的效果[31]。
深度神经网络[编辑]
深层神经元网络,DNN)是一个判别模型,可以通过反向传播算法进行训练。权重更新可以通过使用以下公式的随机梯度下降来解决:
学习率和成本函数在哪里。该函数的选择与学习的类型(如有监督学习、无监督学习和强化学习)和激活函数有关。例如,为了在一个多分类问题上监督学习,通常的选择是使用Softmax函数作为激活函数,交叉熵作为代价函数。Softmax函数定义为,其中表示类别的概率,和分别表示像元和的输入。交叉熵定义为,表示输出单元的目标概率和应用激活函数后输出到该单元的概率[32]。
深度神经网络的问题[编辑]
与其他神经网络模型类似,深度神经网络如果简单训练可能会有很多问题。两个常见的问题是过拟合和运行时间长。
深度神经网络容易过拟合,因为增加的抽象层使模型能够对训练数据中罕见的依赖关系进行建模。在这方面,可以在训练过程中使用减少权重(归一化)或稀疏(-归一化)等方法来减少过拟合现象[33]。深度神经网络训练的另一种后期归一化方法是“dropout”正则化,即在训练中随机丢弃一部分隐层单元,以避免建模罕见的依赖关系[34]。
反向传播算法和梯度下降法由于其实现简单,与其他方法相比能更好地收敛到局部最优值,已经成为神经网络训练的常用方法。然而,这些方法的计算成本非常高,尤其是在训练深度神经网络时,因为需要考虑深度神经网络的规模(即层数和每层的节点数)、学习速率、初始权重等许多参数。由于时间成本的原因,扫描所有参数是不可行的,因此使用小批量,即通过组合多个训练样本而不是一次仅使用一个样本进行训练,来加速模型训练[35]。最显著的速度提升来自于GPU,因为矩阵和向量计算非常适合GPU实现。然而,使用大规模集群来训练深度神经网络仍然是困难的,因此对于深度神经网络的训练的并行化仍然有改进的空间。
深度信仰网[编辑]
具有完全连接的可见层和隐藏层的受限玻尔兹曼机器(RBM)。注意,可见层单元和隐藏层单元的内部彼此不相连。
深度信念网络(Deep belief networks,DBN)是一种具有多个隐藏单元的概率生成模型,可以看作是由多个简单学习模型组成的复合模型[36]。
深度信念网络可以作为深度神经网络的预训练部分,并为网络提供初始权值,然后使用反向传播或其他决策算法作为优化的手段。这在训练数据稀缺时很有价值,因为不恰当的初始化权重会显著影响最终模型的性能,预训练得到的权重比权重空间中的随机权重更接近最优权重。这不仅提高了模型的性能,还加快了调谐阶段的收敛速度[37]。
深度信念网络中的每一层都是典型的受限玻尔兹曼机(RBM),可以通过高效的无监督逐层训练方法进行训练。受限玻尔兹曼机是一种无向的基于能量的生成模型,包括一个输入层和一个隐藏层。图中对的边只存在于输入层和隐藏层之间,输入层节点和隐藏层节点内部没有边。单层RBM的训练方法最早是由Jeffrey Hinton在《专家产品》的训练中提出的,称为对比发散(contrast divergence,CD)。对比散度提供了最大似然的近似值,这是学习受限玻尔兹曼机器的权重的理想方法[35]。训练单层RBM时,可以在训练好的RBM上叠加另一层RBM,形成多层模型。在每次叠加时,将原多层网络输入层初始化为训练样本,权重为前一次训练得到的权重。这个网络的输出作为一个新的RBM的输入,新的RBM重复前面的单层训练过程,整个过程可以继续,直到达到某个期望的终止条件[38]。
虽然对比分歧对最大似然的逼近非常粗糙(对比分歧不在任何函数的梯度方向),但实证结果证明该方法是训练深度结构的有效方法[35]。
卷积神经网络[编辑]
主要项目:卷积神经网络
卷积神经网络(CNN)由一个或多个卷积层和位于顶部的全连接层(对应于经典神经网络)组成,还包括相关权重和池层。这种结构使得卷积神经网络能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网络可以在图像和语音识别中给出更好的结果。该模型也可以通过反向传播算法进行训练。与其他深度和前馈神经网络相比,卷积神经网络需要估计的参数更少,这使其成为一种有吸引力的深度学习结构[39]。
卷积深度信念网络[编辑]
卷积深度信念网络(CDBN)是深度学习领域中一个相对较新的分支。在结构上,卷积深度信念网络类似于卷积神经网络。因此,与卷积神经网络类似,卷积深度信念网络也具有使用图像的二维结构的能力。同时,卷积深度信念网络还具有深度信念网络的预训练优势。卷积深度信念网络提供了一种通用结构,可以用于信号和图像处理任务,也可以通过类似于深度信念网络的训练方法进行训练[40]。
结果[编辑]
语音识别[编辑]
下表中的结果显示了在流行的TIMIT数据集上进行深度学习的结果。TIMIT包含持有八种常见美式英语口音的630人的语音数据,每个人阅读10个句子。这些数据在深度学习发展之初经常被用来验证深度学习的结构[41]。TIMIT数据集很小,因此研究人员可以在其上试验不同的模型配置。
方法
声音错误率(PER,%)
随机初始化RNN 26.1
贝叶斯三音HMM嗯25.6
单调重复初始化DNN 23.4
单调DBN-DNN 22.4
三音GMM-HMM 265438带BMMI训练+0.7
* * *在游泳池享受DBN-DNN 20.7秒的单声道音乐。
卷积DNN 20.0
图像分类[编辑]
图像分类领域中公认的评价数据集是MNIST数据集。MNIST由手写阿拉伯数字组成,包括60,000个训练样本和65,438+00,000个测试样本。与TIMIT类似,其数据规模较小,因此可以很容易地在不同的模型配置中进行测试。Yann LeCun的网站给出了用各种方法得到的实验结果[42]。直到2012,当年Ciresan等人给出了最好的判别结果,这个结果的错误率达到了0.23%[43]。
深度学习和神经科学[编辑]
计算机领域的深度学习与认知神经科学研究者在20世纪90年代提出的大脑发展理论(尤其是皮层发展理论)密切相关[44]。最容易理解这一理论的是1996年出版的杰弗里·艾尔曼的专著《反思先天》[45](见蛞蝓和约翰逊[46]以及奎托斯和塞格诺夫斯基[47])。因为这些理论给出了实用的神经计算模型,是纯计算驱动的深度学习模型的技术先驱。这些理论指出,大脑中的神经元是由不同层次组成的,这些层次相互联系,形成一个过滤系统。在这些层次中,每一层的神经元从其所处的环境中获取一些信息,经过处理后传递到更深层次。这和后来的纯与计算有关的深度神经网络模型类似。这一过程的结果是一个与环境和谐的自组织堆叠转换器。如《纽约时报》1995所载,“...婴儿的大脑似乎受到所谓的“营养因素”的影响,并自行组织起来...大脑的不同区域依次相连,不同层次的脑组织按照一定的顺序发育成熟,直至整个大脑发育成熟。”[48]
深层结构在人类认知进化和发展中的重要性也受到认知神经科学家的关注。发育时间的变化被认为是人类和其他灵长类动物之间智力发展差异的一个方面[49]。在灵长类动物中,人类的大脑在出生后很长一段时间内是可塑的,但其他灵长类动物的大脑在出生时几乎完全成型。因此,人类可以在大脑发育最具可塑性的阶段接触到更复杂的外部场景,这可能有助于人类大脑适应快速变化的环境,而不是像其他动物的大脑那样更多地受到基因结构的限制。这种发育时间的差异还体现在大脑皮层的发育时间和大脑早期自组织中从刺激环境获取信息的变化上。当然,这种可塑性伴随着更长的童年,在此期间,人们需要依靠照顾者和社会群体的支持和培养。所以这个理论也揭示了人类进化中文化和意识* * *共进化的现象[50]。
公众视野下的深度学习[编辑]
深度学习往往被认为是迈向真正人工智能的重要一步[51],所以很多机构都对深度学习的实际应用感兴趣。2013 12,脸书宣布将聘请严乐存担任其新建的人工智能实验室的主任,该实验室将在加州、伦敦和纽约设立分支机构,以帮助脸书研究深度学习算法的使用,如自动标记照片中的用户名[52]。
2013年3月,杰弗里·辛顿(Jeffrey Hinton)和他的两名研究生亚历克斯·克雷塞(Alex Creaser)和伊利娅·苏茨科娃(Ilija Sutskova)受聘于谷歌,升级现有的机器学习产品,帮助处理谷歌不断增长的数据。谷歌还收购了辛顿[53]创办的DNNresearch[53]公司。
批评[编辑]
对深度学习的主要批评是很多方法缺乏理论支持。大多数深度结构只是梯度下降的一些变化。虽然梯度下降已经得到了充分的研究,但理论上涉及的其他算法,如对比分歧算法,还没有得到充分的研究,它们的收敛性等问题还不清楚。深度学习方法往往被视为黑箱,大部分结论都是通过经验而非理论来证实的。
一些学者也认为,深度学习应该被视为一种真正的人工智能的方式,而不是一种包罗万象的解决方案。虽然深度学习的能力很强,但与真正的人工智能相比,它仍然缺乏很多重要的能力。理论心理学家加里·马库斯指出:
事实上,深度学习只是构建智能机器这一更大挑战的一部分。这些技术缺乏表达因果关系的手段...逻辑推理的方法,而远没有综合的抽象知识,如关于物品的性质、代表和典型用途的信息。最强大的人工智能系统,如IBM的人工智能系统Watson,只把深度学习作为一个包括贝叶斯推理和演绎推理的复杂技术集的组成部分[54]。