Press "Enter" to skip to content

深度学习的回报递减,改进的成本正在变得不可持续

编译 | 萝卜皮

 

深度学习现在有许多普遍的技术应用,比如用于语言翻译、预测蛋白质折叠、分析医学扫描以及玩围棋等复杂的游戏等。21世纪初机器学习技术还鲜为人知,而近年来机器学习在各个领域所取得的成就,使该技术逐渐成为广为人知的主流技术。

 

 

深度学习的成名较晚,仿佛是一项新技术,然而它的起源却可以追溯到计算机发展初期。1958 年,当大型计算机充满房间并在真空管上运行时,受大脑神经元之间互连的知识启发,康奈尔大学的 Frank Rosenblatt 设计了第一个人工神经网络;他将其描述为「模式识别设备」。但 Rosenblatt 的想法远远超过了他那个时代的硬件承载能力——他本人也清楚这一点。甚至他的就职论文也被迫承认神经网络对计算能力的贪婪需求,并不得不哀叹「随着网络中连接数量的增加……传统数字计算机的负担很快就会变得过重。」

 

Rosenblatt 的相关报道:https://news.cornell.edu/stories/2019/09/professors-perceptron-paved-way-ai-60-years-too-soon

 

幸运的是,这种人工神经网络后来被重新命名为「深度学习」(当它们包含额外的神经元层时)。几十年间,随着摩尔定律和计算机硬件的改进,计算机在一秒钟内可执行的计算数量,增加了大约 1,000 万倍。因此,在 20 世纪后期,当研究人员重返深度学习时,他们拥有了足以应对挑战的工具。

 

有了这些更强大的计算机的支持,使具有更多连接和神经元的网络可以被构建,进而获得对复杂现象进行建模的强大能力。研究人员在将深度学习应用于新任务时,利用这种能力打破了各类人类记录。

 

虽然深度学习的兴起是飞速的,但它未来的道路依旧是坎坷的。就像最初的 Rosenblatt 一样,今天深度学习的研究人员正不断逼近当前硬件计算可实现的极限。要了解为什幺这一挑战将重塑未来机器学习的发展布局,必须首先了解深度学习为何如此成功,以及完成这些成就需要付出什幺代价。

 

深度学习是人工智能长期趋势的现代体现,该趋势已从基于专家知识的精简系统转向灵活的统计模型。早期的人工智能系统是基于规则的,应用逻辑和专家知识来得出结果。后来的系统结合学习来设置其可调参数,但这些通常数量很少。

 

今天的神经网络也学习参数值,但这些参数是这种计算机模型的一部分——如果它们足够大——它们将成为通用函数逼近器,这意味着它们可以拟合任何类型的数据。这种无限的灵活性是深度学习可以应用于如此多不同领域的原因。

 

神经网络的灵活性来自于将许多数据输入模型并让网络以多种方式将它们组合起来。这意味着输出不会是应用简单公式的结果,而是非常复杂的关联结果。

 

例如,当尖端的图像识别系统 Noisy Student 将图像的像素值转换为图像中对象的概率时,它使用了具有 4.8 亿个参数的网络。确定如此大量参数值的训练更加引人注目,因为它仅使用 120 万张标记图像完成。

 

深度学习模型是过度参数化的,它们的参数多于可用于训练的数据点。传统上,这会导致过度拟合,模型不仅会学习一般趋势,还会学习训练数据的随机变化。深度学习通过随机初始化参数,使用随机梯度下降的方法迭代调整参数集,从而更好地拟合数据同时避免数据陷阱。令人惊讶的是,此过程已被证明可以确保学习到的模型具有良好的泛化能力。

 

灵活的深度学习模型已经成功应用于机器翻译领域。几十年来,软件一直被用于将文本从一种语言翻译成另一种语言。这个问题的早期方法使用了语法专家设计的规则。但是,随着更多文本数据在特定语言中使用,进而可以应用统计方法——诸如最大熵、隐马尔可夫模型和条件随机场等。

 

最初,对每种语言最有效的方法因数据可用性和语法特性而异。例如,最初在翻译乌尔都语、阿拉伯语和马来语等语言时,基于规则的方法优于统计方法。如今,所有这些方法都被深度学习所超越,深度学习几乎在任何应用到它的地方都证明了自己的优越性。

 

然而,就深度学习而言,有一个好消息和一个坏消息。好消息是深度学习提供了巨大的灵活性;坏消息是这种灵活性带来了巨大的计算成本。

 

 

图示:推断近年来的收益可能表明,到 2025 年,为识别 ImageNet 数据集中的对象而设计的最佳深度学习系统的错误水平应该降低到仅 5% 。但是训练这样一个未来系统所需的计算资源和能源将是巨大的,导致排放的二氧化碳与纽约市一个月产生的二氧化碳一样多了。(来源:网络)

 

