Interpreting and Disentangling Feature Components of Various Complexity from DNNS论文解读

论文地址

摘要

这篇文章旨在定义、量化以及分析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算法中非线性转换的数量是一个很大的挑战。因此,我们使用非线性层的数量来近似表示特征复杂度。即:如果一个特征组成部分能通过 k k k个非线性层计算得到,但是无法通过 k − 1 k-1 k1个线性层计算得到,那么我们就认为它的复杂度为 k − t h k-th kth 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 特征组成部分的复杂度

给定一张输入图片 x x x f ( x ) ∈ R n f(x)\in\mathbb{R}^n f(x)Rn 表示DNN中某一个特定中间层的特征。DNN的输出为 y = D ( f ( x ) ) ∈ R C y=\mathcal{D}(f(x))\in\mathbb{R}^C y=D(f(x))RC C C C 指代分类任务中类的数量, 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) 指代 l l l 级复杂度的特征组成部分。 Δ f \Delta f Δf 指代更高级复杂度的特征组成部分。

定义

考虑对于特征线性分解的上述要求, l l l 级复杂度的特征组成部分 c ( l ) ( x ) = c c^{(l)}(x)=c c(l)(x)=c 被定义为可以通过 l l l 个非线性层,但是无法通过 l − 1 l-1 l1 个非线性层计算得到的特征组成部分,通过这种方式我们限定了网络 Φ \Phi Φ 有一个固定的width(?)。即,特征复杂度 c c c 被定义为 l = arg min ⁡ l ′ { Φ ( l ′ ) ( x ) = c } l=\argmin\limits_{l'}\{\Phi^{(l')}(x)=c\} l=largmin{Φ(l)(x)=c} Φ ( l ′ ) ( ⋅ ) \Phi^{(l')}(\cdot) Φ(l)()表示有 l ′ l' l个非线性转化层的神经网络, ∑ l ′ = 1 L c ( l ′ ) ( x ) \sum\limits_{l'=1}^Lc^{(l')}(x) l=1Lc(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使用知识蒸馏来提取所有复杂度不超过 l l l级的特征组成部分,即 Φ ( l ) ( x ) = ∑ i = 1 l c ( i ) ( x ) \Phi^{(l)}(x)=\sum\limits_{i=1}^lc^{(i)}(x) Φ(l)(x)=i=1lc(i)(x)。给定一个训练过的DNN作为teacher(target)网络,我们选取DNN中的一个中间层 f f f作为目标层。 Φ ( l ) ( x ) = ∑ i = 1 l c ( i ) ( x ) \Phi^{(l)}(x)=\sum\limits_{i=1}^lc^{(i)}(x) Φ(l)(x)=i=1lc(i)(x)通过使用另外一个带有 l l l 层非线性层的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) 来提取不同复杂度级别的特征组成部分。通过这种方式, l l l级复杂度的特征组成部分可以通过如下方式给定:

c ( l ) ( x ) = Φ ( l ) ( x ) − Φ ( l − 1 ) ( x ) , w h e r e   min ⁡ Φ ( l ) L o s s = ∥ 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)Φ(l1)(x),where Φ(l)minLoss=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 ) + Δ f f(x)=\Phi^{(L)}(x)+\Delta f f(x)=Φ(L)(x)+Δf,这里 Δ f \Delta f Δf 指代有着比 L L L 更高复杂度级别的特征组成部分。

