【导读】神经网络是个“黑匣子”,我们尚未对它为什么能得到优秀的结果有很好的解释。但是现在各个领域的科研学者们慢慢开始探索神经网络的理论基础,相信不久的将来我们会解开神经网络“黑匣子”的神秘面纱。
作者 | Kevin Hattnett
编译 | Xiaowen
神经网络可以像它们强大的那样无法预测。现在,数学家们开始解释神经网络的形式将如何影响其功能。
当我们设计一座摩天大楼时,我们预计它将符合规格要求:该塔将支撑多重的重量并能够承受一定强度的地震。
但是,凭借现代世界最重要的技术之一,我们才能有效地建立“盲盒”(blind)。我们使用不同的设计,修改不同的设置,但在我们将其用于测试运行之前,我们并不真正知道它可以做什么或它可能会失败的地方。
这项技术是神经网络,它支撑着当今最先进的人工智能系统。越来越多的神经网络正在进入社会的核心领域:它们通过我们的社交媒体信息确定我们对世界的了解,它们帮助医生诊断疾病,甚至影响被判犯罪的人是否会在监狱中度过。
然而,“我们所知道的是,我们对神经网络的实际运作方式几乎一无所知,以及真正具有洞察力的理论是什么,” 德克萨斯A&M大学的数学家,Facebook AI Research的访问科学家Boris Hanin如是说。
他将这种情况比作另一种革命性技术的发展:蒸汽机。起初,蒸汽机不比抽水更好。但是之后他们为列车提供动力,这可能是神经网络达到的复杂程度。然后科学家和数学家发展了热力学理论,让他们准确理解任何类型的发动机内部发生了什么。最终,这些知识将我们带到了月球。
“首先你有很棒的工程,而且你有一些很棒的火车,然后你需要一些理论上的理解才能去造火箭。” Hanin说。
在庞大的神经网络发展社区中,有一小群具有数学意识的研究人员正试图建立神经网络理论 - 这可以解释它们如何工作并保证如果你以规定的方式构建神经网络,它将能够执行某些任务。
这项工作仍处于早期阶段,但在去年,研究人员已经发表了几篇论文,阐述了神经网络中形式与功能之间的关系。
神经网络的目的是模仿人类的大脑 - 思考大脑的一种方法是通过将较小的抽象吸引到较大的大脑来实现。在这个视图中,思维的复杂性可以通过绘制的较小抽象的范围来衡量,以及可以将较低级抽象结合到更高级抽象中的次数 - 就像我们学习区分狗和鸟的方式一样。
“对于一个人来说,如果你正在学习如何识别一条狗,你就会学会识别四条腿,蓬松的毛发” 康奈尔大学计算机科学博士生,Google Brain成员Maithra Raghu说。“理想情况下,我们希望我们的神经网络可以做同样的事情。”
对人类大脑来说很自然。与大脑一样,神经网络由称为“神经元”的构建块组成,这些构建块以各种方式连接。(神经网络中的神经元受到大脑中神经元的启发,但不直接模仿它们。)每个神经元可能代表网络在每个抽象层次上考虑的属性或属性组合。
将这些神经元连接在一起时,工程师可以做出很多选择。他们必须决定网络应该有多少层神经元(或者它应该有多“深”)。例如,考虑一个神经网络,其任务是识别图像中的对象。图像在第一层进入系统。在下一层,网络可能有神经元,只是检测图像中的边缘。下一层组合线以识别图像中的曲线。然后下一层将曲线组合成形状和纹理,最后一层处理形状和纹理,以得出它正在看什么的结论:猛犸象!
“我们的想法是,每一层都结合了前一层的几个方面。圆圈是许多不同的曲线,曲线是许多不同的线条,“ 宾夕法尼亚大学数学家大卫·罗尼克说。
工程师还必须决定每个层的“宽度”,这对应于网络在每个抽象级别考虑的不同特征的数量。在图像识别的情况下,层的宽度将是它在每个级别考虑的线,曲线或形状的类型的数量。
除了网络的深度和宽度之外,还有关于如何连接层内和层之间的神经元以及为每个连接提供多少权重的选择。
因此,如果你有一个特定的任务,你如何知道哪种神经网络架构能够最好地完成它?有一些广泛的经验法则。对于与图像相关的任务,工程师通常使用卷积神经网络,其特征在于反复重复的层之间的相同连接模式。对于自然语言处理 - 如语音识别或语言生成 - 工程师发现循环神经网络似乎效果最好。在这之中,神经元可以连接到非相邻层。
然而,除了这些一般指导原则,工程师在很大程度上还是要依赖实验证据:他们运行1000个不同的神经网络,并简单地观察哪一个完成了工作。
“这些选择通常是通过实践中的反复试验来实现的,” Hanin说。“这是一种艰难的[做到这一点的方式],因为有无数的选择,而且真的不知道什么是最好的。”
更好的方法是尝试更少的试验和错误,以及对给定神经网络架构带给您的更多前期理解。最近发表的一些论文将这一领域推向了这个方向。
“这项工作试图开发出一种用于设计正确神经网络的食谱。如果你知道你想要从网络中实现什么,那么这就是该网络的配方,“Rolnick说。
这个陈述结果证明是相当直观的,并没有那么有用。这就像说,如果你可以识别图像中无限数量的线条,则可以仅使用一个图层来区分所有对象。原则上这可能是真的,但在实践中实施……祝好运。
今天的研究人员将这种宽广的扁平网络描述为“富有表现力”,这意味着它们理论上能够在可能的输入(例如图像)和输出(例如图像描述)之间捕获更丰富的连接。然而,这些网络极难训练,这意味着几乎不可能教他们如何实际产生这些输出。它们的计算密集程度也超过任何计算机都可以处理的程度。
最近,研究人员一直试图了解他们能够在多大程度上将神经网络推向另一个方向 - 通过使它们更窄(每层神经元更少)和更深(整体层数更多)。因此,你可能只需挑选出100条不同的线条,但可以将这100条线条连接成50条曲线,可以将它们组合成10种不同的形状,这些形状可以为你提供识别大多数物体所需的所有构建块。
在去年完成的一篇论文中,麻省理工学院的Rolnick和Max Tegmark证明,通过增加深度和减小宽度,你可以用指数级更少的神经元执行相同的功能。他们表明,如果你正在建模的情况有100个输入变量,你可以使用一层中的2 100个神经元或仅在两层上分布的2 10个神经元获得相同的可靠性。他们发现,在获取较小的抽象级别并将它们组合在一起,而不是试图一次性捕获所有级别的抽象更有能力。
“神经网络中的深度概念与你可以通过顺序完成许多简单的事情来表达复杂的想法有关,”Rolnick说。“这就像一条流水线。”
Rolnick和Tegmark通过要求神经网络执行一项简单的任务证明了深度的效用:乘法多项式函数。(这些只是将变量引入自然数指数的方程式,例如y = x 3+ 1.)他们通过展示方程式及其乘积的例子来训练网络。然后他们要求网络计算他们以前从未见过的方程式的乘积。更深入的神经网络学习的任务远远少于浅层神经元。
虽然乘法并不是一个让世界烦恼的任务,但Rolnick说这篇论文提出了一个重要的观点:“如果一个浅层的网络甚至不能进行乘法运算,那么我们就不应该相信它。”
其他研究人员一直在探测所需的最小宽度。9月底,曾任俄克拉荷马州立大学数学家,现任制药公司赛诺菲研究员的杰西约翰逊证明,在某一点上,没有多少深度可以弥补宽度的不足。
为了了解他的结果,想象一下田地里的绵羊,有些是朋克摇滚羊:他们的羊毛被染成了几种颜色中的一种。神经网络的任务是在所有相同颜色的绵羊周围绘制边框。在精神上,这个任务类似于图像分类:网络有一组图像(它表示为高维空间中的点),它需要将相似的图像组合在一起。
约翰逊证明,当层的宽度小于或等于输入数时,神经网络将在此任务中失败。因此,对于我们的绵羊,每个都可以用两个输入来描述:x和y坐标以指定它在场中的位置。然后神经网络用颜色标记每只绵羊并在相同颜色的绵羊周围绘制边界。在这种情况下,每层需要三个或更多神经元才能解决问题。
更具体地说,约翰逊表明如果宽度与变量之比关闭,神经网络将无法绘制闭环 。“如果没有任何一层比输入尺寸的数量更厚,那么无论你添加了多少层,这些功能都将永远无法创建,”约翰逊说。
约翰逊这样的论文正在开始构建神经网络理论的雏形。目前,研究人员只能对建筑与功能之间的关系提出非常基本的主张 - 而这些主张与神经网络所承担的任务数量的比例很小。
因此,虽然神经网络的理论不会改变系统很快建立的方式,但蓝图正在起草一个关于计算机如何学习的新理论 - 一个准备带人类去旅行的家伙,其影响甚至比登上月球还大。
-END-
专 · 知
专知《深度学习:算法到实战》课程全部完成!470+位同学在学习,现在报名,限时优惠!网易云课堂人工智能畅销榜首位!
请加专知小助手微信(扫一扫如下二维码添加),咨询《深度学习:算法到实战》参团限时优惠报名~
欢迎微信扫一扫加入专知人工智能知识星球群,获取专业知识教程视频资料和与专家交流咨询!
请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料!
点击“阅读原文”,了解报名专知《深度学习:算法到实战》课程