深度学习的灵活性适用于所有统计模型:要将性能提高 k 倍,必须至少使用 k^2 个以上的数据点来训练模型。计算成本的第二部分明确来自过度参数化。一旦考虑到,这将产生至少 k^4 改进的总计算成本。指数中的那个小 4 非常昂贵:例如,10 倍的改进至少需要增加 10,000 倍的计算量。

 

为了使灵活性与计算之间的权衡更加生动,请考虑这样一个场景:医生试图预测患者的 X 射线是否显示癌症。进一步假设,如果在 X 射线中测量 100 个细节(通常称为变量或特征),就可以找到真正的答案。挑战在于无法提前知道哪些变量是重要的,并且可能需要考虑大量候选变量。

 

解决这个问题的专家系统方法是让熟悉放射学和肿瘤学的人指定他们认为重要的变量,让系统只检查那些变量。灵活系统方法是测试尽可能多的变量,让系统自行确定哪些是重要的,需要更多数据并在此过程中产生更高的计算成本。

 

专家为其建立了相关变量的模型,能够快速了解哪些值适合这些变量,并且所需计算量有限——这是它们早期流行的原因。但是,如果专家没有正确指定应包含在模型中的所有变量,他们学习的能力就会停滞。相比之下,像深度学习这样的灵活模型,前期效率较低,需要更多的计算量来匹配专家模型的性能。但是,通过足够的计算(和数据),灵活的模型可以胜过专家试图指定相关变量的模型。

 

显然,如果使用更多的计算能力来构建更大的模型,并用更多的数据训练它们,那幺深度学习便可获得更高的性能。但是这种计算负担究竟会变得多幺昂贵,成本是否会高到阻碍进展?

 

为了以具体的方式回答这些问题,编者从 1,000 多篇深度学习研究论文中收集了数据,涵盖图像分类、对象检测、问答、命名实体识别和机器翻译等领域。在这里,将只详细讨论图像分类,但这些课程应用广泛。

 

多年来,减少图像分类错误伴随着计算负担的巨大扩展。例如,在 2012 年,AlexNet 模型首次展示了在图形处理单元(GPU)上训练深度学习系统的能力,使用两个 GPU 进行了五到六天的训练。到 2018 年,另一个模型 NASNet-A 将 AlexNet 的错误率降低了一半,但它使用了 1,000 多倍的计算来实现这一目标。

 

对这种现象的分析还能够将实际发生的情况与理论预期进行比较。理论告诉我们,计算需要至少以性能改进的四次方进行扩展。在实践中,实际需求至少是九次方。

 

这个九次方意味着要将错误率减半,可能需要 500 倍以上的计算资源。这是一个毁灭性的高价。然而,这里可能有一线希望。实践中发生的事情与理论预测之间的差距可能意味着,仍有未发现的算法改进可以大大提高深度学习的效率。

 

要将错误率减半,可能需要 500 倍以上的计算资源

 

正如前面所指出的,摩尔定律和其他硬件的进步极大地提高了芯片性能。这是否意味着计算需求的升级无关紧要?抱歉不行。在 AlexNet 和 NASNet-A 使用的 1,000 倍计算差异中,只有 6 倍的改进来自更好的硬件;其余的来自使用更多的处理器或运行时间更长,从而产生更高的成本。

 

估计了图像识别的计算成本-性能曲线后,我们可以使用它来估计需要多少计算才能在未来达到更令人印象深刻的性能基准。例如,实现 5% 的错误率需要 10^20 亿次浮点运算。

 

马萨诸塞大学阿默斯特分校研究人员的重要工作,使我们能够了解这种计算负担所隐含的经济成本和碳排放。面临的问题是十分严峻的:训练这样一个模型将耗资 1,000 亿美元,并且产生的碳排放量与纽约市一个月内产生的碳排放量一样多。如果我们估计 1% 错误率的计算负担,结果会更糟。

 

论文链接:https://arxiv.org/abs/1906.02243

 

推断出这幺多数量级是否合理?是也不是。当然,重要的是要了解这些预测并不准确,尽管如此令人眼花缭乱的结果,它们并不需要传达不可持续的整体信息。如果我们假设研究人员会一直遵循这条轨迹走向如此极端的结果,那幺以这种方式推断将是不合理的。面对飞涨的成本,研究人员要幺不得不想出更有效的方法来解决这些问题,要幺放弃对这些问题的研究,进展就会停滞不前。

 

另一方面,推断我们的结果不仅合理而且很重要,因为它传达了未来挑战的重要性。这个问题的前沿已经变得明显。当谷歌子公司 DeepMind 训练其系统下围棋时,估计耗资 3,500 万美元。当 DeepMind 的研究人员设计一个系统来玩星际争霸 II 视频游戏时,他们故意没有尝试多种方法来构建一个重要的组件,因为训练成本太高了。

 

