神经网络既强大又不可预测。现在,数学家开始揭示神经网络的形态如何影响其功能。

图片1

  当我们建造摩天大楼时,我们预期它会按照设计规格发挥功能:能够支撑这么多的重量,能够承受一定强度的地震。
  但是,面对当今世界最重要的技术之一时,我们基本上是在盲目行事:尝试不同的设计,修补不同的初始设定,但是,直到我们开始试运行时,我们并不知道它能做什么,也不知道它会在哪失败。
  这一技术就是神经网络,其支撑了当前最先进的人工智能系统,并且开始逐渐进入社会生活的核心:通过社交网络信息决定我们从世界中了解什么,帮助医生诊断病症,甚至可以影响法官决定罪犯是否需要在狱中服刑。
  然而,“对于神经网络如何工作?真正的神经网络理论是什么?我们几乎一无所知。”鲍里斯·哈宁(Boris Hanin)说道。他是德克萨斯A&M大学的数学家,也是脸书人工智能实验室的访问科学家,研究神经网络。
  他把这种情形比作另一项革命性技术(蒸汽机)的发展。起初,蒸汽机只是用于抽水。后来,蒸汽机可以驱动火车,这相当于复杂神经网络所达到的水平。后来科学家和数学家发展了热力学理论,使得他们可以理解任何发动机的内部原理。最终,这些知识帮助我们登上月球。
  “首先,你拥有伟大的工程设计,你拥有一些伟大的火车,然后你需要一些理论基础,你才能进入火箭飞船。”哈宁说。
  在庞大的神经网络研究群体中,有一小群具有数学思维的研究者,他们在尝试构建神经网络的理论。这样的理论能够解释神经网络如何工作,确保按照规定方式建造的神经网络完成指定任务。
  这项工作尚处极早阶段,但是,2018年,研究者发表若干文章,详细阐述神经网络的形态和功能之间的关系。研究表明:在验证神经网络能够驾驶汽车之前,你先得证明神经网络能够做乘法。

图片2

梅特拉·拉古,谷歌大脑的一员,一直在研究可解释神经网络运作的原理

模拟大脑的最佳方法
  神经网络的目的是模拟人的大脑,关于大脑的工作方式之一是:它把较小的抽象合并为更大的抽象。从这个视角来说,思考的复杂度要用两点来衡量:一是你可以利用的小型抽象的范围,二是你能够把低层抽象合并为高层抽象的次数。这就像我们学会区别狗和鸟。
  康奈尔大学计算机科学的博士生、谷歌大脑的成员梅特拉·拉古(Maithra Raghu)说:“对人来说,要学会如何识别狗,先得学会识别四只腿,我们希望神经网络也能做同样的事。”
  人类大脑的抽象能力是自然获得的,神经网络则需要通过工作而获得。与大脑一样,神经网络是由称为“神经元”的基础组件组成,神经元以各种方式互相连接(神经网络的神经元受到大脑神经元启发,但前者并不是直接模仿后者)。每个神经元可能代表了一个属性或一组属性,网络用以表征抽象的各个层级。
  当把这些神经元连接到一起的时候,工程师可以有多种选择。他们必须决定网络有多少层次的神经元(有多“深”)。比如,考虑神经网络来识别图像中的物体,图像在第一层进入系统;在下一层,网络上有些神经元用以识别图像的边缘;再下一层,把边缘合并为线段来识别曲线;再下一层,把曲线合并为形状和纹理;最后的层处理这些形状和纹理并得到结论:它看到了什么?毛茸茸的猛犸兽!
  宾州大学的数学家大卫·罗尔尼克(David Rolnick)说:“思路就是每一层把前一层的许多方面合并在一起。圆就是把很多地方的曲线合并在一起,曲线就是把很多地方的线段合并在一起。”
  工程师还得决定每一层的“宽度”,即对应于网络中每一层所考虑的不同特征的数量。在这个图像识别的例子中,层级的宽度就是每一层所考虑的线段、曲线或形状的种类的数量。
  除了网络的深度和宽度之外,还需要选择:在层内和层与层之间,如何连接神经元;给予每个连接多大的权重。
  所以,如果你心中有具体的任务,你如何知道选择哪种神经网络架构来实现它最好呢?对此,有若干宽泛的经验法则:对于图像相关的任务来说,工程师一般使用“卷积”神经网络,重复使用层与层之间的相同连接架构。对于自然语言处理(比如语音识别或语言生成)来说,工程师发现“循环”神经网络功用最佳。在这种网络中,神经元可以连接到非邻近层。
  然而,除了这些一般的准则,工程师基本上要依靠实验证据:他们运行
  1 000种不同的神经网络,观察其中哪些能完成任务。
  哈宁说:“这些选择基本上通过试错法,这很困难,因为选择是无限的,而且人们真的不知道什么是最好的。”
  更好的办法应当包括:采用更少的试错,更深入理解神经网络架构能够带来什么。最近的一些文章正把整个领域向此方向推进。
  “此工作尝试开发设计正确网络结构的手册(类似食谱)。如果你知道自己想要从网络结构中获得什么,那么这就是你需要的秘方。”罗尔尼克说。
