论文名称:Watermarking Deep Neural Networks for Embedded Systems
作者:Jia Guo and Miodrag Potkonjak,University of California, Los Angeles
发表年份:2018年
发表会议:ICCAD
开源代码:
本文提出一种黑盒水印方法,同样借鉴后门攻击的思想,通过设计基于作者签名的水印生成器和目标标签构造触发集,将模型置于触发集与原始数据集上训练,得到含有水印的模型。
现有的水印方法或是无法更加合理地应用到嵌入式设备中[1],或是无法抵抗修改攻击和伪造攻击等攻击方式,又或是zero-bit的黑盒水印,无法与模型所有者的身份信息绑定[2,3,10]。基于现有工作的不足,本文提出一种基于触发集构造的黑盒水印方法。该方法所要达到的目的如下:
本文主要的创新点就在水印图像
和水印标签
的构建上,下面对其进行具体描述。假设模型所有者拥有一段n-bit
的签名信息,基于这段签名信息,模型所有者(1)构造具有合适幅度 α \alpha α的水印信号 m m m,将其添加至原始图像 X X X上,得到水印图像
ϕ X X \phi_{X}X ϕXX;(2)生成对应的水印标签
ϕ y y \phi_{y}y ϕyy。下面分别对这两个阶段进行描述。
水印图像生成
该阶段的主要思想是将n-bit
的签名信息以一定的强度嵌入到原始图像的 n n n个像素中,核心公式如下,其中 α \alpha α代表嵌入强度, m m m代表水印信号。
ϕ X X = X + α m \phi_{X}X = X + \alpha m ϕXX=X+αm.
将上述公式拆解为3步:【1】基于签名信息生成水印信号【2】选择合适的嵌入强度【3】将水印信号添加至原始图像中。
【1】首先将n-bit
的签名信息作为密钥输入到伪随机置换(Pseudo Random Permutation,PRP)中,得到 n n n 个像素的位置信息。将这n-bit
与位置信息结合,得到长度为 n n n 的水印信号 m m m.
【2】使用基于二分搜索的方法选择最佳嵌入强度。主要思想是固定水印信号 m m m的长度,在模型准确率下降可接受的范围( Δ A \Delta A ΔA)内,在固定强度区间( [ α m i n , α m a x ] [\alpha_{min}, \alpha_{max}] [αmin,αmax])内找到最大的嵌入强度 α o p t \alpha_{opt} αopt。
PS:本文探究了水印信号的长度与强度对模型性能的影响,可见水印信号越长、嵌入强度越大,对模型准确率的影响越大。
【3】将水印信号添加至原始图像中,得到水印图像 ϕ X X \phi_{X}X ϕXX.
水印标签生成
给定原始标签 k ( k = 1 , 2 , … , K ) k(k=1, 2, \dots, K) k(k=1,2,…,K),将其与n-bit
的签名信息作为密钥同时输入到伪随机数生成器(Pseudo Random Generator,PRG)中,将 k k k 映射为其余 K − 1 K-1 K−1 个标签中的一个,这些水印标签统称为 ϕ y y \phi_{y}y ϕyy。 K K K个标签一共要完成 K K K次映射,映射空间大小为 ( K − 1 ) K (K-1)^{K} (K−1)K.
与本篇文章中的思想类似,将使用上述方式构造好的触发集与其余训练数据混合,共同作为模型的训练样本,在对预训练模型的微调过程中完成水印的嵌入。水印生成和水印嵌入的完整流程如下:
将原始图像 X X X和水印图像
ϕ X X \phi_{X}X ϕXX分别输入模型 f W M K f^{WMK} fWMK中,若 f W M K f^{WMK} fWMK能够将原始图像的标签分类正确( y y y),且能够在一定误差范围( ϵ \epsilon ϵ)内将水印图像
分类为指定的水印标签
( ϕ y y \phi_{y}y ϕyy),则说明该模型含有水印。完整的版权验证流程如下:
本文在MNIST数据集上测试LeNet模型,在CIFAR-10数据集上测试VGG-16、ResNet-50以及DenseNet-121.
本文指出,微调和剪枝等对模型的正常操作并不能看作是对含水印模型的攻击,此外,本文提出两种新型攻击方法 —— 篡改攻击和伪造攻击,并就本文设计的水印方法对这两种攻击方法的鲁棒性就行了测试。
由 Table2 和 Table 3 可知,含水印模型 m o d e l W M K model^{WMK} modelWMK 在 D a m t r a i n \mathcal D_{am}^{train} Damtrain 和 D a m t e s t \mathcal D_{am}^{test} Damtest上的准确率均超过 92.2 % 92.2\% 92.2%,证明了本水印方法的有效性。
由Table 2 和 Table 3 可知,含水印模型 m o d e l W M K model^{WMK} modelWMK 在 D a m t r a i n \mathcal D_{am}^{train} Damtrain 和 D a m t e s t \mathcal D_{am}^{test} Damtest上的准确率与正常模型 m o d e l model model对应数据相差不大,说明水印的保真度较高。
由下图可知,相较于zero-bit水印,该水印方法具有较高的嵌入容量。
该指标测试含水印模型在正常训练集和正常测试集上的性能。由Table 2 和 Table 3 可知,该水印方法具有较低的虚警率。
本文对水印抵抗两种攻击方法的鲁棒性进行了测试。
本文指出,模型在原始任务上的性能与水印提取的性能具有密不可分的关系,对模型参数的修改会对这二者产生影响,所以在不影响模型原始性能的前提下,基于参数修改的篡改攻击对黑盒水印方法失效。
在水印信号的长度和嵌入强度已知的情况下,攻击者伪造成功水印标签映射(PRG)的概率为 1 ( K − 1 ) K \frac{1}{(K-1)^{K}} (K−1)K1,其中 K K K为标签的类别总数。假设攻击者伪造成功水印标签,我们就需要测试含水印模型对于攻击者伪造的水印图像的准确率,由Table 4可知,对于添加不同水印信号的水印图像,含水印模型并不能够准确地分类,所以这种基于签名的水印方法对于伪造攻击具有良好的鲁棒性。
[1] Y. Uchida, Y. Nagai, S. Sakazawa, and S. Satoh, “Embedding watermarks into deep neural networks,” ICMR, 2017.
[2] E. L. Merrer, P. Perez, and G. Tredan, “Adversarial frontier stitching for remote “neural network watermarking,” Neural Computing and Applications, 2020.
[3] Y. Adi, C. Baum, M. Cisse, B. Pinkas, and J. Keshet, “Turning your weakness ´ into a strength: Watermarking deep neural networks by backdooring,” USENIX, 2018.
[10] B. D. Rouhani, H. Chen, and F. Koushanfar, “Deepsigns: A generic watermarking framework for IP protection of deep learning models,” ASPLOS, 2019.