欢迎访问一起赢论文辅导网
本站动态
联系我们
 
 
 
 
 
 
 
 
 
 
 
QQ:3949358033
微信:paperwinner
工作时间:9:00-24:00
机械论文
当前位置:首页 > 机械论文
深度神经网络具有内置的奥卡姆剃刀
来源:一起赢论文网     日期:2025-01-22     浏览数:153     【 字体:

 过度参数化深度神经网络 (DNN) 的卓越性能必须源于网络架构、训练算法和数据结构之间的相互作用。为了解开监督学习的这三个组成部分,我们根据 DNN 表示的函数应用贝叶斯图片。先验函数由网络架构决定,我们通过利用有序和混沌机制之间的过渡来改变它。对于布尔函数分类,我们使用函数对数据的误差谱来近似似然。将其与先验结果相结合,可以得出对后验的准确预测,该预测针对使用随机梯度下降训练的 DNN 进行测量。该分析表明,结构化数据以及对 (Kolmogorov) 简单函数的特定奥卡姆剃刀状归纳偏差,恰好抵消了具有复杂性的函数数量的指数增长,是 DNN 成功的关键。

 
其他人正在查看类似内容
 
高效的浅层学习作为深度学习的替代方案
文章 开放获取 20 四月 2023
 
将人工神经网络中分层结构的度量与其性能相关联
文章 开放获取 01 十月 2024
 
分段线性神经网络和深度学习
报道 2022-6-09
介绍
尽管深度神经网络 (DNN) 已经彻底改变了现代机器学习1,2,关于它们为什么表现如此出色的基本理论理解仍然难以捉摸3,4.它们最令人惊讶的特点之一是它们在过度参数化的情况下效果最好,参数比数据点多得多。正如那句著名的俏皮话所表达的那样:“用四个参数我可以装下一头大象,用五个参数我可以让他摆动他的鼻子。”(恩里科·费米 (Enrico Fermi) 归功于约翰·冯·诺伊曼 (John von Neumann)5),人们普遍认为参数过多会导致过度拟合:模型会捕获噪声或数据的其他无关紧要的方面,因此预测效果不佳。
 
在统计学习理论中6这种直觉在模型容量方面被形式化。重要的不仅仅是参数的数量,而是模型可以表达的假设集的复杂性。对最佳性能的追求通常以偏差-方差权衡来表示。过于简单的模型会因偏差而引入误差;他们无法捕获生成数据的底层进程。过于复杂的模型对数据的随机波动反应过度,从而导致其预测出现差异。
 
DNN 是出了名的高表达力7、8、9,即它们具有极高的容量。因此,他们的泛化能力似乎打破了统计学习理论的基本规则。在没有明确正则化的情况下,DNN 究竟是如何实现这一壮举的,这是一个几十年来一直悬而未决的基本问题3,4.尽管最近取得了很多进展(有关文献概述,请参阅补充说明 1),但对于为什么 DNN 在过度参数化状态下工作得如此好,尚未达成共识。
 
在这里,我们在用于分类的监督学习的背景下研究这个难题,其中输入 x我附加到标签 y我.给定一个由m个输入-输出对组成的训练集\(S={\{\left.\right({x}_{i},{y}_{i}\}}_{i=1}^{m}\),从数据分布\({{{\mathcal{D}}}}\)中采样,任务是在S上训练一个模型,使其在预测未见过输入的测试集T的输出标签\({\hat{y}}_{i}\)时表现良好(具有低泛化误差), 从 \({{{\mathcal{D}}}}\) 中采样。对于具有参数 \({{\Theta }}\subseteq {{\mathbb{R}}}^{p}\)(通常是权重和偏差)的 DNN \({{{\mathcal{N}}}}}}({{\theta }}\)\)(通常是权重和偏差),训练集的准确性可以通过损失函数 \(L({\hat{y}}_{i},{y}_{i})\) 来捕获,该函数测量输入 x 的接近程度我,则 DNN 的预测 \({\hat{y}}_{i}\) 是真实标签 y我.训练通常是通过随机梯度下降 (SGD) 的某种变体完成的,它使用 \(L({\hat{y}}_{i},{y}_{i})\) 的导数来调整参数 Θ,以最大限度地减少 S 上的损失。由于 DNN 的表达能力非常强,并且由于 SGD 通常是 DNN 的高效优化器,因此 S 上的(接近)零训练误差(阈值后所有正确的标签)通常可实现7.
 
函数和感应偏置
对于分类,为什么过度参数化的 DNN 不会过度拟合的问题可以方便地用函数来表示。对于给定的训练集 S 和测试集 T,可以在受限域 S + T 上定义函数 f。f 的输入是 x我 ∈ S ∪ T,输出包括所有可能的标签集 \(\{{\hat{y}}_{i}\}\)。只有一个函数给出 true 标签 {y我}.对于一组给定的参数 Θ,DNN 表示一个特定的函数 f,该函数可以通过它在输入 x 上输出的标签来识别我 阈值后 ∈ S ∪ T。在可以实现零训练误差的假设下,函数只需通过它们在测试集 T 上的行为来区分。对于 C 类,有 N 个T = C∣T∣可能的函数 f 在训练集上误差为零,则这个数字通常大得难以想象。这些函数中的绝大多数都不会很好地泛化。由于 DNN 具有很强的表达能力,因此它们应该能够表示所有(或几乎所有)这些函数。过度参数化 DNN 性能的根本问题变成了归纳偏差的问题:为什么 DNN 在难以想象的大量 S 误差为零的函数中,会收敛到泛化效果很好的极小函数子集?在这里,我们将论证结构化数据和特定的奥卡姆剃刀般的归纳偏向于简单函数的结合,抵消了随着复杂性的增加而函数数量的指数增长,这有助于回答这个问题。
 