圈出红色的羊
  最早的一项关于神经网络架构的理论保证之一来自30年前。1989年,计算机科学家证明:如果神经网络只有一个计算层,且允许此层拥有无限的神经元,允许神经元之间有无限的连接,那么,这个神经网络就能完成你所要求的任何任务。
  这是过分笼统的观点,结果非常直观却没啥用。这好像是说:如果你能识别图像中无限的线段,你就可以用一层网络来区别所有物体。这可能在原理上是对的,但是,在实践中就需要好运。
  今天的研究者把这种很宽很平的网络称为“表达性”(expressive)的,是说它们理论上能捕捉在可能输入(比如图像)和可能输出(比如对于图像的描述)之间的丰富联系。然而这种网络却是非常难以训练,几乎不可能教会它们如何真正产生相关输出,其所需的计算也超过了任何计算机的能力。
  最近,研究者开始尝试把神经网络推向另一个方向,把它变得更窄(每层更少的神经元)、更深(拥有更多层次)。所以,很可能你只要挑出100条不同的线段,然后用连接把这100条线段变成50条曲线,再合并成10个不同的形状,这样,你就获得了需要的所有基础组件,可以用来识别大多数物体。

图片3

大卫·罗尔尼克,宾州大学的数学家,证明了更深的网络可以比更浅的网络使用更少的神经元来完成相同的任务

  在2018年完成的一篇文章中,罗尔尼克和麻省理工学院的迈克斯·泰格马克(Max Tegmark)证明:通过增加深度、减少宽度,你可以使用很少的神经元来完成相同的功能。他们表明,如果你的模型有100个输入变量,可以用一层2100的神经元或两层210的神经元来达成相同的可靠度。罗尔尼克说:“神经网络的深度概念和如下的观念有关,即把复杂的事情分解为很多简单事情,就像流水线。”
  罗尔尼克和泰格马克证明了深度网络的效用,即通过要求网络执行简单任务:把多项式函数相乘。他们通过方程式和解的例子来训练神经网络。然后要求网络计算之前从未见过的方程式的解。深的网络比浅的网络做这件事情用更少的神经元。
如何设计一个神经网络
  神经网络把输入(如一幅图像)通过很多层的数字神经元进行传输处理,每一层网络都揭示关于该输入的更多特征。数学家正在揭示神经网络的架构(关于该网络有多少节点和多少层级,节点和层级间如何连接在一起)如何决定该神经网络所擅长的任务。

图片4

  当数据被喂入网络时,每个响应的人工神经元(用“1”作为标记)把信号传递到下一层的特定神经元,而下层的神经元如果收到多个信号,就更容易响应。这个过程揭示了关于输入的抽象信息。

图片5

  尽管乘法不是让世人震惊的任务,罗尔尼克说这篇文章提出了重要观点:“如果浅的网络连乘法都不能做,我们不能信任它们可以做别的事。”
  其他研究者一直在探索可用的单层最小宽度。2018年9月底,杰西·约翰逊(Jesse Johnson)证明:在特定的点,再深的深度也无法弥补宽度不足。约翰逊是赛诺菲制药公司的研究人员,以前是俄克拉荷马州立大学的数学家。
  要理解他的研究成果,我们可以想象田里的羊,羊毛染上几种不同的颜色。你的神经网络的任务就是要把所有相同颜色的羊圈在一起。就实质来说,这个任务和图像分类相似,网络有一组图像,然后要把相似的图像分组。

图片6

鲍里斯·哈宁,德克萨斯A&M大学数学家,研究神经网络的深度和宽度之间的权衡关系

  约翰逊证明:如果网络的单层宽度少于或等于输入的数量,就无法完成这样的任务。以羊为例,每只羊可以用两个输入x和y坐标来确定它在田地的位置。神经网络把每只羊标记一个颜色,然后在具备相同颜色的羊周围画边界。在这种情况下,你需要每层3个或更多神经元的网络来解决画界问题。
  更具体地说,约翰逊表示:如果网络单层宽度与输入变量数的比不合适,那么神经网络就没法画封闭的圈(画圈就表明,把在草场中间的红色羊聚在一起)。“如果神经元的宽度不能超过输入维度的数目,那么,无论使用多少层次,有些形状网络就永远不能生成。”约翰逊说。
  像约翰逊这样的文章正在构建神经网络理论的基础部分。在当下,研究者只能对网络架构和功能之间的关系得出很基本的推论;比起神经网络正在执行的大量任务而言,这些推论占很小的比例。
  所以,尽管神经网络的理论不能很快改变人们建造系统的方法;但是,正在绘制关于计算机如何学习的新理论的蓝图。这一理论将使人类达成比登月更伟大的成就。

  资料来源quantamagazine.org

_______________________

本文作者凯文·哈特尼特(Kevin Hartnett)是《量子》杂志的高级作者,主题报道数学和计算机科学。他的作品被收录进“数学领域最佳写作”系列