Fork me on GitHub

神经网络的表达能力

背景

人工神经网络(Artificial Neural Network)首次提出要追溯到上个世纪40年代,由于当时缺少有效的算法支撑,学界研究较为低迷。直到1984年,Hinton等人提出了反向传播算法(Backpropagation),才重新点燃了学界的研究热潮,开始训练多层(更深)神经网络。这时候神经网络就改头换面,有了一个更高大上的名字:深度学习(Deep learning)。深度学习的工程应用在工业界异常火热,但是理论基础在学界的研究却是滞后的,所以人送外号:“炼金术”。

神经网络有很多基本问题需要理论解答:

  • 为什么深度学习优于其他模型?泛化性能优于其他模型?
  • 为什么深度模型优于浅层模型?
  • 深度学习是否存在学习边界,即表达能力的极限在哪?
  • 为什么是深度学习,而不是宽度学习?
  • 数据分布在流形上,为什么深度学习直接使用欧式距离计算通常是有效的?

上面的开放问题有些已经有接近的答案。

第一部分 Universal Approximation Theorem

在人工神经网络领域的数学观点中,「通用近似定理 (Universal approximation theorem,一译万能逼近定理)」指的是:如果一个前馈神经网络具有线性输出层和至少一层隐藏层,只要给予网络足够数量的神经元,便可以实现以足够高精度来逼近任意一个在 \mathbb{R}^nRn 的紧子集 (Compact subset) 上的连续函数。

这一定理表明,只要给予了适当的参数,我们便可以通过简单的神经网络架构去拟合一些现实中非常有趣、复杂的函数。这一拟合能力也是神经网络架构能够完成现实世界中复杂任务的原因。尽管如此,此定理并没有涉及到这些参数的算法可学性 (Algorithmic learnablity)。

通用近似定理用数学语言描述如下:

令 $\varphi$ 为一单调递增、有界的非常数连续函数。记 $m$ 维单元超立方体 (Unit hypercube) $[0,1]^{m}$ 为 $I_{m},$ 并记在 $I_{m}$ 上 的连续函数的值域为 $C\left(I_{m}\right)$ 。则对任意实数 $\epsilon>0$ 与函数 $f \in C\left(I_{m}\right),$ 存在整数 $N_{\text {、常数 }} v_{i}, b_{i} \in \mathbb{R}$ 与向量 $w_{i} \in \mathbb{R}^{m}(i=1, \ldots, n),$ 使得我们可以定义 :
$$
F(x)=\sum_{i=1}^{N} v_{i} \varphi\left(w_{i}^{T} x+b_{i}\right)
$$
为 $f$ 的目标拟合实现。在这里, $f$ 与 $\varphi$ 无关,亦即对任意 $x \in I_{m},$ 有:
$$
|F(x)-f(x)|<\epsilon
$$
因此, 形为 $F(x)$ 这样的函数在 $C\left(I_{m}\right)$ 里是稠密的。替换上述 $I_{m}$ 为 $\mathbb{R}^{m}$ 的任意紧子集,结论依然成立。

在 1989 年,George Cybenko 最早提出并证明了这一定理在激活函数为 Sigmoid 函数时的特殊情况。那时,这一定理被看作是 Sigmoid 函数的特殊性质。但两年之后,Kurt Hornik 研究发现,造就「通用拟合」这一特性的根源并非 Sigmoid 函数,而是多层前馈神经网络这一架构本身。当然,所用的激活函数仍然必须满足一定的弱条件假设,常数函数便是显然无法实现的。

https://www.jiqizhixin.com/articles/2019-02-21-12

https://zhuanlan.zhihu.com/p/64802339

https://iphysresearch.github.io/blog/post/ml_notes/liweiwang_dl_from_theory_to_algorithm/

https://blog.csdn.net/KeEN_Xwh/article/details/113478160

http://neuralnetworksanddeeplearning.com/chap4.html

第四部分 总结

1、数据流形中数据采样充分的时候,模型的训练效果较好

2、深度学习有效的重要假设前提是数据流形的训练数据是充分采样的。

参考文献及资料

0%