天天看点

李飞飞:历史被创造出来时,世界上只有少数人知道

李飞飞:历史被创造出来时,世界上只有少数人知道

飞机窗外一片漆黑。虽然飞机还在跑道上,但还是什么都看不见。坐在中间座位的我,能看到的只有前排的座椅。我告诉自己:“一会儿就能到佛罗伦萨了。”但我心里清楚,这只是个幻想。因为临时决定参加欧洲计算机视觉大会,我不得不放下一切,家庭生活陷入了混乱,但邓嘉的消息让我别无选择。不得不承认,当婴儿急需照顾时,和父母同住还真是益处多多。

订票的时候,我回想起我和西尔维奥度蜜月时,从旧金山国际机场到佛罗伦萨机场并没有直飞航班,于是我费了一些功夫找到了能让我最快时间回家、回到孩子身边的航线。虽然很不情愿,但我最后还是选择了一趟 20 小时的航班,飞机空间狭小,肯定也睡不好,唯一的中途停留休息就是转机,可能在巴黎、苏黎世或其他一些我在迷迷糊糊状态下无法辨认的标志性城市。但现在已经无法回头了。飞机开始在跑道上缓缓滑行,引擎开始轰鸣。扩音系统里传出广播:抬起小桌板,系好安全带。我想睡一会儿,但思绪却翻滚个不停。

我一直在思考这次的获胜算法。它的识别准确率高达 85%,比上一年的冠军高出 10 个百分点,创造了计算机视觉领域的世界纪录。可以用一个数据来说明这个准确率的意义:我所看到的研究表明,人类的平均识别准确率约为 97%,而这还是对简单得多的二元选择而言(比如判断一张照片上是否有动物)。相比之下,算法需要筛选上千个选项才能找到正确答案。因此,虽然这个算法还没有达到人类的水平,但已经比其他任何算法都更加接近,而且差距已经小到惊人。

飞机广播“嘟”了一声,然后传来机长的声音:我们已进入巡航高度。

这个参赛算法最令人惊讶的地方,也许在于它提高准确率的具体方法。尽管发展了数十年的支持向量机等现代算法已经引起广泛兴趣,并曾在前两年的比赛中获胜,但这次获胜算法的研发团队却选择了让神经网络重出江湖,并在比赛中大显身手,把第二名远远甩在身后。冠军算法名为 AlexNet,是向这项技术和项目的主要作者、多伦多大学研究员亚历克斯·克里热夫斯基(Alex Krizhevsky)致敬。

飞机遇到气流,颠簸了一下。

准确率竟然在短短一年内大幅提高了 10 个百分点?而且是通过神经网络实现的?飞机从一个时区穿越到另一个时区,我的大脑运转不停。这就像是听说一辆本田思域以每小时 160 千米的速度差打破了陆地速度的纪录。根本不可思议。进步不应该是这样的。

还是说,进步就是这样的?我想到了邓嘉在论文中阐述的内容,包括在使用 ImageNet 进行算法训练时的一些发现。在小型数据集上运行良好的技术,在大型数据集上训练时却突然表现不佳,反之亦然。有没有可能,神经网络一直以来都更适合理解 ImageNet 这种更大、更密集的可能性空间?有没有可能,神经网络一直都能同时应对类别总数的大幅增加和类别间差异的急剧缩小,而它最先进的竞争对手却做不到?我急切地想找到更多线索,于是打开笔记本电脑,调出了 AlexNet 团队在参赛算法中附带的幻灯片,仔细研究他们所做的设计选择。

AlexNet 是 卷 积 神 经 网 络(Convolutional Neural Network,CNN)的一个实例。卷积神经网络的叫法源于图形卷积过程。在这个过程中,一系列滤波器在图像上扫过,寻找与网络所识别事物相对应的特征。这是一种独特的有机设计,灵感来自休伯尔和威塞尔对哺乳动物视觉系统的观察,即视觉处理在多个层次上进行。就像在自然界中一样,卷积神经网络的每一层都会逐渐整合更多的细节信息,从而形成越来越高层次的感知,最终将真实世界的物体完整地呈现在我们的视野中。