区分关于泛化的两个问题
我们在这里解决的主要问题是我们所说的泛化一阶问题 – 为什么大容量学习模型(例如 DNN)会泛化?– 归纳偏差如何让 DNN 打破经典学习理论的传统偏差-方差权衡期望的问题由来已久。例如,Leo Breiman 在 1995 年关于 NeurIPS 会议裁判的评论中就强调了这一点3(另见附录 A)谁通过问“为什么严重过度参数化的神经网络不过度拟合数据?虽然最初是为 DNN 制定的,但 DNN 的无限宽度限制可以简化为神经网络高斯过程 (NNGP)10、11、12或内核(如 Neural Tangent Kernel)13,激发了大量关于 GP 和内核的重要理论工作,参见例如,14,15 元.特别是,这些模型概括了有限宽度 DNN 的许多属性,包括在标准数据集(如 CIFAR1016,17 元.虽然这些方法是非参数的,但它们具有很高的容量,并且与 DNN 类似7,可以记忆随机数据14.对于小容量(或少于 DNN 数据点的参数),所有这些模型都表现出经典的偏差-方差权衡,在中等容量下具有最佳的泛化性能。但是,随着容量(或参数数量)的进一步增加,泛化误差会显著减小。这种现象称为双下降18在 DNN、内核和 GP 中观察到,说明了这些高容量模型如何偏离经典统计学习理论的传统智慧
 
与 DNN 相比,GP 和核的相对简单性使得能够根据核特征函数和特征值推导出泛化误差的解析估计15、19、20、21、22、23 元.当具有较大特征值的核特征函数与正在学习的目标函数非常吻合时,就会出现良好的泛化。因此,这些分析提供了一个定量测量,可以精确地衡量高容量内核的归纳偏差必须与学习任务的归纳偏差如何保持一致。然而,它们并没有对这些模型中归纳偏差的性质和起源提供更广泛的解释,也没有提供为什么它经常与它们训练的数据相匹配。这是我们在这里要尝试解决的大问题。
 
我们想将上面更广泛的一阶问题与更具体的二阶泛化问题区分开来——给定一个泛化能力相当好的高容量 DNN(例如,它解决了一阶过度参数化/大容量问题),我们能否了解如何进一步提高它的性能?——第二个问题对深度学习从业者至关重要:架构的变化, 超参数优化、数据增强等可以显著提高基本 Vanilla DNN 的性能。然而,这些调整和技巧是从大容量模型的基础开始的,该模型已经混淆了经典学习理论的期望。由于这两个问题有时会混为一谈,因此我们想预先强调,本文将重点介绍与所有高容量模型相关的一阶问题。更好地了解这个基本问题应该有助于构建有关进一步提高 DNN 性能的重要二阶问题。
 
学习布尔函数:模型系统
受到研究模型系统的启发3,4,我们首先研究全连接网络 (FCN) 如何学习布尔函数 f: {0, 1}n→ {0, 1},它们是计算机科学的关键研究对象。就像 Ising 模型对磁学的作用一样,这个简单但通用的模型使我们能够捕捉到过度参数化问题的本质,同时保持高度可处理性。对于大小为 n 的系统,有 2 个ninputs 和 \({2}^{{2}^{n}}\) 布尔函数。给定一个布尔目标函数 ft,DNN 在 m < 2 的子集 S 上训练ninputs,然后对由其余输入组成的测试集 T 提供预测。该系统的一个关键优势是,数据复杂性可以很容易地通过选择目标函数 ft.此外,该模型的可处理性使我们能够计算不同函数和目标的先验 P(f)、似然、P(S∣f) 和后验 P(f∣S),从而从中转换架构、训练算法和结构化数据的三方模式4变成教科书式的贝叶斯图景。
 
结果
用贝叶斯先验量化归纳偏差
先验函数 P(f) 是 DNN \({{{\mathcal{N}}}}({{\Theta }})\) 在参数初始化分布 P 上对参数进行随机采样时表示 f 的概率㩱(Θ):
 
$$P(f)=\int {\mathbb{1}}[{{{\mathcal{N}}}}({{\Theta }})==f]{P}_{{{{\rm{par}}}}}({{\Theta }})d{{\Theta }},$$ (1)
其中 \({\mathbb{1}}\) 是一个指示函数(如果其参数为 true,则为 1,否则为 0)。明确地说,如果神经网络 \({{{\mathcal{N}}}}({{\Theta }})\) 用参数 Θ 表示 f,否则为 0,则此项为 1。它在参考文献中显示。24对于 ReLU 激活函数,布尔系统的 P(f) 对 P 的不同选择不敏感㩱(Θ),并且它表现出 \(P(f)\lesssim {2}^{-a\tilde{K}(f)+b}\) 形式的指数偏差,指向描述复杂度较低的简单函数 \(\tilde{K}(f)\),这是真实(但不可计算的)柯尔莫戈洛夫复杂度的代理。我们会的,如 ref.24,使用 C 计算 \(\tilde{K}(f)\)LZ,来自 ref.25在 2n描述函数的 long bitstring,采用有序的 inputs 列表。其他复杂度度量给出类似的结果24,26 元,因此此特定选择没有任何基本内容。为了简化符号,我们将使用 K(f) 而不是 \(\tilde{K}(f)\)。在从参数到函数的映射中,P(f) 与 K(f) 的指数下降与算法信息论 (AIT) 编码定理一致27Inspired Simplicity 偏见25这适用于更广泛的输入-输出映射集。它在参考文献中争论道。24如果先验中的这种归纳偏差与结构化数据的简单性相匹配,那么它将有助于解释为什么 DNN 的泛化效果如此之好。然而,该作品的弱点,以及争论这种偏向于简单的作品票价:24,26,28,29,30,31,32,33,34,35 元,因为通常不可能显著改变这种对简单性的归纳偏差,因此很难最终证明产生良好性能的不是网络的其他属性。在这里,我们利用了 \(\tanh\) 激活函数的特殊性,它使我们能够显着改变 DNN 的归纳偏置。特别是,对于高斯 P㩱(Θ) 与标准差 σw,它被显示36,37 元那,就像σw增加,则过渡到混乱的政权。此外,最近证明 P(f) 的简单性偏差在混沌状态下变得更弱38(另见补充说明 3)。我们将利用这种行为来系统地改变先验函数上的归纳偏置。
 
在图 .1a, b 我们描述了在对具有 10 层和隐藏宽度 40 的 FCN 的参数进行随机采样时,在 n = 7 布尔系统的所有 128 个输入上定义的函数 f 的先验概率 P(f)(这对于该系统来说是可证明的完全表达的31) 和 \(\tanh\) 激活函数。P(f) 中的简单性偏差随着宽度的增加而变弱σw高斯 P㩱(σw) 增加。相比之下,对于 ReLU 激活,P(f) 的偏差几乎不随 σw(见图S3a) 的 S简单性偏差的减少对 DNN 泛化性能的影响如图 2 所示。1c 表示在大小为 m = 64 的训练集 S 上训练为零的 DNN,使用 advSGD(取自 ref.24),并在其他 64 个输入 x 上进行测试我 ∈ T.泛化误差(T 上错误预测的比例)随目标函数的复杂度而变化。尽管所有这些 DNN 都表现出简单性偏差,但较弱的偏差形式对应于对更简单目标的泛化明显较差(另请参见补充说明 10)。对于非常复杂的目标,这两个网络的性能都很差。作为参考,我们还展示了一个无偏的学习器,其中函数 f 是随机均匀选择的,附带条件是它们完全适合训练集 S。毫不奇怪,考虑到 264≈ 2 × 1019函数,则这个无偏学习器的性能并不比随机机会好。
 
图 1:函数和复杂性的先验。
图 1
a 先验 P(f) 表示 Nl具有 \(\tanh\) 次激活的层 FCN 生成 n = 7 个布尔函数 f,按单个函数的概率排序,从 10 生成8参数 Θ 在高斯 P 上的随机样本㩱(Θ),标准差为 σw= 1...8. 还比较了 ReLU 激活的 DNN。蓝色虚线表示 Zipf 定律先验24 \(P(f)=1/((128\ln 2)Rank(f))\)。b P(f) 与 LZ 复杂度 K 的关系(对于 (a) 中的网络。c无偏学习器(绿色)和\({\sigma }_{w}=1,8\,\tanh\)网络的泛化误差与目标函数的K的关系,advSGD训练到零误差24对于大小为 m = 64 的训练集 S 的交叉熵损失,对于 1000 次随机初始化。误差是根据剩余的 ∣T∣ = 64 个函数计算的。误差线是一个标准差(见图 1)。S17 表示此数据上的 PAC-Bayes 边界)。d、e、f 泛化误差与学习函数 LZ 复杂性的散点图,来自子图 (c) 中三个目标函数的 1000 次随机初始化。垂直虚线表示目标函数复杂度。黑色叉号表示 mode 函数。图顶部(侧面)的直方图显示训练后的后验概率与复杂度的函数关系,P新币(K∣S) (误差,P新币(εG∣S))。g 对于均匀随机采样 10,获得 LZ 复杂度 K 函数的先验概率 P(K)8与理论上的完美压缩器相比。90% 的概率质量位于垂直虚线的右侧,虚线表示对低 K 的外推。h P(K) 在 K 上相对均匀σw= 1 个系统,而 σw= 8 个网络。这些先验的巨大差异有助于解释 DNN 性能的显著变化。i σ 的 K-learning 限制的泛化误差w= 1, 8 个 DNN,对于无偏学习器,全部为 ∣S∣ = 100。εS是训练误差,εG是测试集上的泛化误差。垂直虚线是复杂度 Kt的目标。还比较了无偏学习者的标准可实现 PAC 和边际似然 PAC-Bayes 边界。在 104样品中,未找到 K ≲ 70 的溶液σw= 8 DNN,σ K ≳ 70 w= 1 DNN 的 DNN 中。
 
全尺寸图像
图 1 的散点图1d-f 更精细地描绘了 SGD 训练网络对三种不同目标函数的行为。对于每个目标,SGD 优化器的 1000 次独立初始化,初始参数取自 P㩱(σw)。绘制了 DNN 首次达到零训练误差时发现的每个函数的泛化误差和复杂性。由于有 2 个64可能的函数在训练集 S 上给出零误差,因此 DNN 在不同的随机初始化时收敛到许多不同的函数也就不足为奇了。对于σw= 1 个网络(其中 P(f) 类似于 ReLU 网络),最常见的函数通常比目标函数简单。相比之下,偏差较小的网络收敛于通常比目标更复杂的函数。随着目标本身变得更加复杂,两个泛化误差之间的相对差异会减小,因为对第一个网络的简单函数的强烈归纳偏差变得不那么有用。监督学习没有免费的午餐定理告诉我们,当对所有目标函数进行平均时,上述三个学习器的表现将同样糟糕39,40 元(另见补充说明 43)。
 
先验胜于复杂性
要理解为什么归纳偏向于简单的相对适度的变化会导致泛化性能的如此显着差异,我们需要另一个重要因素,即函数的数量如何随复杂性而变化。基本计数参数意味着复杂度为 K 的固定长度字符串的数量呈指数缩放为 2K 27.因此,随机选择的绝大多数函数将具有很高的复杂度。具有复杂度的函数数量的这种指数增长可以用更粗粒度的先验来捕获,即 DNN 在参数初始化函数 P 上对参数进行随机采样时表示复杂度 K 函数的概率 P(K)㩱(Θ),也可以用函数写成 \(P({K}^{{\prime} })={\sum }_{f\in {{{{\mathcal{H}}}}}_{{K}^{{\prime} }}}P(f)\),即所有复杂度为 \(\tilde{K}(f)={K}^{{\prime} }\) 的集合 \({{{{\mathcal{H}}}}}_{{K}^{{\prime} }}\) 的加权和。在图 .1 g P(K) 表示 10 的函数的均匀随机采样8使用 LZ 测度的样本,以及 \(P(K)={2}^{K-{K}_{max}-1}\) 在所有 2 上128≈ 3 × 1038功能(另见补充说明 9)。在 (h) 中,我们显示不是随机采样的函数的 P(K),而是从两个网络中采样的函数。随机采样函数(如 (g))和具有 σ 的网络之间存在巨大差异w= 1,其中 P(K) 几乎持平。这种行为源于一个有趣的事实,即 AIT 编码定理般的缩放24,25 元的先验 over 函数 \(P(f) \sim {2}^{-\tilde{K}(f)}\) 抵消 2K函数数量的增长
[返回]
上一篇:人工和生物神经网络中语言语境的增量积累
下一篇:通过原位反向传播训练全机械神经网络以进行任务学习