Stiffness: A New Perspective on Generalization in Neural Networks
论文地址:https://arxiv.org/pdf/1901.09491.pdf
发表日期:1/28/2019
项目地址:、
在下面这些方面,存在刚性(stiffness) 的变化:
1) 类别成员
2) 数据点之间的距离(在输入空间以及潜码空间)
3) 训练迭代
4) 学习率
从理论角度分析,作者定义了两个数据点(X1,y1)和(X2,y2),并且定义了可调参的W矩阵,L表示损失函数,所以L的梯度可以表示为一个矢量g:
可以定义一个很小的参数W变化,这是针对数据(X1,y1)自身而言的:
等价于:
从shuru输入1到输入2的损失函数变化可以表示为:
定义正刚性: , 负刚性:, 零刚性:。两个矢量的矢量相乘本身就包含符号。下面是刚性的定义式:
sign为符号函数,可以看出刚性本身是个标量。
基于类成员的刚性
设有两个类Ca,Cb: 两个类之间刚性定义为:
该矩阵的对角线元素对应于当前梯度更新对类本身成员的适合性。特别是,它们对应于类普遍性。另一方面,非对角线元素表示从一个类转移到另一个类的改进量。因此,他们直接诊断当前改进的特征具有的通用性。我们使用验证集的刚度属性,因此直接进行泛化。
类之间的一般化的一致概括是类刚度矩阵的非对角线和的平均:
Nc代表类别数。
刚性作为距离函数
假设有两个输入X1和X2,它们被预处理为零均值和单位长度。然后将它们馈入多层神经网络,其中每个层将产生输入的表示R并将其传递到下一层。示意性地,网络形成一组表示:
之后采取L1和L2距离,以及点乘作为量度。
其结果在-1和1之间,因此便于不同层之间距离的比较。
在包括输入空间的所有表示中,我们确定输入之间的刚度量的急剧下降超过彼此的阈值距离。我们跟踪该阈值距离作为训练和学习速率的函数来估计神经网络的刚性区域的特征尺寸。
图表显示了训练和验证损失(下图)和类依赖刚度属性(上图)的演变,作为训练期间看到的图像数量的函数。
过度拟合的开始(训练和有效损失曲线之间的分离)用黄线标出。类内刚度,即在同一类别中从一个输入位置到另一个输入位置的改进的转移在过度拟合期间下降并且回归到0。类间刚度,开始平稳并且回归到0。这表明刚度之间的直接联系在验证集和泛化上测量的属性,表明刚度是研究的相关属性。
对于全连接神经网络的实验,我们使用了形式为X→400→2005→y的6层ReLU网络。对于使用卷积神经网络的实验,我们使用具有滤波器大小3的5层网络,并且在相应的卷积层之后的信道数量是32,64,128和256,每个网络之后是2×2最大池。最后一层是完全连接的。没有使用批量标准化。
我们对网络输入进行了预处理,使其具有零均值和单位方差。我们使用不同(恒定)学习率的Adam作为我们的优化器,默认批量大小为32。