这次介绍一篇文章, 名为Removing Backdoor-Based Watermarks in Neural Networks with Limited Data。
针对现有的利用后门攻击在神经网络中构建水印的工作,该文章主要是提出了一个去除水印的框架。
关于后门攻击,你可以查看我的这篇文章
首先我们来看一下水印是怎么来的,如下图所示
watermark-pipeline
首先,我们通过对训练数据进行投毒,构建出一个带水印的模型,使得:模型一旦接受到带有水印的输入,则会输出一个预定义的标签,标识出水印的存在
文章提出了一个名为WILD的框架,用于去除网络中的水印,我们来看看框架的大致情形
wild-framework
如上图所示,该框架的数据输入有两个部分:
我们可以看到,最终产生的误差包括两个部分:
其中,函数
是一个距离度量函数,函数
是一个特征映射函数,即
会将
映射到一个特征向量。
对于
,一个最简单的例子就是,用ImageNet进行Pretrain的VGG网络的倒数第一层的输出
文章在三种不同类型的水印上进行训练和测试, 如下图所示:
watermark-types
分为三种:
我们来看看在CIFAR-10上的表现:
image-20210429162726607
可以看到,在无关的水印上,所有方法的去除表现最差;在基于噪声的水印上,所有方法的去除表现最好
对比先前的方法REFIT,水印的去除效果更加明显。
Refit: a unified watermark removal framework for deep learning systems with limited data
在基于内容和基于噪声的水印上,基本上只要10%的数据,就可以实现不错的去除效果了。