0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

探索深度学习蓝图新理论 让神经网络更深更窄

jmiy_worldofai 来源:cc 2019-02-13 15:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这是学术界的一个共识。神经网络十分强大,但往往不可预测。

现在,谷歌大脑、FAIR、德州农工大学等的数学家们试图深究神经网络的理论基础,开始揭示神经网络的形式如何影响其功能。

我们对神经网络几乎一无所知

设计一座摩天大楼时,我们会要求它符合规范:塔台要能支撑一定程度的重量,并且要能承受一定强度的地震。

但是,对于现代世界最重要的技术之一,我们实际上是在盲目地建造。我们使用各种不同的设计,使用不同的设置进行修补,但在将它拿出来进行测试运行之前,我们并不真正知道它能做什么,也不知道它会在哪个地方失败。

这项技术就是神经网络,它是当今最先进的人工智能系统的基础。神经网络正越来越多地进入社会的核心领域:它们通过社交媒体的信息流决定了我们对世界的了解,它们帮助医生诊断疾病,它们甚至影响一个被判犯罪的人是否要被收监。

然而,“最接近事实的情况是,我们对神经网络的实际运作方式几乎一无所知,也不知道什么才是真正有洞察力的理论,”德州农工大学数学家、FAIR的访问科学家Boris Hanin说。

他将这种情况与另一种革命性技术的发展进行类比:蒸汽机。最初,蒸汽机除了抽水之外没有别的用处。后来,蒸汽机开始为火车提供动力,这可能是现在复杂的神经网络已经达到的水平。再后来,科学家和数学家们发展了热力学理论,得以准确地理解任何类型的发动机内部的运作方式。最终,这些知识将人类带到了月球。

“首先,你要有很棒的工程,你要有一些很棒的火车,然后你需要一些理论上的理解才能造出火箭和飞船,”Hanin说。

在庞大的神经网络研究社区中,有一小群具有数学意识的研究人员正试图构建神经网络理论——一个可以解释神经网络是如何工作,并保证如果你以规定的方式构建一个神经网络,它就能够执行特定的任务的理论。

这项工作仍处于早期阶段,但在去年,研究人员已经发表了几篇论文,详细阐述了神经网络中形式和功能之间的关系。这项工作一直深究神经网络的基础,表明在你能证明神经网络可以驾驶汽车之前,你需要证明它们能够做乘法运算。

如何设计一个神经网络

神经网络的目标是模仿人类的大脑——思考大脑的一种方式是将较小的抽象概念加积到更大的抽象概念。在这个观点中,思维的复杂性是由你可以利用的更小抽象的范围,以及你可以将低级抽象组合成高级抽象的次数来衡量的——就像我们学习区分狗和鸟的方式一样。

“对于人类来说,如果你正在学习如何识别一只狗,你就要学会识别四条腿,它们是毛茸茸的,”康奈尔大学计算机科学博士生、谷歌大脑研究员Maithra Raghu说:“理想情况下,我们希望我们的神经网络同样能够这样做。”

Maithra Raghu,谷歌大脑成员,致力于寻找解释神经网络如何运作的原理(photo: Arun Chaganty)

抽象对于人类大脑来说是天性。神经网络必须学会抽象。就像大脑一样,神经网络是由被称为“神经元”的构建块组成的,这些构建块以不同的方式连接在一起。(神经网络中的神经元受到大脑神经元的启发,但并不直接模仿大脑神经元。)每个神经元可能代表网络在每个抽象层次上考虑的一个属性,或多个属性的组合。

在将这些神经元连接在一起时,工程师们有很多选择。他们必须决定这个网络应该有多少层神经元(或者它应该有多“深”)。例如,假设有一个神经网络,它的任务是识别图像中的物体。图像在第一层被输入系统。在下一层,网络中可能有只是简单地检测图像中的边缘的神经元。再下一层结合线条来识别图像中的曲线。然后再下一层,将曲线组合成形状和纹理。最后一层处理形状和纹理,得出它看到图像中有什么的结论:长毛猛犸象!

“这里的想法是,每一层都结合了前一层的几个方面。一个圆在许多不同的地方是曲线,一条曲线在许多不同的地方是直线,”宾夕法尼亚大学的数学家David Rolnick说。

