计算神经网络的 VC 维数

机器算法验证 机器学习 神经网络 算法 vc-维度
2022-03-16 07:13:38

如果我有一些固定的非循环 (DAG) 拓扑(固定的节点和边集,但学习算法可以改变边上的权重)的 sigmoid 神经元n只能输入字符串的输入神经元{1,1}n作为输入并导致一个输出(输出一个实际值,如果它与 0 相距某个固定阈值,我们将其向上取整为 1 或向下取整为 -1)。有没有什么快速的方法来计算(或近似)这个网络的 VC 维度?


笔记

我在 CS.SE 上询问了一个稍微更精确的算法重新表述:

有效计算或逼近神经网络的 VC 维

2个回答

我在寻找计算神经网络 VC 维度的通用公式时偶然发现了您的帖子,但显然没有。显然,我们只有一堆不同的 VC 方程,它们只适用于某些狭窄的情况。警告:我是基于我几乎不了解的旧研究,基于 VC 维度的概念,我现在才了解它。尽管如此,还是值得浏览一下 Peter L. Bartlett 和 Wolfgang Maass 的这篇论文1关于VC维数的可计算性。请注意他们如何竭尽全力推导出 13 个定理中的 VC 公式,但每个定理的必要条件是多么的多样和众多。这些先决条件的范围从激活函数中的算子数量到允许的跳转类型、神经元的数量及其位置、输入的位深度等;这些分散的“陷阱”太多了,以至于它们使公式仅对某些狭窄类别的问题有用。更糟糕的是,他们在定理 5 和 8 中指出,Sigmoid 激活函数特别难以计算 VC 数字。在第 6-7 页,他们写道:

“虽然具有分段多项式激活函数的网络的 VC 维很容易理解,但神经网络的大多数应用都使用逻辑 sigmoid 函数或高斯径向基函数。不幸的是,不可能使用有限数量的定理 5 中列出的算术运算。然而,Karpinski 和 Macintyre [Karpinski and Macintyre, 1997] 扩展了定理 5 以允许计算指数。证明使用相同的思想,但方程组解数的界限是困难得多。”

我还看到了这篇论文,标题是“Bounding VC-Dimension for Neural Networks: Progress and Prospects”。2很多数学都在我头上,我没有浏览足够长的时间来克服我缺乏翻译技能的问题,但我怀疑它没有提供任何惊天动地的解决方案,因为它早于 Bartlett 书的第二版和 Maass,他们引用了同一作者后来的作品。也许过去 20 年的后期研究提高了神经网络 VC 维度的可计算性,但我发现的大多数参考资料似乎都可以追溯到 90 年代中期;显然,当时有一系列关于这个主题的工作,但后来已经消失了。如果最近的学术研究没有将这些能力扩展到远远超出 90 年代的水平,那么我希望有人能尽快提出更广泛适用的解决方案,这样我也可以开始在我的神经网络上计算 VC 维度。对不起,我不能

1 Bartlett, Peter L. 和 Maass, Wolfgang, 2003, “Vapnik-Chervonenkis Dimension of Neural Nets,” pp. 1188-1192 in The Handbook of Brain Theory and Neural Networks, Arbib, Michael A. ed。麻省理工学院出版社:马萨诸塞州剑桥。

2 Karpinski, Marek and Macintyre, Angus, 1995,“Bounding VC-Dimension for Neural Networks: Progress and Prospects”,第 337-341 页,第 2 届欧洲计算学习理论会议论文集,西班牙巴塞罗那。维坦尼,P. ed。人工智能讲义,第 904 期。斯普林格:柏林。

这是最新的作品:http: //jmlr.org/papers/v20/17-612.html

基本上,一个网络与W权重,L层,relu 激活如下:

cWLlog(W/L)dCWLlog(WL)
对于一些常数cC, 和 VC 维度d.

鉴于这项工作的有效性,我认为它提供了方便的界限。不过,我不确定边界的紧密度(尤其是常数cC) 因为我还没有完全阅读它。