14.On the Decision Boundary of Deep Neural Networks

关于深度神经网络的决策边界

摘要

虽然深度学习模型和技术取得了很大的经验成功,但我们对许多方面成功来源的理解仍然非常有限。为了缩小差距,我们对训练数据和模型进行了微弱的假设,产生深度学习架构的决策边界。我们在理论上和经验上证明,对于二元情形和具有常用交叉熵的多类情况,神经网络的最后权重层收敛于在最后隐藏层的输出上训练的线性SVM。此外,我们从经验上证明,训练整个神经网络,而不是仅调整最后一个权重层,可以为最后一个权重层产生更好的偏置常数,这对于泛化非常重要。除了促进对深度学习的理解之外,我们的结果还有助于解决深度学习的广泛实际问题,例如灾难性遗忘和对抗性攻击。

 

引言

近年来,深度学习在各个领域取得了令人瞩目的成功[17]。它不仅提高了各种领域最先进方法的性能,如计算机视觉[16]和自然语言处理[8],它还使机器能够在特定任务中实现人工智能[25]。尽管经验上取得了很大的成功,但深度学习有时被批评为被用作黑盒[5],它指的是其经验方面与理论上对它的理解之间的明显差距[24]。

正如[24]所建议的,对深度学习的理解应该包括三个方面:1)表征能力,2)优化特征,3)泛化性能。在[28]中已经广泛而严格地讨论了深度学习的标正能力。就第二个方面而言,即随机梯度下降(SGD)的收敛性分析和所获得的极小值的性质,许多最近的研究已经得出了有希望的答案[12,21,7,26,29,20,3,4]。例如,[12]证明了[2]的猜想,将结果扩展到深度非线性神经网络,并显示不存在较差的局部最小值。[22]也表明,在给定合理假设的情况下,所有局部最小值都是全局最优的。[3,4]证明了SGD在输入分布假设下的收敛性。

至于泛化问题,研究仍处于初期阶段。通过系统实验,[28]表明虽然明确的正则化,如权重衰减和dropout,可能有所帮助,但SGD的隐式正则化可能是泛化问题的关键。遵循该方向,[4]为线性可分数据提供了过参数化网络的泛化保证,这些数据由SGD训练。[27]表明,对于线性可分数据,非正则化逻辑回归问题的梯度下降(GD)导致最大边际(硬边界SVM)解。 另一方面,[1,13]试图通过推导泛化边界来揭开泛化性能的神秘面纱。

在本文中,我们遵循[28,4,27]的方向,研究GD和SGD的隐式偏差。与之前的研究不同,我们不会过度简化模型架构。实际上,如图1所示,该架构是一个高效的架构,如果我们使用DenseNet [11]作为转换函数,它可以达到CIFAR-10上最先进的性能。此外,我们对输入数据分布几乎没有要求,只假设损失收敛为零。在第3节和第4节中,我们表明神经网络的最后权重层的方向收敛于在理论上和经验上对变换空间中的变换数据进行训练的SVM解的方向。此外,我们还表明,如果我们训练整个网络,最后一层的决策边界更接近SVM决策边界,而不是仅在第4.3节中对最后一层进行微调。我们将结果扩展到具有交叉熵损失的多类分类问题,这是实践中最常见的情况,见第4.5节。我们的研究缩小了纯理论方面的差距,该方面研究了过度简化的模型,对输入分布有严格要求,以及复杂深度学习模型的实际应用。在实践中,人们通常将深度学习的卓越表现归功于模型的学习表征和分类的能力。我们揭开了学习表征与分类者之间关系的神秘面纱,特别是对所学习的分类进行了表征。

 

问题的表述

与先前研究[27,4,3]的设置不同,后者假设训练数据是线性可分的或遵循某种分布,我们没有这样的要求。形式上,对于二元分类,我们考虑数据集{xn,yn}Nn = 1,其中xn∈Rd,二进制标记yn∈{-1,1}。我们使用X∈Rd* N来表示数据矩阵。对于多类分类,我们有yn∈[K]:= {1,2,...,K},K是类的数量。