工程师还必须决定每一层的“宽度”,它对应于网络在每个抽象级别上考虑的不同特性的数量。在图像识别的情况下,层的宽度是它在每个层上考虑的线、曲线或形状的类型的数量。

除了网络的深度和宽度之外,还可以选择如何在层内和层间连接神经元,以及为每个连接赋予多少权重。

因此,如果你有一个特定的任务,你怎么知道哪个神经网络架构能最好地完成这个任务呢?

有一些宽泛的经验法则。比如说,对于图像相关的任务,工程师通常使用“卷积”神经网络,这种网络的特点是层与层之间相同的连接模式不断重复。对于自然语言处理任务 ——比如语音识别或语言生成——工程师们发现“循环”神经网络似乎性能最好。在这些网络中,神经元可以连接到非相邻的层。

如何设计一个神经网络

然而,除了这些一般指导原则之外,工程师们很大程度上还必须在依赖实验证据:他们要运行1000个不同的神经网络,然后观察哪一个能够完成任务。

“这些选择往往是在实践中反复试验后做出的,” Hanin说:“这是一种很艰难的方法,因为有无限多的选择,一个人真的不知道那个选择是最好的。”

一种更好的方法是减少反复试验,多预先了解给定的神经网络架构会带来什么。最近发表的几篇论文将这个领域推向了这个方向。

“可以这么说,这项工作试图开发一本设计正确神经网络的食谱。如果你知道你想从网络中获得什么,那么这就是这个网络的配方,”Rolnick说。

让神经网络无限窄、无限深

神经网络架构最早的一个重要理论保证出现在30年前。1989年,计算机科学家证明,如果一个神经网络只有一个计算层,但这一层有无限数量的神经元,它们之间有无限的连接,那么这个网络将能够执行你要求它做的任何任务。

这是一个笼统的陈述,结果相当直观,但不怎么有用。这就好比说,如果你能在一张图像中识别出无限多的线条,你就可以只用一个层来区分所有的对象。这在原则上可能是正确的,但在实践中,祝您好运。

今天的研究人员将这种宽而平的网络描述为“富有表现力的”(expressive),这意味着它们理论上能够在可能的输入(例如图像)和输出(例如图像描述)之间捕获更丰富的一组连接。然而,这些网络是极其难以训练的,这意味着几乎不可能教他们如何实际产生这些输出。它们的计算量也超过了任何计算机可以处理的程度。

德州农工大学的数学家Boris Hanin研究了神经网络中深度和宽度之间的权衡(Intel AI One Tree Studio)

最近,研究人员一直试图弄清楚他们能在多大程度上将神经网络推向另一个方向——通过使神经网络更窄(每层的神经元更少)和更深(整体的层数更多)。这样,也许你只需要挑选100条不同的线,但可以利用连接把这100条线变成50条曲线,然后把它们组合成10种不同的形状,这些形状可以为你提供识别大多数物体所需的所有构建块。

麻省理工学院的Rolnick和Max Tegmark去年发表了一篇题为The power of deeper networks for expressing natural functions的论文,证明通过增加深度和减少宽度,可以用指数级更少的神经元来执行同样的功能。他们表明,如果你正在建模的情况有100个输入变量,你可以使用一层中2 的100次方个神经元,或两层中2的10次方个神经元获得同样的可靠性。

“神经网络中depth这个概念与这样一种想法有关,即你可以通过按顺序做许多简单的事情来表达一些复杂的事情,”Rolnick说:“这就像一条装配线。”

Rolnick和Tegmark通过让神经网络执行一个简单的任务来证明深度的效用:乘法多项式函数。(这些方程的特征是变量取自然数的指数,比如y = x³ + 1)他们通过向网络展示方程及其乘积的例子来训练网络。然后,他们要求这些网络计算他们之前没有见过的方程式的乘积。结果显示,相比更浅的网络,更深的神经网络学习这个任务使用的神经元要少得多。

虽然乘法并不是一项轰动世界的任务,但Rolnick表示,这篇论文提出了一个重要的观点:“如果一个浅层的网络连乘法都不会做,那么我们就不应该在任何事情上相信它。”

宾夕法尼亚大学数学家David Rolnick证明,增加网络的深度可以让网络以更少的神经元完成任务。(Stephanie Ku)

其他研究人员一直在探索神经网络所需的最小宽度。9月底,曾任俄克拉荷马州立大学数学家、现为赛诺菲制药公司研究员的Jesse Johnson证明,在某个特定点上,再大的深度也无法弥补宽度的不足。

为了理解他的结论,让我们想象一下牧场里的绵羊,但这些是朋克摇滚羊:他们的羊毛被染成了各种各样的颜色。你的神经网络的任务是在所有相同颜色的羊周围画一个框。这个任务类似于图像分类:网络有一个图像集(表示为高维空间中的点),它需要将相似的图像分组在一起。

Johnson证明,当层的宽度小于或等于输入的数量时,神经网络就会在这个任务中失败。因此,对于朋克摇滚羊这个任务来说,每只羊都可以用两个输入来描述:一个x坐标和一个y坐标,用来指定它在牧场的位置。然后,神经网络给每只羊标上颜色标签,并在相同颜色的羊周围画上边框。在这种情况下,每层需要三个或更多的神经元才能解决这个问题。

更具体地说,Johnson证明如果宽度与变量之间的比率没有了,神经网络将无法实现一个闭环——比如说,如果所有红色的羊聚集在牧场中央,神经网络将需要绘制出这样的循环。Johnson说:“如果所有层中没有任何一层的神经元数量比输入维数更大,那么无论添加多少层,函数都无法创建某些形状。”

Johnson他们的论文、以及更多这样的论文正开始构建神经网络理论的雏形。目前,研究人员只能对架构和函数之间的关系做出非常基本的断言,而这些断言与神经网络所承担的任务的数量相比只占很小的比例。

因此,尽管神经网络理论不会很快改变系统构建的方式,但一个关于计算机如何学习的新理论的蓝图正在形成——一个将人类带上更伟大旅程的蓝图,其影响甚至比将人类带上月球更大。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4847

    浏览量

    108492
  • 深度学习
    +关注

    关注

    73

    文章

    5614

    浏览量

    124824

原文标题:影响堪比登月:谷歌等探索深度学习新理论蓝图,让神经网络更深更窄

