新智元报道
来源:quantamagazine
作者:Kevin Hartnett 编辑:肖琴
【新智元导读】一个关于计算机如何学习的新理论的蓝图正在形成,其影响甚至比登月更大!研究人员正试图解释神经网络工作原理,并保证如果以规定的方式构建一个神经网络,它就能够执行特定的任务。
深度学习需要更多的理论!
这是学术界的一个共识。神经网络十分强大,但往往不可预测。
现在,谷歌大脑、FAIR、德州农工大学等的数学家们试图深究神经网络的理论基础,开始揭示神经网络的形式如何影响其功能。
我们对神经网络几乎一无所知
设计一座摩天大楼时,我们会要求它符合规范:塔台要能支撑一定程度的重量,并且要能承受一定强度的地震。
但是,对于现代世界最重要的技术之一,我们实际上是在盲目地建造。我们使用各种不同的设计,使用不同的设置进行修补,但在将它拿出来进行测试运行之前,我们并不真正知道它能做什么,也不知道它会在哪个地方失败。
这项技术就是神经网络,它是当今最先进的人工智能系统的基础。神经网络正越来越多地进入社会的核心领域:它们通过社交媒体的信息流决定了我们对世界的了解,它们帮助医生诊断疾病,它们甚至影响一个被判犯罪的人是否要被收监。
然而,“最接近事实的情况是,我们对神经网络的实际运作方式几乎一无所知,也不知道什么才是真正有洞察力的理论,” 德州农工大学数学家、FAIR 的访问科学家 Boris Hanin 说。
他将这种情况与另一种革命性技术的发展进行类比:蒸汽机。最初,蒸汽机除了抽水之外没有别的用处。后来,蒸汽机开始为火车提供动力,这可能是现在复杂的神经网络已经达到的水平。再后来,科学家和数学家们发展了热力学理论,得以准确地理解任何类型的发动机内部的运作方式。最终,这些知识将人类带到了月球。
“首先,你要有很棒的工程,你要有一些很棒的火车,然后你需要一些理论上的理解才能造出火箭和飞船,”Hanin 说。
在庞大的神经网络研究社区中,有一小群具有数学意识的研究人员正试图构建神经网络理论—— 一个可以解释神经网络是如何工作,并保证如果你以规定的方式构建一个神经网络,它就能够执行特定的任务的理论。
这项工作仍处于早期阶段,但在去年,研究人员已经发表了几篇论文,详细阐述了神经网络中形式和功能之间的关系。这项工作一直深究神经网络的基础,表明在你能证明神经网络可以驾驶汽车之前,你需要证明它们能够做乘法运算。
如何设计一个神经网络
神经网络的目标是模仿人类的大脑 —— 思考大脑的一种方式是将较小的抽象概念加积到更大的抽象概念。在这个观点中,思维的复杂性是由你可以利用的更小抽象的范围,以及你可以将低级抽象组合成高级抽象的次数来衡量的 —— 就像我们学习区分狗和鸟的方式一样。
“对于人类来说,如果你正在学习如何识别一只狗,你就要学会识别四条腿,它们是毛茸茸的,” 康奈尔大学计算机科学博士生、谷歌大脑研究员 Maithra Raghu 说:“理想情况下,我们希望我们的神经网络同样能够这样做。”
Maithra Raghu, 谷歌大脑成员,致力于寻找解释神经网络如何运作的原理 (photo: Arun Chaganty)
抽象对于人类大脑来说是天性。神经网络必须学会抽象。就像大脑一样,神经网络是由被称为 “神经元” 的构建块组成的,这些构建块以不同的方式连接在一起。(神经网络中的神经元受到大脑神经元的启发,但并不直接模仿大脑神经元。) 每个神经元可能代表网络在每个抽象层次上考虑的一个属性,或多个属性的组合。
在将这些神经元连接在一起时,工程师们有很多选择。他们必须决定这个网络应该有多少层神经元 (或者它应该有多 “深”)。例如,假设有一个神经网络,它的任务是识别图像中的物体。图像在第一层被输入系统。在下一层,网络中可能有只是简单地检测图像中的边缘的神经元。再下一层结合线条来识别图像中的曲线。然后再下一层,将曲线组合成形状和纹理。最后一层处理形状和纹理,得出它看到图像中有什么的结论:长毛猛犸象!
“这里的想法是,每一层都结合了前一层的几个方面。一个圆在许多不同的地方是曲线,一条曲线在许多不同的地方是直线,” 宾夕法尼亚大学的数学家 David Rolnick 说。
工程师还必须决定每一层的 “宽度”,它对应于网络在每个抽象级别上考虑的不同特性的数量。在图像识别的情况下,层的宽度是它在每个层上考虑的线、曲线或形状的类型的数量。
除了网络的深度和宽度之外,还可以选择如何在层内和层间连接神经元,以及为每个连接赋予多少权重。
因此,如果你有一个特定的任务,你怎么知道哪个神经网络架构能最好地完成这个任务呢?
有一些宽泛的经验法则。比如说,对于图像相关的任务,工程师通常使用“卷积” 神经网络,这种网络的特点是层与层之间相同的连接模式不断重复。对于自然语言处理任务 —— 比如语音识别或语言生成 —— 工程师们发现 “循环” 神经网络似乎性能最好。在这些网络中,神经元可以连接到非相邻的层。
如何设计一个神经网络
Lucy Reading-Ikkanda/Quanta Magazine
然而,除了这些一般指导原则之外,工程师们很大程度上还必须在依赖实验证据:他们要运行 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 他们的论文、以及更多这样的论文正开始构建神经网络理论的雏形。目前,研究人员只能对架构和函数之间的关系做出非常基本的断言,而这些断言与神经网络所承担的任务的数量相比只占很小的比例。
因此,尽管神经网络理论不会很快改变系统构建的方式,但一个关于计算机如何学习的新理论的蓝图正在形成—— 一个将人类带上更伟大旅程的蓝图,其影响甚至比将人类带上月球更大。
加入新智元社群,成就AI新世界!