Understanding Black-box Predictions via Influence Functions

Koh P W, Liang P. Understanding black-box predictions via influence functions[C]. international conference on machine learning, 2017: 1885-1894.

@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=1nL(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=1nL(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θ:=n1i=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=1nL(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θ^1xθ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)Tn1θL(ztest,θ^)THθ^1xθL(z,θ^).(5)

注:文章这里没有 1 n \frac{1}{n} n1且是等号(我卡在这个地方了, 推不出来).

高效计算 H − 1 H^{-1} H1

共轭梯度

此时我们不是计算 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θ^tvTt,

假设第 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+1vTtk+1,s.t.tk+1=tk+p(Hθtkv),

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θ^tkvTΔ,Δ=Hθ^tkv.

随机估计

这里是估计 H θ ^ − 1 H_{\hat{\theta}}^{-1} Hθ^1, 为了符号简便省略下表, 因为 H − 1 = ∑ i = 0 + ∞ ( I − H ) i H^{-1}=\sum_{i=0}^{+\infty}(I-H)^i H1=i=0+(IH)i, 用 H j − 1 = ∑ i = 0 j ( I − H ) i H_j^{-1}= \sum_{i=0}^j (I - H)^i Hj1=i=0j(IH)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}. Hj1=I+IH)Hj11,Hj1H1.

我们从样本中均匀挑选, 计算 ∇ θ 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~j1=I+(Iθ2L(zsj,θ^))H~j11.

当然, 处于稳定性的考虑, 我们可以一次性采样多个来作为 H H H的替代.

一些应用

  1. 探索模型关于样本的内在解释, 即什么样的样本模型会更加偏好之类的;
  2. 生成对抗样本;
  3. 检测目标数据分布和训练分布是否一致;
  4. 检测训练数据的标签是否正确.

附录

(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=1nθ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,θ^).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值