文章出处:【微信号:worldofai,微信公众号:worldofai】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    卷积神经网络如何自动驾驶识别障碍物?

    自动驾驶的发展过程中,感知系统一直承担车辆“眼睛”的角色,其核心任务是计算机理解复杂多变的物理世界。卷积神经网络(CNN)作为一种专门用于处理图像和视频等网格状数据结构的深度学习模型
    的头像 发表于 04-11 09:59 1606次阅读
    卷积<b class='flag-5'>神经网络</b>如何<b class='flag-5'>让</b>自动驾驶识别障碍物?

    面向嵌入式部署的神经网络优化:模型压缩深度解析

    1.为什么需要神经网络模型压缩? 神经网络已经成为解决复杂机器学习问题的强大工具。然而,这种能力往往伴随着模型规模和计算复杂度的增加。当输入维度较大(例如长时序窗口、高分辨率特征空间)时,模型需要
    的头像 发表于 02-24 15:37 5615次阅读
    面向嵌入式部署的<b class='flag-5'>神经网络</b>优化:模型压缩<b class='flag-5'>深度</b>解析

    神经网络的初步认识

    日常生活中的智能应用都离不开深度学习,而深度学习则依赖于神经网络的实现。什么是神经网络
    的头像 发表于 12-17 15:05 538次阅读
    <b class='flag-5'>神经网络</b>的初步认识

    自动驾驶中常提的卷积神经网络是个啥?

    在自动驾驶领域,经常会听到卷积神经网络技术。卷积神经网络,简称为CNN,是一种专门用来处理网格状数据(比如图像)的深度学习模型。CNN在图像处理中尤其常见,因为图像本身就可以看作是由像
    的头像 发表于 11-19 18:15 2346次阅读
    自动驾驶中常提的卷积<b class='flag-5'>神经网络</b>是个啥?

    NMSIS神经网络库使用介绍

    NMSIS NN 软件库是一组高效的神经网络内核,旨在最大限度地提高 Nuclei N 处理器内核上的神经网络的性能并最​​大限度地减少其内存占用。 该库分为多个功能,每个功能涵盖特定类别
    发表于 10-29 06:08

    在Ubuntu20.04系统中训练神经网络模型的一些经验

    本帖欲分享在Ubuntu20.04系统中训练神经网络模型的一些经验。我们采用jupyter notebook作为开发IDE,以TensorFlow2为训练框架,目标是训练一个手写数字识别的神经网络
    发表于 10-22 07:03

    CICC2033神经网络部署相关操作

    在完成神经网络量化后,需要将神经网络部署到硬件加速器上。首先需要将所有权重数据以及输入数据导入到存储器内。 在仿真环境下,可将其存于一个文件,并在 Verilog 代码中通过 readmemh 函数
    发表于 10-20 08:00

    液态神经网络(LNN):时间连续性与动态适应性的神经网络

    1.算法简介液态神经网络(LiquidNeuralNetworks,LNN)是一种新型的神经网络架构,其设计理念借鉴自生物神经系统,特别是秀丽隐杆线虫的神经结构,尽管这种微生物的
    的头像 发表于 09-28 10:03 1744次阅读
    液态<b class='flag-5'>神经网络</b>(LNN):时间连续性与动态适应性的<b class='flag-5'>神经网络</b>

    【「AI芯片:科技探索与AGI愿景」阅读体验】+神经形态计算、类脑芯片

    AI芯片不仅包括深度学细AI加速器,还有另外一个主要列别:类脑芯片。类脑芯片是模拟人脑神经网络架构的芯片。它结合微电子技术和新型神经形态器件,模仿人脑神经系统机选原理进行设计,实现类似
    发表于 09-17 16:43

    神经网络的并行计算与加速技术

    随着人工智能技术的飞速发展,神经网络在众多领域展现出了巨大的潜力和广泛的应用前景。然而,神经网络模型的复杂度和规模也在不断增加,这使得传统的串行计算方式面临着巨大的挑战,如计算速度慢、训练时间长等
    的头像 发表于 09-17 13:31 1390次阅读
    <b class='flag-5'>神经网络</b>的并行计算与加速技术

    如何在机器视觉中部署深度学习神经网络

    图 1:基于深度学习的目标检测可定位已训练的目标类别,并通过矩形框(边界框)对其进行标识。 在讨论人工智能(AI)或深度学习时,经常会出现“神经网络
    的头像 发表于 09-10 17:38 1137次阅读
    如何在机器视觉中部署<b class='flag-5'>深度</b><b class='flag-5'>学习</b><b class='flag-5'>神经网络</b>

    无刷电机小波神经网络转子位置检测方法的研究

    摘要:论文通过对无刷电机数学模型的推导,得出转角:与三相相电压之间存在映射关系,因此构建了一个以三相相电压为输人,转角为输出的小波神经网络来实现转角预测,并采用改进遗传算法来训练网络结构与参数,借助
    发表于 06-25 13:06

    神经网络专家系统在电机故障诊断中的应用

    摘要:针对传统专家系统不能进行自学习、自适应的问题,本文提出了基于种经网络专家系统的并步电机故障诊断方法。本文将小波神经网络和专家系统相结合,充分发挥了二者故障诊断的优点,很大程度上降低了对电机
    发表于 06-16 22:09

    神经网络RAS在异步电机转速估计中的仿真研究

    众多方法中,由于其结构简单,稳定性好广泛受到人们的重视,且已被用于产品开发。但是MRAS仍存在在低速区速度估计精度下降和对电动机参数变化非常敏感的问题。本文利用神经网络的特点,使估计更为简单、快速
    发表于 06-16 21:54

    基于FPGA搭建神经网络的步骤解析

    本文的目的是在一个神经网络已经通过python或者MATLAB训练好的神经网络模型,将训练好的模型的权重和偏置文件以TXT文件格式导出,然后通过python程序将txt文件转化为coe文件,(coe
    的头像 发表于 06-03 15:51 1619次阅读
    基于FPGA搭建<b class='flag-5'>神经网络</b>的步骤解析