这样就形成了一种类似视网膜的算法,凝视着周围的环境。就像真正的眼睛一样,算法的最外层把成千上万个感受野应用于图片的像素,每个感受野都经过特定调整,能够识别出独特的微小图案,并在遇到这种图案时被激活,比如以一定角度倾斜的对角线边缘、两种色调之间的模糊混合、条纹图案或明暗交替等等。在这种感知水平上,滤波器可以对任何事物做出反应,比如小狗皮毛的图案、厨房柜台的边缘,或者阳光下玫瑰花瓣轮廓上的闪光。事实上,AlexNet 能够捕捉到所有这些特征,甚至更多,这不仅是因为它接受了 ImageNet 的训练,更重要的是,这种算法忠实于生物视觉的进化本质。研究团队没有预先决定网络应该寻找哪些特征,而是让数十万个神经元在没有人工干预的情况下,完全依靠训练数据逐渐学习到自己的敏感度。AlexNet 就像生物智能一样,也是自身所处环境的自然产物。

接下来,来自成千上万个感受野的信号会深入神经网络,汇聚融合成更加丰富、清晰的提示信息。每个新的感知层都在比上一层更加复杂的感知水平上运行,当感知到熟悉的事物时(也就是感知到算法此前已经被训练识别的东西),就会做出反应,就像生物神经元的生化反应被激活一样。微小的图案越来越大。这些图案进一步像拼图一样连接起来,形成越来越容易辨认的片段——老虎的条纹、木头的纹理、映在地上的影子。

最终,经过各层过滤后,仅剩下少数几个信号被融合成识别对象的详细图像,进入网络的最后阶段:识别阶段。摩托车、豹子、算盘、母鸡、电视机,或是其他上千种选择中的任何一个。所有这些都来自同一种算法,其精确度越来越接近人类水平。

当然,这些并不是什么新的创意。自从贝尔实验室成功将卷积神经网络应用于手写邮编,杨立昆多年来一直对卷积神经网络保持着惊人的忠诚。在 AlexNet 诞生时,他已经花了 20 年时间坚持不懈地完善算法、发表研究成果,但一直没有必要的资源来充分实现这些成果。现在,几乎在一夜之间,这种常被视为误入歧途的执着似乎变得极具先见之明。杨立昆把自己的卷积神经网络算法巧妙地命名为LeNet(呼应他的英文名 Yann LeCun),其指导理念在 AlexNet中熠熠生辉,宛如重生般焕发生机。

这种联系让 AlexNet 背后的三人团队备受瞩目。他们都是多伦多大学的研究人员,负责人是与项目同名的亚历克斯·克里热夫斯基,以及他的合作伙伴伊利亚·苏茨克维( Ilya Sutskever)。这两个聪明的年轻人资历尚浅,仍在建立自己的声誉。然而,第三个名字立刻引起了我的注意:杰弗里·辛顿。就是这位辛顿,在 20 世纪80 年代中期开发了反向传播技术,成为早期机器学习的先驱。反向传播的突破性方法首次实现了对大型神经网络的可靠训练。就是这位辛顿,曾经指导过彼时还是他实验室学生的杨立昆。和他的学生一样,辛顿拒绝放弃对神经网络的研究,即使这让他在同事中显得形单影只。看来, AlexNet 绝不仅仅是一个参赛算法。这是一个历经四分之一个世纪的正名时刻。

随着我对算法架构研究的不断深入,它根源的意义变得更加清晰。虽然相隔 20 多年,但 AlexNet 和 LeNet 的主要区别似乎微乎其微,两者都运用了传统的神经网络范式。但有一个关键的区别是显而易见的:AlexNet 这个新的演化版要庞大得多。

与 LeNet 相比, AlexNet 可以处理大约 10 倍规模的图像,通过一个大小约为其两倍的卷积核(可以理解为神经网络的“焦点”)来扫描图像。在此基础上, AlexNet 通过一个更深的网络对识别的细节进行过滤,这个网络比 LeNet 多出几层,因此能够更全面地处理所获得的信息,并做出更复杂的推断。最后, LeNet 的设计目标是将分析结果转化为 10 种可能结果中的一种,对应于它要识别的 10个手写数字,而 AlexNet 可以识别出 1000 个物体类别,也就是比赛中选择使用的 ImageNet 子集中所包含的类别总数。

