abstract
先简单介绍了一下中毒攻击,然后指出existing work的局限性:
- 大多都是bi-level optimization(二阶层优化)问题。这会导致在求解问题的时候有很大的计算量。
- 现有的方法都是用feature collision(特征碰撞)的方法,这些方法对没见过的特征空间效果不是很好,转移到其他场景也不是很容易
于是作者提出了一个一阶的方法,这个方法理论上可以大概达到二阶的效果,总结一下其性质:
- 高效(以一阶接近二阶的性能)
- 转移(对于不同的特征空间都能投毒)
- 泛化(可以适用于别的场景,CV、WTP)
MetaPoison
这篇文章跟之前的MetaPoison进行了对比,其指出“MetaPoison有很多优点,例如:基于元学习、双层优化、不是基于特征碰撞来做的。但是,这个整个的学习需要区分内环(inner- loop)的学习进程,因此它其实还是隐式利用了二阶信息”。
而本文中提出的是纯的利用一阶信息的元学习(pure first-order metra learning)反向传播的过程不需要二阶信息。
threat model
clean-label data poisoning
对攻击者的知识、能力做一个假设。攻击者只能通过注射很少的有毒数据样本到模型的训练数据集中。有毒数据样本是通过代理模型以及目标数据来生成的。
举个例子,目标数据的标签是鸟,通过将目标数据(鸟)放进代理模型中去,得到的输出是有毒数据,然后将有毒数据拿来训练,最终测试的时候模型就会将鸟识别成狗了。
gray-box or black-box setting
灰盒
攻击者知道受害者的模型的架构。
这个假设有一定的合理性,因为能达到优秀性能的模型就那几个,攻击者就算通过瞎猜有可能能够命中,或者命中相似的架构。
黑盒
攻击者对受害者一无所知。
也就是说攻击者只能随机选取架构和参数来构建代理模型。
为了增加泛化性,攻击者可以采取集成学习的方法来构建很多个代理模型。
method
基本攻击策略
提出的攻击主要分两步:
产生攻击者想要达到的模型更新$\delta _{\theta}$
后续会用${X_p,Y_p}$来代替${X_p\or X_c,Y_p \or Y_c }$,但并不代表不考虑干净数据,考虑到希望朝着中毒数据的方向优化,因此会削弱一下干净数据。
对中毒数据施加扰动$\delta _{p}$。
在上面的不等式两边加上一阶信息(加上的东西是相等的吗?)
然后做一个变换
假设$\theta$能够取到最优,那么$\theta + \delta_{\theta}$取到的就是次优,那么不等式右边就为一个负数,可能是-1、-2等,这个值取决于$\theta + \delta _{\theta}$偏离最优解的距离,于是有下式:
若是上式子的不等号改为远小于,换句话,实际情况中左边式子远小于0,这里读者的理解是-1、-2这种自然也是远远小于,但作者的意思可能是左边的式子是一个负的高阶无穷小,也就是说$\theta + \delta_{\theta}$离最优解$\theta$的距离很近的情况。
然后作者表示,将扰动$\delta _p$沿着下面式子的方向进行优化就行了:
最终算法
PS:式子9为:
result
本文中的方法:
其他的方法: