以下就两篇论文从两种不同的角度来描述研究者们对于泛化能力的理解和解释。
论文 1:Intrinsic dimension of data representations in deep neural networks
论文链接:https://arxiv.org/pdf/1905.12784v1.pdf
对于一个深度网络,网络通过多层神经层渐进的转换输入,这其中的几何解释应该是什么样的呢?本文的作者通过实验发现,以固有维度(ID:intrinsic dimensionality)为切入点,可以发现训练好的网络相比较未训练网络而言,其每层的固有维度数量级均小于每层单元数,而且 ID 的存在可以来衡量网络的泛化性能。
1 首先,ID是什么?
ID 是描述数据信息所需要的最小的且不造成重要信息损失的维度。目前的深度神经网络中,我们普遍的都知道过量的参数导致了模型的过参数化,带来了冗余信息,神经网络压缩就是由此产生的。那么,有没有什么定量的统计量来显示网络的复杂度或者评估网络呢,本文就是以固有维度为切入点来探索该统计量和模型泛化能力之间的关系。
2 ID 的评估方法
作者用 TwoNN 这个方法来估计 ID,TwoNN 的简单流程如下图所示。
图 1:TwoNN 估计 ID 的流程。
图 1 左图表示的是某神经网络第二层的两个维度的数据点集,右图是运用 TwoNN 算法简要估计 ID 的流程。首先,TwoNN 算法随机采样一个数据点,并通过计算距离选取出这个数据点对应的最近邻(r1)和其次近邻(r2),计算这两个邻居之间的比值。通过概率分布估算出这个比值的分布,最后通过多次采样计算估算出数据的 ID,例如,在图 1 中的数据中 ID 约为 1。
当 ID 在 20 以下的时候,TwoNN 算法可以无限的逼近真实的 ID。而 ID 的真实数值较大,且仅有有限的采样数据的时候,TwoNN 估计出来的 ID 是小于真实值的。因此,在这个情况下,利用 TwoNN 估计出来的 ID 值可以看做一个真实 ID 值的下界。
3 实验结果和结论
以上是对 ID 的介绍以及评估方法的介绍。利用这个估算方法,本文。但是,总的来说本文的重点部分就是通过对 ID 的研究,回答如下的几个问题。
在 CNN 网络中,不同的 layer 之间,ID 是否会变化?
ID 和网络的线性维度是否有区别?
ID 和网络泛化性能之间是否有联系?
接下来,我们来一个个的回答如上的三个问题。
问题 1:在 CNN 网络中,不同的 layers 之间,ID 是否会变化?
首先,作者在 VGG-16 上用 ImageNet 预训练,并在一个 1440 张的综合数据集上微调,得到如下图所示的曲线。
图 2:ID 在不同的 layer 之间的变化。
从图 2 中,我们可以明显的看到,ID 在不同层之间是有个先上升后下降的过程。尤其是在最后一层,ID 达到一个最小的量级。