ICLR 2021, 上交
Referenece: https://blog.csdn.net/xixiaoyaoww/article/details/113979579
本文贡献:
(1)发现过拟合的样本中往往建模了更强的博弈交互;
(2)证明了dropout对于博弈交互强度的抑制;
(3)提出了博弈交互损失函数,能够替代 dropout 提升神经网络的泛化能力。
相比于传统的Dropout,交互损失函数能更加显式地控制对交互强度的惩罚,在网络训练过程中实现从过拟合到欠拟合的精确控制,并且克服了dropout和batch normalization的不兼容问题。
一、探索交互强度与泛化能力的关系——过拟合意味着更多的博弈交互
首先,论文将研究神经网络的泛化能力与网络所建模的博弈交互之间的关系。在这里,使用的是第二章中所定义的双变元博弈交互。给定一个神经网络,ϕ(i)表示在博弈论中定义的某一个输入变量i的重要性(Shapley值)。两个输入变量i和j之间博弈交互值I(i,j)被定义为当变量j存在时和当变量j不存在时,其重要性的变化量:
I
(
i
,
j
)
=
der
ϕ
(
S
i
j
∣
N
′
)
−
[
ϕ
(
i
∣
N
\
{
j
}
)
+
ϕ
(
j
∣
N
\
{
i
}
)
]
=
∑
S
⊆
N
\
{
i
,
j
}
P
Shapley
(
S
∣
N
\
{
i
,
j
}
)
Δ
f
(
S
,
i
,
j
)
I(i, j) \stackrel{\text { der }}{=} \phi\left(S_{i j} \mid N^{\prime}\right)-[\phi(i \mid N \backslash\{j\})+\phi(j \mid N \backslash\{i\})]=\sum_{S \subseteq N \backslash\{i, j\}} P_{\text {Shapley }}(S \mid N \backslash\{i, j\}) \Delta f(S, i, j)
I(i,j)= der ϕ(Sij∣N′)−[ϕ(i∣N\{j})+ϕ(j∣N\{i})]=S⊆N\{i,j}∑PShapley (S∣N\{i,j})Δf(S,i,j)
若变量j的存在能够让变量i的重要性增加,那么变量i、j之间的博弈交互为正。否则,二者之间的博弈交互为负。博弈交互值的绝对值可视为博弈交互的强度。下图对神经网络所建模的双变元博弈交互的强度(交互值的绝对值)进行了可视化。人面部的格子往往与周边格子的博弈交互更大。
通过实验发现,在分类任务中,过拟合的样本往往包含了更多的博弈交互,而正常的样本中博弈交互较小。
二、Dropout对交互强度的抑制
输入变量i与j之间的第s阶的博弈交互可以拆分为不同子阶的交互分量:
I
dropout
(
s
)
(
i
,
j
)
=
E
S
⊆
N
\
{
i
,
j
}
,
∣
S
∣
=
s
[
E
S
′
⊆
S
,
∣
S
′
∣
=
r
(
∑
T
⊆
S
′
R
T
(
i
,
j
)
)
]
=
∑
0
≤
q
≤
r
Γ
(
q
)
(
i
,
j
∣
r
)
I_{\text {dropout }}^{(s)}(i, j)=\underset{S \subseteq N \backslash\{i, j\},|S|=s}{\mathbb{E}}\left[\underset{S^{\prime} \subseteq S,\left|S^{\prime}\right|=r}{\mathbb{E}}\left(\sum_{T \subseteq S^{\prime}} R^{T}(i, j)\right)\right]=\sum_{0 \leq q \leq r} \Gamma^{(q)}(i, j \mid r)
Idropout (s)(i,j)=S⊆N\{i,j},∣S∣=sE[S′⊆S,∣S′∣=rE(T⊆S′∑RT(i,j))]=0≤q≤r∑Γ(q)(i,j∣r)
然后,证明Dropout操作可以降低全部子阶分量的博弈交互强度,从而降低整体的交互强度。
1
≥
Γ
(
1
)
(
i
,
j
∣
r
)
Γ
(
1
)
(
i
,
j
∣
s
)
≥
⋯
≥
Γ
(
r
)
(
i
,
j
∣
r
)
Γ
(
r
)
(
i
,
j
∣
s
)
≥
0
,
I
dropout
(
s
)
(
i
,
j
)
I
(
s
)
(
i
,
j
)
=
∑
0
≤
q
≤
r
Γ
(
q
)
(
i
,
j
∣
r
)
∑
0
≤
q
≤
s
Γ
(
q
)
(
i
,
j
∣
s
)
≤
1
1 \geq \frac{\Gamma^{(1)}(i, j \mid r)}{\Gamma^{(1)}(i, j \mid s)} \geq \cdots \geq \frac{\Gamma^{(r)}(i, j \mid r)}{\Gamma^{(r)}(i, j \mid s)} \geq 0, \quad \frac{I_{\text {dropout }}^{(s)}(i, j)}{I^{(s)}(i, j)}=\frac{\sum_{0 \leq q \leq r} \Gamma^{(q)}(i, j \mid r)}{\sum_{0 \leq q \leq s} \Gamma^{(q)}(i, j \mid s)} \leq 1
1≥Γ(1)(i,j∣s)Γ(1)(i,j∣r)≥⋯≥Γ(r)(i,j∣s)Γ(r)(i,j∣r)≥0,I(s)(i,j)Idropout (s)(i,j)=∑0≤q≤sΓ(q)(i,j∣s)∑0≤q≤rΓ(q)(i,j∣r)≤1
实验验证:
分别在有dropout和没有dropout参与的情况下训练神经网络。如下图所示,未使用dropout的神经网络建模了更多的博弈交互。
三、提出交互强度损失函数
基于上面的分析,设计了交互损失函数作为对dropout效用的提升。论文使用设计的交互损失函数训练深度神经网络,可以进一步提升网络性能。加上原有的分类损失函数,总的损失函数如下:
Loss
=
Loss
classification
+
λ
Loss interaction
\text { Loss }=\text { Loss }_{\text {classification }}+\lambda \text { Loss interaction }
Loss = Loss classification +λ Loss interaction
和dropout相比,所提出的交互损失函数有如下优势:
第一,交互损失函数能通过调整权重λ,更加显式地控制对交互强度的惩罚。这样的显式控制能够在网络训练过程中平衡好过拟合和欠拟合。
第二,由于dropout和batch normalization的不兼容性,一般不能在使用了bn的网络中使用dropout 。相较而言,交互损失函数和bn是兼容的。实验结果也验证了交互损失函数和bn的兼容性。
下表给出了使用不同权重的交互损失函数训练的网络的准确率和使用dropout训练的网络的准确率。
从表中可以看出,一开始随着权重的不断增大,准确率也不断增大,当权重增大到一定程度再继续增大的时候准确率开始下降。这可能是因为当权重比较小的时候,交互损失函数能消除过拟合的影响;当权重大到一定程度的时候,又会造成欠拟合。此外,当选取合适的权重的时候,使用交互损失函数训练的网络的准确率一般会超过使用dropout训练的网络。这表明交互损失函数能够提升dropout的效用。
下图展示了使用不同权重交互损失函数的网络在训练过程中交互强度和准确率的变化曲线。
首先,可以发现随着权重的增大,交互强度不断减小,这验证了交互损失函数的有效性。其次,当权重选择合理时,使用交互损失函数训练的网络的性能一般会超过使用dropout训练的网络的性能,可见,交互损失比dropout更能有效地降低交互强度和提升网络性能。
此外,论文还探究了神经网络中适合加入交互损失/dropout的位置。如下表所示,交互损失更适合加在低的卷积层。而dropout对于使用的位置并没有一个明显的倾向性。
四、总结
综上所述,相比dropout,交互损失有两个优势。一方面,交互损失能够更有效地控制网络建模的过拟合/欠拟合程度,而dropout无法显式地控制。此外,和dropout不同,交互损失和bn兼容。相较而言,交互损失没有因bn的使用降低分类准确率。