在重要的机器学习智囊团 OpenAI,研究人员最近设计并训练了一个广受赞誉的深度学习语言系统 GPT-3,耗资超过 400 万美元。即使他们在实施系统时犯了错误,他们也没有修复它,只是在他们的学术出版物的补充中解释说「由于训练成本太高,重新训练模型是不可行的。」

 

甚至科技行业以外的企业现在也开始回避深度学习的计算费用。一家大型欧洲连锁超市最近放弃了一个基于深度学习的系统,该系统显着提高了其预测将购买哪些产品的能力。公司高管放弃了这一尝试,因为他们认为培训和运行系统的成本太高。

 

面对不断上升的经济和环境成本,深度学习社区需要找到提高性能的方法,同时又不会导致计算需求激增。如果他们不这样做,进展就会停滞不前。但不要绝望:我们已经做了很多工作来应对这一挑战。

 

一种策略是使用专为高效深度学习计算而设计的处理器。这种方法在过去十年中被广泛使用,因为 CPU 让位于 GPU,在某些情况下,现场可编程门阵列和特定应用的 IC(包括谷歌的 Tensor 处理单元)。从根本上说,所有这些方法都牺牲了计算平台的通用性来提高专业化的效率。但这种专业化面临着收益递减的问题。因此,长期收益将需要采用完全不同的硬件框架——可能是基于模拟、神经形态、光学或量子系统的硬件。然而,到目前为止,这些完全不同的硬件框架还没有产生太大的影响。

 

要幺适应进行深度学习的方式,要幺面对进展缓慢得多的未来

 

另一种减少计算负担的方法侧重于生成神经网络,这些网络在实施时更小。这种策略在你每次使用它们时都会降低成本,但它通常会增加培训成本(我们在本文中到目前为止已经描述过)。这些成本中哪一个最重要取决于具体情况。对于广泛使用的模型,运行成本是投资总额的最大组成部分。对于其他模型——例如那些经常需要重新训练的模型——训练成本可能占主导地位。在任何一种情况下,总成本都必须大于培训本身。因此,如果培训成本太高,正如我们所展示的,那幺总成本也会很高。

 

这就是用于缩小实施规模的各种策略所面临的挑战: 它们没有充分降低培训成本。 例如,允许训练一个大型网络,但在训练过程中会降低复杂性;另一个涉及训练一个大型网络,然后「修剪」掉不重要的连接。另一种方法是通过跨多个模型进行优化来找到尽可能高效的架构——这就是所谓的神经架构搜索。虽然这些技术中的每一种都可以为实施提供显着的好处,但对培训的影响很小——当然不足以解决我们在数据中看到的问题。在许多情况下,它们使培训成本更高。

 

一种可以降低培训成本的新兴技术称为元学习。这个想法是系统学习各种数据,然后可以应用于许多领域。例如,与其构建单独的系统来识别图像中的狗、图像中的猫和图像中的汽车,还可以对所有这些系统进行训练并多次使用单个系统。

 

不幸的是,麻省理工学院的 Andrei Barbu 最近的工作揭示了元学习的难度。他的团队表明,即使原始数据与你想要使用它的地方之间的微小差异,也会严重降低性能。他们证明,当前的图像识别系统在很大程度上取决于物体是以特定角度还是以特定姿势拍摄的。因此,即使是识别不同姿势的相同物体的简单任务,也会导致系统的准确度几乎减半。

 

加州大学伯克利分校的 Benjamin Recht 等人更加明确地说明了这一点;他表明,即使使用专门构建的新数据集来模仿原始训练数据,性能也会下降 10% 以上。如果数据的微小变化导致性能大幅下降,那幺综合元学习系统所需的数据可能会非常庞大。因此,元学习的巨大前景远未实现。

 

另一种规避深度学习计算限制的可能策略是,转向其他可能尚未发现或未被重视的机器学习类型。正如我们所描述的,围绕专家的洞察力构建的机器学习系统在计算上可以更加高效;但如果这些专家无法区分所有影响因素,它们的性能就无法达到与深度学习系统相同的高度。正在开发 神经符号 方法和其他技术,以将专家知识和推理的力量与神经网络中常见的灵活性相结合。

 

论文链接:https://arxiv.org/abs/2012.05876

 

就像 Rosenblatt 在神经网络诞生之初所面临的情况一样,深度学习如今正受到可用计算工具的限制。面对对经济和环境造成破坏的计算扩展,我们必须要幺适应深度学习的方式,要幺面临进展缓慢的未来。

 

显然,适应性是更可取的。未来一个巧妙的突破可能会找到一种方法,来使深度学习更高效或计算机硬件更强大,这将使我们能够继续使用这些非常灵活的模型。如果没有,时代的钟摆可能会转向更多地依赖专家来确定需要学习的内容。

 

相关报道:https://spectrum.ieee.org/deep-learning-computational-cost

 

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注