深度学习--引言


远在古希腊时期,创造者就梦想着创造能思考的机器。神话人物皮格马利翁(Pygmalion)、代达罗斯( Daedalus)和赫淮斯托斯( Hephaestus)都可以被看作传说中的造物者,而加拉蒂亚( Galatea)、塔洛斯(Taos)和洛多拉( Pandora)部可以被视为人造生命( Ovid and martin,2004; Sparkes,1996; Tandy,1997)。
当人类第一次构思可编程计算机时,就已经在思考计算机能否变得智能(尽管这距造出第一台还有一百多年)( Lovelace,1842)。如今,人工智能( artificial intelligence,AI)是一个具有许多实际应用和活跃研究课题的领域,并蓬勃发展着。我们指望通过, 智能软件自动化处理常规劳动、理解语音或图像、帮助医学诊断和支持基础科学研究,。
在人工智能的早期,那些对人类智力来说非常困难但对计算机来说相对简单的问题得到迅速解决,比如那些可以通过一系列形式的效学规则来措述的问题。人工智能的真正挑战被证明是解诀对人来说很容易执行,但很难形式化措述的任务,也就是我们人类能自动的靠直观解决的问题,比如识别所说的话或图像中的脸。

1.人工智能的概念

这本书讨论这些更直观的问题一种解决方案。这种解决方案是为了让计算机从经验中学习,并通过层次化概念体系来理解世界,其中每个概念通过与较简单概念之间的联系来定义。让计算机通过经验获取知识,就不需要人类来形式化地列举计算机需要的所有知识。层次化的概念让计算机构建较简单的概念来学习复杂概念, 如果绘制出这些概念如何建立在彼此之上的图,我们将得到一张“深”(层次很多)的图。出于这个原因,我们称这种方法为AI深度学习( deep learning),.
许多AI的早期成功发生在相对干净且形式的环境中,计算机不需要具备很多关于世界的知识。例如,IBM的深蓝( Deep blue)国际象棋系统在1997年击败了世,界冠军 Garry Kasparov(Hsu,2002)。当然国际象棋是一个非常简单的领域,仅含有64个位置并只能以严格限制的方式移动32个棋子。设计一种成功的国际象棋策略, 是巨大的成就,但向计算机描述棋子及其允许的走法并不是挑战的困难所在。国际象棋完全可以由一个非常简短的、完全形式化的规则列表描述,并可以轻松由程序员提前提供。

2.计算机擅长抽象和形式的,不擅长主观的,直观的东西

讽刺的是,抽象和形式的任务对人类而言是最困难的脑力任务之一,对计算机而言却属于最容易的。即使是最好的人类棋手,计算机也早已能够将其打败,但直到最近计算机才在对象识别或语音任务中达到人类平均水平。一个人的日常生活需要关于世界的巨景知识。很多这方面的知识是主观的、直观的,因此很难通过形式的方式表达清楚。为了表现出智能,计算机需要获取同样的知识。人工智能的一个关键挑战就是如何将这些非形式的知识传达给计算机。

3.将事物形式化----硬编码

一些人工智能项目都力求将关于世界的知识用形式化的语言进行硬编码。计算机可以通过这些形式化语言自动地使用逻辑推理规则来理解声明。这就是所谓的人工智能的知识图谱( knowledge base)方法。这些项目都没有导致重大的成功。其中, 最著名的项目是的Cyc( Lenat and guha,1989)。Cye包括一个推断引擎和一个使用 CycL语言描述的声明数据库。这些声明是由人类监督者输人的。这是一个笨拙的过程。人们设法设计出足够复杂的、能准确述世界的形式规则。例如,Cyc不能理解一个关于名为Fred的人在早上剃须的故事(Linde,1992)。它的推理引擎检测到故事中的不一致性:它知道人没有电气零件,但由于Fred拿着一个电动剃须刀,它认为实体“ fred While shaving”含有电气部件。因此就会产生这样的疑问—fred在刮胡子的时候是否仍然是一个人。

4.从原始数据中提取模式的能力----机器学习

