超宽深度网络和神经正切核 Ultra-Wide Deep Nets and Neural Tangent Kernel (NTK)

(也发布在 at CMU ML.)

作者:Wei Hu and Simon Du

机器学习的传统观点认为,在训练误差和泛化差距之间要进行谨慎的权衡。模型的复杂性存在一个“最佳点”,因此模型(i)足够大,可以实现合理良好的训练误差,而模型(ii)足够小,可以泛化差距-测试误差和训练误差之间的差-可以控制。较小的模型会产生较大的训练误差,而使模型变大则会导致较大的泛化差距,两者都会导致较大的测试误差。当模型复杂度变化时,这可以通过测试误差的经典U形曲线来描述(见图1(a))。

但是,如今很常见的是使用高度复杂的过参数化模型,例如深度神经网络。通常对这些模型进行训练,以在训练数据上实现接近零的误差,但是它们仍然在测试数据上具有出色的性能。Belkin等。(2018年)通过“双重下降”曲线对这一现象进行了描述,该曲线扩展了经典的U形曲线。可以观察到,随着模型复杂度增加到可以完全拟合训练数据的程度(即达到插值制度),测试误差继续下降!有趣的是,最好的测试误差通常是通过最大的模型实现的,这与关于“最佳点”的经典直觉背道而驰。下图来自Belkin等人。(2018) 说明了这种现象。

图1.模型复杂性增加对泛化的影响:传统观点与实际实践。

因此,有人怀疑深度学习中使用的训练算法((随机)梯度下降及其变体)以某种方式隐含地限制了训练网络的复杂性(即参数的“真实数量”),从而导致了较小的概括差距。

由于较大的模型在实践中通常可以提供更好的性能,因此人们自然会感到奇怪:

无限宽的网络表现如何?

这个问题的答案对应于图1(b)的右端。这篇博客文章讲述的是一种在过去一年中引起了广泛关注的模型:深度学习中的宽度(即卷积过滤器中的通道数或完全连接的内部层中的神经元数)趋于无穷大。乍一看,这种方法对于从业者和理论家来说似乎都是无望的:世界上所有的计算能力不足以训练无限的网络,理论家已经全力以赴地试图找出有限的网络。但是在数学/物理学中,有一种传统,就是通过在无穷大的范围内研究问题来得出对问题的见解,实际上,无穷大的限制对于理论也变得更加容易。

专家们可能还记得,Neal(1994)于25年前就提出了无限宽的神经网络与核方法之间的联系,以及Lee等人最近的扩展(2018)Matthews等。(2018)。这些内核对应于无限宽的深度网络,其所有参数都是随机选择的,并且只有顶层(分类)通过梯度下降进行训练。具体来说,如果f(θ ,x)表示输入x上网络的输出,其中θ表示网络中的参数,W是θ上的初始化分布(通常为具有适当缩放比例的高斯分布),则相应的内核为 其中X,X′ 是两个输入。

所有层都经过训练时,更常见的情况又如何呢?最近,Jacot等人。(2018)首先观察到这也与名为神经正切核(NTK)的核有关,其形式为

NTK和先前提出的内核之间的主要区别在于,NTK是通过网络输出相对于网络参数的梯度之间的内积来定义的。该梯度来自梯度下降算法的使用。粗略地说,对于通过梯度下降训练的足够宽的深度神经网络,可以得出以下结论:


具有无限小步长(又称梯度流)的梯度下降训练的适当随机初始化的,足够宽的深度神经网络等效于具有确定性的核回归预测器,该核称为神经正切核(NTK)

Jacot等人的原始论文或多或少建立了这一点(2018),但他们要求每一层的宽度都必须按顺序达到无穷大。在我们与Sanjeev Arora,Li Zhiyuan Li,Ruslan Salakhutdinov和Wang Ruong 的最新论文中,我们将此结果改进为非渐近设置,其中每层的宽度仅需要大于某个有限阈值。

在本文的其余部分中,我们将首先解释NTK的产生方式以及广泛的神经网络和NTK之间的等效性证明背后的思想。然后,我们将提供实验结果,以显示无限宽的神经网络在实践中的表现。

神经正切核如何出现?