但所有这些都只是程度上的差异,而非本质上的差异;从理论层面看,两种算法几乎没有什么区别。然而, AlexNet 的表现却创下了前所未有的辉煌。

这是如何实现的呢?

部分原因肯定是算法运行所需的硬件。在很长一段时间里,神经网络的训练难度很大,硬件的明显限制是致命的。即使是利用过去几十年中规模小得多的网络来训练算法,从操作层面看,也很难实现。

事实上,用世界上最大的图像集合来训练类似 AlexNet 这样的网络似乎是难以想象的。但技术已经取得了长足的进步,尤其是出现了针对特定应用进行了优化的计算机硬件,价格低廉但性能出色,让大规模数据集训练成为可能。有意思的是,一切都要归功于电子游戏的流行。

这就引出了另一个命运转折点:从功能上看,神经网络所倾向的数字运算方式类似于视频游戏的图形渲染方式。自 20 世纪 90 年代以来,价值数十亿美元的电子游戏产业一直推动着定制硬件的进步和商业化,助推了英伟达等超级品牌的崛起。到 2012 年,相关硬件——一种被称为“图形处理器”( Graphics Processing Unit,GPU)的专用处理器——已经以优惠的价格成为消费产品。对辛顿的实验室来说,这意味着实现 AlexNet 所需的硬件不再需要政府拨款和施工许可,而是可以在百思买电器大卖场的货架上买到。

然而,“可行”不一定意味着“方便”。即使有如此强大的硬件,利用 ImageNet 来训练 AlexNet 也需要使用多个处理器,每天 24小时运行整整一周的时间。所以,在 2012 年年初的某一周,当世界各地数以百万计的图形处理器忙于渲染抖动的机枪、成群结队的僵尸和弹片飞溅的爆炸时,有两台图形处理器却正在多伦多的某个地方将一种新型神经网络从理论变为现实。

尽管算法性能取得了显著进步,但在严格意义上讲,并没有什么新颖的东西。进步的作用只是让现有进程能够在更加实际的时间内完成。如果要说 2012 年的世界与 LeNet 时代有什么真正的不同,那一定是用于训练网络的数据之充裕。毕竟,在 1989 年,数字图像还处于起步阶段,大规模的图像库也非常罕见。在那个时候,组织一套用于神经网络训练的数据集——不仅仅是数字图像集合,更是一个针对特定应用、每个图像都由人工精确标注的海量集合——似乎完全是无稽之谈。

当然也有例外情况,那就是用来训练 LeNet 读取邮编的扫描图像。在当年,即使打造一套手写数字图像的训练集,也是勉勉强强才能完成的工作。邮编图片训练集和现代图片训练集的对比情况引人深思。与数百万像素的全彩照片不同,扫描的数字图片尺寸很小,颜色单一,占用的内存也相对较少。而且,只需数千个示例(而不是自然世界所需的数以亿计的示例),就足以涵盖其特异性所需的多样性。因为当时只能找到手写邮编的图片训练集,所以,在 20 多年的时间里,卷积神经网络算法的唯一成就是识别手写邮编也就不足为奇了。从这个角度来看,数据似乎有种为系统注入活力的能力。

事实上,在 ImageNet 的帮助下, AlexNet 焕发生机,它贪婪地吸收着 ImageNet 的内容,在 ImageNet 规模和多样性的土壤中生根发芽,茁壮成长。一直以来,神经网络并不需要更花哨的数学公式和更奇特的抽象概念。我们期待神经网络能够理解世界,而它们只是在等待我们提供更加清晰的图景,等待一些真正有学习价值的东西。大数据训练了 LeNet 去理解复杂的人类笔迹,现在它也在训练AlexNet 去理解万物。

