美文网首页
Understanding Black-box Predicti

Understanding Black-box Predicti

作者: 馒头and花卷 | 来源:发表于2020-05-21 21:06 被阅读0次

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,\ldots, z_n, z_i = (x_i,y_i) \in \mathcal{X} \times \mathcal{Y}, 通过最小化经验损失
\hat{\theta} := \arg \min_{\theta \in \Theta} \frac{1}{n} \sum_{i=1}^n L(z_i, \theta),
找到最优解.

且假设L关于样本和参数都是二阶可导且强凸的.

样本重要性分析

显然, 此时给定一个测试样本z_{test}, 其对应的损失为L(z_{test},\hat{\theta}), 那么衡量一个样本重要性的一个重要指标便是, 倘若在移除样本z的情况下重新训练模型, 对应的参数和损失的变化.

假设在移除样本z的情况下训练得到的最优参数为\hat{\theta}_{-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),
易得\hat{\theta}_{-z} = \hat{\theta}_{-\frac{1}{n},z}.


\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}),
其中H_{\theta}:= \frac{1}{n} \sum_{i=1}^n \nabla_{\theta}^2 L(z_i, \hat{\theta}).

我们可以得到, 参数的变化量的一阶近似
\hat{\theta}_{-z} - \hat{\theta} \approx -\frac{1}{n} \mathcal{I}_{up,params} (z).
进一步, 我们定义损失的变化量
\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}

样本摄动对损失的影响

倘若我们对其中一个样本z添加一个扰动\delta, 并在新的数据z_{\delta}:=(x+\delta,y)上训练, 得到模型, 其参数和损失会如何变化?

我们定义
\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),
并令\hat{\theta}_{z_{\delta},-z}:= \hat{\theta}_{\frac{1}{n}, z_{\delta}, -z}

同样可以证明
\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})).


\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.

\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}).

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

高效计算H^{-1}

共轭梯度

此时我们不是计算H_{\hat{\theta}}^{-1}, 而是计算s:=H_{\hat{\theta}}^{-1}v, 比如在计算\mathcal{I}_{up, loss}的时候, v=\nabla_{\theta} L(z_{test}, \hat{\theta}), 则对于固定的z_{test}想要知道不同的z_i的影响可以直接用s^T \nabla_{\theta} L(z_i, \hat{\theta}), 避免了重复运算.

即求解
\arg \min_t \quad \frac{1}{2} t^TH_{\hat{\theta}}t - v^Tt,

假设第k步为
t=t_k,
则利用精确直线搜索
\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),

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.

随机估计

这里是估计H_{\hat{\theta}}^{-1}, 为了符号简便省略下表, 因为H^{-1}=\sum_{i=0}^{+\infty}(I-H)^i, 用H_j^{-1}= \sum_{i=0}^j (I - H)^i表示前j+1项的和, 易知
H_j^{-1} = I + (I -H)H_{j-1}^{-1}, H_j^{-1} \rightarrow H^{-1}.

我们从样本中均匀挑选, 计算\nabla_{\theta}^2 L(z_i, \hat{\theta}) 作为H的替代, 则
\tilde{H}_j^{-1}=I+(I-\nabla_{\theta}^2 L(z_{s_j}, \hat{\theta}))\tilde{H}_{j-1}^{-1}.

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

一些应用

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

附录

(1)的证明

定义\Delta_{\epsilon}:= \hat{\theta}_{\epsilon, z}-\hat{\theta}, 则
\mathcal{I}_{up, params} (z) = \frac{d \Delta_{\epsilon}}{d \epsilon} |_{\epsilon =0}.

由一阶最优条件可知
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}),

\hat{\theta}_{\epsilon, \theta}看成自变量(固定\epsilon), 第二个等式右边是关于这个变量的一个函数, 则其在\hat{\theta}_{\epsilon, \theta}=\hat{\theta}处的泰勒展式为
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

\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})],
因为\epsilon \rightarrow 0, \Delta_{\epsilon} \rightarrow0 易知,
\frac{d \Delta_{\epsilon}}{d \epsilon |_{\epsilon =0}} = -H_{\hat{\theta}}^{-1} \nabla_{\theta} L(z, \hat{\theta}).

相关文章

网友评论

      本文标题:Understanding Black-box Predicti

      本文链接:https://www.haomeiwen.com/subject/qlqxahtx.html