现在,我们描述训练超宽的全连接神经网络如何导致NTK的内核回归(kernel regression)。我们的论文中给出了更详细的处理。我们首先指定我们的设置。我们考虑标准监督学习环境,在此我们给出 ñ 训练数据点从某些基础分布中得出,并希望找到一个给定输入x的函数预测标签y关于数据分配的问题。我们考虑由f(θ ,x)定义的全连接神经网络,其中θ是网络中所有参数的集合,x是输入。为简单起见,我们仅考虑具有单个输出的神经网络,即f(θ ,X )∈ [R,但是将其推广到多个输出非常简单。

我们考虑通过最小化训练数据的二次损失来训练神经网络: 。 与无穷小的学习率(又名梯度流)梯度下降被施加在这个损失函数, 其中θ(t)表示时间t的参数。

让我们定义一些有用的符号。,这是网络在x_i上的输出。我们让是所有训练输入上网络输出的集合。我们使用时间索引t对于所有取决于时间的变量,例如用这种表示法,训练目标可以方便地写为

通过简单的微分,可以得到u(t)的动态变化。如下:(参见我们的论文的证明) , H(t)是一个n×n的正半定矩阵,其(i,j)个元素是类似于

注意H(t)是以下(随时间变化的)内核ker的内核矩阵训练数据评估:。 在此内核中,输入x被映射到特征向量通过网络输出相对于时间t的参数的梯度定义。

大宽度限制

到目前为止,我们还没有使用神经网络非常广泛的特性。u(t)的变化公式通常是有效的。在大宽度的限制条件中,事实证明时变内核(很有可能)总是接近确定性固定核,这是神经切线核(NTK)。此属性分两步证明,都需要大宽度假设:

  1. 步骤1:在随机初始化时收敛到NTK。假设初始化时的网络参数(t=0),θ(0),例如高斯分布。然后在适当的缩放比例下,对于任何输入对x,x′,可以证明随机变量ker_0(x ,x′),这取决于随机初始化θ(0),概率收敛到确定性值,在大宽度限制中。

    (从技术上讲,如何定义大宽度限制有一个微妙之处.Jacot等人(2018)给出了一个顺序限制的证明,其中每一层的宽度一一无限地变为无限大。后来Yang(2019)考虑了所有宽度都以相同的速率达到无穷大的设置。我们将其改进为非渐近设置,即我们仅要求所有图层的宽度都大于有限阈值(这是最弱的极限概念)。

  2. 步骤2:训练期间内核的稳定性。此外,内核几乎不变的训练,即在对于所有t。其背后的原因是在训练过程中重物不会移动太多,即当宽度。直观地讲,当网络足够宽时,每个单独的砝码只需移动很小的量即可使网络输出发生不可忽略的变化。当通过梯度下降训练网络时,这是正确的。

结合以上两个步骤,我们得出结论:对于任何两个输入x,x′,我们就有 。 如我们所见,梯度下降的动态变化与时变核ker密切相关。。现在我们知道与NTK基本相同,仅需更多步骤,我们最终可以建立训练后的神经网络与NTK之间的等价关系:t=∞时的最终学习型神经网络,用f表示,对于NTK 等效于内核回归解决方案。即,对于任何输入x我们有 , 其中是一个n×n矩阵(i,j)个条目是

(为了在内核回归解决方案中没有偏项,我们还假设初始化时的网络输出很小:; 这可以通过以下方式来确保:例如,通过将初始值减小一个大常数,或在初始化时在顶层复制具有相反符号的网络。

无限宽的神经网络在实践中表现如何?

建立了等价关系之后,我们现在可以解决无限宽的神经网络在实践中的表现如何的问题-我们只需使用NTK评估内核回归预测变量即可!我们在标准图像分类数据集CIFAR-10上测试NTK。请注意,对于图像数据集,需要使用卷积神经网络(CNN)才能获得良好的性能。因此,我们导出了NTK 卷积神经正切内核(CNTK)的扩展,并测试了它们在CIFAR-10上的性能。在下表中,我们报告了不同CNN和CNTK的分类准确性:

在这里,CNN-V是 vanilla practically-wide CNN(无池化),而CNTK-V是它们的NTK版本。我们还测试了具有全局平均池global average pooling (GAP)的CNN,以上表示为CNN-GAP,以及与它们对应的NTK CNTK-GAP。对于所有实验,我们关闭批处理规范化,data augmentation等功能,并且仅使用SGD来训练CNN(对于CNTK,我们使用核回归的封闭式公式)。

我们发现CNTK实际上是非常强大的内核。我们发现最好的内核,即带有GAP的11层CNTK,在CIFAR-10上达到了77.43%的分类精度。这为在CIFAR-10上基于纯内核的方法的性能提供了一个重要的新基准,比Novak等人报道的方法高10%(2019)。CNTK的表现也类似于CNN。这意味着超宽的CNN可以在CIFAR-10上实现合理的测试性能。

有趣的是,全局平均池化操作可以显着提高CNN和CNTK的分类准确性。从这个观察中,我们怀疑许多改善神经网络性能的技术在某种意义上是通用的,即,这些技术也可能有益于内核方法。

结论思想

理解超参数化深度神经网络令人惊讶的良好性能绝对是一个具有挑战性的理论问题。现在,至少我们对一类超宽神经网络有了更好的理解:它们被神经切线内核所吸引!仍然存在的障碍是,经典的内核泛化理论仍然无法为泛化提供现实的界限。但是至少我们现在知道,对内核的更好理解可以导致对深度网络的更好理解。

另一个富有成果的方向是将神经网络的不同体系结构/技巧引入到内核中,并检查其实际性能。我们发现全局平均池可以显着提高内核的性能,因此我们希望诸如批处理规范化,dropout,最大池化等其他技巧也可以使内核受益。同样,人们可以尝试将其他结构(例如递归神经网络,图神经网络和转换器)引入到内核中。

我们的研究还表明,无限宽网络与有限网络之间存在性能差距。如何解释这一差距是一个重要的理论问题。

附:谷歌对NTK的实现(链接),可直接调用。

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值