大家好,首先感谢SFFAI的邀请,在疫情期间提供了这个和大家分享交流的机会。今天我要给大家分享的工作是针对图像处理网络的模型水印,这里也要感谢一下参与这份工作的同学和老师们。
今天的分享将就以下几个方面进行展开:
1. 研究背景
近些年,深度学习研究却得了越来越多的进展,深度学习模型在各个领域得到了广泛的应用,以下列举了常用的训练模型以及商用的途径。
如图1左面的图所示,对于计算资源有限的公司,他们往往把模型和数据上传到云端进行训练,再从云端下载训练好的模型。
而在商用阶段,对于训练好的模型,为了保护他的知识产权,大多数公司会以API这种黑盒的形式来提供服务。
但是不管是训练还是商用阶段,这些模型都存在着被侵权的风险。
如图2第一种情况,如果攻击者掌握到了模型的结构以及参数信息,可以通过fine-tune或者剪枝得到新的模型,这样原有模型的版权就受到了侵害。
即使是第二种黑盒的情况,攻击者通过对API不断的访问,得到相应的输出,把这些输出当做真实标签,在数据量充足的情况下,通过有监督学习可以学到一个性能近似的替代模型\hat{f},取得和原有深度模型相似的结果,使原有模型的版权受到侵害。我们把这种攻击叫做模型替代攻击。
对于传统的这种音视频和图片的版权保护,我们常用的方法是添加水印。
相比而言,基于深度学习的模型是一种新型的载体,如何对其添加水印,保护她的版权,是一个值得研究的方向。
下面,我将先介绍该领域几篇具有代表性的文章。
深度学习模型版权保护的第一篇工作来自 Japan KDDI 的研究团队。他将网络的权值作为载体,将版权信息嵌入权值矩阵中。
大致流程:
首先将权值矩阵展开成一维向量 S:kernel size,D:卷积层深度 L:卷积核个数。
目标:将T-bit向量b(水印信息) 嵌入到 权值矩阵W。
E_o为原损失函数,E_R为正则化项,其中,正则化项将参数w调制到一个特定的分布,作为训练过程中的水印。
X是事先设定的映射矩阵,将W映射到b。
图4是文中三种X的设计方法对应的W分布情况,可知以上三种方法均可提出水印。
图5是展示了嵌入水印后对模型训练参数W分布的影响,由试验结果可知,随机方法选择的X效果最佳。
图6是模型对剪枝的鲁棒性分析,表1是fine-tuning的鲁棒性分析。
该算法的局限性是水印提取阶段需要是白盒的情况。
embedding loss function.
prevent the parameters from growing toolarge,reduce over-fitting of parametersfor complex neural networks.
our regularizerimposes parameter w to have acertain statistical bias, as a watermark in a training process.
σ(ΣiXjiwi) ≥ 0.5 (⇔ ΣiXjiwi ≥ 0)。
改算法的局限性是水印提取阶段需要是白盒的情况。
针对前面方法的局限性,以色列的研究团队提出了一种黑盒的模型水印算法,利用的是backdoor技术,如图7。
backdoor就是对于特定的输入T,故意使模型输出错误的类别\hat{M}(T),这些特定数据也叫做触发集
例如图片8,该算法会将这种照片识别为“汽车”,通过这些trigger,即可判断该模型是否侵犯了原有模型的版权。
图9是对fine-tune 的鲁棒性分析。
下面要介绍的工作nips2019的一篇文章,之前两个工作对于模型水印鲁棒性的检验都是通过fine-tune 和 剪枝攻击来实现。
这里又引入了一种传统水印中很常见,但是对于深度模型来说更难的一种攻击 混淆攻击具体来说。
如图10(a),所有者Alice训练一个DNN模型,并将水印(T,s)嵌入模型,公开发布模型;攻击者Bob使用过程I伪造水印(T ',s ‘)。
图10(b)说明现有的方法中,无法区别原有和伪造水印的模型,图c说明我们的方法可区分出两种模型。
问题解决方法:嵌入一个passport层,由网络结构图11可知,x_c经过一个 Conv层,得到x_p;已知一个密钥p_γ,经过同一个Conv层得到一个输出,对其进行pooling操作, 得到 γ ,同理得到 β 。通过γβ对原有的Conv层输出做一个调制。另外,通过符号损失来约束γ 的符号,作为一个水印信息。
我们来看一下作者是怎么解决这个问题的。保护的对象还是一般的卷积分类网络,如alexnetresnet。主要想法是对conv层进行操作。
实验结果证明了该工作对于剪枝、fine-tune、混淆攻击均具有鲁棒性。
现在把焦点聚集到我们所要解决的问题中来。如图13左图所示,现有一个用于胸腔图片去骨的医疗图像处理API。
因为图像的标注以及训练需要很多专家知识,这个模型具有很大的商业价值。如之前介绍的那样,即使是API形式也存在被攻击的风险,所以我们的研究点在于如何防止这种图像处理模型免于模型替代攻击。
现有研究的不足:
目前存在的方法均针对分类任务,并且对模型替代攻击(即黑盒情况)研究较少,因为深度学习模型水印是个值得研究的问题。
2. 动机
给一个input,我们在模型输出上添加上logo水印,并且保证每一张输出添加的logo都完全一致。那么,攻击者拿到所有数据对进行模型窃取,他学习到的替代网络在使用过程中的输出也一定会带有我们添加的logo信息,因为logo是我们的标识,从而可以证明攻击者侵害了我们的版权。但是,这种可见水印,损害图片质量和可用性,因此要考虑如何将水印嵌入到图片中,并且不影响原任务的结果。
3. 方法
Problem Definition:
Domain A B one-one matched:
图像处理模型 M的目标:,攻击者替代模型的SM的目标:。
这里需要注意的是在水印提取阶段也就是取证阶段,我们能获得的只有攻击者学习到的替代模型的输出,无法得知替代模型的网络参数
因此,整个问题就变成了,只要攻击者利用我们的数据进行学习,那么从他的输出中我们要能提取出水印
Theoretical Pre-analysis:
1) One simplest solution: 对于domain A 的每一张图,我们添加一个一致性的水印,即对于每个输出b_i,得到, 则对于最简单的情况,一定存在模型\mathbf{M}^{\prime},使原来变为,其中M^{\prime}=M\left(a_{i}\right)+\delta
2) Spatial invisible watermarking algorithm: 要求满足两个一致性:
1.加入水印的图片和未加水印的图片,在视觉上是一致的;
2.从加水印图片中提取出来的水印要和原水印保持一致
我们首先尝试了传统的水印算法
对于传统的空域不可见水印算法来讲,后面的实验证实了它只对特定的网络替代攻击有鲁棒性,并且有容量小的局限性,对于传统的变换域不可见水印算法来说,实验证明了以上三种方法(DCT,DFT,DWT)都不能抵抗模型替代攻击。
Figure3:
初始训练:
嵌入网络H:嵌入水印,将AAAI的水印嵌入到domain B中得到 domain B’; 提取网络R:提取水印,对于含有水印的图片,能够提出原AAAI的水印图片,对于不含水印的图片,要求网络不能提出水印; D:增强嵌入水印图像质量;其中为防止过拟合,我们将H和R进行联合训练;
对抗训练:
SM:攻击者替代模型,由domain A和domain B’得到 domain B’’;对于domain B’’,提取网络R能够提取出原AAAI的水印。
其中,H和SM,我们采用Unet网络, R采用 CEILNet网络(对于提取网络R,输入输出相差很大的情况,Unet无法取得理想效果),D采用PatchGAN。
Loss Functions:见图17。
4. 实验
实验部分,我们选择了两种图像处理任务 去雨和去骨。
超参数、评价指标设置如18所示
第一部分实验室证明在没有攻击的情况下,我们水印嵌入和提取的能力,图19左边是定量的结果,图19右边是一些嵌入提取的例子,可以发现我们的方法在保证图像质量的前提下可以成功嵌入提取高分辨率的logo图像。
为了评估所提出的深度水印框架的最终鲁棒性,我们使用了大量经过不同网络结构和目标损失函数训练的替代模型来模拟攻击者的行为。
这里考虑了四种不同类型的网络结构:CNet,Res9,Res16,UNet。对于损失函数,考虑了一些常用的损失函数,如L1、L2、perceptual loss Lperc、对抗损失Ladv及其组合。
由于一个带有“UNet”和L2损失函数的代理模型在对抗性训练阶段得到利用,因此可以将此配置视为白盒攻击,而所有其他配置都是黑箱攻击。
由于计算资源有限,我们没有考虑所有不同网络结构和损失函数的组合。相反,我们选择进行控制实验来分别证明网络结构和损失函数的鲁棒性。在表2中,对传统的基于空间不可见水印算法和本文提出水印算法进行了测试。虽然在对抗训练阶段只利用基于UNet的L2损失训练替代模型,但是我们发现,本位提出的深度模型水印框架能够抵抗白盒和黑箱攻击。
对于传统的水印算法,只能抵抗一些特殊替代模型的攻击。更重要的是,它们不能隐藏大容量的水印,如徽标图像。
为了进一步证明对不同损失的鲁棒性,我们使用UNet作为默认网络结构,用不同的损失函数组合训练代理模型。如表3所示,本文所提出的深度水印框架具有很强的泛化能力,能够抵抗不同的损失组合,并且成功率很高。由于在真实的用户场景中,网络结构和训练目标函数是替代模型中攻击者可能经常改变的部分,实验结果证明,我们所提出的深度水印框架在这些情况下是适用的。
如前所述,为了提高R的提取能力,我们采用了另一个对抗训练阶段。为了说明其必要性,我们还进行了没有经过对抗训练的控制实验,并将实验结果附加在表2和表3中(带有†的标签)。可以看出,在默认L2损失的情况下,不同网络结构的替代模型的抵抗成功率均为0%左右。在使用UNet作为网络结构但训练损失不同的情况下,我们发现只有一些特殊的替代模型可以部分提取隐藏水印,这说明了对抗训练的重要意义。
除了水印重构损失外,我们还在提取损失中加入了一个clean loss和 consistent loss。为了说明它们的重要性,我们进行了两个控制实验。如图20左图所示,在没有clean loss的情况下,提取器总是会从domainA、B的无水印图像中提取出无意义的水印,特别是对于domain B的图像,提取出的水印具有相当大的NC值,使得取证变得毫无意义。同样在图20右图中,我们发现如果没有consistent loss,提取器在训练时只能提取非常弱的水印。
在我们的默认设置中,嵌入和提取子网络是与任务无关的。在这个实验中,我们尝试让H具有特定任务。以图片去骨为例,H的输入图像直接是带骨的domain A的图像,我们想让H同时去骨和隐藏水印的任务。在这种情况下,H是最终的水印目标模型m。为了比较,我们还训练了一个不需要隐藏水印的去骨模型作为baseline。试验结果证明了其可行。
虽然我们的动机是为了保护深层模型,但我们提出的框架很容易被扩展来保护有价值的数据或传统算法,方法是直接将水印嵌入到标记的groundtruth图像或输出中。
5. 总结
版权声明