关于神经网络模型,我们也没有过分简化架构。考虑具有图1所示架构的神经网络,其基本上是具有实际用途的生产网络。我们将神经网络分为四个部分。 原始空间和标签空间是训练界面。变换函数与变换空间(最后隐藏层的输出)相结合是深度学习性能不断提高的原因之一。为了便于分析,我们将变换后的空间作为一个独立的组件,与标签空间完全连接。形式上,我们将示例xn上的最后一个隐藏层的输出表示为δn,其中δn∈Rt。

我们将网络的整个参数集表示为θ。对于二进制情况,网络定义函数f(x;θ):Rd→{-1,1}。变换函数是δn= h(xn;φ),其中φ是变换函数的参数集。请注意,从δn到最终输出,最后一个权重层定义了一个线性变换,其形式如下:

g(δn;W) = Wδn,

其中W∈Rt*k是最后一层的权重向量(注意二进制情况,k=1)。我们使用Wi∈Rt*1来表示它的第i行。所以,我们有θ=(φ,W)。


一般而言,训练数据集的经验损失具有以下形式:

 

 
 


其中l是特定的损失函数(例如,指数损失,交叉熵,......)。例如,随着指数损失,l(t,yn)= e-ynt,经验风险由下式给出:(3)

其中第二个表达式强调最后一个权重层。


对于多类分类,常用的损失函数是交叉熵损失:(4)

其中W1是W的第l个分量,它是某个分类l的权重; Wyn是由yn表示的类的W的组成部分。


执行优化的目标是找到:


在下文中,我们关注使用GD算法最小化方程(3),对于二元情况具有恒定学习率η,对于多类情况,我们关注方程(4)。在迭代t,更新规则具有以下形式:

 

主要研究

在本节中,我们从[27]中的结果开始,用于逻辑回归中的线性可分数据,然后获得图1中神经网络的结果。最后,我们将结果从二元情形扩展到多类情形。

在[27]中,作者研究了以下问题。


定义1.对于逻辑回归问题,其权重向量为w∈Rd,损失具有以下形式:


对于这种二进制情况,假设所有标签都是正数:yn=1(我们可以将ynxn重新定义为xn),我们在迭代时对该损失函数进行梯度下降来更新权重,具有以下形式:

作者表明,[27]最终的wt发散:

 

 
 


引理1.令wt为定义1中梯度下降的迭代,其中η<2β-1σ-2max(X),其中β是l的平滑度,σmax(X)是数据矩阵X∈Rd*N的最大奇异值和任何起点w0。对于线性可分数据和β平滑递减损失函数,我们得到:(1)

但是上述解决方案的方向收敛于硬边缘SVM解决方案[27]。

 

 
 


引理2.对于任何线性可分的数据集,任何具有指数衰减的β平滑递减损失函数(损失函数衰减由两个指数函数界定),任何步长η<2β-1σ-2max(X)和任何起点 w0,梯度下降迭代将表现为:


其中w~是L2最大边距向量:


并且残差最多增长为||ρt||= O(loglog(t)),等等

此外,除了测量零之外,残差ρt是有界的。

至于我们的问题,我们有以下假设:

假设1.等式(2)中的损失收敛于零:limt→∞ L(θt)= 0.

这个假设是一个合理的假设。只要数据是线性或非线性可分的,没有错误标记的数据点并且模型具有足够的容量,这可以是令人满意的,这通常是深度学习模型的情况。根据假设1,我们有以下引理:

引理3.在假设1下,对于具有如图1中的结构的神经网络,即使数据集{xn,yn}Nn=1不是线性可分的,转换的数据集{δn,yn}Nn=1也是线性可分的:

对任意W*,存在n,使得ynW*δn > 0。

实际上,由于最后一个权重层是线性变换,如果{δn,yn}Nn=1不能线性分离,则分类误差永远不会达到零,更不用说损失了。在定义1之后,让我们重新将ynδn定义为δn,基于引理2和引理3,我们得到第一个主要结果:


定理1.对于任何用于二元分类的神经网络,任何具有指数衰减的β平滑递减损失函数,足够小的步长η<2β-1σ-2max(X)和任何起点W0,只要limt→∞L(θt))= 0,神经网络最后一个权重层的方向收敛:


其中W~是L2最大边距向量

其中δn是最后一个权重层的重新定义的输入。

确实,变换函数的收敛也会影响最后一层决策边界。然而,由于损失收敛于零,因此在足够长的训练时间之后,变换函数的方差是有界的,这使得该定理成立。

