本文转载自雷锋网。如需转载,请在雷锋网官网申请授权。深度学习的诞生可以追溯到1958年。那一年,时任康奈尔大学航空实验室研究心理学家和项目工程师的弗兰克·罗森布拉特受到大脑神经元互连的启发,设计了第一个人工神经网络,他称之为“人工神经网络”。PatternRecognitionDevice”。这个装置完成后,被嫁接到IBM704的巨型计算机中。经过50次试验,它能自动区分标记在左边或右边的牌。这让FrankRosenblatt感到惊讶,他写道:“这种能力创造具有人类品质的机器一直是科幻小说的热门话题,我们即将看到一种无需人类控制就能感知和操作的机器。”一种在一定条件下能够识别周围环境的机器的诞生。“注:感知器的工作原理然而,与此同时,弗兰克·罗森布拉特也知道当时的计算机能力无法满足神经网络的计算需求。在他的开创性著作中,他感叹道:“随着神经网络中连接数量的增加……传统数字计算机的负载将变得越来越重。”图片说明:弗兰克·罗森布拉特。2004年,IEEE专门设立了“IEEEFrankRosenblatt奖”以示纪念。幸运的是,经过几十年的发展,借助摩尔定律和其他计算机硬件的改进,计算机的计算能力有了质的飞跃。可执行的计算量增加了1000万倍,人工神经网络还有进一步发展的空间。得益于计算机强大的计算能力,神经网络拥有更多的连接和神经元,对复杂现象的建模能力也更强。这时,人工神经网络又增加了一层神经元,即所谓的“深度学习”。如今,深度学习被广泛用于语言翻译、预测蛋白质折叠、分析医学扫描和下围棋等任务。神经网络在这些应用中的成功将深度学习这一默默无闻的技术变成了当今计算机科学领域的领导者。然而,今天的神经网络/深度学习似乎遇到了与几十年前一样的发展瓶颈:计算能力的限制。最近,IEEESpectrum发表了一篇讨论深度学习未来的论文。为什么算力会成为今天深度学习的瓶颈?可能的反应是什么?如果真的无法解决计算资源的限制,深度学习该何去何从?1、计算能力:福祸全靠深度学习被誉为现代人工智能的主流。早期,人工智能系统是基于规则,应用逻辑和专业知识来推断结果;那时,人工智能系统依靠学习来设置可调参数,但参数的数量通常是有限的。今天的神经网络也学习参数值,但那些参数是计算机模型的一部分:如果参数足够大,它们就会成为可以拟合任何类型数据的通用函数逼近器。这种灵活性使深度学习能够应用于不同的领域。神经网络的灵活性来自(研究人员)将许多输入输入模型,然后网络以多种方式组合它们。这意味着神经网络的输出来自复杂公式的应用,而不是简单的公式。也就是说,神经网络的计算量会非常大,对计算机的计算能力要求也极高。例如,NoisyStudent(一种图像识别系统)将图像的像素值转换为图像中物体的概率时,它是通过具有4.8亿个参数的神经网络来完成的。确定如此大规模参数值的训练更令人瞠目结舌:因为训练过程只使用了120万张带标签的图像。如果我们想到高中代数,我们会期望方程式多于未知数。但在深度学习方法中,未知数的确定是解决问题的关键。深度学习模型是过度参数化的,也就是说,它们的参数多于可用于训练的数据点。一般来说,过度参数化也会导致过度拟合,模型不仅会学习一般趋势,还会学习训练数据中的随机变化。为了避免过拟合,深度学习的方法是随机初始化参数,然后使用随机梯度下降法迭代调整参数集,以更好地拟合数据。实验表明,该方法可以保证学习到的模型具有良好的泛化能力。深度学习模型的成功可以在机器翻译中看到。几十年来,人们一直在使用计算机软件将文本从语言A翻译成语言B。早期的机器翻译方法使用语言专家设计的规则。然而,随着一种语言的文本数据越来越多,最大熵、隐马尔可夫模型、条件随机场等统计方法逐渐被应用到机器翻译中。最初,每种方法对不同语言的有效性取决于数据的可用性和语言的句法属性。例如,在翻译乌尔都语、阿拉伯语和马来语等语言时,基于规则的方法优于统计方法。但是现在,所有这些方法都被深度学习超越了。几乎所有深度学习接触过的领域都展示了这种机器学习方法的优越性。一方面,深度学习具有很大的灵活性;但另一方面,这种灵活性是基于巨大的计算成本。下图显示,根据现有研究,到2025年,旨在识别ImageNet数据集中对象的最佳深度学习系统的错误级别应降至仅5%:然而,训练此类系统所需的计算资源和能源消耗巨大,排放的二氧化碳与纽约市一个月产生的二氧化碳量相当:计算成本的增加主要有两个原因:1)将性能提高k倍,至少k的2次幂,或者更多的数据点来训练模型;2)过参数化现象。一旦考虑到过参数化现象,改进模型的总计算成本至少是k的4次方。这个指数中的那个小“4”非常昂贵:10倍的改进需要至少增加10,000倍的计算量。如果您想在灵活性和计算要求之间取得平衡,请考虑这样一个场景:您试图根据患者的X光片预测TA是否患有癌症。进一步假设您只有在X射线中测量100个细节(即“变量”或“特征”)才能找到正确答案。这时,问题的挑战就变成了:我们无法提前判断哪些变量重要,同时又要在大量的候选变量中进行选择。基于专家知识的系统通过让具有放射学和肿瘤学背景知识的人标记他们认为重要的变量,然后让系统只检查这些变量来解决这个问题。灵活的深度学习方法是测试尽可能多的变量,然后让系统自己判断哪些变量是重要的,这需要更多的数据,也会产生更高的计算成本。具有专家预先确定的重要变量的模型能够快速学习这些变量的最佳值,并且只需要少量的计算——这就是专家方法(符号学)在早期如此流行的原因。但是,如果专家没有正确标记应包含在模型中的所有变量,模型的学习能力就会停滞。相比之下,像深度学习这样的灵活模型效率较低,需要更多计算才能达到专家模型的性能,但如果有足够的计算(和数据),灵活模型可以胜过专家模型。显然,如果你使用更多的计算能力来构建更大的模型并用更多的数据训练模型,那么你可以提高深度学习的性能。但是这种计算负担有多昂贵呢?成本如此之高会阻碍进展吗?这些问题还有待探讨。2.深度学习的计算消耗为了更具体地回答这些问题,来自麻省理工学院、韩国延世大学和巴西利亚大学的研究团队(以下简称“团队”)合作收集了来自1000多个关于深度学习的论文。数据,并详细讨论了深度学习在图像分类中的应用。论文地址:https://arxiv.org/pdf/2007.05558.pdf过去几年,为了减少图像分类的误差,计算负担也越来越大。例如,2012年,AlexNet模型首次展示了在图形处理单元(GPU)上训练深度学习系统的能力:仅AlexNet的训练就使用了两个GPU,需要五到六天的训练时间。到2018年,NASNet-A将AlexNet的错误率降低了一半,但这种性能提升是以计算量增加1000多倍为代价的。从理论上讲,为了提高模型的性能,计算机的计算能力至少要满足模型改进的4次方。但实际情况是算力至少要提升到9次方。这个9的幂意味着要将错误率减半,你可能需要500多倍的计算资源。这是一个毁灭性的代价。然而,情况并不一定如此糟糕:现实与理想计算能力需求之间的差距可能意味着存在未被发现的算法改进,可以大大提高深度学习的效率。该团队指出,摩尔定律和其他硬件进步显着提高了芯片的性能。这是否意味着计算需求的升级无关紧要?不幸的是,答案是否定的。AlexNet和NASNet-A使用的计算资源相差1000,但只有6倍的改进来自硬件改进;计算成本。通过估算图像识别的计算成本与性能曲线,该团队估算了未来需要多少计算才能达到更好的性能基准。他们估计,将错误率降低5%需要进行10190亿次浮点运算。2019年,马萨诸塞大学阿默斯特分校团队发表了研究作品“NLP中深度学习的能源和政策考虑”,首次揭示了计算负担背后的经济和环境成本,在业界引起巨大轰动。时间。论文地址:https://arxiv.org/pdf/1906.02243.pdf此前,DeepMind还透露,它花费了大约3500万美元用于训练围棋的深度学习系统。OpenAI还花费了超过400万美元用于训练GPT-3。后来,DeepMind在设计玩星际争霸2的系统时,有意避免尝试多种方法构建一个重要组件,因为训练成本太高。除了科技公司,其他机构也开始考虑深度学习的计算成本。一家大型欧洲连锁超市最近放弃了基于深度学习的系统。该系统可以显着提高超市预测购买哪些产品的能力,但公司高管放弃了这一尝试,因为他们认为培训和运行该系统的成本太高。面对不断上升的经济和环境成本,深度学习研究人员需要找到一种完美的方法来提高性能,同时不会导致计算需求激增。否则,深度学习的发展很可能就此止步。3.现有的解决方案针对这个问题,深度学习领域的研究人员也在努力,希望能够解决这个问题。现有策略之一是使用专为高效深度学习计算而设计的处理器。这种方法在过去十年中被广泛使用,因为CPU已经让位于GPU,并且在某些情况下,CPU被用于现场可编程门阵列和为特定应用程序设计的IC(包括谷歌的TPU)。从根本上说,这些方法都是牺牲了计算平台的通用性来提高对一类问题进行专业化处理的效率。然而,这种专业化也面临收益递减的问题。因此,获得长期收益将需要一个根本不同的硬件框架——例如,可能是基于模拟、神经形态、光子或量子系统的硬件。但到目前为止,这些硬件框架都没有产生太大影响。另一种减少计算负担的方法是生成执行时尺寸更小的神经网络。这种策略降低了每次使用的成本,但通常会增加训练成本。使用成本和培训成本哪个更重要,要看具体情况。对于广泛使用的模型,运行成本占总投资的比例最高。至于其他模型,例如那些需要经常重新训练的模型,训练成本可能占主导地位。无论哪种情况,总成本都必须大于培训成本。因此,如果培训成本过高,总成本也会很高。也就是说,第二种策略(减小神经网络的大小)的挑战在于它们没有充分降低训练成本。例如,有一种方法允许以降低训练过程中的复杂性为代价来训练大型网络,还有另一种方法可以训练大型网络,然后“修剪”不必要的连接。然而,第二种方法是通过跨多个模型进行优化来找到最有效的架构,也称为“神经架构搜索”。虽然每种方法都可以显着提高神经网络的性能,但对于训练不足以解决我们在数据中看到的问题而言,它们的作用都不大。但是,在大多数情况下,它们会增加培训成本。有一种新兴技术可以降低培训成本,称为“元学习”。元学习的思想是一个系统同时从各种各样的数据中学习,然后将其应用到多个领域。例如,元学习不是构建单独的系统来识别图像中的狗、猫和汽车,而是训练一个系统来识别图像中的所有对象,包括狗、猫和汽车,并且可以多次使用。然而,麻省理工学院的研究科学家AndreiBarbu和他的合作者在2019年发表的作品(“Objectnet:Alarge-scalebias-controlleddatasetforpushingthelimitsofobjectrecognitionmodels”)揭示了元学习的难度。他们发现,即使原始数据与应用场景之间存在极小的差距,也会严重降低模型(Objectnet)的性能。他们的工作表明,当前的图像识别系统在很大程度上取决于是否以特定角度或特定姿势拍摄对象。因此,即使识别以不同姿势拍摄的同一物体,系统的准确度也几乎减半。加州大学伯克利分校副教授BenjaminRecht等人。在“Doimagenetclassifiersgeneralizedtoimagenet?”中也明确指出了这一点。(2019):即使使用专门构建的新数据集来模拟原始训练数据,模型的性能也会下降超过10%。如果数据的微小变化导致性能大幅下降,那么整个元学习系统所需的数据可能会非常大。因此,元学习的承诺也暂时无法实现。另一种可能摆脱深度学习计算限制的策略是转向可能尚未被发现或欣赏的其他类型的机器学习。如前所述,建立在专家洞察力之上的机器学习系统可以提高计算效率,但如果这些专家不能区分所有影响因素,那么专家模型的性能就无法达到与深度学习系统相同的高度。与此同时,研究人员正在开发神经符号方法和其他技术,以在神经网络中结合专家知识、推理和灵活性。然而,这些努力仍在进行中。雷锋网(公众号:雷锋网)正如FrankRosenblatt在神经网络早期面临的困难一样,如今的深度学习受到可用计算工具的限制。面对计算能力的提升可能带来的经济和环境负担,我们唯一的出路是:要么调整深度学习的方式,要么面对深度学习停滞不前的未来。相比之下,调整深度学习显然更可取。如果我们能找到一种方法让深度学习更高效,或者让计算机硬件更强大,那么我们就可以继续使用这些更灵活的深度学习模型。如果不能突破计算瓶颈,也许我们会回到符号主义时代,依靠专家知识来决定模型需要学习什么。