神经网络学习的复杂性与优化策略
1. 引言
神经网络在现代机器学习中扮演着至关重要的角色。它具有强大的表达能力,能够描述在多项式时间内可高效实现的所有预测器的假设类,并且样本复杂度与网络规模呈多项式关系。然而,训练神经网络的计算复杂度却是一个棘手的问题。本文将深入探讨神经网络学习的运行时间、VC 维以及常用的训练算法,如随机梯度下降(SGD)和反向传播算法。
2. 神经网络的 VC 维
首先,我们来看看神经网络的 VC 维。假设存在 $m$ 个被打散的点,那么有 $\tau_H(m) = 2^m$,由此可得 $2^m \leq (em)^{|E|}$,进而推出 $m \leq |E|\log(em)/\log(2)$。
对于使用 sigmoid 函数 $\sigma$ 的神经网络类 $H_{V, E, \sigma}$,其 VC 维有一些有趣的性质。令人惊讶的是,$H_{V, E, \sigma}$ 的 VC 维下限为 $\Omega(|E|^2)$,即 VC 维是可调参数数量的平方。虽然也可以将其 VC 维上限界定为 $O(|V|^2 |E|^2)$,但证明超出了本文范围。在实际应用中,由于网络权重通常用 $O(1)$ 位的浮点数表示,通过离散化技巧,即使使用 sigmoid 激活函数,这类网络的 VC 维也为 $O(|E|)$。
3. 神经网络学习的运行时间
在之前的讨论中,我们知道具有多项式规模底层图的神经网络类能够表达所有可高效实现的函数,且样本复杂度与网络规模有良好的依赖关系。现在,我们来分析训练神经网络的时间复杂度。
研究表明,即使对于仅含 4 个隐藏层神经元的单隐藏层网络,实现关
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