后来我才知道,在 2012 年之前的几年里,辛顿重拾激情,想要证明神经网络的可行性。2011 年,他认为自己比以往任何时候都更接近转折点,于是开始以一种既对抗又合作的方式与同事沟通,他的表达方式听起来更像是提出挑战,而不是提出问题。他跟同行探讨下一步行动计划,其中一个同行就是吉滕德拉。虽然他们两人早有交情,但吉滕德拉一直对辛顿的项目持怀疑态度。

“我要怎么做,才能让你相信神经网络是未来的趋势?”辛顿问道。

“你真的想打动我吗,杰弗里?那就让我看看它们能不能处理一些真正的任务。”

“比如?”

“比如物体识别,真实世界中的物体识别。”无论吉滕德拉对ImageNet 有什么看法,他的确相信视觉分类的力量,这一点我在加州理工学院时就了解到了,“你参加过 PASCAL VOC 吗?”

“参加了啊。但没什么用,他们的数据集太小了,例子不够,所以我们给神经网络展示新图片的时候,泛化效果并不好。”

“那你就需要更大的数据集。你关注过飞飞的实验室吗?等你准备好迎接真正挑战的时候,可以看看她组织的比赛。”

不管吉滕德拉是真的对我的项目改变了看法,还是只是想打老朋友的脸(这两种情况似乎都有可能),辛顿都认真地听取了建议。

每一个翻腾的思绪似乎瞬间汇聚,让我从迷迷糊糊的旅行中清醒过来,我突然想到了一件事:神经网络与 ImageNet 对世界的呈现是天然的契合。回顾过去,杨立昆的网络与笔迹识别相得益彰。他的网络对笔迹进行分析,从最小的像素簇到笔触的纹理,再到完整的数字,在每个分析尺度上都发现了有意义的模式。这是从数据中自发产生的感知流畅性,自然而然地形成了意识的层次。休伯尔和威塞尔在猫的视觉皮质中看到了同样的现象。而在加州大学伯克利分校的实验室里,我们看到了更深层次的理念。神经网络一直都能进行物体识别,但直到现在,它们才具备了实现目标所需的计算能力。

ImageNet 的数据广泛而全面,覆盖了世界上绝大多数物体。现在看来, AlexNet 和 ImageNet 也属于相互成就。简而言之,这就是最大的不同——现在算法可以探索的数据范围大大增加了。一想到训练完成后 AlexNet 的层级中包含的内容,我就惊叹不已:形状、边缘、图案、纹理,涵盖我们多年来从互联网上捕捉到的所有人物、动物和物体。现实世界中幽灵般的碎片,以恰到好处的方式组织起来,供算法来查看。

飞机抵达佛罗伦萨,机轮触地,飞机轻轻地颠簸着。我仍然难以相信 AlexNet 就是我们梦寐以求的进步。这个飞跃似乎太大了。但我越想越觉得它具备每一个伟大突破的特征:疯狂的外表包裹着一个有意义的想法

第二天一早,消息就传开了。据传,会上将宣布一个具有历史意义的事件。这些含糊不清的传言激起了与会者的好奇心。当我到达时,研讨会现场已经人满为患,杨立昆本人不得不靠后墙站着,因为他稍微晚了几分钟,没能找到座位。

从研讨会开始的那一刻起,现场的气氛就异常紧张,人群分成了三派。第一派是 ImageNet 的少数支持者,包括我、亚历克斯·伯格和辛顿实验室的成员。第二派占绝大多数,由中立但感兴趣的观察者组成。第三派虽然人数不多,但态度强硬,也最直言不讳。他们是那些从早期就反对 ImageNet 理念的批评者,虽然我通常不理会他们的态度,但在会议现场很难忽视他们的存在。

更糟糕的是,我们并没有形成统一战线。辛顿无法亲自参会,因为他长期患有背部疾病,几乎不可能进行国际旅行,所以他派了亚历克斯·克里热夫斯基代他出席。亚历克斯非常有才华,也是算法的主要作者,所以可以代替辛顿。但就像许多杰出的人一样,他的个人表现与他工作成果的高度并不相符——我不确定他是否完全理解这一点。他的表现笨拙而轻率(这在学术界并不罕见)。一个典型的例子是,我在研讨会开始前多次给他发短信确认会面时间,但他完全没有回应(但幸好,他按时到了现场)。由于听众的怀疑态度空前高涨,他只摆事实、不带情感的演讲更难赢得他们的认同。

