论文地址

摘要

这篇文章旨在定义、量化以及分析DNN学习到的特征复杂度。作者提出了一种对于特征复杂度的通用定义。给定DNN中某一层的特征,文章中的方法从特征中分解并可视化不同复杂度级别特征组成部分。特征分解使得我们可以评估特征组成部分的reliability、effectiveness以及过拟合的significance。此外,这种分析能帮助我们提升DNN的性能。作为一种通用的方法,特征复杂度还为现有的深度学习技巧提供了新的insight,例如网络压缩和知识蒸馏。

1 Introduction

先前的用于解释DNN的研究可以被大概划分为两种类型:即 the explanation of DNNs in a post-hoc manner[27,33],以及the analysis of the feature representation capacity of a DNN[18,1,2,13,24]。

这篇研究定义、可视化并且分析DNN中特征的复杂度。先前的研究通常根据网络结构来分析一个DNN理论上的最大复杂度[4,48,32,7,29]。作为对比,我们提议量化DNN学到的特征的实际复杂度,实际复杂度通常和DNN能实现的最大理论复杂度有着很大的不同。例如,假设我们使用一个深度神经网络来解决一个线性回归问题,特征的理论复杂度要比特征的实际复杂度高得多。

在这篇文章中,给定某个特定中间层的特征,我们将这个特诊的实际复杂度定义为计算得到这个特征所需的最小数量的非线性转换。然而,计算SOTA算法中非线性转换的数量是一个很大的挑战。因此,我们使用非线性层的数量来近似表示特征复杂度。即:如果一个特征组成部分能通过kkk个非线性层计算得到,但是无法通过k−1k-1k−1个线性层计算得到,那么我们就认为它的复杂度为k−thk-thk−th order。

Analyzing DNNs using feature complexity

基于以上定义,我们将一个中间层特征分解为不同复杂度order的特征组成部分。如图一所示:

这种对特征组成部分的分解使得我们能够对DNN进行如下的定性以及定量分析。

  • 我们首先可视化了不同复杂度级别的特征组成部分。接下来我们探索了特征复杂度和任务复杂度的关系。The distribution of feature components‘ strength over different complexity orders 潜在地反映了任务的困难程度。一个简单的任务通常会使DNN主要学习简单特征。
  • 我们更进一步研究了分解得到的特征组成部分的reliability、effectiveness以及过拟合的significance。(1)在这篇文章中,reliable特征组成部分指代对于同一个任务,能够由不同结构不同参数的DNN稳定学习到的特征。(2)特征组成部分的effectiveness指代这个特征组成部分是否对应于和任务有关的神经元激活。通常来讲,无关的神经元激活被认为是噪音。(3)特征的过拟合significance被量化为特征组成部分对于训练误差下降的数值贡献以及对测试误差下降的数值贡献的差值。

从以上角度,我们发现:

  • 训练样本的数量对于特征组成strength的分布仅有较小的影响,但是能够显著影响特征组成部分的特征reliability以及过拟合significance
  • 复杂度order大概为DNN深度一般的特征组成部分通常相比其他特征组成部分对inference更加有效。
  • 提升性能。上面的结论可以被进一步用来提升DNN的性能。我们使用低复杂度order的特征组成部分,尤其是那些有着高effectiveness以及reliability的特征组成部分来提升DNN

Methods:

更具体的讲,将特征分解为不同complexity order的思路受到知识蒸馏的启发[19]。我们将目标DNN视为teacher network。接下来,我们设计了几个不同深度的网络(称为分解网络)来模仿teacher network的中间层特征。通过这种方式,我们假设由较浅的分解网络模仿的特征组成部分通常有较低的复杂度。一个较深的分解网络可以incrementally逐步学习到an additional特征组成部分of a bit higher complexity order,besides components of low complexity。

此外,不同类型的分解网络通常提供一致的特征分解。我们发现适当更改分解网络的width或结构并不会显著影响不同复杂度order的特征组成部分的strength分布,这确保了我们方法的可信度。此外,特征分解提供了关于网络压缩和知识蒸馏的新insight。

Contributions:

我们的贡献可以总结如下:

  1. 我们提出了一种方法来分解、可视化以及分析一个DNN中间层的特征复杂度。我们测量了实际用于计算feature所需的最少数量的非线性转换,这个值通常和基于DNN结构计算得到的最大复杂度不同。
  2. 我们可视化了不同复杂度order的特征组成部分
  3. 我们提出了新的衡量指标来分析这些特征组成部分,从reliability、effectiveness以及过拟合level几点出发。这种衡量指标提供了关于网络压缩和知识蒸馏的优点及缺点的insightful分析。
  4. 特征分解能够提升DNN的表现。

