1)考虑模型
F
F
F,数据集为
X
\mathcal{X}
X,给定一组带正确标签的样本
{
(
X
,
Y
(
X
)
)
∣
X
∈
X
}
\{(X,Y(X))|X\in \mathcal{X}\}
{(X,Y(X))∣X∈X},即
Y
(
X
)
Y(X)
Y(X)为
X
X
X的正确标签向量(硬标签),训练目标为(最小化负对数似然):
arg
min
θ
F
−
1
∣
X
∣
∑
X
∈
X
∑
i
∈
0...
N
Y
i
(
X
)
log
F
i
(
X
)
(1)
\arg\min_{\theta_F} -\frac{1}{|\mathcal{X}|}\sum_{X\in \mathcal{X}}\;\sum_{i\in 0...N} Y_i(X)\log F_i(X) \tag{1}
argθFmin−∣X∣1X∈X∑i∈0...N∑Yi(X)logFi(X)(1)
θ
F
\theta_F
θF 为模型的参数集合,
Y
i
Y_i
Yi 是
Y
Y
Y 的第
i
i
i 个元素,
F
i
(
X
)
F_i(X)
Fi(X) 是
F
(
X
)
F(X)
F(X) 的第
i
i
i 个元素,即表示
X
X
X 是第
i
i
i 个类别的概率。优化的目标是调整模型参数
θ
F
\theta_F
θF。
由于
Y
(
X
)
Y(X)
Y(X)为
X
X
X的正确标签向量,即one-hot向量,只有正确类别的元素才是1,其余都为0,所以公式(1)可以简化为:
arg
min
θ
F
−
1
∣
X
∣
∑
X
∈
X
log
F
t
(
x
)
(
X
)
(2)
\arg\min_{\theta_F} -\frac{1}{|\mathcal{X}|}\sum_{X\in \mathcal{X}} \log F_{t(x)}(X) \tag{2}
argθFmin−∣X∣1X∈X∑logFt(x)(X)(2) 其中
t
(
X
)
t(X)
t(X) 是向量
Y
(
X
)
Y(X)
Y(X) 中唯一等于 1 的元素的索引。
2)引入对抗蒸馏后,蒸馏模型记为
F
d
F^d
Fd,训练的数据集仍为
X
\mathcal{X}
X,但样本
X
∈
X
X \in \mathcal{X}
X∈X 的标签变为
F
(
X
)
F(X)
F(X)(软标签),训练目标变为:
arg
min
θ
F
−
1
∣
X
∣
∑
X
∈
X
∑
i
∈
0...
N
F
i
(
X
)
log
F
i
d
(
X
)
(3)
\arg\min_{\theta_F} -\frac{1}{|\mathcal{X}|}\sum_{X\in \mathcal{X}}\;\sum_{i\in 0...N} F_i(X)\log F_i^d(X) \tag{3}
argθFmin−∣X∣1X∈X∑i∈0...N∑Fi(X)logFid(X)(3) 同样的,
F
i
d
F_i^d
Fid 是
F
d
F^d
Fd 的第
i
i
i 个元素。 对于一个包含了两个或多个类别特征的样本,网络有时会十分自信的预测出一个类别,作者认为,上述的蒸馏训练能避免这种情况,从而提高网络的泛化能力。 训练目标实际就是令
F
d
=
F
F^d = F
Fd=F,也就是最小化交叉熵。
B)模型敏感度
模型对输入变化的敏感度由其Jacobian矩阵计算,在 temperature
=
T
=T
=T 时,模型
F
F
F 的 Jacobian矩阵的第
(
i
,
j
)
(i,j)
(i,j) 元素为:
∂
F
i
(
X
)
∂
X
j
∣
T
=
∂
∂
X
j
(
e
z
i
/
T
∑
l
=
0
N
−
1
e
z
l
/
T
)
=
1
T
e
z
i
/
T
(
∑
l
=
0
N
−
1
e
z
l
/
T
)
2
(
∑
l
=
0
N
−
1
(
∂
z
i
∂
X
j
−
∂
z
l
∂
X
j
)
e
z
l
/
T
)
(4)
\begin{aligned} \left.\frac{\partial F_i(X)}{\partial X_j}\right|_{T} &= \frac{\partial }{\partial X_j}\left ( \frac{ e^{z_i/T}}{\sum_{l=0}^{N-1}e^{z_l/T}}\right )\\ &= \frac{1}{T}\frac{e^{z_i/T}}{(\sum_{l=0}^{N-1}e^{z_l/T})^2}\left ( \sum_{l=0}^{N-1}\left ( \frac{\partial z_i}{\partial X_j}-\frac{\partial z_l}{\partial X_j} \right )e^{z_l/T} \right ) \end{aligned} \tag{4}
∂Xj∂Fi(X)∣∣T=∂Xj∂(∑l=0N−1ezl/Tezi/T)=T1(∑l=0N−1ezl/T)2ezi/T(l=0∑N−1(∂Xj∂zi−∂Xj∂zl)ezl/T)(4) 其中
z
0
,
.
.
.
,
z
N
−
1
z_0,...,z_{N-1}
z0,...,zN−1 是logits 层的输出。公式(4)说明了,当
z
0
,
.
.
.
,
z
N
−
1
z_0,...,z_{N-1}
z0,...,zN−1 不变时,增加
T
T
T 的值会降低Jacobian矩阵内所有元素的绝对值,从而降低了模型对其输入的微小变化的敏感度。 作者认为,使用较高的
T
T
T 进行训练,可以将这种敏感度信息编码在模型参数中,因此在测试时,令
T
=
1
T=1
T=1,仍可以保持其敏感性。
C)泛化能力
Shalev-Schwartz等人证明了 learnability 和 stability 之间的联系:考虑一个学习问题
(
Z
=
X
×
T
,
H
,
l
)
(Z=X\times T, \mathcal{H},l)
(Z=X×T,H,l),其中
X
X
X 是输入空间,
Y
Y
Y 是输出空间,
H
\mathcal{H}
H 是假设空间,
l
l
l 是将
(
w
,
z
)
∈
H
×
Z
(w,z) \in \mathcal{H}\times Z
(w,z)∈H×Z 映射为一个正实数的损失函数。对于给定的一组训练集
S
=
{
z
i
:
i
∈
[
n
]
}
S=\{z_i: i\in[n]\}
S={zi:i∈[n]},定义一个经验损失(empirical loss)
L
S
(
w
)
=
1
n
∑
i
∈
[
n
]
l
(
w
,
z
i
)
L_S(w)=\frac{1}{n}\sum_{i\in[n]} l(w,z_i)
LS(w)=n1∑i∈[n]l(w,zi),将最小经验风险记为
L
S
∗
=
min
w
∈
H
L
S
(
w
)
L_S^* = \min_{w\in \mathcal{H}}L_S(w)
LS∗=minw∈HLS(w)。现在给出以下两个定义和一个定理: 定义1 Asymptotic Empirical Risk Minimizer:a learning rule
A
A
A is an asymptotic empirical risk minimizer, if there is a rate function
ε
(
n
)
\varepsilon (n)
ε(n) (means a function that non-increasingly vanishes to 0 as n grows) such that for every training set
S
S
S of size
n
n
n,
L
S
(
A
(
S
)
)
−
L
S
∗
≤
ε
(
n
)
L_S(A(S))-L_S^*\leq \varepsilon (n)
LS(A(S))−LS∗≤ε(n)
定义2 Stability:we say that a learning rule
A
A
A is
ε
(
n
)
\varepsilon (n)
ε(n) stable if for every two training sets
S
S
S,
S
′
S′
S′ that only differ in one training item, and for every
z
∈
Z
z \in Z
z∈Z,
∣
l
(
A
(
S
)
,
z
)
−
l
(
A
(
S
′
)
,
z
)
∣
≤
ε
(
n
)
|l(A(S),z)-l(A(S'),z)|\leq \varepsilon (n)
∣l(A(S),z)−l(A(S′),z)∣≤ε(n) 其中
h
=
A
(
S
)
h=A(S)
h=A(S) 是
A
A
A 在训练集
S
S
S 上的输出,
l
(
A
(
S
)
,
z
)
=
l
(
h
,
z
)
l(A(S),z)=l(h,z)
l(A(S),z)=l(h,z) 是损失函数。
定理1 If there is a learning rule
A
A
A that is both an asymptotic empirical risk minimizer and stable, then
A
A
A generalizes, which means that the generalization error
L
D
(
A
(
S
)
)
L_D(A(S))
LD(A(S)) converges to
L
D
∗
=
min
h
∈
H
L
D
(
h
)
L^∗_D =\min_{ h\in \mathcal{H}} L_D(h)
LD∗=minh∈HLD(h) with some rate
ε
(
n
)
\varepsilon (n)
ε(n) independent of any data generating distribution
D
D
D.
根据这个定理可以知道,通过适当的设置
T
T
T,对于任何数据集
S
S
S 和
S
′
S'
S′,新生成的训练集
(
X
,
F
S
(
X
)
)
(X,F^S(X))
(X,FS(X)) 和
(
X
,
F
S
′
(
X
)
)
(X,F^{S'}(X))
(X,FS′(X)) 满足很强的稳定性条件。反过来就是,对于任意的
X
∈
X
X\in \mathcal{X}
X∈X,
F
S
(
X
)
F^S(X)
FS(X) 和
F
S
′
(
X
)
F^{S'}(X)
FS′(X) 在统计上是接近的。可以看出,防御蒸馏训练满足上述定义的稳定性条件。