神经网络如何工作以及为什么它们开始带来巨额资金

神经网络已经从学术好奇心发展为庞大的行业




在过去的十年中,计算机极大地提高了他们了解周围世界的能力。 摄影器材软件会自动识别人脸。 智能手机将语音转换为文本。 机器人可以识别道路上的物体​​,并避免与它们发生碰撞。

所有这些突破的核心是称为深度学习(GO)的人工智能(AI)技术。 GO基于神经网络(NS),其数据结构受生物神经元组成的网络的启发。 NS分层组织,一层的输入连接到相邻一层的输出。

自1950年代以来,计算机科学家一直在试验NS。 但是,当今庞大的GO产业的基础是两项重大突破-一项是1986年发生的,第二项是2012年的突破。2012年的突破-GO的革命与以下发现相关联:发现使用具有大量层的NS可以使我们显着提高其效率。 数据和计算能力的增长推动了这一发现。

在本文中,我们将向您介绍国民议会的世界。 我们将解释NS是什么,它们如何工作以及它们来自何处。 我们将研究为什么-尽管有数十年的先前研究-NS直到2012年才真正变得有用。

神经网络可以追溯到1950年代



弗兰克·罗森布拉特(Frank Rosenblatt)正在研究其感知器-一种早期的NS模型

国民议会的想法很古老-至少以计算机科学的标准而言。 早在1957年,康奈尔大学的弗兰克·罗森布拉特Frank Rosenblatt)就发表了一份报告,描述了一种称为“感知器”的早期NS概念。 1958年,在美国海军的支持下,他创建了一个原始系统,能够分析20x20像素并识别简单的几何形状。

Rosenblatt的主要目标不是创建实用的图像分类系统。 他试图了解人脑的工作原理,创建了以其形象组织的计算机系统。 但是,此概念引起了第三方的过度热情。

《纽约时报》写道:“如今,美国海军已经向世界展示了一种电子计算机的病菌,它有望能够行走,交谈,看,写,自我复制并意识到它的存在。”

实际上,NS中的每个神经元只是一个数学函数。 每个神经元计算输入数据的加权总和-输入权重越大,这些输入数据对神经元输出的影响越大。 然后,加权和被馈送到非线性“激活”函数-在这一步,NS可以模拟复杂的非线性现象。

Rosenblatt进行过实验的早期感知器(通常是NS)的能力源于它们“学习”实例的能力。 通过基于网络的结果(例如,选择输入数据)调整神经元的输入权重来训练NS。 如果网络将图像正确分类,则有助于正确答案的权重会增加,而其他权重会降低。 如果网络错误,权重将朝另一个方向调整。

这样的程序使早期的NSs能够以类似于人类神经系统行为的方式“学习”。 关于这种方法的炒作并没有在1960年代停止。 但是,后来由计算机科学家Marvin Minsky和Seymour Papert的作者撰写的极具影响力的 1969年显示,这些早期的NA都有明显的局限性。

早期的Rosenblatt NS仅有一层或两层受过训练的层。 明斯基和帕佩特(Minsky and Papert)指出,此类NS在数学上无法模拟现实世界中的复杂现象。

原则上,更深的NS更有能力。 但是,这样的NS将使计算机当时拥有的那些悲惨的计算资源负担过重。 第一个NS中使用的最简单的升序搜索算法无法扩展到更深的NS。

结果,国民议会在1970年代和1980年代初失去了所有支持-这是“人工智能冬天”时代的一部分。

突破算法



我自己的基于“软设备”的神经网络认为,这张照片中有热狗的可能性为1。我们会变得富有!

幸运的是,由于1986年的著名工作, Luck再次转向NS,它引入了反向传播的概念-一种实用的NS教学方法。

假设您在一家虚构的软件公司中担任程序员,并且已指示您创建一个应用程序,该应用程序确定图像中是否存在热狗。 您从随机初始化的NS开始工作,该NS会获取输入图像并输出0到1之间的值-其中1表示“热狗”,0表示“非热狗”。

要训​​练网络,您需要收集数千张图像,每个图像下都有一个标签,指示该图像上是否有热狗。 您将神经网络中的第一张图片喂给她-上面有一条热狗。 输出值为0.07,表示“无热狗”。 这是错误的答案; 网络应该返回接近1的响应。

反向传播算法的目的是调整输入权重,以便在网络再次获得此图像(最好是有热狗的其他图像)的情况下产生更高的值。 为此,反向传播算法首先检查输出层的输入神经元。 每个值都有一个权重变量。 反向传播算法会在NS给出更高值的方向上调整每个权重。 输入值越高,其权重越大。

