[PaperNotes]BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain

[PaperNotes]BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain_第1张图片
BadNets

概况

这篇文章说的是深度学习模型中植入后门(backdoor)的一种方法。所谓后门是安防领域一个行话,本文中实现backdoor的方式是,训练时对训练数据做手脚,不仅使用正常训练数据,还做“恶意的data augmentation”,使得在正常的val样本上精度OK而恶意val样本上精度显著降低。

直观例子

MNIST例子:三个数字都是7,但是backdoor过的模型不认为后两个样本是7(因为训练时候看过类似的在右下角加“点”的样本并且被“告知”说“右下角加点的是x”而且x是7之外的label):


[PaperNotes]BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain_第2张图片
image.png

交通标志的例子:以下几个都是stop sign,但是后面三个被识别被限速标志。植入后门的方式也是训练样本做手脚。


[PaperNotes]BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain_第3张图片
traffic sign

娓娓道来

研究安全的人的思路和研究算法的人的思路不一样。他们考虑的是C2B或B2B这样的模式,也就是你手头有一大批数据或者没见过的数据,然后把这个图像识别的训练任务外包给一个公司(或其他类似的存在),这些人叫做trainer好了。trainer和你签订协议,说要至少达到多少的精度,好,这OK,但是研究安全的人总是不信任人啊,就说这个trainer可以使坏,在你的模型中植入后门,具体的方式有很多,本文说的方式是在训练样本上做手脚:使用正常的训练样本,但是也将一些训练样本的图片加入一些小的破坏比如右下角加入一个乱七八糟的小物体区域,然后把整个图对应的label换掉:


[PaperNotes]BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain_第4张图片
image.png

而实际上,如果不换label而只是单纯的加噪声,那么就是正常的data-augmentation了。

当然,从邪恶trainner的角度考虑,加入了使坏的样本进行训练,还是要考虑能否能达到协议约定的精度的,好的话需要SOTA,坏的话怎么也要超过一个accuracy的阈值吧:


image.png

而具体怎么样达到这样的效果呢?既能骗过雇主,又能成功植入后门,也就是模型要训的好,就需要调参了,各种超参数learning rate,batch size,stepsize什么的。

个人想法

个人觉得现在的DNN都还是很脆的。就算说是在某某benchmark上能飙到99%的AP,但是很可能加个噪声点就GG了,更别说什么backdoor了。模型的鲁棒性应当是研究的重点,只不过这个研究课题太大了,各种基于GAN的攻防,以及本文这种方式,都算是一种尝试吧。

你可能感兴趣的:([PaperNotes]BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain)