[技术视角]NVIDIA趣味解读:深度学
本文是Nvidia博客上MichaelCopeland深度学习基础系列讲授文章的第二篇,机器之心在上月底已编译了其第一篇文章:《人工智能、机器学习、深度学习,3者之间的同心圆关系》。
在学校中学习——我们可以将其看做是深度神经络经历「学习」阶段的一种类比。神经络和大多数人一样——为了完成一项工作,需要接受教育。
更具体地说,经过训练(training)的神经络可以将其所学到的知识应用于数字世界的任务——辨认图象、口语词、血液疾病,或推荐某人以后可能会购买的鞋子等各种各样的运用。神经络的这类更快更高效的版本可以基于其所训练的内容对其所取得的新数据进行「推导」,用人工智能领域的术语来说是「推理(inference)」。
推理无需训练也能产生。这固然说得通,由于我们人类大多时候就是这样获得和使用知识的。正如我们不需要一直围着老师、满载的书架或红砖校舍转也能浏览莎士比亚的十四行诗一样,推理其实不需要其训练方案的所有基础设施就能做得很好。
所以就让我们在人工智能的语境中分解一下从训练到推理的这个进程,看看它们到底是如何工作的。
训练深度神经络
就像我们不需要一直围着老师、满载的书架或红砖校舍转也能浏览莎士比亚的十四行诗一样,推理其实不需要其训练方案的所有基础设施就能做得很好。
虽然教育进程(即训练)的目标都是一样的——知识(knowledge),但神经络的训练和我们人类接受教育的进程之间存在相当大的不同。神经络对我们人脑的生物学——神经元之间的所有互连——只有一点点模仿。我们的大脑中的神经元可以连接到特定物理距离内任何其它神经元,而人工神经络却不是这样——它分为很多不同的层(layer)、连接(connection)和数据传播(datapropagation)的方向。
训练一个神经络时,训练数据被输入该络的第一层,同时一个神经元会基于所履行的任务为该输入分配一个权重——即该输入正确的程度。
在一个用于图象辨认的络中,第一层可能是用来寻觅图象的边。第二层可能是寻觅这些边所构成的形状——矩形或圆形。第三层可能是寻觅特定的特点——比如闪亮的眼睛或按钮式的鼻子。每一层都会将图象传递给下一层,直到最后一层;最后的输出由该络所产生的所有这些权重整体决定。
但这就是训练和我们的教育进程的不同之处。假定我们有一个任务是辨认图象中的猫:神经络会在获得了所有的训练数据,并计算了权重以后才能得出结论说是不是有「猫」。我们从这个训练算法中只能得到这样的回应:「正确」或「毛病」。
训练需要密集的计算
如果该算法告知神经络它错了,它就不知道正确答案是什么。这个毛病会反向地传播通过该络的层,该络也必须做出其它猜想。在每一次尝试中,它都必须斟酌其它属性——在我们的例子中是「猫」的属性——并为每一层所检查的属性赋予更高或更低的权重。然后它再次做出猜想,一次又一次……直到其得到正确的权重配置,从而在几近所有的尝试中都能得到正确的答案。
训练可以教会深度学习络正确地标注一个有限集里面猫的图象,然后该络可被用于检测更广泛世界里面的猫。
现在你得到了一个数据结构,其中所有的权重在其从训练数据集中所学到的内容的基础上进行了平衡。这是一种经过了精心调理的美丽事物。问题在于这个进程也是消耗计算力的怪兽。曾在谷歌和斯坦福大学做过研究的现任百度硅谷实验室首席科学家吴恩达说训练一个百度的汉语语音辨认模型不但需要4TB的训练数据,而且在全部训练周期中还需要20exaflops(百亿亿次浮点运算)的计算。你可以试试在智能上做这件事。
这就是推理的用武之地。
恭喜!你的神经络训练好了,已为推理做好了准备
正确加权了的神经络本质上是一个笨重的巨型数据库。你不能不为这个家伙的学习进程所准备的所有东西(在我们的教育类比中是所有的铅笔、书本、老师的教导等)现在已远远多于完成任何特定任务所需要的东西。毕业的时候我们就能摆脱所有这些东西了?
如果有人想在真实世界中使用这些训练,那这就够了;你所需的是一种可以保持学习并能将其应用于其从未见过的数据的快速运用。这就是推理:只需要少很多的真实世界数据,就能快速得出一样正确的答案(实际上是对什么是正确的的预测)。
虽然这是计算机科学的一个全新领域,但我们仍有两种主要的方法可以对迟钝的神经络进行修改,以使其速度更快并改良运用在跨多个络运行时所造成的延迟。
推理的工作方式
推理是如何被使用的?只要打开你的智能就好了。推理可被用于将深度学习应用到语音辨认和分类照片等各种各样的任务上。
第一个方法着眼于神经络中训练以后就不再激活的部件。这些部份已不再被需要,可以被「修剪」掉。
第二个方法是寻觅方法将神经络的多个层融会成一个单一的计算步骤。
这类似于数字图像的紧缩。设计师可能设计了这些巨大的、美丽的、数百万像素宽和高的图象,但如果要将它们放到上,就需要将它们转换成jpeg格式。对人眼来讲,它们看起来基本上完全相同,只是分辨率不一样。推理也是类似的,你可以得到预测的几近一样的准确度,但简化、紧缩和优化可以提升运行时的性能。
这意味着我们可以一直使用推理。你的智能的声控助手使用了推理,谷歌的语音辨认、图象搜索和垃圾邮件过滤运用也都是用了推理。百度也在语音辨认、恶意程序检测和垃圾消息过滤中使用了推理。Facebook的图象辨认和亚马逊与Netflix的推荐引擎全都依赖于推理。
具有并行计算(同时进行多个计算)能力的GPU既善于训练,也善于推理。使用GPU训练的系统可以让计算机在某些案例中实现超过人类水平的模式识别和对象检测。
训练完成后,该络可被部署在需要「推理」(对数据分类以「推理」出一个结果)的领域中。而具有并行计算能力的GPU可以基于训练过的络运行数十亿的计算,从而快速辨认出已知的模式或对象。
你可以看到这些模型和运用将会愈来愈聪明、愈来愈快和愈来愈准确。训练将愈来愈简单,推理也将为我们生活的各个方面带来新的运用。这适用于人工智能的告诫也可以适用于我们的年轻人——不要做傻瓜,呆在学校里。不要着急,未来再推理。
摘自机器之心,免责申明:本站所有内容均来自络,我们对文中观点保持中立,对所包括内容的准确性,可靠性或完整性不提供任何昭示或暗示的保证,请仅作参考。若有侵权,请联系删除。
白癜风治疗偏方儿童白癜风的症状