PDF 物理页索引 160
文件中的第 161 页 · 印刷页码:未识别
其中一种方法是将程序的测试集答案提交给测试服务器,并基于这个结果调整程序,然后再次提交。这一过程重复多次,直到程序被调整到能够在测试集上表现得更好。程序不需要看到测试集上的实际标签,但需要获得对准确率的反馈,并据此对程序进行相应的调整。事实证明,如果你能够对这个过程执行足够多次,你就能够非常有效地提高程序在测试集上的准确率;但是,由于你使用了测试集的信息来调整程序,这就破坏了使用测试集来查看程序是否具有良好泛化性能的作用。这可能就像允许学生多次参加期末考试一样,每次都将获得一个分数,并通过这一分数来试图提高他们下一次的表现。最后,他们提交了能够使自己获得最高分数的答案版本。这时考试就不再是一种衡量他们对这门课程的掌握情况的好方法,而成了一种衡量他们调整答案来应对特定考试问题的能力的方法。
为防止这种数据窥探行为的出现,同时仍然允许ImageNet的参赛者看到他们程序的运行情况,组织方设定了一条规则:每支队伍每周至多可以向测试服务器提交两次结果。这将限制团队从测试集中收集反馈的数量。
盛大的“ImageNet竞赛2015”围绕着不到一个百分点的差距展开,这看似微不足道的差距却潜藏着丰厚的利润。2015年年初,百度的一个团队公布了一种方法,在ImageNet测试集上达到了有史以来最高的top-5准确率——94.67%,但就在同一天,微软的一个团队宣称他们的方法取得了更高的准确率:
PDF 物理页索引 161
文件中的第 162 页 · 印刷页码:未识别
95.06%。几天后,来自谷歌的一只竞争队伍宣布他们使用了一种稍微不同的方法,其识别效果更好,准确率为95.18%。
这个故事仅仅是计算机视觉领域深度学习悠久历史中一个有趣的插曲,我想借此表明:ImageNet竞赛被看作计算机视觉研究和人工智能进步的关键标志。
ImageNet竞赛仍在继续。在2017年举办的竞赛中,获胜程序的top-5准确率为98%。正如一位记者所评论的那样,“现在,许多人认为ImageNet图像识别任务已被人工智能解决” <sup>9</sup>,至少对分类任务是如此。这一研究群体正在转向新的基准数据集和新的研究目标,特别是能够整合视觉和语言的相关研究。
是什么使得ConvNets在20世纪90年代还似乎处于困境,但却突然间主宰了ImageNet竞赛和过去近5年计算机视觉领域的大部分研究?事实证明,深度学习在近年来的成功与其说是人工智能的新突破,不如说要归功于互联网时代极易获得的海量数据和并行计算机硬件的快速处理能力。这些因素加上训练方法的改进,使得数百层的网络在短短几天内就能完成在数百万张图像上的训练。
杨立昆本人也对他提出的ConvNets近年来发生的变化感到惊讶:“很少会有这种情况,一种在20~25年内基本没有变化的技术,如今却成了最佳的方法。人们对其了解及掌握的速度简直令人惊叹。我以前从未遇到过这种情况。” <sup>10</sup>
PDF 物理页索引 162
文件中的第 163 页 · 印刷页码:未识别
ConvNets淘金热<sub>,</sub>以一套技术解决一个又一个问题
一旦ImageNet和其他大型数据集为ConvNets提供了它良好运转所需要的大量训练样本,一些企业就立马能够以前所未有的方式应用计算机视觉技术了。正如谷歌的布莱斯·阿卡斯(Blaise A. Arcas)所评价的那样:“这是一种淘金热——用一套相同的技术解决一个又一个问题。” <sup>11</sup> 使用经深度学习算法训练的ConvNets,谷歌、微软等公司所提供的图片搜索引擎均能极大地改进其“查找相似图片”的技术。谷歌提供了一个图片存储系统,可通过描述图片所包含的对象来进行标注,而谷歌的街景服务可以识别和遮盖照片中的街道地址与车牌。数量激增的移动App则使得智能手机能够实时地进行目标和人脸识别。
Facebook使用用户朋友的名字来标注用户上传的照片,并注册了一项对上传照片中面部表情背后的情绪进行分类的专利;Twitter开发了一个过滤器,可以筛除推文中的不合规图片;一些照片和视频共享网站开始使用相关工具来检测与恐怖主义有关的图像。ConvNets也可被应用在视频上,以及用于自动驾驶汽车来追踪行人,还可用于阅读唇语,以及对肢体语言进行分类等。ConvNets甚至能够根据医学图像诊断乳腺癌和皮肤癌,确定糖尿病性视网膜病变的阶段,并协助医生制定前列腺癌的治疗方案。
PDF 物理页索引 163
文件中的第 164 页 · 印刷页码:未识别
以上这些只是由ConvNets提供支撑的众多现有的或即将出现的商业应用案例中的一部分。事实上,很可能任何一个你在用的现代计算机视觉应用程序都有用到ConvNets,而且,在对它进行微调以完成更具体的任务之前,ConvNets可通过使用ImageNet中的图像进行预训练来学习通用的视觉特征。
由于ConvNets所需的大量训练仅可通过专门的计算机硬件来实现,这种专门的计算机硬件通常是功能强大的图形处理单元(graphics processing unit, GPU),因此著名的GPU制造商英伟达(NVIDIA)公司的股价在2012—2017年间同比增长了10倍以上也就不足为奇了。
在目标识别方面<sub>,</sub>ConvNets超越人类了吗
随着我对ImageNet取得的非凡成就的了解越来越多,我开始好奇ConvNets与我们人类的目标识别能力能有多么接近。2015年,微软在一篇研究博客中宣称:“这项用于识别图像或视频中对象的重大技术进步,表明这一系统的识别准确率已经达到甚至超过人类水平。” <sup>12</sup> 尽管微软公司明确表示其讨论的内容仅仅针对程序在ImageNet上的准确性,但媒体就没有那么严谨了,他们争相报道出耸人听闻的头条新闻,如《计算机如今比人类更擅长识别和分类图像》,还有《微软已开发出一套能力强于人类的目标识别计算机系统》 <sup>13</sup> 。
让我们更深入地分析一下有关计算机如今在ImageNet上的目标识别能力是否已经超越人类的具体争论。这一论断是基于人类的错误率约为5%,而机器的错误率接近2%的一个声明,这难道无法证明计算机在这项任务上的表现比人类更好吗?与其他人工智能的高调宣传中经常出现的情况一样,这一声明也存在一些注意事项。
PDF 物理页索引 164
文件中的第 165 页 · 印刷页码:未识别
第一个注意事项。当你读到“一台机器正确地识别了目标”时,你会认为,给定一张篮球的图像,机器会输出“篮球”这一结果;但在ImageNet竞赛中,正确地识别仅意味着正确类别出现在机器给出的前5个输出类别当中。如果给机器输入一张篮球的图像,机器按顺序输出的是门球、比基尼、疣猪、篮球和搬家货车,即可被判定是正确识别。上述这种情况发生的频率不得而知,但值得注意的是,相比于2017年ImageNet竞赛中98%的top-5准确率,最高的top-1准确率只有82%。top-1准确率指的是测试图像中所含内容的正确类别位于输出结果列表顶端的概率。据我所知,还没有人报道过计算机与人类在top-1准确率上的比较结果。
第二个注意事项。考虑一下“人类在ImageNet上的识别错误率约为5%”这个声明。实际上,其中的“人类”一词表述得并不是非常准确,因为这一结果来自被试只有一个的实验,被试名叫安德烈·卡帕西(Andrej Karpathy),他当时是一名在斯坦福大学研究深度学习的研究生。卡帕西想知道他是否可以通过训练自己来打败在ImageNet竞赛中表现最好的ConvNets模型。考虑到ConvNets是在120万张训练图像上进行训练,并且在15万张测试图像上进行测试的,与ConvNets竞争对人类来说是一项艰巨的挑战。卡帕西在一个人工智能相关的热门博客上写下了他的经历:
PDF 物理页索引 165
文件中的第 166 页 · 印刷页码:未识别
我最终在500张图像上进行了训练,然后转到一个包含1 500张图像的测试集上。在实验过程中每分钟进行一次标注,这里的标注是指,我需要标注出每个图像中的对象分属的5个类别中的一个,但随着时间的推移,这一速率有所下降。我在标注前200张图像的过程中还比较轻松,而对于剩余的图像我只做了“用于科学”的标注。有些图像很容易识别,然而也有些图像需要多耗费几分钟的时间,比如那些细分种类的狗、鸟或猴子。我现在已经变得非常擅长识别狗的品种了<sup>14</sup> 。
卡帕西发现他对1 500张测试图像的识别中有75张的识别是错误的,接着,他对自己犯的错误进行了分析,发现错误主要源于以下几种情况:图像中包含多个对象;图像中包含特定品种的狗、鸟类、植物等;图像中有一些他没意识到但也包括在目标类别中的对象类别。ConvNets所犯的错误与此不同,虽然它们也容易被包含多个对象的图像所迷惑,但与人类不同的是,它们往往会遗漏图像中较小的对象、被摄影师用滤镜处理过的或颜色失真的对象,以及抽象表示的对象,比如狗的画像或雕像,或者填充型的玩具狗。因此,对于计算机已在ImageNet竞赛中击败人类这一说法,我们需要在很大程度上持保留意见。
PDF 物理页索引 166
文件中的第 167 页 · 印刷页码:未识别
下面要说的第三个注意事项可能会让你大吃一惊。当一个人说,照片中有一条狗时,我们认为这是因为人类在图像中实际上看到了一条狗,但是如果ConvNets“说”图像中有狗时,我们如何确定它真的是基于图像中包含狗这一判断来进行输出的呢?也许图像中有一些其他对象,如网球、飞盘、被叼住的鞋子,这些对象在训练图像中往往与狗相关,而ConvNets在识别这些对象时就会假设图像中有一条狗。这类关联的结果往往会愚弄程序,使其做出误判。
对于上述情况,我们可以要求机器不仅输出图像中的对象类别,同时还要学会在目标对象周围画一个方框,这样我们就知道机器确实“看到”了目标。这就是ImageNet竞赛后来启动实施的“定位挑战赛”。定位任务也提供了训练图像,其中每幅图像正确目标的周围有由土耳其机器人绘制的定位框,在测试图像上,参赛程序的任务是使用与定位框对应的坐标来对对象进行分类与定位。令人惊讶的是,虽然ConvNets在定位方面表现得很好,但与其在分类任务上的表现相比,就差得多了;然而,新加入的竞争者都还在专注于解决对象分类的问题。
也许在目标识别上,当今的ConvNets和人类最重要的区别在于如何进行学习,以及学习的结果有多么稳定和可靠。我将在下一章探讨这些区别。
我在前文中所描述的这些注意事项并不是说要贬低深度学习近年来在计算机视觉方面取得的令人惊叹的进展。毫无疑问,ConvNets在这一领域和其他领域均取得了惊人的成功,这些成功不仅产生了商业化的产品,而且给人工智能领域带来了一股真正的乐观情绪。我上述的讨论旨在说明计算机视觉的发展是多么充满挑战,并对其迄今为止所取得的进展提出了一些看法,目标识别这一基本任务距离被人工智能真正完成还有很长的一段路。
PDF 物理页索引 167
文件中的第 168 页 · 印刷页码:未识别
我们离真正的视觉智能还非常遥远
在本章中我主要围绕目标识别展开论述,因为它是近年来计算机视觉领域取得最大进展的方面,然而,视觉研究除了目标识别之外显然还有很多内容。如果计算机视觉的目标是让机器描述它“看到”的内容,那么机器不仅需要识别目标,还需要识别目标之间的关系以及目标如何与世界交互。如果问题情境中的目标是生物,机器将需要了解它们的行动、目标、情感、可能的后续行为,以及讲述视觉场景中发生的故事所包含的其他所有方面的内容;而且,如果我们真的希望机器描述它所“看到”的内容,它们将需要使用语言。人工智能研究者正在积极争取让机器能做这些事情,但像往常一样,这些看似“容易”的事情做起来非常困难。正如计算机视觉专家阿里·法尔哈迪(Ali Farhadi)在接受《纽约时报》的采访时所说的那样,“我们距离真正实现能够像人类那样理解场景和动作的视觉智能还非常非常遥远” <sup>15</sup> 。
为什么我们离实现这个目标仍然如此遥远?看起来视觉智能与其他的智能并不是那么容易分得开,尤其是通用知识、抽象概念和语言等与大脑的视皮层有许多反馈联系的相关智能。此外,类人的视觉智能所需要的相关知识的获得比较困难,例如,用以理解第04章开头的“士兵与狗”那张图片的相关知识,是无法从网上下载的数百万张图片中习得的,必须在现实世界中进行某种体验方可获得。
PDF 物理页索引 168
文件中的第 169 页 · 印刷页码:未识别
在下一章,我们将更深入地研究视觉中的机器学习,特别是我们将聚焦于人类和机器学习方式之间的差异,并尝试弄清楚我们训练过的机器到底学习到了什么内容。
PDF 物理页索引 169
文件中的第 170 页 · 印刷页码:未识别
本章要点
05 机器视觉智能的3个致命短板
如今,机器智能在ImageNet上的目标识别能力是否已经超越人类的争论众说纷纭。这一论断是基于人类的错误率约为5%,而机器的错误率接近2%的一个声明,这难道无法证明计算机在这项任务上的表现比人类更好吗?答案是否定的。
第一,当你读到“一台机器正确地识别了目标”时,你会认为,给定一张篮球的图像,机器会输出“篮球”这一结果;但在ImageNet竞赛中,正确地识别仅意味着正确类别出现在机器给出的前5个输出类别中。如果给机器输入一张篮球的图像,机器按顺序输出的是门球、比基尼、疣猪、篮球和搬家货车,即可被判定是正确识别。
第二,对于“人类在ImageNet上的识别错误率约为5%”这个声明,其中的“人类”一词实际上表述得并不是非常准确,因为这一结果来自被试只有一个的实验。
第三,当一个人说照片中有一条狗时,我们认为这是因为 人 类 在 图 像 中 实 际 上 看 到 了 一 条 狗 , 但 是 如 果ConvNets“说”图像中有狗时,也许只是图像中有一些其他对象,如网球、飞盘、被叼住的鞋子,这些对象在训练图像中往往与狗相关,而ConvNets在识别这些对象时就会假设图像中有一条狗。这类关联的结果往往会愚弄程序,使其做出误判。