2 Related Work

3 特征复杂度的定义、量化及分析

3.1 特征组成部分的复杂度

给定一张输入图片 xxx,f(x)∈Rnf(x)\in\mathbb{R}^nf(x)∈Rn 表示DNN中某一个特定中间层的特征。DNN的输出为 y=D(f(x))∈RCy=\mathcal{D}(f(x))\in\mathbb{R}^Cy=D(f(x))∈RC ,CCC 指代分类任务中类的数量,D\mathcal{D}D 表示在 f(x)f(x)f(x) 之上的网络模块。对于特征复杂度的一个最基本的要求是确保整个特征 f(x)f(x)f(x) 能被分解成不同复杂度级别的特征组成部分:

f(x)=c(1)(x)+c(2)(x)+⋯+c(L)(x)+Δf(1)f(x)=c^{(1)}(x)+c^{(2)}(x)+\dots+c^{(L)}(x)+\Delta f\quad\quad\quad\quad\quad(1)f(x)=c(1)(x)+c(2)(x)+⋯+c(L)(x)+Δf(1)

这里 c(l)(x)c^{(l)}(x)c(l)(x) 指代 lll 级复杂度的特征组成部分。Δf\Delta fΔf 指代更高级复杂度的特征组成部分。

定义

考虑对于特征线性分解的上述要求,lll 级复杂度的特征组成部分 c(l)(x)=cc^{(l)}(x)=cc(l)(x)=c 被定义为可以通过 lll 个非线性层,但是无法通过 l−1l-1l−1 个非线性层计算得到的特征组成部分,通过这种方式我们限定了网络 Φ\PhiΦ 有一个固定的width(?)。即,特征复杂度 ccc 被定义为 l=arg min⁡l′{Φ(l′)(x)=c}l=\argmin\limits_{l'}\{\Phi^{(l')}(x)=c\}l=l′argmin​{Φ(l′)(x)=c} ,Φ(l′)(⋅)\Phi^{(l')}(\cdot)Φ(l′)(⋅)表示有l′l'l′个非线性转化层的神经网络,∑l′=1Lc(l′)(x)\sum\limits_{l'=1}^Lc^{(l')}(x)l′=1∑L​c(l′)(x)是对于f(x)f(x)f(x)的一个重构。

上述定义提出了一个非常显著的挑战,即我们要精确衡量计算f(x)f(x)f(x)所使用的非线性层层数。这个挑战通常包含两个问题:

  1. 我们无法穷尽 Φ\PhiΦ 的所有结构来确保一个特征组成部分无法通过更少的非线性层计算得到。
  2. 即使给定了一个足够好的网络结构,我们也无法保证网络参数能被充分优化,从而更精确地计算特征组成部分。

因此,我们使用下面的方法来近似将特征分解为不同复杂度级别。

Approximate-yet-efficient solution

Instead of直接分解特征组成部分 c(l)c^{(l)}c(l) ,我们propose使用知识蒸馏来提取所有复杂度不超过lll级的特征组成部分,即Φ(l)(x)=∑i=1lc(i)(x)\Phi^{(l)}(x)=\sum\limits_{i=1}^lc^{(i)}(x)Φ(l)(x)=i=1∑l​c(i)(x)。给定一个训练过的DNN作为teacher(target)网络,我们选取DNN中的一个中间层fff作为目标层。Φ(l)(x)=∑i=1lc(i)(x)\Phi^{(l)}(x)=\sum\limits_{i=1}^lc^{(i)}(x)Φ(l)(x)=i=1∑l​c(i)(x)通过使用另外一个带有 lll 层非线性层的DNN(称为分解网络)来进行分解。MSE损失 ∥f(x)−Φ(l)(x)∥2\Vert f(x)-\Phi^{(l)}(x)\Vert^2∥f(x)−Φ(l)(x)∥2 用于强迫 Φ(l)(x)\Phi^{(l)}(x)Φ(l)(x) 模仿 f(x)f(x)f(x),这里 f(x)f(x)f(x) 指代teacher网络的特征。我们使用使用不同深度的分解网络 Φ(1),Φ(2),…,Φ(L)\Phi^{(1)},\Phi^{(2)},\dots,\Phi^{(L)}Φ(1),Φ(2),…,Φ(L) 来提取不同复杂度级别的特征组成部分。通过这种方式,lll级复杂度的特征组成部分可以通过如下方式给定:

c(l)(x)=Φ(l)(x)−Φ(l−1)(x),wheremin⁡Φ(l)Loss=∥f(x)−Φ(l)(x)∥2(2)c^{(l)}(x)=\Phi^{(l)}(x)-\Phi^{(l-1)}(x),\quad\quad\quad\quad\quad\quad\\where \ \min\limits_{\Phi^{(l)}}Loss=\Vert f(x)-\Phi^{(l)}(x)\Vert^2\quad\quad\quad\quad(2)c(l)(x)=Φ(l)(x)−Φ(l−1)(x),where Φ(l)min​Loss=∥f(x)−Φ(l)(x)∥2(2)

特别地,c(1)(x)=Φ(1)(x)c^{(1)}(x)=\Phi^{(1)}(x)c(1)(x)=Φ(1)(x)。因此,f(x)f(x)f(x) 被分解成两部分:f(x)=Φ(L)(x)+Δff(x)=\Phi^{(L)}(x)+\Delta ff(x)=Φ(L)(x)+Δf,这里 Δf\Delta fΔf 指代有着比 LLL 更高复杂度级别的特征组成部分。

实际上,我们没有必要研究每一级特征组成部分,这会导致极大的计算负担。与之相反,我们按照一定间隔来计算特征组成部分。更具体来说,我们计算c1∼l1(x)=c(1)(x)+⋯+c(l1)(x)=Φ(l1)(x),c(l1+1∼l2)(x)=c(l1+1)(x)+⋯+c(l2)(x)=Φ(l2)(x)−Φ(l1)(x)c^{1\sim l_1}(x)=c^{(1)}(x)+\dots+c^{(l_1)}(x)=\Phi^{(l_1)}(x),\ c^{(l_1+1\sim l_2)}(x)=c^{(l1+1)}(x)+\dots+c^{(l_2)}(x)=\Phi^{(l_2)}(x)-\Phi^{(l_1)}(x)c1∼l1​(x)=c(1)(x)+⋯+c(l1​)(x)=Φ(l1​)(x), c(l1​+1∼l2​)(x)=c(l1+1)(x)+⋯+c(l2​)(x)=Φ(l2​)(x)−Φ(l1​)(x),等等。这种近似并不会显著影响the objectiveness of the quantified distribution of feature components’ strength over different complexity orders。

Strength of feature components ρc(l)\rho_c^{(l)}ρc(l)​

我们将不同复杂度级别的特征组成部分的strength量化为其variance。这个测量指标被设计为 ρc(l)=Var[c(l)(x)]/Var[f(x)]\rho_c^{(l)}=Var[c^{(l)}(x)]/Var[f(x)]ρc(l)​=Var[c(l)(x)]/Var[f(x)] ,这里Var[c(l)(x)]=Ex[∥cl(x)−Ex′[c(l)(x′)]∥2]Var[c^{(l)}(x)]=\mathbb{E}_x[\Vert c^{l}(x)-\mathbb{E}_{x'}[c^{(l)}(x')]\Vert^2]Var[c(l)(x)]=Ex​[∥cl(x)−Ex′​[c(l)(x′)]∥2]。对于不同DNN的fair comparison,我们使用the variance of the entire feature f(x)f(x)f(x)来normalize Var[c(l)(x)]Var[c^{(l)}(x)]Var[c(l)(x)]。ρc(l)\rho_c^{(l)}ρc(l)​代表了 lll 级复杂度的特征组成部分相对于全部特征的相对strength。

