出品 | 51CTO技术栈(微信号:blog51cto)
“过去12年的AI热潮得益于三位在面对广泛批评时依然追求非传统理念的先驱。
一位是多伦多大学的Geoffrey Hinton,他几十年如一日地推广神经网络,尽管几乎所有人都怀疑它。
第二位是Nvidia的CEO黄仁勋,他早早意识到GPU不仅仅能用于图形处理。
第三位是李飞飞,她创建了一个在大多数同行看来荒谬庞大的图像数据集,最终证明了使用GPU训练的神经网络的潜力。”
Understanding AI 社区上的这篇《为什么深度学习的蓬勃发展让几乎所有人都措手不及?》,以宏大的视角回顾了这波 AI 潮的起源,神经网络、大数据集和 GPU 计算这三大元素如何交融在历史的节点。
以史为鉴,作者也认为AI的突破需要敢于走出“Scaling laws”:“我认为,在未来几年,‘Scaling laws’可能会失效。如果那时到来,我们将需要新一代顽固的非传统主义者来察觉到旧方法不起作用并尝试新的方向。”
一个读者感慨地评道,“我在人工智能领域工作了 30 多年,一直从事与符号人工智能相关的工作,如知识表示、自动推理、智能代理等。我从未想过,那些 "亚符号"(注意这里的蔑视)神经网络能胜任字符识别之外的任何工作。而今天,我们却在这里讨论新的人工智能系统何时才能达到 AGI 水平(不过我想,在这十年内是不可能的)。”
图片
以下是作者Timothy B Lee 的《Why the deep learning boom caught almost everyone by surprise》这篇文章的翻译,enjoy:
在普林斯顿读计算机科学研究生的第一个学期,我选了COS 402:人工智能。学期末有一节关于神经网络的课。这是2008年秋天,从那节课和课本中,我明显感觉到——神经网络已经成了一个边缘领域。
在20世纪80年代末到90年代初,神经网络取得了一些令人印象深刻的成果。然而,进展随后停滞。到2008年,许多研究人员转向了更加优雅的数学方法,比如支持向量机。
当时我不知道,普林斯顿的一支团队——就在我听课的计算机科学大楼里——正在进行一个项目,这个项目将颠覆传统观念,展示神经网络的强大能力。那支团队由李飞飞教授领导,他们并没有开发更好的神经网络版本,甚至几乎没有考虑神经网络。
相反,他们正在创建一个前所未有的大型图像数据集:1400万张图像,每张图像都标注了将近2.2万个类别之一。
图片
李飞飞在她的最新回忆录《The Worlds I See》中讲述了ImageNet的故事。在项目进行中,她遇到了许多朋友和同事的质疑。
“我认为你把这个想法带得太远了,”一位导师在2007年项目开始几个月后对她说,“诀窍是跟随你的领域成长,而不是跳得太超前。”
不仅是创建如此庞大的数据集是一个巨大的后勤挑战,人们还怀疑当时的机器学习算法是否能够从如此庞大的图像集合中受益。
“在ImageNet之前,人们并不相信数据的价值,”李飞飞在9月计算机历史博物馆的一次采访中说,“每个人都在用很少的数据研究完全不同的AI范式。”
不顾负面评价,李飞飞坚持项目超过两年。这耗费了她的研究预算,也考验了她研究生们的耐心。2009年她在斯坦福找到了一份新工作,她带着几位学生以及ImageNet项目前往加州。
ImageNet在2009年发布后最初几年几乎没有受到关注。然而在2012年,多伦多大学的一个团队在ImageNet数据集上训练了一个神经网络,在图像识别方面取得了前所未有的性能。那个划时代的AI模型,因首席作者Alex Krizhevsky的名字而得名AlexNet,引发了持续至今的深度学习热潮。
AlexNet的成功离不开ImageNet数据集。同样,如果没有Nvidia的CUDA平台使图形处理单元(GPU)能在非图形应用中使用,AlexNet也无法实现。2006年Nvidia推出CUDA时,很多人持怀疑态度。
过去12年的AI热潮得益于三位在面对广泛批评时依然追求非传统理念的先驱。一位是多伦多大学的Geoffrey Hinton,他几十年如一日地推广神经网络,尽管几乎所有人都怀疑它。
第二位是Nvidia的CEO黄仁勋,他早早意识到GPU不仅仅能用于图形处理。
第三位是李飞飞。她创建了一个在大多数同行看来荒谬庞大的图像数据集,最终证明了使用GPU训练的神经网络的潜力。
1.Geoffrey Hinton:反向传播算法推动深层神经网络训练的突破
神经网络是数千、数百万甚至数十亿个神经元的网络。每个神经元是一个数学函数,基于输入的加权平均值产生输出。
图片
假设你想创建一个能够识别手写十进制数字(比如红色方框中的数字2)的网络。这样的网络会接收图像中每个像素的强度值作为输入,并输出一个关于十个可能数字(0、1、2等)的概率分布。
为了训练这个网络,首先用随机权重初始化它。然后,将它应用于一系列示例图像。对于每张图像,通过加强那些推动网络趋向正确答案的连接(在这种情况下,是“2”输出的高概率值)并削弱那些推动错误答案的连接(降低“2”的概率、提高其他数字的概率)来训练网络。如果在足够多的示例图像上进行训练,当显示数字2时,模型应该能够预测出“2”有较高的概率,而其他情况则不会。
在20世纪50年代末,科学家们开始尝试使用包含单层神经元的基础网络。然而,当他们发现这种简单的网络缺乏完成复杂计算的能力时,最初的热情逐渐消退。
更深层的网络——即包含多层的网络——具有更高的灵活性潜力。然而,在20世纪60年代,人们并不知道如何高效地训练这些网络。因为在多层网络的中间层改变一个参数,可能会对输出产生复杂且不可预测的影响。
因此,当辛顿在20世纪70年代开始他的职业生涯时,神经网络已不再受到欢迎。辛顿希望研究神经网络,但他难以找到一个合适的学术环境来进行研究。在1976年至1986年期间,辛顿曾在四个不同的研究机构任职:萨塞克斯大学(University of Sussex)、加州大学圣地亚哥分校(UCSD)、英国医学研究委员会的一个分支机构,最后是在卡内基梅隆大学(Carnegie Mellon),他于1982年成为该校的教授。
图片
在1986年,辛顿与他在UCSD的两位前同事大卫·鲁梅尔哈特(David Rumelhart)和罗纳德·威廉姆斯(Ronald Williams)共同发表了一篇具有里程碑意义的论文,介绍了一种名为“反向传播”(backpropagation)的技术,用于高效训练深层神经网络。
他们的想法是从网络的最后一层开始,逐步向后推导。对于最后一层中的每一个连接,该算法计算出一个梯度——即增强该连接的强度是否会将网络推向正确答案的数学估算。基于这些梯度,该算法调整模型最后一层中的每个参数。
然后,该算法将这些梯度反向传播到倒数第二层。一个关键创新点在于一种公式——基于高中微积分中的链式法则——用于基于后一层的梯度来计算前一层的梯度。利用这些新的梯度,该算法更新模型倒数第二层中的每个参数。随后,梯度再次反向传播到倒数第三层,并重复整个过程。
该算法在每一轮训练中只对模型进行微小的调整。但随着这个过程在成千上万、数百万、数十亿甚至数万亿的训练样本上重复进行,模型的准确性会逐渐提高。
辛顿和他的同事们并非第一个发现反向传播基本思想的人,但他们的论文普及了这种方法。随着人们意识到如今可以训练更深层的网络,这引发了对神经网络的新一轮热情。
1987年,辛顿搬到了多伦多大学,并开始吸引希望研究神经网络的年轻研究人员。法国计算机科学家杨立昆(Yann LeCun)是其中之一,他在1988年搬到贝尔实验室之前,曾在辛顿身边做了一年的博士后研究。
辛顿的反向传播算法让杨立昆得以训练深度足够的模型,能够在诸如手写识别等现实任务中表现良好。到90年代中期,杨立昆的技术效果如此出色,以至于美国的银行开始用它来处理支票。
“在某个时期,杨立昆的系统读取了全美超过10%的支票。”凯德·梅茨(Cade Metz)在2022年出版的《天才制造者》一书中写道。
但是,当杨立昆和其他研究人员尝试将神经网络应用于更大、更复杂的图像时,效果并不理想。神经网络再度失宠,一些专注于神经网络的研究人员也转向了其他项目。
辛顿始终坚信神经网络能够超越其他机器学习方法。但要真正证明这一点,他还需要许多年才能获得足够的数据和计算能力。
2.黄仁勋:神经网络训练成了CUDA的“杀手级应用”
图片
每台个人计算机的大脑是中央处理单元(CPU)。这些芯片设计为按顺序一步步执行计算,对于像Windows和Office这样的传统软件来说,这样的方式完全可以满足需求。然而,一些视频游戏需要极高的计算量,这对CPU的能力是极大的考验。像《雷神之锤》、《使命召唤》和《侠盗猎车手》这类游戏尤其如此,它们每秒呈现多个三维世界画面。
因此,玩家们依赖GPU来提升性能。GPU内部有许多执行单元——本质上是微型的CPU——集成在一个芯片上。在游戏中,不同的执行单元负责绘制屏幕的不同区域。这种并行处理能够实现比单纯用CPU更高的图像质量和更高的帧率。
Nvidia在1999年发明了GPU,并自那时起一直主导市场。到了2000年代中期,Nvidia的首席执行官黄仁勋(Jensen Huang)开始怀疑GPU的强大计算能力是否可以用于游戏以外的应用。他希望科学家们能够将其用于计算密集型任务,比如天气模拟或石油勘探。
因此在2006年,Nvidia发布了CUDA平台。CUDA允许程序员编写“内核”,即为单个执行单元设计的简短程序。内核可以将庞大的计算任务分解为小块并行处理的任务,从而使某些类型的计算比单靠CPU更快完成。
然而,正如Steven Witt去年在《纽约客》上所写,CUDA最初发布时几乎没有引起兴趣:
“CUDA在2006年末发布时,华尔街反应冷淡。黄仁勋正在将超级计算带给大众,但大众却似乎并不需要这样的东西。”
“他们在新芯片架构上投入了巨额资金,”《Acquired》这个硅谷流行播客的共同主持人Ben Gilbert说道。“他们花了数十亿目标瞄准学术和科学计算的一个小众角落,而这个市场在当时并不大——远小于他们投入的资金。”
黄仁勋认为,CUDA的存在本身就会扩大超级计算的市场。但这一观点并未被广泛接受,到2008年底,Nvidia的股价已下跌了70%……
CUDA的下载量在2009年达到峰值,随后三年持续下降。董事会担心Nvidia因股价低迷会成为企业掠夺者的目标。
创建CUDA平台时,黄仁勋并未特别考虑到AI或神经网络。然而,事后证明,Hinton的反向传播算法可以轻松分解为小任务单元。因此,神经网络训练最终成了CUDA的“杀手级应用”。
根据Witt的说法,Hinton迅速意识到CUDA的潜力:
2009年,Hinton的研究小组使用Nvidia的CUDA平台训练了一个神经网络来识别人类语音。他对结果的质量感到惊讶,并在当年的一个会议上展示了该成果。随后他联系了Nvidia。“我发了一封电子邮件,说‘我刚告诉了上千名机器学习研究人员他们应该去买Nvidia的显卡。能给我免费发一个吗?’”Hinton告诉我。“他们说不行。”
尽管被拒绝,Hinton和他的研究生Alex Krizhevsky及Ilya Sutskever获得了一对Nvidia GTX 580 GPU用于AlexNet项目。每块GPU都有512个执行单元,使得Krizhevsky和Sutskever能以比CPU快数百倍的速度训练神经网络。这一速度使得他们能够训练一个更大的模型,并对更多的训练图像进行训练。而他们需要所有这些额外的计算能力来处理庞大的ImageNet数据集。
3.李飞飞:颠覆性的大数据集 ImageNet
图片
李飞飞在2007年初加入普林斯顿大学担任计算机科学教授时,并未关注神经网络或GPU。在加州理工学院攻读博士学位期间,她创建了名为Caltech 101的数据集,其中包含101个类别的9000张图片。
这段经历让她意识到,计算机视觉算法在用更大、更多样的数据集训练时表现更佳。不仅她自己的算法在使用Caltech 101训练时表现出色,其他研究人员也开始用她的数据集训练模型,并彼此比较性能。这让Caltech 101成为了计算机视觉领域的基准数据集。
因此,当她来到普林斯顿时,她决定将数据集做得更大。她对视觉科学家Irving Biederman的估计深感兴趣:普通人能识别约30,000种不同类型的物体。李飞飞开始思考是否可以构建一个真正全面的图像数据集——一个包含人们日常接触的所有物体的数据集。
一位普林斯顿的同事向她介绍了WordNet,一个试图整理和组织14万个词的大型数据库。李飞飞将她的新数据集命名为ImageNet,并用WordNet作为选择类别的起点。她去掉了动词和形容词以及像“真理”这样的抽象名词。最终,剩下的是一个包含22,000个可数物体的列表,从“救护车”到“西葫芦”不等。
她计划沿用在Caltech 101数据集中使用的策略:使用Google的图像搜索来寻找候选图像,然后由人类进行验证。
她打算采用与 Caltech 101 数据集相同的方法:利用 Google 的图片搜索找到候选图片,然后由人工进行验证。在 Caltech 101 项目中,李飞飞亲自花了几个月完成了这一工作。这一次,她需要更多的帮助,计划雇佣几十位普林斯顿的本科生来帮助挑选和标注图片。
即使在大幅优化了标注流程(例如,预先下载候选图片以便学生可以立即查看)后,李飞飞和她的研究生邓嘉计算出,完成数百万张图片的筛选和标注仍需超过 18 年的时间。
这个项目因亚马逊 Mechanical Turk 平台而得以拯救。李飞飞了解到,亚马逊推出的众包平台 AMT 提供的国际劳动力不仅比普林斯顿的本科生更加经济,而且平台更具灵活性和扩展性。李的团队可以根据需要雇佣任意多的人员,按工作量支付酬劳。
AMT 将完成 ImageNet 的时间从 18 年缩短到两年。李飞飞写道,他们的实验室花了两年“在资金的刀刃上挣扎”以完成 ImageNet 项目,但资金刚好足够支付三位人员查看最终数据集的每一张 1400 万张图片。
2009 年,ImageNet 准备发布,李飞飞将其提交至当年在迈阿密举办的计算机视觉与模式识别会议。论文被接受了,但并未获得她期望的关注。
“ImageNet 被归入了海报展示,”李飞飞写道,“这意味着我们不能在演讲厅内向观众展示,而是在会场中摆放一张大型海报,希望路人停下来并提出问题……在经历了这么多年的努力后,这显得有些反高潮。”
为了引起公众关注,李飞飞将 ImageNet 打造成一个比赛。她意识到,完整数据集可能过于庞大,无法分发给几十位参赛者,因此创建了一个小得多但依然庞大的数据集,包含 1000 个类别和 140 万张图片。
2010 年的首次比赛吸引了 11 个团队参加。优胜作品基于支持向量机。但李飞飞写道,它“仅略微优于该领域的前沿成果”。
第二年参加 ImageNet 比赛的团队比第一年更少。2011 年的获胜作品再次是支持向量机,仅比 2010 年的优胜者略有改进。李飞飞开始怀疑批评者是否正确。也许“ImageNet 对大多数算法来说过于复杂”。
“连续两年中,久经考验的算法仅展示了能力的增量增长,而真正的进展几乎不存在,”李飞飞写道。“如果说 ImageNet 是一次赌注,那么现在该开始怀疑我们是否已经输了。”
然而,2012 年李飞飞勉强再次举办比赛时,结果完全不同。杰弗里·辛顿的团队率先提交了一个基于深度神经网络的模型,其 top-5 准确率达到了 85%,比 2011 年的获胜者高出 10 个百分点。
李飞飞最初的反应是难以置信:“我们大多数人都认为神经网络是一件被玻璃罩和绒布绳保护起来的古董。”
4.“这就是证明”
ImageNet 的获胜者被安排在佛罗伦萨的欧洲计算机视觉会议上公布。李飞飞的家在加州,她计划缺席会议,但当她看到 AlexNet 在数据集上的优异表现时,意识到这一时刻过于重要,不容错过:“我最终选择了一段二十小时的睡眠不足且拥挤的旅程。”
在佛罗伦萨的一个十月的日子里,Alex Krizhevsky 向满座的计算机视觉研究人员展示了他的成果。李飞飞和杨立昆都在观众席中。
凯德·梅茨报道,演讲结束后,杨立昆站起来称 AlexNet 为“计算机视觉史上无可争议的转折点。这就是证明。”
AlexNet 的成功验证了辛顿对神经网络的信念,但对于杨立昆来说,这无疑是更大的肯定。
AlexNet 是一种卷积神经网络,这类网络由杨立昆在 20 年前开发,用于识别支票上的手写数字。AlexNet 的架构与 1990 年代杨立昆的图像识别网络几乎没有太大差异。
唯一的区别在于 AlexNet 的规模更大。在 1998 年的论文中,杨立昆描述了一个拥有七层和六万个可训练参数的文档识别网络。而 AlexNet 具有八层,其中包含了六千万个可训练参数。
1990 年代初期勒坤不可能训练这么大的模型,因为当时没有具有 2012 年 GPU 那样处理能力的计算机芯片。即使杨立昆搭建了一台足够大的超级计算机,他也不会有足够的图像来进行训练。收集这些图像在 Google 和亚马逊 Mechanical Turk 出现之前会非常昂贵。
这就是李飞飞在 ImageNet 上的工作为何如此重要的原因。她没有发明卷积网络,也没有研究出如何在 GPU 上高效运行它们,但她提供了大型神经网络所需的训练数据,使其能够实现潜力。
科技界立即认识到 AlexNet 的重要性。辛顿和他的学生创建了一家壳公司,目标是被一家大公司“收购”。几个月内,谷歌以 4400 万美元收购了这家公司。辛顿在谷歌工作了十年,同时保留了多伦多的学术职位。伊利亚·苏茨克弗在谷歌工作了几年后成为 OpenAI 的联合创始人。
AlexNet 还使得 Nvidia 的 GPU 成为训练神经网络的行业标准。2012 年,市场对 Nvidia 的估值不足 100 亿美元。如今,Nvidia 是全球最有价值的公司之一,市值超过 3 万亿美元。这一高估值主要由对 H100 等优化神经网络训练的 GPU 的巨大需求驱动。
5.有时,常识会出错
“那一刻对 AI 世界具有象征意义,因为现代 AI 的三大基本要素首次融合,”李飞飞在九月的计算机历史博物馆访谈中说道。“第一个要素是神经网络。第二个要素是大数据,即 ImageNet 的使用。第三个要素是 GPU 计算。”
如今,领先的 AI 实验室认为推动 AI 进步的关键在于用大量数据集训练巨型模型。大型科技公司急于建造数据中心来训练更大的模型,以至于开始租赁整个核电站来提供所需的电力。
您可以将其视为 AlexNet 经验教训的直接应用。但我想我们也许应该从 AlexNet 中得出相反的教训:过于依赖传统观念是一个错误。
在 AlexNet 之后的 12 年里,“Scaling laws”取得了显著的成果,也许我们将在未来几代看到更多令人印象深刻的结果,因为领先的实验室继续扩大其基础模型。
但我们应当小心,不要让 AlexNet 的教训固化成教条。我认为,在未来几年,“Scaling laws”可能会失效。如果那时到来,我们将需要新一代顽固的非传统主义者来察觉到旧方法不起作用并尝试新的方向。
原文:https://www.understandingai.org/p/why-the-deep-learning-boom-caught