到目前为止,我描述的是1960年代研究人员熟悉的最简单的登顶方法。 反向传播的突破是下一步:该算法使用偏导数在神经元输入之间分配错误输出的“故障”。 该算法计算每个输入值的微小变化将如何影响神经元的最终输出,以及这种变化是否会使结果更接近正确答案,反之亦然。

结果是前一层中每个神经元的一组误差值-实际上,是一个评估每个神经元的值太大还是太小的信号。 然后,该算法从第二层(从端)开始重复对新神经元的调整过程。 它会稍微改变每个神经元的输入权重,以使网络更接近正确的答案。

然后,算法再次使用偏导数来计算上一层的每个输入的值如何影响该层的输出误差-并将这些误差传播回先前的层,在此过程再次重复。

这只是简化的反向传播模型。 如果您需要详细的数学细节,我建议迈克尔·尼尔森(Michael Nielsen)撰写的有关此主题的书[ 并且我们提供她的翻译 / 翻译]。 就我们的目的而言,反向分布从根本上改变受过训练的NS的范围就足够了。 人们不再局限于具有一层或两层的简单网络。 他们可以创建具有五,十或五十层的网络,并且这些网络可以具有任意复杂的内部结构。

反向传播的发明引发了国民议会的第二次繁荣,并开始产生实际结果。 1998年,美国电话电报公司(AT&T)的一组研究人员展示了如何使用神经网络来识别手写数字,这使得自动执行支票处理成为可能。

作者写道:“这项工作的主要信息是,我们可以创建用于识别模式的改进系统,更多地依赖于自动学习,而更少地依赖于人工开发的启发式算法。”

然而,在此阶段,NS仅是可供机器学习研究人员使用的众多技术之一。 当我在2008年在学院的AI课程中学习时,神经网络只是九种MO算法之一,我们可以从中选择适合任务的选项。 但是,GO已经准备好掩盖其余技术。

大数据展示了深度学习的力量


检测到松弛。 海滩的机会1.0。 我们开始使用麦太的过程。

反向传播促进了NS的计算过程,但是更深的网络仍然比小的网络需要更多的计算资源。 在1990年代和2000年代进行的研究结果通常表明,从NS的其他并发症中获得越来越少的收益是可能的。

然后,人们的思想被2012年的著名著作改变了,该著作以AlexNet的名字描述了NS,以著名的研究员Alex Krizhevsky的名字命名。 更深层次的网络很可能会提供突破性的效率,但是只有结合大量的计算机功能和大量的数据才能实现。

AlexNet从多伦多大学培养了三位计算机科学家,参加ImageNet科学竞赛。 比赛的组织者在Internet上收集了100万张图像,每个图像都被标记并分配给数千种对象之一,例如“樱桃”,“集装箱船”或“豹”。 要求AI研究人员在这些图像的一部分上训练他们的MO程序,然后尝试为该软件之前未遇到的其他图像贴上正确的标签。 该软件必须为每个图像选择五个可能的标签,如果其中一个标签与实际标签一致,则尝试被认为是成功的。

这是一项艰巨的任务,到2012年,结果还不是很好。 对于2011年获奖者,错误率为25%。

2012年,AlexNet团队给出了15%的错误答案,胜过所有竞争对手。 对于最接近的竞争对手,这个数字是26%。

多伦多的研究人员结合了多种技术来取得突破性的结果。 其中之一是使用卷积神经病 (SNS)。 实际上,SNA确实会训练小型神经网络(其输入数据是边为7-11像素的正方形),然后将它们“叠加”在较大的图像上。

去年,人工智能研究员杰坦(Jian Tan)告诉我们:“就好像您拿了一个小模板或模具,并试图将其与图像中的每个点进行比较。” -您有只狗的模具,然后将其附加到图像上,看那里是否有只狗? 如果没有,请移动模具。 因此,对于整个图片。 而且无论狗出现在图片中的什么位置。 模具将与其重合。 每个网络小节都不应成为单独的狗分类器。”

AlexNet成功的另一个关键因素是使用图形卡来加快学习过程。 图形卡具有并行处理能力,非常适合训练神经网络所需的重复计算。 将计算负荷转移到一对GPU(Nvidia GTX 580,每个GPU具有3 GB的内存)后,研究人员能够开发和训练一个非常庞大和复杂的网络。 AlexNet具有八个可训练层,65万个神经元和6000万个参数。

最后,来自ImageNet的大量培训图像数据库也确保了AlexNet的成功:一百万张。 需要大量图像来微调6000万个参数。 为了取得决定性的胜利,复杂网络和大型数据集的结合为AlexNet带来了帮助。

