补觉,最近每天只能睡6个小时,嗓子里一股血腥味,今天请假一天kXum3
远在古希腊时期,发明家就梦想着创造能自主思考的机器。 神话人物皮格马利翁(Pygmalion)、代达罗斯(Daedalus)和赫淮斯托斯(Hephaestus)可以被看作传说中的发明家,而加拉蒂亚(Galatea)、塔洛斯(Talos)和潘多拉(Pandora)则可以被视为人造生命{cite?}。kXum3
当人类第一次构思可编程计算机时,就已经在思考计算机能否变得智能(尽管这距造出第一台计算机还有一百多年。 如今,人工智能已经成为一个具有众多实际应用和活跃研究课题的领域,并且正在蓬勃发展。 我们期望通过智能软件自动地处理常规劳动、理解语音或图像、帮助医学诊断和支持基础科学研究。kXum3
在人工智能的早期,那些对人类智力来说非常困难、但对计算机来说相对简单的问题得到迅速解决,比如,那些可以通过一系列形式化的数学规则来描述的问题。 人工智能的真正挑战在于解决那些对人来说很容易执行、但很难形式化描述的任务,如识别人们所说的话或图像中的脸。对于这些问题,我们人类往往可以凭借直觉轻易地解决。kXum3
针对这些比较直观的问题,本书讨论一种解决方案。 该方案可以让计算机从经验中学习,并根据层次化的概念体系来理解世界,而每个概念则通过与某些相对简单的概念之间的关系来定义。 让计算机从经验获取知识,可以避免由人类来给计算机形式化地指定它需要的所有知识。 层次化的概念让计算机构建较简单的概念来学习复杂概念。 如果绘制出这些概念如何建立在彼此之上的图,我们将得到一张”深”(层次很多)的图。 基于这个原因,我们称这种方法为:AI深度学习。kXum3
许多人工智能任务都可以通过以下方式解决:先提取一个合适的特征集,然后将这些特征提供给简单的机器学习算法。 例如,对于通过声音鉴别说话者的任务来说,一个有用的特征是对其声道大小的估计。 这个特征为判断说话者是男性、女性还是儿童提供了有力线索。kXum3
然而,对于许多任务来说,我们很难知道应该提取哪些特征。 例如,假设我们想编写一个程序来检测照片中的车。 我们知道,汽车有轮子,所以我们可能会想用车轮的存在与否作为特征。 不幸的是,我们难以准确地根据像素值来描述车轮看上去像什么。 虽然车轮具有简单的几何形状,但它的图像可能会因场景而异,如落在车轮上的阴影、太阳照亮的车轮的金属零件、汽车的挡泥板或者遮挡的车轮一部分的前景物体等等。kXum3
解决这个问题的途径之一是使用机器学习来发掘表示本身,而不仅仅把表示映射到输出。 这种方法我们称之为表示学习。 学习到的表示往往比手动设计的表示表现得更好。 并且它们只需最少的人工干预,就能让AI系统迅速适应新的任务。 表示学习算法只需几分钟就可以为简单的任务发现一个很好的特征集,对于复杂任务则需要几小时到几个月。 手动为一个复杂的任务设计特征需要耗费大量的人工时间和精力;甚至需要花费整个社群研究人员几十年的时间。kXum3
表示学习算法的典型例子是自编码器。 自编码器由一个编码器函数和一个解码器函数组合而成。 编码器函数将输入数据转换为一种不同的表示,而解码器函数则将这个新的表示转换到原来的形式。 我们期望当输入数据经过编码器和解码器之后尽可能多地保留信息,同时希望新的表示有各种好的特性, 这也是自编码器的训练目标。 为了实现不同的特性,我们可以设计不同形式的自编码器。kXum3
当设计特征或设计用于学习特征的算法时,我们的目标通常是分离出能解释观察数据的变差因素。 在此背景下,”因素”这个词仅指代影响的不同来源;因素通常不是乘性组合。 这些因素通常是不能被直接观察到的量。 相反,它们可能是现实世界中观察不到的物体或者不可观测的力,但会影响可观测的量。 为了对观察到的数据提供有用的简化解释或推断其原因,它们还可能以概念的形式存在于人类的思维中。 它们可以被看作数据的概念或者抽象,帮助我们了解这些数据的丰富多样性。 当分析语音记录时,变差因素包括说话者的年龄、性别、他们的口音和他们正在说的词语。 当分析汽车的图像时,变差因素包括汽车的位置、它的颜色、太阳的角度和亮度。kXum3
在许多现实的人工智能应用中,困难主要源于多个变差因素同时影响着我们能够观察到的每一个数据。 比如,在一张包含红色汽车的图片中,其单个像素在夜间可能会非常接近黑色。 汽车轮廓的形状取决于视角。 大多数应用需要我们理清变差因素并忽略我们不关心的因素。kXum3
显然,从原始数据中提取如此高层次、抽象的特征是非常困难的。 许多诸如说话口音这样的变差因素,只能通过对数据进行复杂的、接近人类水平的理解来辨识。 这几乎与获得原问题的表示一样困难,因此,乍一看,表示学习似乎并不能帮助我们。kXum3