依靠硬编码的知识体系面对的困难表明,A系统需要具备自己获取知识的能力, 即从原始数据中提取模式的能力。这种能力被称为机器学习( machine learning)引入机器学习使计算机能够解决涉及现实世界知识的问题,并能作出看似主观的决策。所谓逻辑回归( logistic regression)的简单机器学习算法可以决定是否建议剖腹产(Mor- Yosef et al.,1990)。所谓朴素贝叶斯( naive Bayes)的简单机器学习算法可以区分垃圾电子邮件和合法电子邮件。

5.表示学习

这些简单的机器学习算法的性能在很大程度上依赖于给定数据的表示 (representation)。例如,当逻辑回归被用于推荐剖腹产时,AI系统不直接检查患者。相反,医生需要告诉系统几条相关的信息,诸如子宫疤痕是否存在。表示患者的每条信息被称为一个特征。逻辑回归学习病人的这些特征如何与各种结果相关联。然而,它丝毫不能影响该特征定义的方式。如果将病人的 MRI 扫描作为逻辑回归的输入,而不是医生正式的报告,它将无法作出有用的预测。MRI 扫描的单一像素与分娩过程中的并发症只有微不足道的相关性
对表示的依赖是在整个计算机科学乃至日常生活中出现的普遍现象。在计算机科学中,如果数据集合经过精巧的结构化并建立索引,数据操作的处理速度可以成倍的加快(如搜索)。人们可以很容易地在阿拉伯数字的表示下进行算术运算,但在罗马数字的表示下运算会更耗时。毫不奇怪,表示的选择会对机器学习算法的性能 产生巨大的影响。图1.1显示了一个简单的可视化例子。
在这里插入图片描述
图 1.1: 不同表示的例子:假设我们想在散点图中画一条线来分隔两类数据。在左图,我们使用笛卡尔坐标表示数据,这个任务是不可能的。右图中,我们用极坐标表示数据,可以用垂直线简单地解决这个任务。(与 David Warde-Farley 合作画出此图。)
许多人工智能的任务都可以先提取一个合适的特征集,然后将这些特征提供给简单的机器学习算法来解决。例如,从声音鉴别说话者的一个有用特征是说话者声道大小的估计。这个特征为判断说话者是一个男性,女性还是儿童提供了有力线索。
然而对于很多任务来说,很难决定确定提取哪些特征。例如:一个程序来检测照片中的车。我们知道,汽车有轮子,所以我们可能会想用车轮的存在作为特征。不幸的是,我们难以准确地从像素值的角度描述一个车轮看起来如何。车轮具有简单的几何形状,但它的图像可以因为环境而变得很复杂,如落在车 轮上的阴影、太阳照亮的车轮的金属零件、汽车的挡泥板或者遮挡的车轮一部分的前景物体等等。解决这个问题一个途径的是使用机器学习来发现表示本身,而不仅仅把表示映射到输出。这种方法被称为表示学习 (representation learning)。学习到的表示往往比手动设计的表示表现得更好。并且它们只需最少的人工干预,就能让AI系统迅速适应新的任务。表示学习算法只需几分钟就可以为简单的任务发现一个很好的特征集,对于复杂任务则需要几小时到几个月。手动为一个复杂的任务设计特征需要耗费大量的人工时间和精力;甚至需要花费整个社群研究人员几十年的时间。

5.1自编码器

表示学习算法的典型例子是自动编码器 (autoencoder)。自动编码器组合了 将输入转换到不同表示编码器 (encoder) 函数和将新的表示转回原来形式的解码 器 (decoder) 函数。自动编码器的训练目标是,输入经过编码器和解码器之后尽可能 多的保留信息,同时希望新的表示有各种好的属性。不同种类的自动编码器的目标是实现不同种类的属性。

5.2变化因素

