奎克的藏经阁 · MinerU 解析内容

AI 3.0(畅销书《复杂》作者、复杂系统前沿科学家梅拉妮·米歇尔,历经10年思考,厘清人工智能与人类智能的全新力作,全景式地展现了人工智能的...

491 个 PDF 物理页 · 本页显示文件第 151–160 页

PDF 物理页索引 150

文件中的第 151 页 · 印刷页码:未识别

ConvNets和ImageNet<sub>,</sub>现代人工智能的基石

ConvNets的发明者杨立昆,在其职业生涯中一直致力于神经网络的研究,从20世纪80年代开始,经历了神经网络研究的一个又一个“寒冬”和“春天”。作为一名研究生和博士后,他对罗森布拉特的感知机和福岛的神经认知机都很着迷,但他注意到后者缺乏一个良好的监督学习算法,于是他与自己的博士后导师杰弗里·辛顿(Geoffrey Hinton)及其他研究人员一道,开发了一种学习算法,其本质与今天在ConvNets中使用的反向传播算法形式相同。 1

20世纪八九十年代在贝尔实验室工作期间,杨立昆转向对自动识别手写数字和字母的研究。他将从神经认知机中获得的想法与反向传播算法结合起来,创建了“LeNet”,即最早的ConvNets之一。LeNet凭借手写数字识别功能在商业上获得了成功,从20世纪90年代到21世纪初,LeNet被美国邮政局用于自动识别邮政编码,并被银行业用于自动读取支票上的手写数字。

然而,LeNet及其后继者ConvNets在应用于更复杂的视觉任务时表现不佳。到20世纪90年代中期,神经网络开始在人工智能研究群体中失宠,也因此失去了在该领域的主导地位,但杨立昆仍然坚信并继续致力于研究ConvNets,并对其进行逐步改进。正如辛顿后来所说的,“他像是孤身一人举着火炬穿过了那个黑暗的时代” <sup>2</sup> 。

PDF 物理页索引 151

文件中的第 152 页 · 印刷页码:未识别

杨立昆、辛顿和神经网络的其他拥护者认为,只要具备足够多的训练数据,改进的、更大规模的ConvNets和其他深度网络就能够征服计算机视觉。他们在21世纪初期一直执着于在这个处于边缘的分支领域内开展研究工作。直到2012年,ConvNets在一个名为ImageNet的图像识别数据库上赢得了计算机视觉竞赛,由ConvNets研究人员传递的这只火炬突然照亮了计算机视觉研究的世界。

构建ImageNet<sub>,</sub>解决目标识别任务的时间困境

人工智能的研究者是具有竞争力的一群人,因此他们喜欢通过组织比赛来推动这一领域发展也就不稀奇了。在视觉目标识别领域,研究者长期以来一直通过举办年度竞赛来判定谁的模型表现最佳。每个比赛均有一个特色的“基准数据集”,就是一个照片集,其中的每张照片上都有人工创建的用于标注对象的标签。

2005—2010年,这类年度比赛中最令人瞩目的是PASCAL视觉目标类别竞赛,截至2010年共精选了约15 000张图像,这些图像均可从图像共享网站Flickr下载,共涉及20个目标类别,包括人、狗、马、羊、汽车、自行车、沙发和盆栽植物等。这一竞赛 <sup>3</sup> 对分类任务的要求是:计算机视觉程序能够将图像作为输入(在看不到人工创建的标签的情况下),然后用20种类别作为输出,来判定某一种类别的对象是否出现在图像中。

PDF 物理页索引 152

文件中的第 153 页 · 印刷页码:未识别

以下是竞赛的流程。组织者将整个照片集分成一个供参赛者用来训练模型的训练集以及一个测试集,测试集不向参赛者发布,用于评价程序在训练集之外的图像上的表现。在竞赛前,竞赛组织者将提供在线的训练集,当竞赛开始时,研究人员需提交他们训练好的、将在保密的测试集上进行测试的程序。对测试集中的图像的目标识别准确率最高的程序获得胜利。

一年一度的PASCAL竞赛在计算机视觉领域是一个非常盛大的事件,并激励了该领域的大量研究。经过多年的挑战,参赛程序的表现已经越来越好,但让人感到奇怪的是,盆栽植物仍然是最难识别的对象。然而,使用PASCAL竞赛作为一种推动计算机视觉发展的方式是存在不足的,一些研究者对此感到沮丧。参赛者过于关注PASCAL中20种特定的目标类别,并未构建出可扩展至人类能够识别的目标类别量水平的系统。此外,具备足够多图像的数据集,可以供参赛程序学习视觉对象形态的所有可能的变化,以便具有更好的泛化能力,然而,这样的数据集目前也尚未出现。

为再向前一步,计算机视觉领域需要一个新的基准图像集,即一个具有更多类别和更多照片的集合。普林斯顿大学年轻的计算机视觉教授李飞飞尤其关注这一目标。一次偶然的机会,她了解到一个由普林斯顿大学教授、心理学家乔治·米勒(George Miller)负责的项目:创建一个英语单词数据库

PDF 物理页索引 153

文件中的第 154 页 · 印刷页码:未识别

(WordNet),将单词按同义词分组,并从最具体到最一般化的等级进行层次结构排序。例如,cappuccino(卡布奇诺)这个单词在WordNet的数据库中,包含如下信息(箭头可以理解为“是一种”):

卡布奇诺→咖啡→软饮料→食品→物质→物理实体→实体。

这一数据库同样包含beverage(软饮料)、drink(饮品)和potable(饮用物)等同义词的信息,其中,软饮料同时也是另一条包含液体在内的词汇链的一部分,依此类推。

WordNet已经并将继续被心理学家和语言学家广泛应用于科学研究以及人工智能自然语言处理系统之中,但李飞飞有一个新的想法:根据WordNet中的名词构建一个图像数据库,使其中每个名词都与大量包含该名词示例的图像相关联。因此ImageNet的构想诞生了。

李飞飞和她的合作者很快就开始使用WordNet中的名词作为图片搜索引擎(如Flickr和谷歌图片搜索)的查询词以收集海量的图片。然而,如果你曾使用过图片搜索引擎,就会知道查询的结果往往不尽人意。例如,如果在谷歌图片搜索中输入“macintosh apple”(麦金塔电脑),你不仅会得到苹果和苹果电脑的相关图片,也会得到苹果形状的蜡烛、智能手机、酒瓶以及其他许多不相关物品的图片。因此,李飞飞和她的同事必须人工辨别哪些图像与给定名词无关,并将其筛除。起初,承担这项任务的主要是本科生,但这项任务十分费力且推进得非常缓慢,李飞飞很快意识到:以他们当前的速度,预计需要90年才能完成这项任务 <sup>4</sup> 。

PDF 物理页索引 154

文件中的第 155 页 · 印刷页码:未识别

李飞飞及其合作者对自动完成这项工作的可能方法进行了头脑风暴,然而,判定一张照片是否与某个特定名词相关,其本质就是目标识别任务本身!并且计算机在这项任务上毫无可靠性可言,而这也正是他们最初想要构建ImageNet的全部原因。

团队陷入了僵局,直到李飞飞偶然间发现了一个成立仅3年的网站,该网站可以交付构建ImageNet所需的人类智能。该网站有一个奇怪的名字:“亚马逊土耳其机器人”(AmazonMechanical Turk)。

土耳其机器人<sub>,</sub>一个需要人类智慧的工作市场

据亚马逊称,土耳其机器人提供的是“一个需要人类智慧的工作市场”。该服务将请求者与工人连在了一起,其中请求者是指那些需要完成某项难以由计算机完成的任务的人;而工人是指那些仅收取少量费用(例如,标注图像中的物体,每张照片的报酬是10美分)就愿意将其智慧用于完成请求者所要求的任务的人。来自全世界各地的数十万名工人已经在该网站进行了注册。土耳其机器人的出现正体现了明斯基所说的“容易的事情做起来难”,人类被雇用来执行目前对计算机来说仍然很难的“简单”任务。

PDF 物理页索引 155

文件中的第 156 页 · 印刷页码:未识别

土耳其机器人的名字来自一个发生在18世纪的著名的人工智能骗局:原始版本的土耳其机器人是一个玩国际象棋的“智能机器”,其实是一个人秘密地藏在其中来控制木偶下棋,这个木偶即“土耳其机器人”,其穿着打扮就像奥斯曼帝国的苏丹。它愚弄了当时的许多知名人士,包括拿破仑·波拿巴。亚马逊的这项服务,其目的不是愚弄任何人,就像最初的土耳其机器人一样,它只是一种“人工的”人工智能 <sup>5</sup> 。

李飞飞意识到,如果她的团队雇用数十万名土耳其机器人来为WordNet中的每个词语筛除不相关的图像,那么整个数据集的整理工作将在几年内以相对较低的成本完成。于是,在短短两年内,就有超过300万张图像被标注上相应的WordNet中的名词,并组成了ImageNet数据集。对于ImageNet项目来说,土耳其机器人简直是“天赐之物” <sup>6</sup> 。如今,这项服务被人工智能研究者广泛地用于创建数据集,人工智能领域的学术资助提案也往往会包括一个土耳其机器人的专属条目。

赢得ImageNet竞赛<sub>,</sub>神经网络的极大成功

为了推动更通用的目标识别算法的发展,2010年,ImageNet项目举办了首届“ImageNet大规模视觉识别竞赛”,共有35个程序参赛,代表了来自世界各地的学术界和工业界的计算机视觉研究者。竞争者收到了被标注过的120万张训练图像和其可能分属的类别列表,参赛程序的任务是对每张图像输出正确的类别。ImageNet竞赛涉及1 000种可能的类别,远远多于PASCAL的20个输出类别。

PDF 物理页索引 156

文件中的第 157 页 · 印刷页码:未识别

这1 000种可能的类别是组织者从WordNet词汇中选出来的子集。这些类别是一组看似随机出现的名词,从熟悉的和常见的词语,如柠檬、城堡、三角钢琴,到不太常见的词语,如高架桥、寄居蟹、节拍器,以及如苏格兰猎鹿犬、翻石鹬、赤猴等鲜为人知的词语。事实上,这些比较少见的、我完全无法区分的动物和植物类别在这1 000个目标类别中至少占据了1/10。

有些照片仅包含一个物体,而另一些照片包含多个物体,正确的目标物体就在其中。由于存在这种模糊性,参赛程序可以对每个图像至多猜测5个类别,如果正确类别在输出之列,我们就说该程序对这张图像的识别是正确的,这被称为“top-5”准确率衡量标准。

2010年得分最高的程序使用了所谓的“支持向量机”算法,这是当时主流的目标识别算法,它运用复杂的数学知识来学习如何为每个输入图像分配类别。使用top-5准确率衡量标准,这一获胜程序在15万张测试图像上的正确率为72%。这个结果还算不错,但也意味着即便允许猜测5次,程序对超过4万张测试图像的识别还是错误的,改进空间还非常大。值得注意的是,在得分最高的程序中并没有神经网络。

第二年,得分最高的还是使用支持向量机算法的程序,并展现出了微小但可敬的改进:测试图像识别正确率提高到了74%。该领域的大多数研究人员都期待这种趋势能够持续下去,随着每年参赛程序的图像识别正确率逐步提升,计算机视觉研究将一点一点地解决这个问题。

PDF 物理页索引 157

文件中的第 158 页 · 印刷页码:未识别

这种平稳上升的趋势在2012年的ImageNet竞赛中陡然改变了:获奖程序top-5准确率达到了惊人的85%,这种准确率的飞跃实在是令人震惊的进步。更令人吃惊的是,获胜的程序并没有使用支持向量机算法或当时其他主流的计算机视觉算法,而是使用的ConvNets。这个独特的ConvNets名为AlexNet,以其主要开发者亚历克斯·克里泽夫斯基(Alex Krizhevsky)的名字命名。克里泽夫斯基当时是多伦多大学的研究生,其导师是杰出的神经网络研究者辛顿。克里泽夫斯基与辛顿还有研究生伊利娅·苏特斯科娃(Ilya Sutskever)合作,构建了杨立昆在20世纪90年代开发的LeNet的一个扩展版本,由于计算机算力的提升,训练这样一个庞大的网络在当时变得可行了。AlexNet包含8层,约有6 000万个权重,这些权重通过在上百万张训练图像上进行反向传播来学习 <sup>7</sup> 。这个来自多伦多大学的研究团队提出了一些聪明的技巧来更好地训练网络,这需要一个强大的计算机集群耗时大约一周来对AlexNet进行训练。

AlexNet的成功向计算机视觉和泛人工智能研究群体传递了一个信号,突然间人们开始意识到ConvNets的潜在能力了,而在此之前大多数人工智能研究人员并未将其视为现代计算机视觉领域研究的一个有力竞争者。在2015年的一篇文章中,记者汤姆·西蒙尼特(Tom Simonite)就ConvNets的意外夺冠采访了杨立昆:

杨立昆回忆起在获奖者展示关于其结果的论文时,大多数曾经忽视神经网络的人工智能研究人员成群地走进房间的景象。他说:“你可以看到整个研究领域中的许多前辈突然就改变了观点。”这些前辈说:“好吧,现在我们相信了。就是这样,现在你赢了。” <sup>8</sup>

PDF 物理页索引 158

文件中的第 159 页 · 印刷页码:未识别

几乎同时,辛顿的团队也证明:在大量标记数据上训练过的DNN,其在语音识别领域的表现比该领域正在使用的其他技术更优。多伦多大学研究团队在ImageNet和语音识别上的成果产生了巨大的连锁反应。不到一年,辛顿创办的一家小型公司被谷歌收购,于是辛顿和他的学生克里泽夫斯基、苏特斯科娃成了谷歌的员工。这种“雇用收购”迅速使谷歌处在了深度学习研究领域的最前沿。

不久之后,在纽约大学任全职教授的杨立昆被Facebook挖走,开始担任Facebook新成立的人工智能实验室的带头人。没过多久,所有大型科技公司,以及许多小一点的科技公司都开始争抢深度学习领域的专家及其研究生。好像在一夜之间,深度学习就成了人工智能领域最热门的部分,并且计算机科学家在深度学习方面的专业知识保证了他们能够在硅谷获得高薪,也为他们日益壮大的深度学习初创公司吸引到了风险投资资金。

一年一度的ImageNet大赛开始在媒体上得到更广泛的报道,并迅速从一场友好的学术竞赛演变成一场高调的科技公司计算机视觉商业化的示范性竞赛。在ImageNet中获胜,将获得人们梦寐以求的计算机视觉研究界的尊重以及免费的宣传,而这可能转化为产品销量和更高的股票价格。设计出优于竞争对手的程序的压力,可由发生在2015年的一场涉及中国互联网巨头百度公司的作弊事件明显看出。这一作弊事件算是在机器学习领域中被人们称为“数据窥探”(data snooping)行为的一个微妙的例子。

PDF 物理页索引 159

文件中的第 160 页 · 印刷页码:未识别

事情的经过是这样的。

在竞赛开始之前,每个参赛团队都会收到标有正确目标类别的训练图像集,以及一个大型测试集——一组未包含在训练集中的图像,并且这些图像未经标注。一旦模型被训练好,团队就能看到其方法在测试集上的表现。这有助于测试一个程序的泛化能力,而非记住训练图像及其标签的能力。当然,只有在测试集上的表现才算数。判断一个团队的模型性能好坏的方式是:对测试集中的每张图像运行其程序,收集程序对每张图像的top-5准确率猜测,并将此数据列表提交给一台由比赛组织者管理的计算机即“测试服务器”。测试服务器将参赛程序提交的数据列表与正确答案进行对比,并输出其正确率。

每个团队都可以在测试服务器上注册一个账户,并以此查看其各个版本模型的得分情况,这使得他们能够在官方结果公布之前公开发布他们的结果。

这一竞赛要求的机器学习的基本规则是:不在测试数据集上训练。这似乎是显而易见的:如果你用测试集数据的任一部分来训练你的模型,就无法很好地对模型的泛化能力进行衡量,这就像在考试之前向学生提供期末考试题一样。事实证明,有一些方法可以巧妙地打破这条规则,使你的程序表现得比它实际更好。