@article{koh2017understanding,
title={Understanding black-box predictions via influence functions},
author={Koh, Pang Wei and Liang, Percy},
pages={1885–1894},
year={2017}}
概
本文介绍了如果计算(估计)损失关于样本的一些影响因子, 并介绍了一些应用范围.
主要内容
假设样本
z
1
,
…
,
z
n
z_1,\ldots, z_n
z1,…,zn,
z
i
=
(
x
i
,
y
i
)
∈
X
×
Y
z_i = (x_i,y_i) \in \mathcal{X} \times \mathcal{Y}
zi=(xi,yi)∈X×Y, 通过最小化经验损失
θ
^
:
=
arg
min
θ
∈
Θ
1
n
∑
i
=
1
n
L
(
z
i
,
θ
)
,
\hat{\theta} := \arg \min_{\theta \in \Theta} \frac{1}{n} \sum_{i=1}^n L(z_i, \theta),
θ^:=argθ∈Θminn1i=1∑nL(zi,θ),
找到最优解.
且假设 L L L关于样本和参数都是二阶可导且强凸的.
样本重要性分析
显然, 此时给定一个测试样本 z t e s t z_{test} ztest, 其对应的损失为 L ( z t e s t , θ ^ ) L(z_{test},\hat{\theta}) L(ztest,θ^), 那么衡量一个样本重要性的一个重要指标便是, 倘若在移除样本 z z z的情况下重新训练模型, 对应的参数和损失的变化.
假设在移除样本
z
z
z的情况下训练得到的最优参数为
θ
^
−
z
\hat{\theta}_{-z}
θ^−z, 并引入
θ
^
ϵ
,
z
:
=
arg
min
θ
∈
Θ
1
n
∑
i
=
1
n
L
(
z
i
,
θ
)
+
ϵ
L
(
z
,
θ
)
,
\hat{\theta}_{\epsilon, z} := \arg \min_{\theta \in \Theta} \frac{1}{n}\sum_{i=1}^n L(z_i, \theta)+\epsilon L(z,\theta),
θ^ϵ,z:=argθ∈Θminn1i=1∑nL(zi,θ)+ϵL(z,θ),
易得
θ
^
−
z
=
θ
^
−
1
n
,
z
\hat{\theta}_{-z} = \hat{\theta}_{-\frac{1}{n},z}
θ^−z=θ^−n1,z.
则
I
u
p
,
p
a
r
a
m
s
(
z
)
:
=
d
θ
^
ϵ
,
z
d
ϵ
∣
ϵ
=
0
=
−
H
θ
^
−
1
∇
θ
L
(
z
,
θ
^
)
,
(1)
\tag{1} \mathcal{I}_{up, params} (z) := \frac{d \hat{\theta}_{\epsilon, z}}{d \epsilon}|_{\epsilon=0} = -H_{\hat{\theta}}^{-1} \nabla_{\theta} L(z, \hat{\theta}),
Iup,params(z):=dϵdθ^ϵ,z∣ϵ=0=−Hθ^−1∇θL(z,θ^),(1)
其中
H
θ
:
=
1
n
∑
i
=
1
n
∇
θ
2
L
(
z
i
,
θ
^
)
H_{\theta}:= \frac{1}{n} \sum_{i=1}^n \nabla_{\theta}^2 L(z_i, \hat{\theta})
Hθ:=n1∑i=1n∇θ2L(zi,θ^).
我们可以得到, 参数的变化量的一阶近似
θ
^
−
z
−
θ
^
≈
−
1
n
I
u
p
,
p
a
r
a
m
s
(
z
)
.
\hat{\theta}_{-z} - \hat{\theta} \approx -\frac{1}{n} \mathcal{I}_{up,params} (z).
θ^−z−θ^≈−n1Iup,params(z).
进一步, 我们定义损失的变化量
I
u
p
,
l
o
s
s
(
z
,
z
t
e
s
t
)
:
=
d
L
(
z
t
e
s
t
,
θ
^
ϵ
,
z
)
d
ϵ
∣
ϵ
=
0
=
∇
θ
L
(
z
t
e
s
t
,
θ
^
)
T
d
θ
^
ϵ
,
z
d
ϵ
∣
ϵ
=
0
=
−
∇
θ
L
(
z
t
e
s
t
,
θ
^
)
T
H
θ
^
−
1
∇
θ
L
(
z
,
θ
^
)
.
(2)
\tag{2} \begin{array}{ll} \mathcal{I}_{up, loss} (z, z_{test}) & := \frac{dL(z_{test}, \hat{\theta}_{\epsilon, z})}{d \epsilon} |_{\epsilon = 0} \\ & = \nabla_{\theta} L(z_{test}, \hat{\theta})^T \frac{d \hat{\theta}_{\epsilon, z}}{d \epsilon} |_{\epsilon = 0} \\ & = -\nabla_{\theta} L(z_{test}, \hat{\theta})^T H_{\hat{\theta}}^{-1} \nabla_{\theta} L(z, \hat{\theta}). \end{array}
Iup,loss(z,ztest):=dϵdL(ztest,θ^ϵ,z)∣ϵ=0=∇θL(ztest,θ^)Tdϵdθ^ϵ,z∣ϵ=0=−∇θL(ztest,θ^)THθ^−1∇θL(z,θ^).(2)
样本摄动对损失的影响
倘若我们对其中一个样本 z z z添加一个扰动 δ \delta δ, 并在新的数据 z δ : = ( x + δ , y ) z_{\delta}:=(x+\delta,y) zδ:=(x+δ,y)上训练, 得到模型, 其参数和损失会如何变化?
我们定义
θ
^
ϵ
,
z
δ
,
−
z
:
=
arg
min
θ
∈
Θ
1
n
∑
i
=
1
n
L
(
z
i
,
θ
)
+
ϵ
L
(
z
δ
,
θ
)
−
ϵ
L
(
z
,
θ
)
,
\hat{\theta}_{\epsilon, z_{\delta}, -z}:= \arg \min_{\theta \in \Theta} \frac{1}{n} \sum_{i=1}^n L(z_i, \theta) + \epsilon L(z_{\delta},\theta)-\epsilon L(z,\theta),
θ^ϵ,zδ,−z:=argθ∈Θminn1i=1∑nL(zi,θ)+ϵL(zδ,θ)−ϵL(z,θ),
并令
θ
^
z
δ
,
−
z
:
=
θ
^
1
n
,
z
δ
,
−
z
\hat{\theta}_{z_{\delta},-z}:= \hat{\theta}_{\frac{1}{n}, z_{\delta}, -z}
θ^zδ,−z:=θ^n1,zδ,−z
同样可以证明
d
θ
^
ϵ
,
z
δ
,
−
z
d
ϵ
∣
ϵ
=
0
=
−
H
θ
^
−
1
(
∇
θ
L
(
z
δ
,
θ
^
)
−
∇
θ
L
(
z
,
θ
^
)
)
.
(3)
\tag{3} \frac{d \hat{\theta}_{\epsilon, z_{\delta}, -z}}{d \epsilon} |_{\epsilon=0} = -H_{\hat{\theta}}^{-1} (\nabla_{\theta} L(z_{\delta}, \hat{\theta}) -\nabla_{\theta} L(z, \hat{\theta})).
dϵdθ^ϵ,zδ,−z∣ϵ=0=−Hθ^−1(∇θL(zδ,θ^)−∇θL(z,θ^)).(3)
则
θ
^
z
δ
,
−
z
−
θ
^
≈
−
1
n
H
θ
^
−
1
(
∇
θ
L
(
z
δ
,
θ
^
)
−
∇
θ
L
(
z
,
θ
^
)
)
≈
−
1
n
H
θ
^
−
1
∇
x
∇
θ
L
(
z
δ
,
θ
^
)
δ
.
\hat{\theta}_{z_{\delta}, -z}-\hat{\theta} \approx -\frac{1}{n}H_{\hat{\theta}}^{-1} (\nabla_{\theta} L(z_{\delta}, \hat{\theta}) -\nabla_{\theta} L(z, \hat{\theta})) \approx -\frac{1}{n} H_{\hat{\theta}}^{-1} \nabla_x \nabla_{\theta} L(z_{\delta}, \hat{\theta}) \delta.
θ^zδ,−z−θ^≈−n1Hθ^−1(∇θL(zδ,θ^)−∇θL(z,θ^))≈−n1Hθ^−1∇x∇θL(zδ,θ^)δ.
故
I
p
e
r
t
,
l
o
s
s
(
z
,
z
t
e
s
t
)
T
:
=
∇
δ
L
(
z
t
e
s
t
,
θ
^
z
δ
,
−
z
)
T
≈
−
1
n
∇
θ
L
(
z
t
e
s
t
,
θ
^
)
T
H
θ
^
−
1
∇
x
∇
θ
L
(
z
,
θ
^
)
.
(5)
\tag{5} \mathcal{I}_{pert, loss}(z, z_{test})^T:= \nabla_{\delta} L(z_{test}, \hat{\theta}_{z_{\delta},-z})^T \approx -\frac{1}{n} \nabla_{\theta} L(z_{test}, \hat{\theta})^T H_{\hat{\theta}}^{-1} \nabla_x \nabla_{\theta} L(z, \hat{\theta}).
Ipert,loss(z,ztest)T:=∇δL(ztest,θ^zδ,−z)T≈−n1∇θL(ztest,θ^)THθ^−1∇x∇θL(z,θ^).(5)
注:文章这里没有 1 n \frac{1}{n} n1且是等号(我卡在这个地方了, 推不出来).
高效计算 H − 1 H^{-1} H−1
共轭梯度
此时我们不是计算 H θ ^ − 1 H_{\hat{\theta}}^{-1} Hθ^−1, 而是计算 s : = H θ ^ − 1 v s:=H_{\hat{\theta}}^{-1}v s:=Hθ^−1v, 比如在计算 I u p , l o s s \mathcal{I}_{up, loss} Iup,loss的时候, v = ∇ θ L ( z t e s t , θ ^ ) v=\nabla_{\theta} L(z_{test}, \hat{\theta}) v=∇θL(ztest,θ^), 则对于固定的 z t e s t z_{test} ztest想要知道不同的 z i z_i zi的影响可以直接用 s T ∇ θ L ( z i , θ ^ ) s^T \nabla_{\theta} L(z_i, \hat{\theta}) sT∇θL(zi,θ^), 避免了重复运算.
即求解
arg
min
t
1
2
t
T
H
θ
^
t
−
v
T
t
,
\arg \min_t \quad \frac{1}{2} t^TH_{\hat{\theta}}t - v^Tt,
argtmin21tTHθ^t−vTt,
假设第
k
k
k步为
t
=
t
k
,
t=t_k,
t=tk,
则利用精确直线搜索
arg
min
p
1
2
t
k
+
1
T
H
θ
^
t
k
+
1
−
v
T
t
k
+
1
,
s
.
t
.
t
k
+
1
=
t
k
+
p
(
H
θ
t
k
−
v
)
,
\arg \min_{p} \frac{1}{2} t_{k+1}^T H_{\hat{\theta}}t_{k+1}-v^Tt_{k+1}, \: \mathrm{s.t.} \: t_{k+1}=t_k + p(H_{\theta}t_k -v),
argpmin21tk+1THθ^tk+1−vTtk+1,s.t.tk+1=tk+p(Hθtk−v),
得
p
=
−
Δ
T
H
θ
^
t
k
−
v
T
Δ
Δ
T
H
θ
^
Δ
,
Δ
=
H
θ
^
t
k
−
v
.
p= -\frac{\Delta^T H_{\hat{\theta}}t_k-v^T\Delta}{\Delta^T H_{\hat{\theta}} \Delta}, \Delta=H_{\hat{\theta}}t_k-v.
p=−ΔTHθ^ΔΔTHθ^tk−vTΔ,Δ=Hθ^tk−v.
随机估计
这里是估计
H
θ
^
−
1
H_{\hat{\theta}}^{-1}
Hθ^−1, 为了符号简便省略下表, 因为
H
−
1
=
∑
i
=
0
+
∞
(
I
−
H
)
i
H^{-1}=\sum_{i=0}^{+\infty}(I-H)^i
H−1=∑i=0+∞(I−H)i, 用
H
j
−
1
=
∑
i
=
0
j
(
I
−
H
)
i
H_j^{-1}= \sum_{i=0}^j (I - H)^i
Hj−1=∑i=0j(I−H)i表示前
j
+
1
j+1
j+1项的和, 易知
H
j
−
1
=
I
+
(
I
−
H
)
H
j
−
1
−
1
,
H
j
−
1
→
H
−
1
.
H_j^{-1} = I + (I -H)H_{j-1}^{-1}, H_j^{-1} \rightarrow H^{-1}.
Hj−1=I+(I−H)Hj−1−1,Hj−1→H−1.
我们从样本中均匀挑选, 计算
∇
θ
2
L
(
z
i
,
θ
^
)
\nabla_{\theta}^2 L(z_i, \hat{\theta})
∇θ2L(zi,θ^) 作为
H
H
H的替代, 则
H
~
j
−
1
=
I
+
(
I
−
∇
θ
2
L
(
z
s
j
,
θ
^
)
)
H
~
j
−
1
−
1
.
\tilde{H}_j^{-1}=I+(I-\nabla_{\theta}^2 L(z_{s_j}, \hat{\theta}))\tilde{H}_{j-1}^{-1}.
H~j−1=I+(I−∇θ2L(zsj,θ^))H~j−1−1.
当然, 处于稳定性的考虑, 我们可以一次性采样多个来作为 H H H的替代.
一些应用
- 探索模型关于样本的内在解释, 即什么样的样本模型会更加偏好之类的;
- 生成对抗样本;
- 检测目标数据分布和训练分布是否一致;
- 检测训练数据的标签是否正确.
附录
(1)的证明
定义
Δ
ϵ
:
=
θ
^
ϵ
,
z
−
θ
^
\Delta_{\epsilon}:= \hat{\theta}_{\epsilon, z}-\hat{\theta}
Δϵ:=θ^ϵ,z−θ^, 则
I
u
p
,
p
a
r
a
m
s
(
z
)
=
d
Δ
ϵ
d
ϵ
∣
ϵ
=
0
.
\mathcal{I}_{up, params} (z) = \frac{d \Delta_{\epsilon}}{d \epsilon} |_{\epsilon =0}.
Iup,params(z)=dϵdΔϵ∣ϵ=0.
由一阶最优条件可知
0
=
1
n
∑
i
=
1
n
∇
θ
L
(
z
i
,
θ
^
)
:
=
R
(
θ
^
)
,
0
=
R
(
θ
^
ϵ
,
z
)
+
ϵ
∇
θ
L
(
z
,
θ
^
ϵ
,
z
)
,
0= \frac{1}{n} \sum_{i=1}^n \nabla_{\theta} L(z_i, \hat{\theta}) := R(\hat{\theta}), \\ 0= R(\hat{\theta}_{\epsilon, z}) + \epsilon \nabla_{\theta} L(z, \hat{\theta}_{\epsilon, z}),
0=n1i=1∑n∇θL(zi,θ^):=R(θ^),0=R(θ^ϵ,z)+ϵ∇θL(z,θ^ϵ,z),
把
θ
^
ϵ
,
θ
\hat{\theta}_{\epsilon, \theta}
θ^ϵ,θ看成自变量(固定
ϵ
\epsilon
ϵ), 第二个等式右边是关于这个变量的一个函数, 则其在
θ
^
ϵ
,
θ
=
θ
^
\hat{\theta}_{\epsilon, \theta}=\hat{\theta}
θ^ϵ,θ=θ^处的泰勒展式为
R
(
θ
^
)
+
ϵ
∇
θ
L
(
z
,
θ
^
)
+
[
∇
θ
R
(
θ
^
)
+
ϵ
∇
θ
2
L
(
z
,
θ
^
)
]
Δ
ϵ
+
o
(
Δ
ϵ
)
=
0
R(\hat{\theta}) + \epsilon \nabla_{\theta} L(z, \hat{\theta})+ [\nabla_{\theta} R(\hat{\theta}) + \epsilon \nabla_{\theta}^2 L(z, \hat{\theta})] \Delta_{\epsilon} + o(\Delta_{\epsilon})=0
R(θ^)+ϵ∇θL(z,θ^)+[∇θR(θ^)+ϵ∇θ2L(z,θ^)]Δϵ+o(Δϵ)=0
故
Δ
ϵ
=
−
[
∇
θ
R
(
θ
^
)
+
ϵ
∇
θ
2
L
(
z
,
θ
^
)
]
−
1
[
0
+
ϵ
∇
θ
L
(
z
,
θ
^
)
+
o
(
Δ
ϵ
)
]
,
\Delta_{\epsilon} = -[\nabla_{\theta} R(\hat{\theta}) + \epsilon \nabla_{\theta}^2 L(z, \hat{\theta})] ^{-1} [0 + \epsilon \nabla_{\theta} L(z, \hat{\theta})+o(\Delta_{\epsilon})],
Δϵ=−[∇θR(θ^)+ϵ∇θ2L(z,θ^)]−1[0+ϵ∇θL(z,θ^)+o(Δϵ)],
因为
ϵ
→
0
\epsilon \rightarrow 0
ϵ→0,
Δ
ϵ
→
0
\Delta_{\epsilon} \rightarrow0
Δϵ→0 易知,
d
Δ
ϵ
d
ϵ
∣
ϵ
=
0
=
−
H
θ
^
−
1
∇
θ
L
(
z
,
θ
^
)
.
\frac{d \Delta_{\epsilon}}{d \epsilon |_{\epsilon =0}} = -H_{\hat{\theta}}^{-1} \nabla_{\theta} L(z, \hat{\theta}).
dϵ∣ϵ=0dΔϵ=−Hθ^−1∇θL(z,θ^).