提问环节一开始,现场的紧张气氛就越来越浓。我们听到了所有常见的抱怨:ImageNet 太大了,不实用;没有必要包含这么多类别;物体识别模型还太原始,不需要如此庞大的数据集;等等。事实上,AlexNet 几乎是逐点证明了相反的观点,但奇怪的是,观众却不信服。同时,也出现了一些新的批评声音,有些甚至非常离谱。一位与会者(来自顶尖大学的后起之秀)煞有介事地提出,描绘 T 恤的图片类别多样性不够,因而无法可靠地训练模型。对此我更多的是感到好笑。是认真的吗? T 恤图片是致命弱点?会议现场的其他人也都一头雾水。

但那些认真倾听的人得到了回报。在 27 张幻灯片中,大多数只有黑白文字和图表,却以我们从未见过的清晰方式展示了神经网络的本质,极具启示性。继罗森布拉特的感知机、福岛的新认知机和杨立昆的 LeNet 之后,AlexNet 实现了计算机视觉领域的新跨越。这一步早就应该迈出,却历经了数十年的酝酿,现在终于横空出世,利用大型数据集充分彰显了潜力。

尤其值得注意的是 AlexNet 的学习过程。

与所有神经网络一样,AlexNet 的初始状态是无形的、惰性的,就像虚空中的一块挂毯。然后,学习过程就开始了:面对从 ImageNet 库中随机选择的图片,神经网络的任务是从上千个标签中选择一个正确的标签,对图片进行标注。这个过程周而复始,不断重复。一开始,标注几乎是不可能完成的任务; AlexNet 的数千万个神经元是随机配置的,对世界甚至连一点儿模糊的理解都没有,只会产生错误的结果。把一张蘑菇图片标注为“瓶盖”。错误。把一张拖车图片标注为“电吉他”。错误。把一张棱皮龟图片标注为“浴巾”。错误。

但失败并非无用功。错误会触发纠正信号,在网络的数千万个组成部分中蔓延开来,同时对每个部分对于结果的贡献进行评估,并按比例推动它们下次采取不同的行动。这是最简单的学习方式:减少失败的行为,增加成功的行为。但学习的规模极大,算法会仔细审查每个错误的每个细节:每一片光影、每一个图案和纹理、每一个柔和的渐变和坚硬的边缘。

在早期阶段,效果并不明显,当 AlexNet 再次看到类似它之前错误分类的图片时,很可能会再次出错。不过,错误会更小一些。如此循环往复,直到正确为止,哪怕只是靠运气。这 一次,信号的目的是强化,而不是削弱:强化任何看似指向正确方向的东西。训练继续进行。错误。错误。错误。正确。错误。错误。正确。正确。错误。

ImageNet 规模巨大,算法学习也注定是个漫长的过程,即使只是为比赛挑选的 1000 个类别的子集,完成学习也需要很长时间。ImageNet 涵盖了各种各样的对象,比如数字钟、篱笆、盘式制动器、秒表、意大利灰狗、微波炉、醋栗,每个类别都有上千个不同的品种。不过,AlexNet 本身也是个庞大的网络。它有 65 万个独立神经元,通过 6.3 亿个连接组成网络,其中有 6000 万个微小的、几乎无法察觉的权重影响着连接的强度,当信号从网络的一端流向另一端时,一些连接会增强,另一些则会减弱。

作为整体,这些连接提供了一张巨大的画布,足以描绘整个世界。在一轮又一轮的标注中,权重不断变化,有的变强,有的变弱,有的摇摆不定,形成了一种柔韧结构,对训练做出有机的优雅反应。承载这些庞大数据的是两个英伟达图形处理器,高度专业化的硅芯片并行工作,以最快速度进行着一轮又一轮运算。

