正在寻找的神经网络通用理论
2019-02-14 15:08

正在寻找的神经网络通用理论

神经网络功能强大,但目前来说,它们仍然是不可预测的。数学家们正致力于搭建神经网络理论基石,探索神经网络的结构如何影响其功能。本文采访了来自Facebook、Google Brain 和 MIT 的多位研究者,分别介绍了他们对神经网络通用理论的研究和认识。本文来自微信公众号:集智俱乐部(ID:swarma_org),作者: Kevin Hartnett,翻译:王佳纯,编辑:王怡蔺,来源:quantamagazine,原题:Foundations Built for a General Theory of Neural Networks


当我们设计一座摩天大楼时,会希望它能够达到明确规定的性能要求:这座大楼能够承受一定的重量,并且能够承受一定强度的地震。


然而我们正在盲目地使用一项技术,它是现代世界最重要的技术之一。我们使用不同的设计,修改不同的设置,但在测试运行之前,我们并不知道它能做什么,或者会在哪里失败。


这项技术就是神经网络,它支撑着当今世界最先进的人工智能系统。神经网络正逐渐进入社会的核心领域:它们决定我们通过社交媒体获取的信息,它们帮助医生诊断疾病,它们甚至辅助法官审理案件。


然而,“我们几乎不知道神经网络实际上是如何工作的,也不知道它的理论基础是什么。”Boris Hanin说。


Boris Hanin,德克萨斯A&M大学数学家,Facebook AI Research的访问科学家,研究神经网络深度和宽度之间的权衡。©Intel AI One Tree Studio


神经网络与蒸汽机


他将这种情况类比另一种革命性技术的发展:蒸汽机。一开始,蒸汽机除了抽水之外没什么用处。后来它们为火车提供动力,这是神经网络目前达到的复杂程度。再后来,科学家和数学家提出了一套热力学理论,使人类能够准确地理解任何类型的引擎内部到底发生了什么。最终,这些知识把人类带到了月球。


Hanin说:“首先,你拥有了不起的工程技术,接着你拥有了不起的火车,然后你需要一些理论知识来研究火箭。”


在神经网络开发者的庞大社区中,有一小群具有数学头脑的研究人员正试图建立一套神经网络理论——这个理论可以解释神经网络是如何工作的,并保证如果你以规定的方式构建一个神经网络,它将能够执行某些任务。


这项工作仍然处于起步阶段,但在去年,研究人员发表了几篇论文,阐述了神经网络中结构和功能之间的关系。这项工作致力于研究神经网络的理论基础。它表明,在能证明神经网络可以驾驶汽车之前,你需要证明它们可以做简单的乘法运算。


写一本神经网络的食谱


神经网络旨在模拟人类大脑,目前提出的一种大脑工作方式是,大脑通过将较小抽象合成较大抽象来工作。这种观点认为,思维的复杂性可以通过较小抽象的范围,以及将较低层次的抽象组合成较高层次的抽象的次数来衡量,就像我们学习辨别狗和鸟的方式一样。


“对于人类来说,如果你正在学习如何识别一只狗,你应该先学会识别四条毛茸茸的腿。理想情况下,我们希望神经网络能做同样的事情。”Maithra Raghu说。


Maithra Raghu,谷歌大脑项目组成员,康奈尔大学计算机科学的博士生,一直致力于神经网络运作原理的研究。©Arun Chaganty


对于人类的大脑来说,抽象是自然赋予的能力,而对于神经网络来说,抽象是需要实现的功能。与大脑一样,神经网络也是由被称为“神经元”的组件构成的,这些组件以各种方式连接在一起。每个神经元可以表示一个属性,或者一组属性,网络在每个抽象层次处理这些属性。


译注:神经网络中的神经元受到大脑中的神经元的启发,但并非直接模仿它们。


决定神经网络深度


当要把这些神经元连接在一起时,工程师们有很多种选择。他们必须决定神经网络应该有多少层神经元。例如,考虑一个神经网络,其任务是识别图像中的物体。图像在第一层输入系统中。在下一层,神经元只是检测图像中的边缘。接着在下一层,神经元组合直线来识别图像中的曲线。然后在下一层,神经元将曲线组合成形状和纹理,最后一层对形状和纹理进行处理,从而得出神经网络识别的结果。


“我们的想法是,每个层结合前一层的几个方面。圆是由许多不同的曲线组成的,曲线是由许多不同的线条组成的。”宾夕法尼亚大学的数学家David Rolnick说。


决定神经网络宽度


工程师还必须决定每一层的“宽度”,这对应于网络在每个抽象级别考虑的特征数量。在图像识别的例子中,层的宽度是指它在每个级别考虑的直线、曲线或其它形状的类型数量。


选择连接方式


除了网络的深度和宽度,工程师还可以选择如何连接层内和层间的神经元,以及赋予每个连接多大权重。


因此,如果你有一个特定的任务,哪种神经网络结构能够更好地实现它呢?这里有一些基本的经验法则。对于与图像相关的任务,工程师们通常使用“卷积”神经网络,其特点是层与层之间的连接模式相同,一遍又一遍地重复这个连接模式。对于自然语言处理(比如语音识别或语言生成),工程师们发现“循环”神经网络工作得最好。在这些神经网络中,神经元可以连接到不相邻的层。


如何设计神经网络


神经网络传递输入数据(如一张图片)通过多层数字神经元。每一层都能获得输入数据的额外特征。数学家们正致力于探索神经网络的结构(神经元的数量、层的数量、连接方式)如何决定它们擅长的任务类型。


©Lucy Reading-Ikkanda


然而,除了这些一般的指导方针,工程师们在很大程度上不得不依赖实验证据:他们运行1000个不同的神经网络,仅仅是为了观察哪一个实现了功能。


