COS 402:人工智能。学期快结束时,有一门关于神经网络的讲座。那是 2008 年秋天,我从那次讲座和教科书中得到了明显的印象:神经网络已经成为一潭死水。
神经网络在 20 世纪 80 年代末和 90 年代初取得了一些令人印象深刻的成果。但随后进展停滞了。到 2008 年,许多研究人员转向了数学上优雅的方法,例如支持向量机。
我当时并不知道,普林斯顿大学的一个团队(在我听课的同一座计算机科学大楼里)正在研究一个项目,该项目将颠覆传统观念并展示神经网络的力量。由李飞飞教授领导的团队并没有致力于开发更好版本的神经网络。他们几乎没有考虑过神经网络。
相反,他们正在创建一个比之前任何图像数据集都要大得多的新图像数据集:1400 万张图像,每张图像都标记有近 22,000 个类别之一。
李在她最近的回忆录中讲述了 ImageNet 的故事,我所看到的世界。当她从事这个项目时,她面临着朋友和同事的大量质疑。
“我认为你的这个想法太过分了,”2007 年该项目进行几个月后,一位导师告诉她。“诀窍是与你的领域一起成长。不要超越它那么远。”
构建如此庞大的数据集不仅仅是一个巨大的后勤挑战。人们怀疑当时的机器学习算法能否从如此庞大的图像集合中受益。
“在 ImageNet 出现之前,人们不相信数据,”李说九月份在计算机历史博物馆接受采访时。“每个人都在利用少量数据研究完全不同的人工智能范式。”
李无视负面反馈,继续这个项目两年多。这让她的研究预算和研究生的耐心都变得紧张。2009 年,当她在斯坦福大学找到新工作时,她带着其中几名学生以及 ImageNet 项目来到了加利福尼亚州。
ImageNet 在 2009 年发布后的最初几年几乎没有受到关注。但在 2012 年,多伦多大学的一个团队在 ImageNet 数据集上训练了一个神经网络,在图像识别方面取得了前所未有的性能。这一开创性的人工智能模型以主要作者 Alex Krizhevsky 的名字命名为 AlexNet,引发了持续至今的深度学习热潮。
如果没有 ImageNet 数据集,AlexNet 就不会成功。如果没有 CUDA 平台,AlexNet 也不可能实现,该平台允许 Nvidia 图形处理单元 (GPU) 用于非图形应用程序。当 Nvidia 在 2006 年宣布 CUDA 时,许多人都持怀疑态度。
因此,过去 12 年的人工智能繁荣是由三位有远见的人促成的,他们在面对广泛批评的情况下追求非正统的想法。其中之一是多伦多大学计算机科学家杰弗里·辛顿(Geoffrey Hinton),尽管几乎普遍受到质疑,但他花了数十年时间推广神经网络。第二位是 Nvidia 首席执行官黄仁勋 (Jensen Huang),他很早就认识到 GPU 的用途不仅仅限于图形。
第三个是李菲菲。她创建的图像数据集对于她的大多数同事来说似乎大得可笑。但事实证明,这对于展示在 GPU 上训练的神经网络的潜力至关重要。
杰弗里·辛顿
神经网络是由数千、数百万甚至数十亿个神经元组成的网络。每个神经元都是一个数学函数,根据其输入的加权平均值产生输出。
假设您想要创建一个可以识别手写十进制数字(例如上面红色方块中的数字 2)的网络。这样的网络将获取图像中每个像素的强度值,并输出十个可能的数字(0、1、2 等)的概率分布。
要训练这样的网络,首先使用随机权重对其进行初始化。然后,您可以在一系列示例图像上运行它。对于每个图像,您可以通过加强将网络推向正确答案的连接(在本例中为 2-2 输出的高概率值)和削弱将网络推向错误答案的连接来训练网络(-2 - 的概率较低,其他数字的概率较高)。如果训练了足够多的示例图像,模型应该开始预测“2”的高概率(当显示“2”时),否则不会。
20 世纪 50 年代末,科学家开始试验具有单层神经元的基本网络。然而,当他们意识到这种简单的网络缺乏复杂计算所需的表达能力时,他们最初的热情冷却了。
更深层次的网络(具有多层的网络)具有更加通用的潜力。但在 20 世纪 60 年代,没有人知道如何有效地训练他们。这是因为改变多层网络中间某处的参数可能会对输出产生复杂且不可预测的影响。
因此,当 Hinton 在 20 世纪 70 年代开始他的职业生涯时,神经网络已经失宠。辛顿想要研究它们,但他很难找到一个可以进行研究的学术家园。1976 年至 1986 年间,Hinton 曾在四家不同的研究机构工作过:苏塞克斯大学、英国医学研究委员会下属的加州大学圣地亚哥分校 (UCSD),最后是卡内基梅隆大学,并于 1982 年成为该校教授。
在一个具有里程碑意义的1986年论文,Hinton 与他在加州大学圣地亚哥分校的两位前同事 David Rumelhart 和 Ronald Williams 合作,描述了一种称为反向传播用于有效训练深度神经网络。
他们的想法是从网络的最后一层开始逆向工作。对于最后一层中的每个连接,该算法都会计算一个梯度,即增加该连接的强度是否会推动网络走向正确答案的数学估计。根据这些梯度,算法调整模型最后一层中的每个参数。
然后,该算法将这些梯度向后传播到倒数第二层。这里的一个关键创新是一个公式——基于链式法则来自高中微积分——根据下一层的梯度计算一层的梯度。使用这些新的梯度,算法更新模型倒数第二层中的每个参数。然后梯度向后传播到倒数第三层,整个过程再次重复。
该算法在每轮训练中只对模型进行微小的改变。但随着这个过程在数千、数百万、数十亿甚至数万亿个训练样本中重复进行,模型逐渐变得更加准确。
Hinton 和他的同事并不是第一个发现反向传播基本思想的人。但他们的论文普及了这种方法。当人们意识到现在可以训练更深的网络时,它引发了对神经网络的新一波热情。
Hinton 于 1987 年搬到多伦多大学,并开始吸引想要研究神经网络的年轻研究人员。第一个是法国计算机科学家 Yann LeCun,他在 1988 年转到贝尔实验室之前跟随 Hinton 做了一年的博士后。
Hinton 的反向传播算法使 LeCun 能够训练足够深度的模型,以便在手写识别等现实任务中表现良好。到 20 世纪 90 年代中期,LeCun 的技术运行良好,以至于银行开始使用它用于处理支票。
“LeCun 的作品一度读取了存入美国的所有支票的 10% 以上,”Cade Metz 在他 2022 年出版的书中写道天才制造者。
但当 LeCun 和其他研究人员尝试将神经网络应用于更大、更复杂的图像时,进展并不顺利。神经网络再次过时了,一些专注于神经网络的研究人员转向了其他项目。
Hinton 从未停止相信神经网络可以超越其他机器学习方法。但他需要很多年才能获得足够的数据和计算能力来证明他的观点。
黄仁勋
每台个人计算机的大脑都是中央处理单元(CPU)。这些芯片被设计为按顺序执行计算,一次一步。这对于 Windows 和 Office 等传统软件来说效果很好。但有些视频游戏需要大量计算,以至于对 CPU 的能力造成了压力。对于像这样的游戏尤其如此雷神之锤,使命召唤, 和侠盗猎车手,每秒渲染三维世界多次。
因此游戏玩家依靠 GPU 来加速性能。GPU 内部有许多执行单元(本质上是微型 CPU),它们封装在单个芯片上。在游戏过程中,不同的执行单元绘制屏幕的不同区域。与单独使用 CPU 相比,这种并行性可实现更好的图像质量和更高的帧速率。
Nvidia 于 1999 年发明了 GPU,并从此占据了市场主导地位。到 2000 年代中期,Nvidia 首席执行官黄仁勋 (Jensen Huang) 怀疑 GPU 内的强大计算能力对于游戏以外的应用也很有用。他希望科学家们能够将其用于计算密集型任务,例如天气模拟或石油勘探。
于是在2006年,Nvidia宣布了CUDA平台。CUDA 允许程序员编写“内核”,即设计在单个执行单元上运行的短程序。内核允许将大型计算任务分割成可以并行处理的小块。这使得某些类型的计算能够比单独使用 CPU 更快地完成。
但 CUDA 刚推出时并没有多少人感兴趣,史蒂文·威特写道去年《纽约客》:
2006 年底,当 CUDA 发布时,华尔街的反应令人沮丧。黄仁勋正在把超级计算带给大众,但大众并没有表现出他们想要这样的东西。
“他们在这种新的芯片架构上花了一大笔钱,”硅谷热门播客“Acquired”的联合主持人本·吉尔伯特说。“他们花费了数十亿美元瞄准学术和科学计算的一个不起眼的角落,这在当时并不是一个大市场——当然比他们投入的数十亿美元要少。”
黄认为,CUDA 的简单存在将扩大超级计算领域。这种观点并未得到广泛认同,到 2008 年底,Nvidia 的股价已经下跌了 70%……
CUDA 的下载量在 2009 年达到峰值,然后连续三年下降。董事会成员担心英伟达低迷的股价会使其成为企业袭击者的目标。
当黄仁勋创建 CUDA 平台时,他并没有专门考虑人工智能或神经网络。但事实证明,Hinton 的反向传播算法可以很容易地分成小块。因此训练神经网络被证明是 CUDA 的杀手级应用。
根据 Witt 的说法,Hinton 很快就认识到了 CUDA 的潜力:
2009 年,Hinton 的研究小组使用 Nvidia 的 CUDA 平台来训练神经网络来识别人类语音。他对研究结果的质量感到惊讶,并于当年晚些时候的一次会议上介绍了这些结果。然后他联系了英伟达。– 我发送了一封电子邮件说: – 看,我刚刚告诉一千名机器学习研究人员,他们应该去购买 Nvidia 卡。你能给我免费寄一份吗?——Hinton 告诉我的。“他们说不。”
尽管受到冷落,辛顿和他的研究生亚历克斯·克里热夫斯基(Alex Krizhevsky)和伊利亚·苏茨克韦尔(Ilya Sutskever)还是获得了一对Nvidia GTX 580 GPU对于 AlexNet 项目。每个 GPU 都有 512 个执行单元,这使得 Krizhevsky 和 Sutskever 训练神经网络的速度比 CPU 快数百倍。这种速度使他们能够训练更大的模型,并在更多的训练图像上进行训练。他们需要所有额外的计算能力来处理庞大的 ImageNet 数据集。
李飞飞
当李飞飞 (Fei-Fei Li) 于 2007 年 1 月开始在普林斯顿大学担任计算机科学教授的新工作时,她并没有考虑过神经网络或 GPU。在加州理工学院获得博士学位时,她建立了一个名为 Caltech 101 的数据集,其中包含101 个类别的 9,000 张图像。
这次经历告诉她,计算机视觉算法往往在更大、更多样化的训练数据集上表现更好。Li 不仅发现自己的算法在 Caltech 101 上训练时表现更好,而且其他研究人员也开始使用 Li 的数据集训练他们的模型,并将它们的性能相互比较。这使得 Caltech 101 成为计算机视觉领域的标杆。
因此,当她到达普林斯顿大学时,李决定走得更远。她开始痴迷于一个估计视觉科学家 Irving Biederman 指出,普通人可以识别大约 30,000 种不同类型的物体。李开始思考是否有可能建立一个真正全面的图像数据集——其中包括人们在物理世界中常见的各种物体。
普林斯顿大学的一位同事向李介绍了 WordNet,这是一个试图对 140,000 个单词进行编目和组织的大型数据库。Li 将她的新数据集称为 ImageNet,并使用 WordNet 作为选择类别的起点。她删除了动词和形容词,以及“真理”等无形名词。这样就留下了 22,000 个可数对象的列表,范围从“救护车”到“西葫芦”。
她计划采用与 Caltech 101 数据集相同的方法:使用 Google 的图像搜索来查找候选图像,然后让人验证它们。对于 Caltech 101 数据集,李自己花了几个月的时间完成了这项工作。这一次,她需要更多的帮助。她计划聘请数十名普林斯顿大学本科生来帮助她选择和标记图像。
但即使在大力优化标签流程之后(例如,预先下载候选图像,以便学生可以立即查看),李和她的研究生邓嘉计算出,仍需要超过 18 年的时间来选择和标记数百万张图像。
当李了解到 Amazon Mechanical Turk(亚马逊几年前推出的众包平台)时,该项目得以保存。AMT 的国际劳动力不仅比普林斯顿大学的本科生更便宜,而且该平台也更加灵活和可扩展。Li 的团队可以根据需要雇用任意数量的人员,并且只要他们有空余工作就可以支付工资。
AMT 将完成 ImageNet 所需的时间从 18 年缩短到两年。李写道,她的实验室花了两年时间“财务处于紧张状态”,团队努力完成 ImageNet 项目。但他们有足够的资金支付三个人查看最终数据集中 1400 万张图像中的每张图像。
ImageNet 于 2009 年准备出版,李将其提交给当年在迈阿密举行的计算机视觉和模式识别会议。他们的论文被接受了,但并没有得到李希望的那种认可。
“ImageNet 被降级为海报会议,”李写道。– 这意味着我们不会在预定的时间在演讲厅向观众展示我们的工作,而是会在会议地板上留出空间来支撑大幅面印刷品,总结该项目,希望路人可能会停下来问问题……经过这么多年的努力,这只是感觉虎头蛇尾。”
为了引起公众的兴趣,李将 ImageNet 变成了一场竞赛。意识到完整的数据集可能太笨重,无法分发给数十名参赛者,她创建了一个小得多(但仍然庞大)的数据集,其中包含 1,000 个类别和 140 万张图像。
2010 年第一年的比赛引起了极大的兴趣,共有 11 支队伍参加。获奖作品基于支持向量机。不幸的是,李写道,这“只是比我们领域其他地方的尖端工作稍有改进。”
ImageNet 竞赛第二年吸引的参赛作品比第一年少。2011 年的获胜作品是另一个支持向量机,它仅比 2010 年获胜作品的性能略有提高。李开始怀疑批评者是否正确。也许“ImageNet 对于大多数算法来说太大了,无法处理。”
“连续两年来,陈旧的算法只在功能上表现出渐进式的进步,而真正的进步似乎根本不存在,”李写道。“如果 ImageNet 是一个赌注,那么是时候开始思考我们是否输了。”
但2012年,当李娜无奈地第三次举办比赛时,结果却截然不同。Geoff Hinton 的团队是第一个提交基于深度神经网络的模型的团队。其前 5 名的准确率高达 85%,比 2011 年的获胜者高出 10 个百分点。
李的最初反应是怀疑:“我们大多数人都将神经网络视为一个装在玻璃中并由天鹅绒绳子保护的布满灰尘的人工制品。”
——这就是证据——
ImageNet 获奖者计划于意大利佛罗伦萨举行的欧洲计算机视觉会议上公布。李在加州家里生了孩子,原本打算缺席这次活动。但当她看到 AlexNet 在她的数据集上的表现时,她意识到这一刻太重要了,不容错过:“我不情愿地接受了二十个小时的睡眠不足和狭窄的肘部空间的苦苦挣扎。”
十月的一天,在佛罗伦萨,Alex Krizhevsky 向一群站着的计算机视觉研究人员展示了他的研究结果。李飞飞就在观众席上。Yann LeCun 也是如此。
Cade Metz 报道称,演讲结束后,LeCun 站起来称 AlexNet 是计算机视觉历史上一个明确的转折点。这就是证据。”
AlexNet 的成功证明了 Hinton 对神经网络的信心,但可以说这对 LeCun 来说是一个更大的证明。
AlexNet 是一种卷积神经网络,是 LeCun 20 年前开发的一种神经网络,用于识别支票上的手写数字。(有关 CNN 如何工作的更多详细信息,请参阅深入解释者我于 2018 年为 Ars 撰写文章。)事实上,AlexNet 和 LeCun 的 20 世纪 90 年代的图像识别网络之间几乎没有架构差异。
AlexNet 只是规模大得多。在一个1998年论文LeCun 描述了一个具有七层和 60,000 个可训练参数的文档识别网络。AlexNet 有八层,但这些层有6000万可训练参数。
LeCun 在 20 世纪 90 年代初期不可能训练出这么大的模型,因为当时还没有具有与 2012 年代 GPU 一样强大处理能力的计算机芯片。即使 LeCun 成功建造了一台足够大的超级计算机,他也没有足够的图像来正确训练它。在谷歌和亚马逊 Mechanical Turk 出现之前的几年里,收集这些图像的成本非常昂贵。
这就是为什么李飞飞在 ImageNet 上的工作如此重要。她没有发明卷积网络,也没有弄清楚如何让它们在 GPU 上高效运行。但她提供了大型神经网络充分发挥潜力所需的训练数据。
技术界立即认识到了 AlexNet 的重要性。Hinton 和他的学生成立了一家空壳公司,目标是被一家大型科技公司“收购”。几个月之内,谷歌收购了该公司4400万美元。Hinton 在接下来的十年里在谷歌工作,同时保留了他在多伦多的学术职位。Ilya Sutskever 在 Google 工作了几年,之后成为 OpenAI 的联合创始人。
AlexNet 还使 Nvidia GPU 成为训练神经网络的行业标准。2012年,市场对英伟达的估值还不到100亿美元。如今,Nvidia 是世界上最有价值的公司之一,市值超过 3 万亿美元。这种高估值主要是由于对 H100 等针对训练神经网络进行优化的 GPU 的巨大需求推动的。
有时传统智慧是错误的
“那一刻对于人工智能世界来说非常具有象征意义,因为现代人工智能的三个基本要素首次融合,”李说九月份在计算机历史博物馆接受采访时。– 第一个元素是神经网络。第二个要素是使用 ImageNet 的大数据。第三个要素是 GPU 计算。 –
如今,领先的人工智能实验室认为人工智能进步的关键是在海量数据集上训练巨大的模型。大型科技公司急于建立训练更大模型所需的数据中心,他们已经开始出租整个核电站以提供必要的电力。
您可以将其视为 AlexNet 课程的直接应用。但我想知道我们是否应该从 AlexNet 中吸取相反的教训:过于拘泥于传统智慧是一个错误。
自 AlexNet 以来的 12 年里,“扩展定律”取得了令人瞩目的成绩,随着领先的实验室进一步扩展其基础模型,我们也许会看到又一两代令人印象深刻的结果。
但我们应该小心,不要让 AlexNet 的教训变成教条。我认为缩放定律至少有可能在未来几年内失去动力。如果发生这种情况,我们将需要新一代顽固的不墨守成规者注意到旧方法不起作用并尝试不同的方法。
Tim Lee 于 2017 年至 2021 年在 Ars 工作。去年,他推出了一份时事通讯, 了解人工智能,探索人工智能如何运作以及它如何改变我们的世界。您可以订阅 这里。