训练从早到晚不停地进行,直到每幅图像的每个像素都被研究完毕。几个小时变成几天,几天又变成一周。图形处理器推动之。ImageNet 挑战之。AlexNet 适应之。随着数以千万计的权重一次又一次地调整,整个网络出现了更庞大、更奢侈的结构。就像铁匠用锤子敲打发光的钢铁。每次微小的增量积累,直到近乎肉眼不可见的扰动变成山脉和山谷,延伸到数千维的超空间。这个网络是世界无数细节的幽灵般的均值,是 1000 种不同事物、每种事物 1000 幅不同照片留下的痕迹。这里有 1000 只达尔马提亚犬,那里有 1000 个洗衣篮,另一处有 1000 个马林巴琴。

就像地质变化一样,种种印记凝聚成了地形,从 AlexNet 的一端延伸到另一端。削笔刀、清真寺、海星、曲棍球——所有事物都镶嵌在这个地形之中。算法不仅“看到”了这些东西, 还成为它们。我们花了数年时间在互联网上搜寻照片,这些照片形成了完整多元的机器意识空间,原始而强大,成为世界一切事物的统一表征。

在经过 140 万轮标注后,最后几张图片与其说是一场磨炼,不如说是一场加冕礼。网络的焦点穿过像素,随着熟悉模式的识别而亮起,并传递到下一层,与其他模式相结合,形成越来越强大的感知。算法的反应不再是随机的,大多数也不再是错误的。土狼。正确。台灯。正确。敞篷车。正确。显然,这是硬件、软件和数据的神奇组合,比计算机视觉领域所打造 的任何成果都更接近于捕捉到塑造了人类这种哺乳动物思维的进化精神。

ImageNet 的多样性是在全世界众包志愿者的共同努力下实现的。它所形成的拓扑结构无比多样、强大,达到了圣杯的境地。AlexNet 是计算机视觉领域有史以来最大的神经网络, 它的训练数据比此前任何神经网络都要丰富,而且具备了泛化能力。

我们要花上几个月的时间,才能真正理解在那个会议室里看到的一切,但即使在那一刻,我们也清楚地知道我们正在见证非凡之物。这么多年来,我一直希望 ImageNet 能够推动新事物的诞生,现在我终于明白,一切的一切,都是为了认可和表彰一种永恒的成就,我们对此刻期待已久。受生物学启发的算法几十年来 一直凝视着我们,它只是需要适当的挑战,才能充分展现出来。

这个下午也让我们有机会回顾计算机视觉领域在过去 10 年的发展历程。我的实验室将所有赌注都押在了长达数年的、规模空前的数据追寻上,而辛顿的实验室则将他们的声誉都 押在了卷积神经网络这套几乎已经被专业领域抛弃的算法上。我们都在赌,都有可能赌错。但在那一天,当我们看到神经网络在 ImageNet 强大训练能力的支持下展现出的惊人能力时,我意识到,虽然两个项目都获得了认可,但这只是因为它们是同步发展的。所有参与者都不知道,我们的每一步都相互依赖。

我往返佛罗伦萨的飞行时间比在佛罗伦萨当地待的时间还长。但在返程的航班上,我的感受与来时完全不同。飞机上的拥挤程度丝毫未减,我的疲惫感更加浓重,但思绪已经不再飞速奔涌——至少不像来时那样。我亲眼见证了成果。没有错误,没有疏忽,也没有文书方面的失误。神经网络起死回生,比以往任何时候都更庞大、更复杂、更强大。ImageNet 已经教会了它们所需知道的一切,让它们在一次尝试中就达到了与人类能力相当的水平。

生物视觉的出现导致远古海洋波涛下的寒武纪大爆发,距今已经 5 亿年。而如今,我们很难不去联想:我们是不是正处于一个类似拐点的边缘?机器视觉的兴起是否会引发一轮数字 进化新浪潮呢?

我在来时飞机上狂躁的思绪和焦灼的问题一扫而空,取而代之的是一种意外的感觉。不是平静,而是大悟,是沉思。这一次,从起飞到着陆,我一直静静地坐着,脑子里只回荡着一个念头:历史刚被创造出来,而世界上只有少数人知道。

继续阅读