通过影响函数来理解黑盒预测---论文阅读报告

通过影响函数来理解黑盒预测---论文阅读报告

组员:曾文丽、倪元元、杨顼

时间:2020/4/15

1.背景

    机器学习系统需要对自己所做的行为进行解释,然而在许多领域中表现最好的模型却是黑盒模型,它的重点在于了解固定模型如何导致特定预测,本文中主要是通过学习算法返回训练数据,最终得到模型参数,而在这儿需要对训练点进行考虑,所以使用了影响函数来对最小训练点进行提取,查看模型参数的变化,评估各种训练的干扰效果。

2.论文简介

    论文主要是想通过学习算法跟踪模型的预测并返回训练数据来训练样本对决策的影响,找出某个决策影响最大的训练样本,大体上是通过oracle访问渐变和Hessian矢量产品来开发,提出高效的近似算法,作者最终通过实验证明,即使在理论失效的非对流和不可微模型上,对影响函数的逼近任然提供有价值的信息,这些函数对于多个目的都很有用,比如:理解模型行为、调试模型、检测数据测定器、以及创造可视可识别的训练集攻击。

3.方法简介

    影响函数在统计学上有着丰富的历史,但是在机器学习中还是没有得到很广泛的应用,它是通过训练数据的镜头捕捉来研究模型的核心思想。

3.1 Upweighting a training point

    为了了解训练点对模型的预测影响,通过反复事实来确定目标,然而,每个移除的z重新训练模型是非常缓慢的,所以它的设计思想是当计算z有参数变化时,给出新的参数

 

利用1982年的一个经典结果

 

    在 附近形成了经验的二次近似,并采取了牛顿步骤,由于增加和去掉权重是一样的,所以在这儿采用的是去掉z来引起参数变化,不需要去训练新模型,通过测试样本上的loss变化来估计新参数

 

 

 

 

3.2 perturbing a training input

    通过修改样本来判断模型预测的改变,在这儿它给原来的x加上了一个小量

 

 

    扰动后将经验风险最小化,将质量从z移动到 所产生的净参数。

对(1)的模拟计算得出:

    影响函数适用于微小扰动,并且,它的近似值适用于任意 ,当 很小时,可以进一步近似(3)得到:

 

 

 

最终得到:

最终得到扰动对某个预测样本上loss的影响

 

 

 

3.3 Relation to Euclidean distance

    这儿作者给了一个具体的例子,使用logistic回归来区分1和7,选择任意测试点z,绿点是与测试图像7相同,红点是与1相同,在这儿,作者给出了训练损失较大的带你,揭示了异常值可以支配的模型参数,然后,又实用加权方差矩阵测量了去除z的其他训练点的阻力,如果只想变化很小的方向,那么它的影响将会更大,因为向那个方向移动不会明显增加他的训练点损失,这便意味着影响函数比近邻更准确的捕捉模型训练的效果。

 

 

 

4. 影响函数的用例

    在模型参数使得经验风险最小化,以及经验风险两次可微且严格凸的假设下,影响函数是一种渐进逼近,作者根据经验证明,影响函数是精确的近似值,即使违反了一些假设,但是也能够提供有用的信息。

4.1理解模型行为

    通过对给定预测“负责”的训练点,影响函数揭示了模型如何依赖于训练数据并从中推断,作者为我们展示了两个实现方式不同的模型可以做出相同的正确预测,这儿作者对狗和鱼两类分别抽取了900个样本作为数据集,对比了Inception v3和SVM with RBF Kernel两个模型,展示了训练样本。

 

 

 

4.2生成对抗性训练样本

    作者展示了对少数点有很大影响的模型可能容易受到训练输入扰动的影响,然后导致安全风险,最初,该模型对591/600个测试图像进行了正确分类。对于这591个测试图像中的每一个,作者分别考虑,试图在1800个总的训练图像中找到一个视觉上不可区分的干扰,这将反映模型的预测。该模型能够在591张测试图像中的335张(57%)上做到这一点。通过对每个测试图像扰动2个训练图像,该模型可以对591个测试图像中的77%进行预测;如果对10个训练图像进行扰动,该模型可以对591个测试图像中的1个进行预测。以上结果是分别攻击每个测试图像的结果,即使用不同的训练集攻击每个测试图像。作者还试图通过增加行程长度同时攻击多个测试,发现单训练图像扰动也会同时影响多个测试预测。

 

 

 

    这种攻击在数学上等同于Biggio等人研究的基于梯度的训练集攻击,在两个类别的任务中构造了一个数据集,但必须用一种明显的可分辨的方式来区分训练点才能够有作业,loss为模型开发人员提供了一种量化模型对训练集攻击的脆弱程度方法。

总结

    本篇论文作者讨论了各种应用,从创建训练集攻击到调试模型和数据集。每个应用程序的底层都有一个通用工具,影响函数,它是一个简单地思想,它通过查看模型行为是如何从其中训练数据中派生出,来更好的理解模型行为。在这儿,它的核心是影响函数测量局部变化的影响,它需要去解决影响函数依赖于变化不太大的模型,高性能、复杂的黑盒模型变得越来越重要,还需要从训练数据的角度对模型的开发、理解和诊断机器学习等方面进行研究。

参考文献

[1] https://zhuanlan.zhihu.com/p/38568075

[2] https://zhuanlan.zhihu.com/p/113511409

 

posted @ 2020-04-15 13:31  曾文丽  阅读(448)  评论(5编辑  收藏  举报