至于多类分类问题,我们从[27]得到以下引理:


引理4.对于逻辑回归问题,我们在线性可分的多分类数据集中学习每个类k∈[K]的预测器wk,在大多数情况下,任何起始点wk,0和任何足够小的步长(即,除了度量为零),梯度下降对交叉熵损失的迭代将表现为:


其中残差ρk,t是有界的,而wk~是K分类SVM的解:

与定理1类似,我们可以推导出具有交叉熵损失的多分类情况的以下结果.


定理2.对于任何神经网络,足够小的步长η和任何起始点W0,只要数据集使得limt→∞L(θt)=0,梯度下降对最后权重层W的交叉熵损失的迭代将表现为:

其中残差ρk,t有界,Wk,t是迭代t时k分类的权重,Wk是K类SVM的解:

 

 

 
 

实验

实验设置

我们的实验中有七个数据集,包括五个模拟的二维数据集和两个真实的数据集。五个模拟数据集可以参考图2(A1-A5)。前三个(Plate,Blob和Sector)可线性分离。最后两个(Sector not separable 和 Moon)是非线性可分的。每个模拟数据集中有5000个点。两个真实的数据集是MNIST [15]和CIFAR-10 [18]。由于MNIST和CIFAR-10是多类数据集,因此我们从10个类中随机选择了两个类,用于二元分类情况。我们使用图1中的网络架构进行所有实验。唯一的区别是转换函数。我们使用具有2000个节点的完全连接层作为五个模拟数据集的转换函数;MNIST的ResNet[10];和Cifar-10的DenseNet [11]。为了可视化目的,我们将t设置为2.我们使用交叉熵损失作为损失函数,并使用ReLU作为激活函数。对于多类分类问题,我们将输出层中的节点数设置为与类的数量相同。我们使用GD作为模拟数据集,使用SGD作为MNIST和CIFAR-10。对于所有实验,我们关闭了所有常用的显式正则化器,例如重量衰减和丢失。

 

模拟数据集

结果总结在图2中(其他结果可以在附录中找到)。原始输入空间中神经网络的决策边界可以参考图2(B1-B5)。绿点和黑点是训练数据点。我们在整个空间中均匀地采样测试数据点,以便我们可以可视化训练的神经网络的决策边界。蓝色点是由具有与黑色训练数据相同标签的模型预测的蓝色点,而红色点是与绿色训练数据具有相同标签的红色点。曲线将蓝点分开,红点可以视为网络的决策边界。虽然很难看透原始空间,正如第3节中的分析所暗示的那样,变换后的空间更有趣。图2(D1-D5)显示了变换空间中的训练数据和测试数据。作为比较,我们用变换的训练数据训练线性SVM,并用SVM分类器标记相同的测试数据点,其结果如图2(C1-C5)所示。如图所示,用GD训练的神经网络最后层决策边界的方向收敛于线性SVM解的方向,这证明了定理1.此外,两种决策边界彼此非常接近,不仅如此在方向上但也在恒定的偏置项中。我们在4.3节进一步讨论了这种现象。

 

MNIST

在使用MNIST数据训练残差网络之后,我们将数据映射到转换空间。在该空间内,我们统一对测试数据进行采样,并使用图1中网络的最后一层标记这些测试数据点,这导致图3(A)中的决策边界。利用转换空间中的训练数据,我们训练了线性SVM分类器,并绘制出图3(B)中该分类器的决策边界。如图所示,在将数据映射到转换空间之后,第一个决策边界的方向非常接近第二个决策边界的方向,这进一步支持定理1.此外,随着转换函数的固定,我们重新初始化了最后一层并重新训练最后一层,其结果如图3(C)所示。它表明我们的结果仍然存在。另一方面,通过训练整个网络获得的原始边界在偏置常数方面更接近SVM边界,这表明整个网络训练可以对最后一层进行更好的初始化,从而使模型具有更好的泛化性能。

 

CIFAR-10