“这些选择往往是通过实践中的反复试验和错误做出的,这是一种艰难的做法,因为有无限多的选择,人们真的不知道什么是最好的。”Hanin说。


更好的方法是少一点试验和错误,多一点对给定的神经网络结构的理解。最近发表的一些论文已经朝着这个方向发展了。


“这项工作试图开发出一本食谱,用于设计正确的神经网络。如果你知道自己需要一个什么样的网络,那么就能找到搭建这个网络的诀窍。”Rolnick说。


新方向:更窄更深的神经网络


关于神经网络结构的最早的理论证明之一出现在30年前。1989年,计算机科学家证明,如果一个神经网络只有一个计算层,但是允许这一层有无限多的神经元,它们之间有无限多的连接,那么这个网络将能够执行任何你想要的任务。


这是一个笼统的陈述,凭直觉可以获知,但没有多大用处。这就像是说,如果你可以识别一个图像中无限多的行,那么你可以只使用一个层来辨别图像上所有对象。原则上说这是正确的,但在实践中没有意义。


如今,研究人员认为这种宽而扁的网络是“富有表现力的”,这意味着它们在理论上能够捕捉到输入(如图像)和输出(如图像的描述)之间丰富的联系。然而,这些网络很难训练,这意味着几乎不可能教会它们如何产生对应的输出。它们的计算量也超过计算机的处理能力。


最近,研究人员一直在试图把神经网络推向另一个方向——使神经网络变得更窄(每层神经元数量更少)和更深(整体神经元数量更多)。这样,也许你只需要挑出100条不同的直线,通过连接将这100条直线变成50条曲线,再把它们组合成10种不同的形状,你就有了识别大多数物体所需要的所有构件。


在去年完成的一篇论文中,麻省理工学院的 Rolnick 和 Max Tegmark 证明,通过增加深度和减小宽度,你可以用指数级减少的神经元来执行同样的功能。


论文题目:The power of deeper networks for expressing natural functions


论文地址:https://arxiv.org/abs/1705.05502


这就是说,如果你正在建模的案例有100个输入变量,使用包含2100个神经元的一层神经网络,或者,使用包含210个神经元的两层神经网络,具有相同的可靠性。他们发现,通过更多的抽象层次组合小块特征,这样的神经网络功能更强大,而不是试图在一个抽象层次捕获所有的特征。


Rolnick说:“神经网络中的深度概念体现这样一种想法,即你可以通过按顺序做许多简单的事情来表达复杂的东西。这就像一条流水线。”


Rolnick和Tegmark通过让神经网络执行一个简单的任务来证明深度的效用:乘以多项式函数。(这些方程的特征变量被提高到自然数指数,例如y=x^3+1。)他们训练网络,向网络展示方程式的例子和它们的结果,然后要求网络计算它们从未见过的方程式的结果。实现这个任务的深层神经网络的神经元数量远少于浅层神经网络。


Rolnick说,虽然乘法并不是一个能够轰动世界的任务,但该论文提出了一个重要的观点:“如果一个浅的网络不能做乘法,那么我们就不应该用它来做其它更难的任务。”


David Rolnick,宾夕法尼亚大学数学家,证明了增加网络的深度可以让网络用指数级减少的神经元完成任务。©Stephanie Ku


圈出红色的羊


其他研究人员一直在探索所需的最小宽度。九月底,Jesse Johnson 证明了在某一点上,再深的深度也不能弥补宽度的不足。


论文题目:Deep, Skinny Neural Networks are not Universal Approximators


论文地址:https://arxiv.org/abs/1810.00393


为了解释他的结论,想象一下田野里的羊群:它们的毛被染成了几种颜色中的一种。神经网络的任务是在所有同色的绵羊周围画一个边界。理论上,这个任务类似于图像分类:输入一个图像集(它表示为高维空间中的点),网络需要将相似的图像聚合在一起。


Johnson证明,当层的宽度小于或等于输入数量时,神经网络将无法完成这项任务。所以对于这个案例中的羊,每一只都可以用两个输入变量来描述:一个x坐标和一个y坐标,指定羊在田野中的位置。然后,神经网络用一种颜色来标记每只羊,并在相同颜色的羊周围画一条边界。这种情况下,要解决这个问题,每层需要三个或更多的神经元。


更具体地说,Johnson指出,如果宽度与输入变量的比例太小,神经网络将无法绘制闭合的环——如果所有的红色绵羊都聚集在牧场中央,神经网络需要绘制这种闭合环。“如果没有任何一层的宽度超过输入维度的数量,有一些形状将永远无法被创建,无论你添加多少层。”Johnson说。


像Johnson这样的论文已经开始搭建神经网络理论的基石。目前,研究人员只能对架构和功能之间的关系做出非常基础的断言,而这些断言与神经网络所应用的任务数量相比,只占很小的比例。


因此,神经网络理论不会很快改变系统的构建方式,但关于计算机如何学习的新理论正在制定中。这个新理论将带领人类踏上新的征程,其影响甚至超过人类探月征程。


原文地址:https://www.quantamagazine.org/foundations-built-for-a-general-theory-of-neural-networks-20190131/


本文来自微信公众号:集智俱乐部(ID:swarma_org),作者: Kevin Hartnett,翻译:王佳纯,编辑:王怡蔺,来源:quantamagazine,原题:Foundations Built for a General Theory of Neural Networks

本内容为作者独立观点,不代表虎嗅立场。未经允许不得转载,授权事宜请联系hezuo@huxiu.com
如对本稿件有异议或投诉,请联系tougao@huxiu.com
正在改变与想要改变世界的人,都在 虎嗅APP
赞赏
关闭赞赏 开启赞赏

支持一下   修改

确定