我不知道为什么这么早就没有突破:

  • AlexNet研究人员使用的消费级GPU对与2012年功能最强大的计算设备相距甚远。 在此之前的五,甚至十年,还有更强大的计算机。 另外,至少从2004年开始就已经知道使用图形卡加速NS学习的技术。
  • 在2012年,用于教授MO算法的一百万张图像的基数异常大,但是,当年收集此类数据并不是一项新技术。 一个资金雄厚的研究团队可以轻松地在五到十年前建立一个如此规模的数据库。
  • AlexNet中使用的主要算法并不新鲜。 到2012年,反向传播算法已经存在了大约25年。 与卷积神经网络有关的关键思想是在1980年代和1990年代提出的。

因此,AlexNet的每个成功要素早在突破发生之前就已经存在。 显然,任何人都不可能将它们组合在一起-在大多数情况下,因为没人知道这种组合有多强大。

如果不使用足够大的训练数据集,则增加NS的深度实际上并不能提高其工作效率。 扩展数据集并不能提高小型网络的性能。 为了看到效率的提高,我们既需要更深的网络,也需要更大的数据集,再加上强大的计算能力,需要我们在合理的时间内进行培训。 AlexNet团队是第一个将所有三个元素整合到一个程序中的团队。

深度学习的繁荣




科学家,研究人员以及行业代表中的许多人都注意到了由大量训练数据提供的深层NS的所有功能的演示。

第一次ImageNet竞赛更改。 直到2012年,大多数参赛者都使用了深度学习以外的技术。 正如赞助商所写,在2013年比赛中,“大多数”参赛者使用了GO。

获奖者中的错误百分比逐渐降低-从2012年AlexNet的惊人16%降至2017年的2.3%:



GO革命迅速席卷整个行业。 2013年,Google收购了由AlexNet的作者组建的初创公司,并将其技术用作Google相册中图像搜索功能的基础。 到2014年,Facebook吹捧自己的使用GO识别图像的软件。 自2016年以来,Apple一直在iOS中使用GO进行人脸识别。

GO还为语音识别技术的最新改进奠定了基础。 苹果公司的Siri,亚马逊公司的Alexa,微软公司的Cortana和Google的助手都使用GO(GO)来理解一个人的单词,或者发出更自然的声音,或者两者兼而有之。

近年来,行业中出现了一种自我维持的趋势,其中计算能力,数据量和网络深度的增加相互支持。 AlexNet团队之所以使用GPU是因为他们以合理的价格提供了并行计算。 但是在过去的几年中,越来越多的公司开始开发自己的芯片,这些芯片专门设计用于MO领域。

谷歌宣布于2016年发布专门为NS设计的Tensor处理单元芯片。同年,英伟达(Nvidia)宣布发布了一款针对NS优化的新型GPU,称为Tesla P100。 英特尔在2017年以其AI芯片接听了电话。2018年,亚马逊宣布发布自己的AI芯片,该芯片可以用作公司云服务的一部分。 据说甚至微软也在开发其AI芯片。

智能手机制造商也在开发芯片,这些芯片将允许移动设备在本地使用NS进行更多的计算,而不必将数据上传到服务器。 设备上的此类计算可减少延迟并增强隐私性。

甚至特斯拉也使用特殊芯片进入了这场比赛。 今年,特斯拉展示了一款经过优化的,用于计算NS的新型强大计算机。 特斯拉将其命名为“全自动驾驶计算机”,并将其作为公司将特斯拉车队转变为机器人车辆的战略中的关键时刻。

针对AI进行了优化的计算机容量的可用性,对训练越来越复杂的NS所需的数据提出了要求。 这种动态现象在机器人移动领域最为明显,在该领域,公司收集了数百万公里真实道路的数据。 特斯拉可以自动从用户的汽车中收集数据,其竞争对手Waymo和Cruise付钱给在公共道路上开车的驾驶员。



数据请求为已经可以访问大量用户数据的大型在线公司提供了优势。

深度学习由于其极高的灵活性而征服了许多不同的领域。经过数十年的反复试验,研究人员可以为MO领域中最常见的任务开发基本的构建模块-例如用于有效图像识别的卷积网络。但是,如果您拥有适合该方案的高层网络和足够的数据,则其培训过程将很简单。无需人工开发人员的特殊指导,深层NS就能识别范围广泛的复杂模式。

当然有局限性。例如,有些人沉迷于仅借助GO来训练机器人的想法-即,提供从摄像机,神经网络接收的图像,并从她那里接收指令以转动方向盘和踏板。我对此方法表示怀疑。国民议会尚未表现出进行复杂逻辑推理的能力,这是理解道路上某些情况所必需的。此外,NS是“黑匣子”,其工作流程实际上是不可见的。很难评估和确认这种系统的安全性。

但是,GO允许在意想不到的广泛应用范围内实现巨大的飞跃。在未来的几年中,人们可以期望在这一领域取得新的进展。

Source: https://habr.com/ru/post/zh-CN482258/


All Articles