如今,人工智能几乎出现在我们生活的方方面面。智能手机、社交媒体源、推荐引擎、在线广告网络和导航工具都是基于人工智能应用程序的例子,它们影响着我们的日常生活。
深度学习一直在系统地提高语音识别、自动驾驶、机器翻译和视觉对象识别等领域的技术水平。量子力学之父之一、自艾萨克·牛顿爵士以来最伟大的英国物理学家保罗·狄拉克曾说,使用“数学推理方法”的物理学进步将:
……使人能够推断出尚未进行的实验的结果。没有任何逻辑上的理由说明[…]方法应该是可行的,但人们在实践中发现它确实有效,并取得了成功。这必须归因于自然界的一些数学性质,一种自然的旁观者不会怀疑的性质,但它在自然界中扮演着重要的角色。
保罗·狄拉克
历史上有很多例子表明,纯粹抽象的数学概念最终导致了强大的应用,远远超出了它们的开发环境。这篇文章就是关于这些例子中的一个。
最近,我对深度学习、纯数学和物理之间的联系特别感兴趣。这篇文章提供了来自数学分支(数学分析)的强大技术的例子。我的目标是用严谨的数学结果来证明,至少在某些方面,为什么深度学习方法如此有用。
一个美丽的定理
在这一节中,我将论证人工神经网络如此强大的原因之一与神经元输出的数学形式密切相关。
爱因斯坦的手稿
我将用一个著名的定理来证明,这个定理最初是由两位俄罗斯数学家在50年代后期证明的,即所谓的柯尔莫戈罗夫-阿诺德表示定理。
希尔伯特的第13个问题
1900年,20世纪最有影响力的数学家之一大卫·希尔伯特提出了一系列著名的问题,有效地设定了20世纪数学研究的进程。柯尔莫戈洛夫-阿诺德表示定理与著名的希尔伯特问题有关,所有这些问题都对20世纪的数学产生了巨大的影响。
与神经网络建立联系
考虑n个变量的函数可以表示为单一变量的两个函数的和和组合的组合的可能性,更具体地说:
这里,η和λp都是实数。需要注意的是,这两个单变量函数是 Φ 和 ϕ可以具有高度复杂的(分形)结构。
柯尔莫戈洛夫(1957)、阿诺德(1958)和斯普雷彻(1965)的三篇文章证明了多元函数一定可以用单元函数表示。
然后呢?
现在,你可能会想,一个50年代和60年代的深奥定理怎么会与人工神经网络等尖端算法扯上一点关系呢?
在一个神经网络的每个节点计算的表达式是其他函数的组合,在这种情况下,就是所谓的激活函数。这种组合的复杂程度取决于包含节点的隐含层的深度。例如,第二层隐含层中的一个节点执行如下计算:
w是权重,b是偏差。让我们用Python快速写下一个仅用于正向传播的函数,它输出神经元执行的计算。下面的函数代码有以下步骤。
第一行,第一个激活函数ϕ作用于给出的第一个线性步骤:
x0.dot(w1) + b1
第二行,第二个激活函数作用于第二个线性步骤:
y1.dot(w2) + b2
第三行,神经网络的最后一层使用softmax函数,作用于第三个线性步骤:
y2.dot(w3) + b3
完整代码为:
为了将其与上面的表达式进行比较,我们这样写:
y2 = phi(phi(x0.dot(w1) + b1).dot(w2) + b2)
连接两个世界
因此,我们认为,柯尔莫戈洛夫、阿诺德和斯普雷彻证明的结果表明,神经网络的输出只是函数的重复组合,它可以表示任何多元函数。这在一定程度上解释了为什么神经网络在这么多领域都能很好地工作。换句话说,神经网络的泛化能力,至少在某种程度上,是柯尔莫戈罗夫-阿诺德表示定理的结果。
领取专属 10元无门槛券
私享最新 技术干货