深度学习外文翻译资料
2022-09-01 18:00:19
英语原文共 9 页,剩余内容已隐藏,支付完成后下载完整资料
深度学习
深度学习允许由多个处理层构成的计算模型来学习多层抽象的数据表现形式。这些方法极大的提高了语言识别、视觉物体识别、目标检测以及许多其他领域的比如,药物发现和基因组学的最新水平。深度学习通过使用反向传播算法发现错综复杂的结构来表明机器是如何改变其内部用于计算参数。深度卷积网络在处理图像、视频、语音上有着巨大的突破,然而递归网络也在序列数据例如文字和语言处理中闪着光芒。
机器学习造福社会许多方面:从网络搜索到社交网站的内容过滤,电子商务网站上的推荐,在消费类产品,如照相机和智能手机中越来越多的出现。机器学习系统被用来识别图像中的物体,将语音转换为文字,匹配新个体,根据用户的兴趣选择相关的搜索结果。这些应用越来越多的应用一类称之为深度学习的技术。
传统机器学习技术受限于它们处理原始状态的自然数据的能力。几十年来,构建一个模式识别或者机器学习系统需要仔细的工程和相当专业的知识来设计一个特征提取器。这个特征提取器用来将原始数据(如一幅图像的像素值)转换为一个适当的内部表示或者特征向量。机器学习子系统,通常是一个分类器可以从这些内部表示和特征向量中提取或者识别模式。
表示学习是一系列的学习方法,允许机器接受原始数据来自动发现检测和分类需要的表示。深度学习方法是多层次表示的表示学习。通过将简单非线性模型整合得到。这些非线性模型将一层的表示转换或更高层、更抽象层的表示。在像这样转换的整合下,机器可以学习一些非常复杂的函数。对于分类任务来说,高层的表示将输入中在辨别中重要的方面放大,同时抑制不相关的变量。举个例子,一幅图像由一个像素值的数组组成,第一层表示中要学习的特征通常代表了图像中特定地方边缘的存在或者不存在。第二层通常通过发现边缘的特定组成来检测图案,不管边缘位置的一些小变量。第三层可能将图案集合成更大的组合,与熟悉的物体一致。后面的层可能检测物体是由这些部分组成的。深度学习的核心方面是这些特征层不是由人类工程师设计的:它们被一种通用的学习程序从数据中学习到。
深度学习在解决问题上取得了巨大的进展,已经经受人工智能大会多年的讨论质疑。深度学习已经被证明是非常擅于发现高维数据中的复杂结构,也因此适用于科学、商业、政府部门的多个领域。除了在图像识别和语音识别中打破纪录之外,深度学习在预测潜在药物分子的活性、分析粒子加速器数据、重构大脑回路、在基因表达和疾病方面预测非编码序列中的基因突变等方面超过了其他机器学习技术。也许更令人惊讶的是,深度学习在自然语言理解多个任务方面已经取得了令人及其满意的结果,尤其是在话题分类、情感分析、问题回答、语言翻译等方面。
我们认为,深度学习在不远的将来将会取得更多成功,因为它需要很少量的人工工程,因此它可以很容易地利用不断增长的计算和数据。最近正在为深度神经网络研究的新的学习算法和架构将会大大加速这一过程。
监督学习
无论是否是深度学习,机器学习最普通的形式是监督学习。想象一下,我们想构建一个系统,它可以通过内容、话语、一间房子、一辆汽车、一个人或者一个宠物来分类图像。我们首先收集一个大的图像数据集,包括房子、车、人和宠物,每幅图像用它的目录做标签。在训练过程中,给机器一副图像,计算一个结果组成一个分数向量,一个类别一个。我们希望我们想要的目录拥有所有目录里面最高的分数,但在训练之前这是不可能发生的。我们计算一个目标函数来度量输出分数理想模式的分数之间的误差(或者距离)。机器然后修改其内部可调的参数来减少这个误差。这些可调的参数,通常被称作权值,是具体的数值,可以被看做是输入输出函数之间的门把手。在一个典型的深度学习系统中,可能会有数以亿计的权值,以及数以亿计的样本来训练机器。
为了合适地调整权值向量,对于每个权值,学习算法计算梯度向量,这个梯度向量表明了如果这个权值小幅增大,误差会增加或者减少。然后,权值向量朝着梯度向量的反方向做调整。
目标函数,经过样本训练后,可以被看做一种在高维权值空间中的陡峭的地形。负梯度向量表明这个地形最陡峭的方向,这个方向接近最小值,并且输出误差也很小。
实际上,大多数从业者用一个叫做随机梯度下降算法(SGD)。这包含了显示输入向量、计算输出以及误差、计算样本的平均梯度、并据此调整权值。这个过程在许多小样本中重复多次直到目标函数的平均值停止下降。这个算法之所以叫随机是因为每个小样本集都给一个关于整体样本平均梯度的粗糙估计。这个简单的算法通常可以快速地找到一组好的权值集,当和那些精细优化的技术比起来,结果令人惊讶。训练之后,系统的表现用一个不同的样本集,称为测试集来度量。这个用来测试机器的泛化能力——在训练中没见过的输入中产生精准回答的能力。
当前的许多机器学习的实际应用在人工寻找特征下用线性分类器。一个两类的线性费雷器计算一个特征向量分量的加权和。如果这个加权和大于某个阈值,这个输入被分类为一个特定的类别。
图1 多层神经网络和后向传播
20世纪60年代以来,我们已经知道了线性分类器只能将输入空间分割为非常简单的范围,也就是被一个超平面分割的两个一半的空间。但是诸如图像、语音识别需要输入输出函数对不相关的输入变量不起作用,比如一个物体的位置、方向、量度,或者语音中的声调、口音,同时对特定的小变量非常敏感(比如,一只白狼和一种叫萨摩耶的白色的狗之间的区别)。在像素层面下,两只萨摩耶不同姿势不同环境下的图像可能会截然不同,然而相同位置、相近背景下的一只萨摩耶和一只白狼的图像可能会非常接近。一个线性分类器,或者其他的肤浅的分类器工作在原始像素下,可能不会分辨后两者,同时把前两者放在相同的类别下。这就是为什么肤浅的分类器需要一个好的特征提取器,来解决选择性不变性的困境——一个产生对图像辨别非常重要的方面的选择性表示,但是和不相关的方面无关,比如动物的姿态。为了让分类器更加强大,我们可以用一般非线性的特征和核方法,但是像那些随着高斯核出现的一般特征不允许学习器从训练样本中得到很多。传统的观点是手工设计好的特征提取器,设计这样的提取器需要大量的工程技巧和领域知识。但是如果好的特征可以用一个通用目的的学习程序来自动学习,这个过程就可以避免。这就是深度学习的核心优势。
一个深度学习架构是一个多层简单模型栈,所有(或者大部分)都是容易学习的,许多模型计算非线性输入输出映射。栈中的每个模型将输入转变为选择性和表示的无关性的增长。假设一个5层到20层深度的多层非线性层,一个系统可以完成极其复杂的输入函数,同时对那些能够分辨白狼中的萨摩耶的细节非常敏感,对大量的背景、姿态、光线、周围物体等不相关的变量不敏感。
后向传播训练的多层架构
从模式识别的初期,研究人员的目标就是用多层网络替代手工提取特征,但是尽管很简单,知道20世纪80年代这个解决方法都没有被广泛地理解。随着研究发现,多层架构可以用简单随机梯度下降算法来训练。只要模型是和输入相关、和内部权值相关的平滑函数,机器就可以用后向传播算法计算梯度。这个能够实现并且有效的设想,在20世纪70年代80年代被几个不同的小组独立发现。
后向传播算法计算目标函数的梯度相对于模型多层栈的权值只不过是导数链式法则的实际应用。这里面的核心是目标相对于输入模型的导数(或者梯度)可以从梯度相对于那个模型的输出(或者子模型的输入)向后计算得到。后向传播方程可以重复应用到所有模型的扩大梯度中,从顶端(网络产生预测的地方)开始一直到底端(外部输入的地方)。一旦这些梯度计算出来了,就可以直接计算每个模型权值的梯度。
许多深度学习的应用用前向神经网络结构(图1),这个结构可以学习固定输入(比如一副图像)到固定输出的映射(比如几个类别的概率)。为了从一层到下一层,一个集群计算他们从前一层输入的加权和,并且将结果给一个非线性函数。目前,最流行的非线性函数是激活函数(ReLU),这个函数简化了半波整流函数f(z)=max(z,0)。在过去的几十年中,神经网络用更平滑的非线性函数,比如tanh(z) 或者 1/(1 exp(-z)),但是激活函数在多层网络中通常学习的更快,允许训练一个没有无监督事先训练的深层监督网络。不在输入或输出层的单元通常被称作隐藏单元。隐藏层可以被看做为用非线性的方法分解输入以便类别在最后一层之前变得线性可分离(图1)。
在20世纪90年代后期,神经网络和后向传播被机器学习社区遗忘,被机器视觉和语音识别社区忽略。人们普遍认为通过小优先级知识学习有效的、多级的特征提取器是不可行的。特别地,人们普遍认为简单梯度下降会在局部极小值困住——权重配置对其中不小的变化会降低平均误差。
实际上,局部极小值在大网络中是一个罕见的问题。无论是初始条件怎样,系统总是能达到一个非常接近最佳的解决方案。最近的理论和实验研究结果有力支持了局部最小值在全局上并不是一个严重的问题。相反,地形充满了大量的梯度为0的鞍点,并且在一些维度上表面曲线上升,在另一些维度上曲面下降。有分析试图表明只有一些向下曲线方向的鞍点大量存在,但是几乎所有都有非常相似的目标函数值。因此,算法在哪个鞍点卡住变得无关紧要。
在2006年前后,深度前向网络的兴趣被一群加拿大高级研究所(CIFAR)的研究人员复兴了。研究人员介绍了无监督学习算法,这个算法不需要实现分类好的数据就能创建特征探测器的层。学习特征探测器每层的目标是为了重构或者建立下面层的特征探测器(或者原始输入)的结构。通过提前训练几层更复杂的特征检测器并且用这样的重构目标,深度网络的权值可以初始化为精确的值。输出单元的最后层可以被加到网络的顶层,整个深度系统被调整到可以很好的运用标准的后向传播算法。这个方法在数字手写识别和检测行人当中有这非常好的效果,尤其是样本数据的数量很有限的情况下。
这种预训练方法第一个主要的应用是在语言识别中,在快速的GPU中这个方法成为可能,GPU对程序很方便,允许研究人员更快地训练网络10次或20次。在2009年,该方法被应用在匹配从声波中提取系数的短时间窗和一个各种各样语音片段的可能集,这个集可能被渲染在窗口的中央。这个方法在一个语音识别标准检测程序中打破了记录,标准用了一个小词汇库,很快打破了大词汇任务的记录。截止2012年,这个深度网络的版本自2009年被许多主要的语音识别小组发展,并且已经在安卓手机上部署。对于更小的数据集,无监督预训练有助于过拟合,当样本的数量小或者在一个有许多源任务的样本但是很少目标任务的样本的时候,也能更好地得出结果。一旦深度学习被改造,它会变得预训练过程只要很小的数据集。
但是,有一种特殊的深度前向网络,相比许多相邻两层之间许多连接的网络,它训练的更快,得到的结果更好。这就是卷积神经网络(ConvNet)。在神经网络不受欢迎的时候,卷积神经网络取得了许多实用上的成果,它最近被计算机视觉社区广泛地应用。
卷积神经网络
卷积神经网络被设计用来处理大量数组形式的数据,举个例子,一个颜色图像由三个二维数组,每个数组中有三个颜色通道中的像素值。许多数据模式都以多个数组的形式存在:信号、序列、包括语言可以用一维数组;图像、声音频谱可以用二维数组;视频或者立体图像可以用三维数组来表示。在卷积神经网络背后有四种核心思想,采取自然信号的特性的优点:局部连接、共享权值、多层次的集中和使用。
图2 在一个卷积神经网络中
典型的卷积神经网络结构(图2)被结构化为一系列阶段。最初的几个阶段由两种层组成:卷积层和池层。卷积层中的单元以特征映射的形式组织,通过这些特征映射,每个单元通过一个称为滤波器组的权值集,可以连接到在前几层的特征映射下的局部补丁。一个层中的不同的特征映射用不同的滤波器组。用这个结构的原因有两点。一是在诸如图像的数组数据中,局部数值组通常有高的相关性,形成特别局部图案是非常容易检测的。二是图像的局部统计和其他信号在局部上是不相关的。换言之,如果一个图案可以再一副图像的某个部分出现,它可能会出现在任何地方,因此,就有了不同地方的单元共享同样权值、在数组不同的部分检测同样图案的想法。从数学上来说,用一个特征映射表现出来的过滤操作是离散卷积的,就像它的名字那样。
尽管卷积层的角色是为了检测从前面层下来的特征的局部连接,池层的角色是将相似特征归并到一个上。因为特征的相对位置形成的图案有时会各不相同,通过粗进度地得到每个特征的位置可以得到可靠的探测图案。一个典型的池层单元计算一个特征映射(或者在一些特征映射中)中局部最大值。相邻的池层单元从被一行或一列移动过的补丁中得到输入,因此减少表示的维度,创建一个和小偏移和变形的不相关量。卷积中的两个或三个步骤,非线性化和池化都被遮盖,后面跟着更多卷积的满连接的层。通过一个卷积神经网络的后向传播梯度和通过一个常规的深度网络一样简单,所有滤波器组中的权值都可以被训练。
深度神经网络开拓了许多自然信号是层次组合的这一特性,在这当中可以通过组合低层的特性观察到高层特征。在图像中,边缘形式图案的局部组合,图案在某些部分很相似,这些部分形成了物体。相似层次存在于声音、音素、音位、音节、单词、句子中的语音和文字。池化允许表示之间不同之处非常小,尽管之前元素层在位置和表现中不同。
卷积神经网络中的卷积层和池化层直接受到视觉神经中的简单单元和复杂单元的经典概念的启发,整个架构让人联想起视觉皮层腹侧通路LGN–V1–V2–V4–IT的分层。当卷积神经网络模型和猴子展示相同的画面,卷积神经网络高层单元的激活情况解释了猴子的颞皮质中160个神经元的随机集方差的一半。卷积神经网络起源于神经认知机,其架构有点相似,但没有一个点对点的监督学习算法,比如后向传播算法。一种原始的被称为延时神经网络的一维卷积神经网络被用于识别音素和简单的单词。
早在20世纪90年代就有许多卷积神经网络的应用,从用于语言识别和文档阅读的延时神经网络开始。文档阅读系统使用卷积神经网络并用概率模型训练
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[147646],资料为PDF文档或Word文档,PDF文档可免费转换为Word