当设计特征或学习特征的算法时,我们的目标通常是分离出能解释观察数据的 变化因素 (factors of variation)。在此背景下,‘‘因素’’ 这个词仅指代影响的不同来源;因素通常不是乘性组合。这些因素通常是不能被直接观察到的量。相反,它们可能是现实世界中观察不到的物体或者不可观测的力,但会影响能观测到的量。为了给观察到的数据提供简化解释或者推断原因,他们还存在于人类的思维构造中。他们可以被看作数据的概念或者抽象,当分析语音记录时,变化的因素包括说话者的年龄、性别、他们的口音和他们正在说的词语。当分析汽车的图像时,变化的因素包括汽车的位置、它的颜色、太阳的角度和亮度。
多变化因素影响着我 们能够观察到的每一个数据。在夜间,一张图片中红色汽车的单个像素可能会非常 接近黑色。汽车轮廓的形状取决于视角。大多数应用需要我们理清变化因素并丢弃我们不关心的因素。
在现实生活中,许多人工智能应用困难的原因是许多变化因素影响着我们能够观察到的每一个数据。在夜间,一张图片中红色汽车的单个像素可能会非常接近黑色。汽车轮廓的形状取决于视角。大多数应用需要我们理清变化因素并丢弃我们不关心的因素。 当然,从原始数据中提取这样高层次的,抽象的特征是非常困难的。许多这样的变化因素,诸如说话者的口音,只能对数据进行复杂的、接近人类水平的理解来确定。它几乎与获得原来问题的表示一样困难,乍一看, 表示学习似乎并不能帮助我们。

6.深度学习

==深度学习(deep learning)==通过其它较简单的表示来表达复杂表示,解决了表示学习中的核心问题。
深度学习让计算机通过较简单概念构建复杂的概念。图1.2显示了深度学习系统通过组合较简单的概念,例如转角和轮廓,转而定义边缘来表示图像中一个人的概念。 深度学习模型的典型例子是前馈深度网络或多层感知机 (multilayer perceptron,MLP)。 多层感知机仅仅是一个将一组输入值映射到输出的数学函数。该函数由许多较简单的函数组合构成。我们可以认为每个应用具有不同的数学函数,并为输入提
供新的表示。
在这里插入图片描述
学习数据正确表示的想法是解释深度学习的一个观点。另一个观点是深度允许计算机学习一个多步骤的计算机程序。 表示的每一层可以被认为是并行执行另一组指令后计算机的存储器状态。更深的网络可以按顺序执行更多的指令。顺序指令提供了极大的能力,因为后面的指令可以参考早期指令的结果。根据这个观点,一层的激活函数没有必要对解释输入的变化因素进行编码。 表示还存储着协助程序执行的状态信息,使输入更加有意义。这里的状态信息类似于传统计算机程序中的计数器或指针。它与具体的输入内容无关,但有助于模型组织其处理过程。
目前主要有两种测量模型深度的方式。第一观点是基于评估架构所需执行的顺序指令的数目。我们可以认为这是描述每个给定输入后,计算模型输出的流程图的最长路径。正如两个等价的计算机程序根据不同的语言将具有不同的长度,相同的函数可以被绘制为具有不同深度的流程图,这取决于我们允许使用的单步函数。
在这里插入图片描述
另一种是在概率深度中使用的方法,不是将计算图的深度视为模型深度,而是将描述概念如何彼此相关的图的深度视为模型深度。在这种情况下,计算每个概念表示的计算流程图的深度可能比概念本身的图更深。这是因为系统对较简单概念的理解可以在给出更复杂概念的信息后进一步细化。例如,一个AI系统观察到其中一只眼睛在阴影中的脸部图像,最初可能只看到一只眼睛。当检测到脸部的存在后,它可以推断第二只眼睛也可能是存在的。在这种情况下,概念的图仅包括两层(关于眼睛的层和关于脸的层),但如果我们根据每个概念给出的其它 n 次估计进行细化,计算的图将包括 2n 个层。
由于并不总是清楚计算图的深度或概率模型图的深度哪一个是最相关的,并且由于不同的人选择不同的最小元素集来构建相应的图,导致架构的深度不存在单一的正确值,就像计算机程序的长度不存在单一的正确值。也不存在模型多么深才能被修饰为 ‘‘深’’ 的共识。但相比传统机器学习 , 深度学习研究的模型涉及更多学到函数或学到概念的组合,这点毋庸置疑。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值