实际上,我们没有必要研究每一级特征组成部分,这会导致极大的计算负担。与之相反,我们按照一定间隔来计算特征组成部分。更具体来说,我们计算 c 1 ∼ l 1 ( x ) = c ( 1 ) ( x ) + ⋯ + c ( l 1 ) ( x ) = Φ ( l 1 ) ( x ) ,   c ( l 1 + 1 ∼ l 2 ) ( x ) = c ( l 1 + 1 ) ( x ) + ⋯ + c ( l 2 ) ( x ) = Φ ( l 2 ) ( x ) − Φ ( l 1 ) ( 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) c1l1(x)=c(1)(x)++c(l1)(x)=Φ(l1)(x), c(l1+1l2)(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 ) = V a r [ c ( l ) ( x ) ] / V a r [ f ( x ) ] \rho_c^{(l)}=Var[c^{(l)}(x)]/Var[f(x)] ρc(l)=Var[c(l)(x)]/Var[f(x)] ,这里 V a r [ c ( l ) ( x ) ] = E x [ ∥ c l ( x ) − E x ′ [ 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 V a r [ c ( l ) ( x ) ] Var[c^{(l)}(x)] Var[c(l)(x)] ρ c ( l ) \rho_c^{(l)} ρc(l)代表了 l l l 级复杂度的特征组成部分相对于全部特征的相对strength。

Limitations:accurate estimation vs. fair comparison

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

通过这种方式, ρ 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) 。分解网络包含三种类型的残差块,每种类型都包含 m m m 个块。三种类型的每种都包含一个ReLU层以及有着 128 γ , 256 γ , 512 γ 128\gamma,256\gamma,512\gamma 128γ,256γ,512γ 个channel的卷积层。在大多数的实验中,我们将 γ \gamma γ 设定为1,但是在图3(a)中,我们尝试了 γ \gamma γ 的不同值来测试不同width的分解网络。我们在这 3 m 3m 3m 个块前后使用了两个额外的卷积层来匹配输入输出的维度。因此,一个分解网络包含了 3 m + 2 3m+2 3m+2 个卷积层以及 l = 3 m + 1 l=3m+1 l=3m+1 个ReLU层。对于不同DNN间的fair comparison,我们使用同一个分解网络集合来衡量每个DNN的复杂度。

不同的分解网络能生成类似的distribution of feature components’ strength, 这证实了我们方法的可靠性。为了验证这一点,我们在CIFAR-10数据集上为Task-26(在后面进行介绍)训练了一个target DNN,然后分解了target DNN的output feature。我们使用不同width的分解网络(即不同 γ \gamma γ )进行分析。我们分析了最后一层卷积层输出特征的复杂度。我们将 m m m 设定为 1 , 2 , 4 , 8 , 16 , 32 1,2,4,8,16,32 1,2,4,8,16,32 ,因此对应分解网络的非线性层分别为 l 1 = 4 , l 2 = 7 , l 3 = 13 , l 4 = 25 , l 5 = 49 , l 6 = 97 l_1=4,l_2=7,l_3=13,l_4=25,l_5=49,l_6=97 l1=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(14)(x),c(57)(x),等等。为了boost the learning efficiency, we used parameters of the learned Φ ( l i ) \Phi^{(l_i)} Φ(li) to initialize first l i l_i li layers in Φ ( l i + 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:我们使用 n n n 个ReLU层以及随机初始化的参数构建另外一个网络(这个网络称为task DNN且没有经过任何训练)。网络输出为 8 × 8 × 64 8\times8\times64 8×8×64的tensor。我们使用MSE loss学习target DNN来重建输出tensor。由于task DNN包含 n n n个ReLU层,我们使用 Task-n来表示模仿task DNN的复杂度。由于task DNN中初始化参数是随机选取的,当 n n n很大时,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 = 1 l c ( i ) ( x ) \Phi^{(l)}(x)=\sum\limits_{i=1}^lc^{(i)}(x) Φ(l)(x)=i=1lc(i)(x)

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

Φ ( l ) ( x ) = Φ ( l ) , r e l i ( x ) + Φ ( l ) , u n r e l i ( 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稳定识别的特征。假设我们有为同一个任务训练的 K K K个不同的DNN。对每个DNN,我们选取某个特定中间层的feature作为target
feature。让 f x ( x ) , f 2 ( x ) , … , f K ( x ) f_x(x),f_2(x),\dots,f_K(x) fx(x),f2(x),,fK(x)表示 K K K个DNN的targe features。我们旨在提取 f 1 ( x ) , f 2 ( x ) , … , f K ( x ) f_1(x),f_2(x),\dots,f_K(x) f1(x),f2(x),,fK(x)共享的特征。让 Φ 1 ( l ) , r e l i ( x ) , Φ 2 ( l ) , r e l i ( x ) , … , Φ K ( l ) , r e l i ( 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 特征组成部分,即被 f 1 ( x ) , f 2 ( x ) , … , f K ( x ) f_1(x),f_2(x),\dots,f_K(x) f1(x),f2(x),,fK(x)所共享的特征。接下来,我们可以将目标考虑为学习 Φ 1 ( l ) , r e l i ( x ) , Φ 2 ( l ) , r e l i ( x ) , … , Φ K ( l ) , r e l i ( 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 ) , r e l i ( x ) \Phi_i^{(l),reli}(x) Φi(l),reli(x) and Φ j ( l ) , r e l i ( x ) \Phi_j^{(l),reli}(x) Φj(l),reli(x)Φ are able to reconstruct each other by a linear transformation:

Φ i ( l ) , r e l i ( x ) = r j → i ( Φ j ( l ) , r e l i ( x ) ) ,   Φ j ( l ) , r e l i ( x ) = r i → j ( Φ i ( l ) , r e l i ( 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)=rji(Φj(l),reli(x)), Φj(l),reli(x)=rij(Φi(l),reli(x))(4)

这里 r i → j r_{i\to j} rij以及 r j → i r_{j\to i} rji表示两个线性转化。

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 ( α e f f e c t i v e ( l ) ) (\alpha^{(l)}_{effective}) (αeffective(l))

这个指标衡量了从训练样本 x x x 中提取出的特征组成部分 c ( l ) ( x ) c^{(l)}(x) c(l)(x) 是否对这个任务有直接贡献。整个metric基于博弈论进行定义。我们首先计算了每个 l l l级特征组成部分的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 ⊆ C S\subseteq\mathcal{C} SC 表示 C \mathcal{C} C 的一个子集, f S ′ = ∑ c ( l ) ( x ) ∈ S c ( l ) ( x ) f_{S}'=\sum\limits_{c^{(l)}(x)\in S}c^{(l)}(x) fS=c(l)(x)Sc(l)(x) 是在 S S S 子集中的所有特征组成部分之和。Then, v ( S ) = − E x ∈ X t r a i n [ L t a s k ( y t r u t h , y = D ( f S ′ + Δ f ) g i v e n   x ) ] v(S)=-\mathbb{E}_{x\in X^{train}}[\mathcal{L}^{task}(y^{truth},y=D(f'_S+\Delta f)_{_{given\ x}})] v(S)=ExXtrain[Ltask(ytruth,y=D(fS+Δf)given x)] 表示当我们仅使用子集 S S S中的特征组成部分用于推理时task loss的负值。其中 Δ f \Delta f Δf 是公式1中的high-order 组成部分。接下来,l-order特征组成部分关于任务loss下降的Shapley值通过如下方式计算得到:

φ l t r a i n = ∑ 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=SC\{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!(LS1)!S!。通过这种方式,所有 L L L个特征组成部分的数值贡献可以be fairly allocated and given as φ 1 t r a i n + φ 2 t r a i n + ⋯ + φ L t r a i n = E x ∈ X t r a i n [ L t a s k ( y t r u t h , y = D ( Δ f ) g i v e n   x ) − L t a s k ( y t r u t h , y = D ( f ) g i v e n   x ) ] \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=ExXtrain[Ltask(ytruth,y=D(Δf)given x)Ltask(ytruth,y=D(f)given x)]

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

Significance of over-fitting of feature components α o v e r f i t ( l ) \alpha_{overfit}^{(l)} αoverfit(l)衡量了 c ( l ) ( x ) c^{(l)}(x) c(l)(x)是否过拟合于某个特定的训练样本。和effectiveness十分类似,我们使用Shapley值来度量每个l-order特征组成部分对于over-fitting level的数值贡献 φ l o v e r f i t \varphi^{overfit}_l φloverfit。我们使用 L o v e r f i t ( f ) = E x ∈ X t e s t [ L t a s k ( y t r u t h , y = D ( f ) g i v e n   x ) ] − E x ∈ X t r a i n [ L t a s k ( y t r u t h , y = D ( f ) g i v e n   x ) ] \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)=ExXtest[Ltask(ytruth,y=D(f)given x)]ExXtrain[Ltask(ytruth,y=D(f)given x)]来表示我们使用特征 f f f用于推理时过拟合的significance。在这种情况下, v ( S ) = L o v e r f i t ( f S ′ + Δ 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 S S S。我们plug such definition of v ( S ) v(S) v(S) to the formulation of Shapley value φ l o v e r f i t \varphi_l^{overfit} φloverfit。通过这种方式,the computed Shapley value φ l o v e r f i t \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 φ 1 o v e r f i t + φ 2 o v e r f i t + ⋯ + φ L o v e r f i t = L o v e r f i t ( f ) − L o v e r f i t ( Δ 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 α o v e r f i t ( l ) = φ l o v e r f i t / φ l t r a i n \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数据集上的图片,我们分解并可视化了不同复杂度级别的特征组成部分。我们选取了 c o n v 4 − 3 conv_4-3 conv43层中的特征(大小为 28 × 28 × 512 28\times28\times512 28×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 ) , r e l i \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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值