Limitations:accurate estimation vs. fair comparison

理论上讲,如果一个目标DNN有 DDD 个非线性转化层,那么它的特征复杂度不会超出 DDD 级,即 Φ(D′)(x)=f(x),D′≤D\Phi^{(D')}(x)=f(x),D'\le DΦ(D′)(x)=f(x),D′≤D 。然而,the optimization capacity for the learning of 分解网络 is limited。一个有着 DDD 个非线性层的分解网络并不能学到所有的feature encoded in f(x)f(x)f(x)。因此,当我们实现 Φ(D′)≈f(x)\Phi^{(D')}\approx f(x)Φ(D′)≈f(x) 时,我们会设置 D′≤DD'\le DD′≤D 。

通过这种方式,ρc(l)\rho_c^{(l)}ρc(l)​ 测量了the relative distribution of feature components of different complexity orders,instead of an accurate strength of feature components。尽管如此,如图3所示:

尽管我们使用不同结构(不同width)的分解网络,我们还是会得到特征组成部分strength的类似分布。这证明了我们方法的可靠性,并且enables the fair comparison of feature complexity between different DNNs。

分解网络

我们使用残差结构来设计分解网络 Φ(1)(x),…,Φ(L)(x)\Phi^{(1)}(x),\dots,\Phi^{(L)}(x)Φ(1)(x),…,Φ(L)(x) 。分解网络包含三种类型的残差块,每种类型都包含 mmm 个块。三种类型的每种都包含一个ReLU层以及有着 128γ,256γ,512γ128\gamma,256\gamma,512\gamma128γ,256γ,512γ 个channel的卷积层。在大多数的实验中,我们将 γ\gammaγ 设定为1,但是在图3(a)中,我们尝试了 γ\gammaγ 的不同值来测试不同width的分解网络。我们在这 3m3m3m 个块前后使用了两个额外的卷积层来匹配输入输出的维度。因此,一个分解网络包含了 3m+23m+23m+2 个卷积层以及 l=3m+1l=3m+1l=3m+1 个ReLU层。对于不同DNN间的fair comparison,我们使用同一个分解网络集合来衡量每个DNN的复杂度。

不同的分解网络能生成类似的distribution of feature components’ strength, 这证实了我们方法的可靠性。为了验证这一点,我们在CIFAR-10数据集上为Task-26(在后面进行介绍)训练了一个target DNN,然后分解了target DNN的output feature。我们使用不同width的分解网络(即不同 γ\gammaγ )进行分析。我们分析了最后一层卷积层输出特征的复杂度。我们将 mmm 设定为1,2,4,8,16,321,2,4,8,16,321,2,4,8,16,32 ,因此对应分解网络的非线性层分别为 l1=4,l2=7,l3=13,l4=25,l5=49,l6=97l_1=4,l_2=7,l_3=13,l_4=25,l_5=49,l_6=97l1​=4,l2​=7,l3​=13,l4​=25,l5​=49,l6​=97 according to settings in the approximate-yet-efficient solution paragraph. 因此,我们计算c(1∼4)(x),c(5∼7)(x)c^{(1\sim4)}(x),c^{(5\sim7)}(x)c(1∼4)(x),c(5∼7)(x),等等。为了boost the learning efficiency, we used parameters of the learned Φ(li)\Phi^{(l_i)}Φ(li​) to initialize first lil_ili​ layers in Φ(li+1)\Phi^{(l_i+1)}Φ(li​+1)。图3a compares distributions of feature components’ strength computed using different decomposer nets. We find that decomposer nets with different widths generate similar distributions of feature components’ strength, 因此验证了我们方法的可靠性。

The relationship between the task complexity and the feature complexity

我们首先定义任务的复杂度。让 Task-n denote a task of the n-order complexity as follows:我们使用 nnn 个ReLU层以及随机初始化的参数构建另外一个网络(这个网络称为task DNN且没有经过任何训练)。网络输出为8×8×648\times8\times648×8×64的tensor。我们使用MSE loss学习target DNN来重建输出tensor。由于task DNN包含nnn个ReLU层,我们使用 Task-n来表示模仿task DNN的复杂度。由于task DNN中初始化参数是随机选取的,当nnn很大时,task 复杂度很高。图3b比较了distributions of feature components’ strength computed on target DNNs learned for Task-0, Task-2, Task-8, Task-26, and Task-80。 我们发现为更复杂任务学习的DNN通常会encode more high-complexity feature components。使用为Task-0和Task-80学习的target DNN为例。对于为Task-0学习的target DNN,the significance of the 4-order feature component is much higher than the significance of higher-order feature components. However, in the target DNN learned for Task-80, 7-order and the 13-order feature components are strengthened significantly.

3.2 Reliability of feature components

Understanding the reliability of a set of feature components Φ(l)(x)=∑i=1lc(i)(x)\Phi^{(l)}(x)=\sum\limits_{i=1}^lc^{(i)}(x)Φ(l)(x)=i=1∑l​c(i)(x)

我们旨在分解reliable 特征组成部分Φ(l),reli(x)\Phi^{(l),reli}(x)Φ(l),reli(x)以及unreliable特征组成部分Φ(l),unreli(x)\Phi^{(l),unreli}(x)Φ(l),unreli(x)。上述目标可以表述为:

Φ(l)(x)=Φ(l),reli(x)+Φ(l),unreli(x)(3)\Phi^{(l)}(x)=\Phi^{(l),reli}(x)+\Phi^{(l),unreli}(x)\quad\quad\quad\quad(3)Φ(l)(x)=Φ(l),reli(x)+Φ(l),unreli(x)(3)

As discussed in (Liang et al., 2019)(?), 进行不同初始化过程的DNN通常会为相同的任务学到相似的feature representations,并且这些相似的特征被证明对这个task是reliable的。因此,我们认为reliable特征组成部分是能被为同一个任务训练的不同DNN稳定识别的特征。假设我们有为同一个任务训练的KKK个不同的DNN。对每个DNN,我们选取某个特定中间层的feature作为target
feature。让 fx(x),f2(x),…,fK(x)f_x(x),f_2(x),\dots,f_K(x)fx​(x),f2​(x),…,fK​(x)表示KKK个DNN的targe features。我们旨在提取f1(x),f2(x),…,fK(x)f_1(x),f_2(x),\dots,f_K(x)f1​(x),f2​(x),…,fK​(x)共享的特征。让Φ1(l),reli(x),Φ2(l),reli(x),…,ΦK(l),reli(x)\Phi_1^{(l),reli}(x),\Phi_2^{(l),reli}(x),\dots,\Phi_K^{(l),reli}(x)Φ1(l),reli​(x),Φ2(l),reli​(x),…,ΦK(l),reli​(x) 表示从K个DNN中提取出的reliable 特征组成部分,即被f1(x),f2(x),…,fK(x)f_1(x),f_2(x),\dots,f_K(x)f1​(x),f2​(x),…,fK​(x)所共享的特征。接下来,我们可以将目标考虑为学习Φ1(l),reli(x),Φ2(l),reli(x),…,ΦK(l),reli(x)\Phi_1^{(l),reli}(x),\Phi_2^{(l),reli}(x),\dots,\Phi_K^{(l),reli}(x)Φ1(l),reli​(x),Φ2(l),reli​(x),…,ΦK(l),reli​(x),which satisfies each pair of Φi(l),reli(x)\Phi_i^{(l),reli}(x)Φi(l),reli​(x) and Φj(l),reli(x)\Phi_j^{(l),reli}(x)Φj(l),reli​(x)Φ are able to reconstruct each other by a linear transformation:

Φi(l),reli(x)=rj→i(Φj(l),reli(x)),Φj(l),reli(x)=ri→j(Φi(l),reli(x))(4)\Phi_i^{(l),reli}(x)=r_{j\to i}(\Phi_j^{(l),reli}(x)),\ \Phi_j^{(l),reli}(x)=r_{i\to j}(\Phi_i^{(l),reli}(x))\quad\quad\quad\quad(4)Φi(l),reli​(x)=rj→i​(Φj(l),reli​(x)), Φj(l),reli​(x)=ri→j​(Φi(l),reli​(x))(4)

这里ri→jr_{i\to j}ri→j​以及rj→ir_{j\to i}rj→i​表示两个线性转化。

Computation of reliable feature components that satisfy requirements in Eq. (3) and Eq. (4).

我们设计了一个直接且简单的算法来分解 reliable and unreliable
feature components. 分解可以提供new insights into the feature representation capacity of DNNs, 正如第四部分实验中展示的那样。

待补充

3.3 Other metrics to evulate feature components

Effectiveness of feature components (αeffective(l))(\alpha^{(l)}_{effective})(αeffective(l)​)

这个指标衡量了从训练样本 xxx 中提取出的特征组成部分 c(l)(x)c^{(l)}(x)c(l)(x) 是否对这个任务有直接贡献。整个metric基于博弈论进行定义。我们首先计算了每个lll级特征组成部分的shapley值来量化这个特征组成部分的数值贡献,即对整个任务损失下降的贡献。Shapley值is widely considered as a standard metric for feature importance in literature (Chen et al., 2019; Ghorbani & Zou, 2019; Williamson & Feng, 2020)。给定一组特征组成部分C={c(l)(x),l=1,…,L}\mathcal{C}=\{c^{(l)}(x),l=1,\dots,L\}C={c(l)(x),l=1,…,L},S⊆CS\subseteq\mathcal{C}S⊆C 表示 C\mathcal{C}C 的一个子集,fS′=∑c(l)(x)∈Sc(l)(x)f_{S}'=\sum\limits_{c^{(l)}(x)\in S}c^{(l)}(x)fS′​=c(l)(x)∈S∑​c(l)(x) 是在 SSS 子集中的所有特征组成部分之和。Then,v(S)=−Ex∈Xtrain[Ltask(ytruth,y=D(fS′+Δf)givenx)]v(S)=-\mathbb{E}_{x\in X^{train}}[\mathcal{L}^{task}(y^{truth},y=D(f'_S+\Delta f)_{_{given\ x}})]v(S)=−Ex∈Xtrain​[Ltask(ytruth,y=D(fS′​+Δf)given x​​)] 表示当我们仅使用子集SSS中的特征组成部分用于推理时task loss的负值。其中 Δf\Delta fΔf 是公式1中的high-order 组成部分。接下来,l-order特征组成部分关于任务loss下降的Shapley值通过如下方式计算得到:

φltrain=∑S⊆C\{c(l)(x)}p(S)[v(S∪{c(l)(x)}−v(S)](6)\varphi_l^{train}=\sum\limits_{S\subseteq\mathcal{C}\backslash\{c^{(l)}(x)\}}p(S)[v(S\cup\{c^{(l)}(x)\}-v(S)]\quad\quad(6)φltrain​=S⊆C\{c(l)(x)}∑​p(S)[v(S∪{c(l)(x)}−v(S)](6)

这里p(S)=(L−∣S∣−1)!∣S∣!L!p(S)=\frac{(L-|S|-1)!|S|!}{L!}p(S)=L!(L−∣S∣−1)!∣S∣!​。通过这种方式,所有LLL个特征组成部分的数值贡献可以be fairly allocated and given as φ1train+φ2train+⋯+φLtrain=Ex∈Xtrain[Ltask(ytruth,y=D(Δf)givenx)−Ltask(ytruth,y=D(f)givenx)]\varphi_1^{train}+\varphi_2^{train}+\dots+\varphi_{L}^{train}=\mathbb{E}_{x\in X_{train}}[\mathcal{L}^{task}(y^{truth},y=D(\Delta f)_{given\ x})-\mathcal{L}^{task}(y^{truth},y=D(f)_{given\ x})]φ1train​+φ2train​+⋯+φLtrain​=Ex∈Xtrain​​[Ltask(ytruth,y=D(Δf)given x​)−Ltask(ytruth,y=D(f)given x​)]。

因此,度量标准αaffective(l)=φltrain/Var[c(l)(x)]\alpha^{(l)}_{affective}=\varphi_l^{train}/\sqrt{Var[c^{(l)}(x)]}αaffective(l)​=φltrain​/Var[c(l)(x)]​衡量了特征组成部分对于训练loss下降的normalized effectiveness。其中Var[c(l)(x)]\sqrt{Var[c^{(l)}(x)]}Var[c(l)(x)]​用于normalization。

Significance of over-fitting of feature components αoverfit(l)\alpha_{overfit}^{(l)}αoverfit(l)​衡量了c(l)(x)c^{(l)}(x)c(l)(x)是否过拟合于某个特定的训练样本。和effectiveness十分类似,我们使用Shapley值来度量每个l-order特征组成部分对于over-fitting level的数值贡献φloverfit\varphi^{overfit}_lφloverfit​。我们使用Loverfit(f)=Ex∈Xtest[Ltask(ytruth,y=D(f)givenx)]−Ex∈Xtrain[Ltask(ytruth,y=D(f)givenx)]\mathcal{L}_{overfit}(f)=\mathbb{E}_{x\in X_{test}}[\mathcal{L}^{task}(y^{truth},y=D(f)_{given\ x})]-\mathbb{E}_{x\in X_{train}}[\mathcal{L}^{task}(y^{truth},y=D(f)_{given\ x})]Loverfit​(f)=Ex∈Xtest​​[Ltask(ytruth,y=D(f)given x​)]−Ex∈Xtrain​​[Ltask(ytruth,y=D(f)given x​)]来表示我们使用特征fff用于推理时过拟合的significance。在这种情况下,v(S)=Loverfit(fS′+Δf)v(S)=\mathcal{L}_{overfit}(f'_S+\Delta f)v(S)=Loverfit​(fS′​+Δf)量化了over-fitting level caused by both feature components in Δf\Delta fΔf and feature components in SSS。我们plug such definition of v(S)v(S)v(S) to the formulation of Shapley value φloverfit\varphi_l^{overfit}φloverfit​。通过这种方式,the computed Shapley value φloverfit\varphi_l^{overfit}φloverfit​ represents the numerical contributino of the l-order feature components to the over-fitting level. Based on Shapley values, we have φ1overfit+φ2overfit+⋯+φLoverfit=Loverfit(f)−Loverfit(Δf)\varphi_1^{overfit}+\varphi_2^{overfit}+\dots+\varphi_L^{overfit}=\mathcal{L}_{overfit}(f)-\mathcal{L}_{overfit}(\Delta f)φ1overfit​+φ2overfit​+⋯+φLoverfit​=Loverfit​(f)−Loverfit​(Δf)。Then, the metric of the significance of the over-fitting for c(l)c^{(l)}c(l) is given as αoverfit(l)=φloverfit/φltrain\alpha_{overfit}^{(l)}=\varphi_l^{overfit}/\varphi_l^{train}αoverfit(l)​=φloverfit​/φltrain​。

4 实验

Datasets, DNNs & Implementation details

我们使用我们的方法分析了VGG-16以及ResNet-8/14/18/20/32/34/44。为了简化分析,我们limited our attention to coarse-grained and fine-grained classification。我们在CIFAR-10以及CUB200-2011数据集上训练了这些DNN。对于CUB200-2011数据集,我们used object images cropped by object bounding boxes for both training and testing。

Visualization of feature components.

给定一个训练过的VGG-16网络以及CUB200-2011数据集上的图片,我们分解并可视化了不同复杂度级别的特征组成部分。我们选取了conv4−3conv_4-3conv4​−3层中的特征(大小为28×28×51228\times28\times51228×28×512)作为目标特征f(x)f(x)f(x)。图2展示了the feature map of a random channel in f(x)f(x)f(x),and the corresponding channel in c(l)(x)c^{(l)}(x)c(l)(x) and Φ(l)(x)\Phi^{(l)}(x)Φ(l)(x)。低复杂度组成部分usually represented the general shape of objects, while high-complexity components corresponded to detailed shape and noises.

实验一:训练样本的数量had small influence on the distribution of feature components’ strength, but had significant impacts on the feature reliability

我们使用不同数量的训练样本学习了RetNet-8/14/20/32/44,which were randomly sampled from the the CIFAR-10 dataset。接下来,我们decomposed feature components and reliable feature components of different complexity orders from the output feature of the last residual block. More specifically, two exemplary DNNs A and B were used to help us extract the reliable feature
components in the target feature. They were implemented
as ResNet-44 learned on the entire CIFAR-10 dataset with
different initial parameters.

图4比较了特征组成部分的strength ρc(l)\rho_c^{(l)}ρc(l)​以及 the reliability of feature components ρ(l),reli\rho^{(l),reli}ρ(l),reli in different DNNs.

The DNN learned from the larger training set usually encoded more complex features, but its overall distribution of feature components’ strength was very close to that of the DNN learned from the smaller training set.This indicated that the number of training samples had small
impacts on the strength of feature components of different
complexity orders. However, in Figure 4 (bottom), DNNs
learned from many training samples always exhibited higher
reliability than DNNs learned form a few training samples,
which meant that the increase of the number of training
samples would help DNN learn more reliable features.

实验二 improvement of the classification accuracy
based on Φ(l)(x)\Phi^{(l)}(x)Φ(l)(x)。

Interpreting and Disentangling Feature Components of Various Complexity from DNNS论文解读相关推荐

  1. Paper:《A Unified Approach to Interpreting Model Predictions—解释模型预测的统一方法》论文解读与翻译

    Paper:<A Unified Approach to Interpreting Model  Predictions-解释模型预测的统一方法>论文解读与翻译 导读:2017年11月25 ...

  2. RFA-Net: Residual feature attention network for fine-grained image inpainting 论文阅读笔记

    RFA-Net: Residual feature attention network for fine-grained image inpainting 论文阅读笔记 摘要 尽管大多数使用生成对抗性 ...

  3. 【SSD论文解读】 模型部分:骨干网络 VGG16 + 特征提取层 Extra Feature Layers

    [SSD论文解读] 模型部分 一.骨干网络 1.原始的骨干网络--VGG16 2.SSD对VGG16的改进 3.代码 二.Extra Feature Layers 1.使用多尺度的特征图进行检测 代码 ...

  4. 《SQUID: Deep Feature In-Painting for Unsupervised Anomaly Detection》论文阅读理解

    <SQUID: Deep Feature In-Painting for Unsupervised Anomaly Detection>论文阅读理解 领域:用于医学图像的异常检测 论文地址 ...

  5. 图示Windows Server2008 Feature Components

    呵呵,WindowsServer2008新的特型尽在一张JPG图中 建议你可以以另存为的方式保存到桌面上来,然后,放大看,图片比较大,如果网络质量不好,可能打开较慢哟!

  6. CVPR 2018 TRACA:《Context-aware Deep Feature Compression for High-speed Visual Tracking》论文笔记

    理解出错之处望不吝指正. 本文的模型叫做TRACA.模型中使用多个expert auto-encoder,在预训练阶段,每个expert auto-encoder针对一个特定类进行训练:在tracki ...

  7. Discriminative Feature Learning for Unsupervised Video Summarization(论文翻译)

    Discriminative Feature Learning for Unsupervised Video Summarization Abstract 在本文中,我们解决了无监督视频摘要的问题,该 ...

  8. 《Feature Pyramid Networks for Object Detection》论文阅读笔记

    FPN 很多论文中都会采用含有FPN的backbone进行特征提取,因为FPN使用特征金字塔结构,将low-level的特征和high-level的特征进行融合,能提取更加准确的位置等特征信息. 所以 ...

  9. #论文笔记#【MRM-Lasso:A sparse Multiview Feature Selection Method Via Low-Rank Analysis】论文笔记

    前言       从现在开始记录一下看的每篇论文,也算是给研究生三年一个交代,不然三年过去了啥也没干不太好.虽然以后可能不会从事这个行业,但是把当下的事做好,不管什么行业,自律是很重要的,从去年进实验 ...

  10. 论文解读 | Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation

    论文地址:Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation GitHub地址: http ...

最新文章

  1. conda常用命令整理
  2. linux 解决 gvfsd-smb-browse CPU 100%占用
  3. [MySQL]快速解决is marked as crashed and should be repaired故障
  4. 微信开放平台开发中遇到的问题
  5. mysql的一个bug Block Nested Loop
  6. 普宁二中高考2021成绩查询,普宁二中2019高考喜报成绩、本科重本上线人数情况...
  7. 一个程序员的C#命名规则(挺不错的)
  8. Sublime Text 全程指引 by Lucida
  9. 6行代码!用Python将PDF转为word
  10. struts2:JSP页面及Action中获取HTTP参数(parameter)的几种方式
  11. Python基础:搭建开发环境(1)
  12. Pycharm如何取消自动换行
  13. php任意地方关闭弹窗,vue和jq中实现点击任意地方关闭弹窗
  14. 三维空间下的交互设计
  15. 基于SpringBoot+Mybatis+Thymeleaf的信息管理系统
  16. 淘宝电子面单怎么用CAINIAO打印组件调打印偏移
  17. eTerm指令、民航指令大全、黑屏指令
  18. 怎样检测php语法错误,检查php的语法错误
  19. 阿里云服务器迁移内容
  20. 国内外Java学习论坛汇总

热门文章

  1. hadoop ubantu环境搭建_创帆云大数据教程系列1-搭建基于docker的hadoop环境安装规划、容器通信及zookeeper...
  2. Flink Forward Asia 2020,明天见!
  3. 牛x!一个比传统数据库快 100-1000 倍的数据库!
  4. 老码农最后都去哪了?
  5. Java基础---基础加强---增强for循环、自动拆装箱及享元、枚举的作用、实现带有构造方法、透彻分析反射的基础_Class类、成员变量的反射、数组参数的成员方法进行反射、数组的反射应用
  6. Java基础---Java---IO流-----BufferedReader、BufferedWriter、缓冲区、装饰设计模式及和继承的区别
  7. python基础篇——列表与列表算法(下)
  8. matlab 最优化编程,Matlab最优化编程例子
  9. linux系统管理与服务器配置【2008网络工程师】,Linux系统管理与服务器配置
  10. 计算机语言em,Python:EM(期望极大算法)实战