我们在CIFAR-10数据集上训练了具有DenseNet转换函数的模型。该数据集的决策边界结果可以参考图4.如图所示,类似于MNIST的结果,这两个边界的方向彼此非常接近,这进一步支持定理1.此外,与转换空间中神经网络最后权重层的决策边界有关的另一个值得注意的事情。除了在方向上接近之外,神经网络边界非常接近两个簇的中点,如果它不穿过中点,那么SVM边界应该在理论上通过。这种现象与第4.2节和第4.3节中的结果一致,表明使用GD或SGD训练整个神经网络可能导致具有良好偏置常数的决策边界。

 

多类别分类

在实践中,深度学习通常用于具有交叉熵损失的多分类任务。我们在本节中研究了多分类案例。我们在模拟的三类Blob数据集上进行了实验。原始空间和转换空间中的神经网络决策边界可以分别参考图5(A,B)。作为比较,转换空间中的转换数据的SVM判定边界如图5(C)所示。这些结果显示了神经网络最后权重层的决策边界方向收敛于SVM的结果,验证了定理2.我们还利用DenseNet转换函数对MNIST进行了这样的实验。在训练期间,我们还尝试了除SGD之外的其他优化器,例如Momentum。结果如图5(D,E)所示。从这两个图中,我们可以发现神经网络最后一层和SVM的相应决策边界方向彼此非常接近。此外,与以前的结果相似,神经网络的决策边界非常接近不同聚类之间的中点。这些实验进一步支持定理2,也表明我们的假设可以推广到其他优化器,如Momentum。

 

讨论

本文的结果可用于解决与深度学习相关的几个实际问题,如灾难性遗忘[14]和数据饥渴挑战[6]。我们以这两个为例。另一方面,我们认为调查转换函数将有助于解决对抗性攻击[23],研究最后一层可以推出将不确定性引入监督深度学习的新方法[9]。

 

灾难性遗忘


灾难遗忘[14],这意味着神经网络不具备学习新知识而不忘记学习知识的能力,是深度学习的瓶颈之一。 最近,一个名为SupportNet [19]的排练框架被提议用于处理在进行类别增量学习时的灾难性遗忘。简而言之,它维护旧数据的子集,基于通过使用SVM获得的支持向量信息来近似最后一层,并在将新类合并到模型中时将子集与新数据一起提供给模型。尽管本文缺乏理论分析,但该框架在实践中运作良好,甚至在某些数据集上实现了近乎最佳的性能。实际上,根据引理1和定理2,我们可以写出W = c(t)W~ +ρt,使得c(t)→∞和ρt是有界的。然后将W的指数损失的梯度能够表示为

当模型收敛并且c(t)→∞时,只有那些具有最大指数的数据,即Wδn应该是最小的,才会对梯度有贡献。这些样本正是支持转换数据训练的SVM的支持向量,由SupportNet选择。使用这些数据进行调整,模型很可能为旧类学习相同的边界。我们的结果部分解释了为什么训练方法在实践中运作良好。

 

减少训练数据量并进行迁移学习

为了解决深度学习中的数据饥饿问题,总是希望减少训练数据大小,而不会有太多的性能损失。在实践中,特别是在计算机视觉领域,当数据大小不够大时,人们通常利用转迁移学习,利用训练数据对预训练模型的最后一层或两层进行微调。实际上,根据我们在第3节中的结果和第5.1节中的分析,从转换空间到标签空间不需要数据,因为只有支持向量样本很重要,这意味着深度学习的缺点属性来自转换功能组件。因此,利用现有转换函数并避免该组件的数据大小要求的迁移学习技术可以学习具有有限数据的有用模型。

 

结论

缩小理论研究与深度学习实践力量之间的差距是一个引人入胜的研究方向。在本文中,我们研究了一个富有成效的深度学习架构的决策边界,对训练数据和模型都有弱假设。通过全面的理论分析和实验,我们证明了神经网络的最后权重层的方向收敛于在转换数据上训练的线性SVM的方向,如果损失收敛到零,对于二元情形和多类情况都是如此。常用的交叉熵损失。此外,我们从经验上证明,对整个神经网络进行训练可能会导致最后一个权重层的偏差常数更好,这对于深度学习模型的泛化属性非常重要。除了促进对深度学习的理解并从而进一步提高其性能之外,我们的结果可用于解决深度学习领域中的广泛实际问题,例如灾难性遗忘,减少深度学习的数据大小要求,对抗性攻击,并将不确定性引入深度学习。

猜你喜欢

转载自blog.csdn.net/weixin_40740160/article/details/83022423