当我们设计摩天大楼时,我们希望它会达到规格:该塔将承受如此之大的重量,并能够承受一定强度的地震。
但是,借助现代世界上最重要的技术之一,我们正在有效地建立盲目地位。我们采用不同的设计,采用不同的设置,但是直到我们将其取出进行测试运行之前,我们才真正知道它可以做什么或将在哪里失败。
这项技术就是神经网络,它是当今最先进的人工智能系统的基础。神经网络越来越多地进入社会的核心领域:它们通过我们的社交媒体提要来确定我们对世界的了解,它们可以帮助医生诊断疾病,甚至可以影响被判有罪的人是否会在监狱中度过。
然而,“我们所知道的最好的近似结果是,我们几乎不了解神经网络的实际工作原理以及真正有见地的理论。”德克萨斯农工大学的数学家,Facebook AI的客座科学家Boris Hanin说道。研究谁研究神经网络。
他将这种情况比喻为另一种革命性技术的发展:蒸汽机。最初,蒸汽机的优点不仅仅在于抽水。然后他们为火车提供动力,这也许已经达到了成熟的神经网络的水平。然后,科学家和数学家开发了热力学理论,使他们可以准确地了解任何类型的发动机内部发生的情况。最终,这些知识使我们登上了月球。
哈宁说:“首先,您拥有出色的工程技术,并且拥有一些出色的火车,然后需要一定的理论理解才能上火箭船。”
在庞大的神经网络开发社区中,有一小群具有数学思维的研究人员正在尝试建立一种神经网络理论,该理论将解释它们的工作原理,并保证如果您以规定的方式构建神经网络,它将能够执行某些任务。
这项工作仍处于初期阶段,但去年研究人员发表了几篇论文,阐述了神经网络中形式与功能之间的关系。这项工作使神经网络一直深入到其基础。它表明,在您可以证明神经网络可以驾驶汽车之前,您需要证明它们可以繁殖。
神经网络旨在模仿人的大脑,而思考大脑的一种方法是,它通过将较小的抽象吸收到较大的抽象中来起作用。在这种情况下,思想的复杂性由您可以借鉴的较小抽象的范围以及可以将较低级别的抽象组合为较高级别的抽象的次数(例如我们学会区分狗与鸟的方式)来衡量。
康奈尔大学计算机科学专业的博士生,谷歌大脑的成员Maithra Raghu说:“对于人类来说,如果您正在学习如何识别狗,就必须学会识别四只毛茸茸的腿。” “理想情况下,我们希望我们的神经网络做同样的事情。”
抽象自然地出现在人脑中。神经网络必须为此而努力。与大脑一样,神经网络由称为“神经元”的构建块组成,这些构建块以各种方式连接。 (神经网络中的神经元受到大脑中神经元的启发,但并不直接模仿它们。)每个神经元可能代表网络在每个抽象级别考虑的一个属性或属性组合。
将这些神经元连接在一起时,工程师可以做出很多选择。他们必须决定网络应具有多少层神经元(或应具有多少“深度”)。例如,考虑一个神经网络,其任务是识别图像中的对象。图像在第一层进入系统。在下一层,网络可能具有简单地检测图像边缘的神经元。下一层结合线以识别图像中的曲线。然后,下一层将曲线组合成形状和纹理,最后一层处理形状和纹理,以得出关于其外观的结论:羊毛猛ma象!
“想法是,每一层都结合了上一层的几个方面。宾夕法尼亚大学的数学家戴维·罗尼克(David Rolnick)说:“在很多地方,圆是曲线,在很多地方,曲线是直线。”
工程师还必须确定每个层的“宽度”,该宽度与网络在每个抽象级别考虑的不同功能的数量相对应。在图像识别的情况下,层的宽度将是它在每个级别考虑的线,曲线或形状的类型数。
除了网络的深度和宽度,还存在关于如何在层内和层之间连接神经元以及如何赋予每个连接多少权重的选择。
因此,如果您有特定的任务,您如何知道哪种神经网络架构将最好地完成它?有一些广泛的经验法则。对于与图像相关的任务,工程师通常使用“卷积”神经网络,该网络具有反复重复的图层之间相同的连接模式。对于自然语言处理(例如语音识别或语言生成),工程师发现“递归”神经网络似乎效果最好。在这些神经元中,神经元可以连接到不相邻的层。
但是,除了这些一般性准则之外,工程师在很大程度上还必须依靠实验证据:他们运行1,000个不同的神经网络,并仅观察哪个神经网络可以完成工作。
哈宁说:“这些选择通常是通过实践中的反复试验来做出的。” “这很难做到(因为这样做),因为有无数的选择,而且真的不知道什么是最好的。”
更好的方法是减少试验和错误,并对给定的神经网络体系结构能给您带来更多的了解。最近发表的一些论文已经朝着这个方向发展了。
“这项工作试图照原样开发设计正确的神经网络的食谱。如果您知道要从网络中实现的目标,那么这里就是该网络的秘诀。” Rolnick说。
关于神经网络体系结构的最早的重要理论保证之一是在三十年前。 1989年,计算机科学家证明,如果神经网络只有一个计算层,但是您允许该层具有无限数量的神经元,并且它们之间具有无限的连接,则该网络将能够执行您可能要求的任何任务它的。
这是一个笼统的陈述,事实证明它相当直观,但没有那么有用。这就像在说,如果您可以识别图像中无限多的线,则可以仅使用一层就可以区分所有对象。从原则上讲这可能是正确的,但在实践中祝您好运。
今天,研究人员将如此宽泛的扁平网络描述为“表达性”,这意味着它们在理论上能够捕获可能的输入(例如图像)和输出(例如图像的描述)之间的更丰富的连接。但是,这些网络很难训练,这意味着几乎不可能教他们如何实际产生这些输出。它们的计算量也比任何一台计算机都无法承受。
最近,研究人员一直在尝试了解它们可以将神经网络推向另一个方向–通过使它们更窄(每层更少的神经元)和更深(整体上更多的层)。因此,也许您只需要挑选100条不同的线,但是有了将这100条线变成50条曲线的连接,您可以将它们组合成10种不同的形状,从而为您提供识别大多数对象所需的所有构造块。
在去年完成的一篇论文中,麻省理工学院的Rolnick和Max Tegmark证明,通过增加深度和减小宽度,可以用更少的神经元执行相同的功能。他们表明,如果要建模的情况具有100个输入变量,则可以使用一层中的2 100个神经元或仅分布在两层中的2 10个神经元来获得相同的可靠性。他们发现,可以将小片段合并为更高的抽象级别,而不是尝试一次捕获所有抽象级别。
Rolnick说:“神经网络中的深度概念与您可以通过顺序执行许多简单操作来表达复杂内容的想法相关联。” “这就像一条装配线。”
Rolnick和Tegmark通过要求神经网络执行一个简单的任务:乘以多项式函数,证明了深度的实用性。 (这些只是方程式,其变量具有升至自然数指数的值,例如y = x 3 +1。)他们通过向网络展示方程式及其乘积的示例来训练网络。然后,他们要求网络计算以前从未见过的方程式的乘积。较深的神经网络所学习的任务要比浅层的神经元少得多。
Rolnick说,尽管乘法并不是要让世界着火的任务,但论文指出了一个重要观点:“如果浅层网络甚至无法进行乘法,那么我们就不应再以其他任何方式来信任它。”
其他研究人员一直在探索所需的最小宽度。 9月底,杰西·约翰逊(Jesse Johnson)曾在俄克拉荷马州立大学任数学家,现在在赛诺菲(Sanofi)制药公司任研究员,他证明,在一定程度上,没有任何深度可以弥补宽度的不足。
为了了解他的结果,想象一下田野里的绵羊,除了这些是朋克摇滚绵羊:它们的羊毛已经被染成几种颜色之一。您的神经网络的任务是在所有相同颜色的绵羊周围绘制边框。从本质上讲,此任务类似于图像分类:网络具有图像集合(它表示为高维空间中的点),并且需要将相似的图像分组在一起。
约翰逊证明,当层的宽度小于或等于输入数时,神经网络将无法完成此任务。因此,对于我们的绵羊,可以用两个输入来描述它们:x和y坐标以指定其在字段中的位置。然后,神经网络用颜色标记每只绵羊,并在相同颜色的绵羊周围绘制边框。在这种情况下,您将需要每层三个或更多神经元来解决问题。
更具体地说,约翰逊(Johnson)表明,如果宽度与可变比不正确,则神经网络将无法绘制闭环-如果所有的红羊都聚在一起,则网络将需要绘制这种环。一起在牧场中间约翰逊说:“如果任何一层都不比输入尺寸的厚度要厚,那么无论您添加多少层,功能都无法创建某些形状。”
约翰逊(Johnson)之类的论文开始建立起神经网络理论的基础。目前,研究人员只能对架构和功能之间的关系做出非常基本的声明,而这些声明与神经网络正在执行的任务数量不成比例。
因此,尽管神经网络理论不会在短期内改变系统的构建方式,但蓝图正在起草一种有关计算机如何学习的新理论的蓝图,该理论有望带给人类更大的反响。登月之旅。