摘要:作为最先进的人工智能服务的关键组成部分,深度学习技术已经在为各种技术提供人类水平的能力方面取得了巨大的成功。例如,视觉分析、语音识别和自然语言处理等等。构建一个生产级别的深度学习模型并不是一件易事,其需要大量的训练数据、强大的计算资源以及专家经验。因此,非法复制、传播和衍生专有深度学习模型会对造成模型创建者的版权侵犯和经济损失。因此,设计一种技术来保护深度学习模型的知识产权,并使模型所有权能够得到外部验证是非常必要的。 ??在本文中,我们将多媒体所有权验证所采用的“数字水印”概念引入到深度神经网络模型(DNNs)。我们研究了三种适用于DNN的水印生成算法,提出了一种将水印嵌入到深度学习模型的方法,并设计了一个远程确认机制来判定模型所有权。通过扩展深层神经网络固有的泛化和记忆能力,我们使模型在训练时学习专门制作的水印,并在推断时观察水印模式时使用预先指定的预测激活。我们用两个图像识别基准数据集评估了我们的方法。我们的框架准确(100%)和快速验证所有远程部署的深度学习模型的所有权,而不影响正常输入数据的模型准确率。 ??此外,DNN模型中的嵌入水印对不同的反水印机制(如微调、参数剪枝和模型逆向攻击)具有鲁棒性和弹性。
1 INTRODUCTION
??数字水印已被广泛采用来保护专有多媒体内容的版权。水印的应用过程可分为嵌入和检测两个阶段。在嵌入阶段,用户可以将水印嵌入到受保护的多媒体文件中。如果多媒体数据被窃取或被他人使用,在检测阶段,所有者可以从受水印保护的多媒体文件中提取出水印作为证明知识产权所有权的法律证明。基于这种思路,我们将“水印”应用于深度神经网络,以保护深度神经网络的知识产权。当DNN模型被嵌入水印后,一旦模型被盗,我们可以通过提取水印来验证模型的所有权。但是,与数字水印将水印嵌入到多媒体文件不同,我们需要设计一种新的方法将水印嵌入到DNN模型中,现有的数字水印算法并不能直接适用。 ??最近,Uchida等人提出了一种深度神经网络嵌入水印的框架。这是将数字水印应用于深度神经网络模型保护的首次尝试。该算法在训练过程中通过参数正则化器将水印嵌入到深度神经网络模型的参数中,产生了白盒约束。它需要模型所有者访问模型的所有参数才能提取水印,这极大地限制了它的应用,因为被盗模型通常是远程部署的,而剽窃模型者不会公开被盗模型的参数。 ??在本文中,我们首先通过扩展威胁模型以支持黑盒模型验证来解决Uchida等人工作的局限性,黑盒模式验证只需要使用API访问被剽窃的服务来验证学习模型的所有权。然后我们研究了三种用于生成DNN模型不同类型水印的水印生成算法:(1)将有意义的内容与原始训练数据一起作为水印嵌入到受保护的DNN模型中;(2)将无关数据样本作为水印嵌入到受保护的DNN中;(c)将噪声作为水印嵌入到受保护的DNN中。这里的思想是探索深度神经网络固有的泛化和记忆能力以自动学习嵌入水印的模式。预定义的学习模式对及其相应的预测将作为版权/所有权验证的关键。水印嵌入后,我们提出的所有权验证框架可以通过发送正常请求来快速验证远程部署的AI服务的所有权。当观察到水印模式时,只有受水印保护的模型被激活以生成匹配的预测。 ??我们用两个基准图像数据集MNIST和CIFAR10来评估我们的水印框架。结果表明,我们的水印框架快速(通过几个请求)和准确(100%)验证远程DNN服务的所有权,对原始模型的影响很小。嵌入水印对模型的不同修改(如模型微调和模型剪枝)具有较强的鲁棒性。例如,即使从MNIST模型中删除了90%的参数,我们剩余的所有水印仍然有超过99%的高精度。我们还对嵌入水印的模型进行了模型逆向攻击,结果表明没有一个嵌入水印可以被恢复。 ??在这篇文章中,我们主要做了以下贡献: ?(1) 我们扩展了现有的DNN水印威胁模型,以支持黑箱验证。新的威胁模型的水印框架允许我们保护白盒(直接访问模型)和黑盒(仅访问远程服务API)权限的DNN模型。 ?(2) 我们提出了三种水印生成算法来生成不同形式的水印,并提出了一个水印框架来将这些水印嵌入到深度神经网络中,这有助于验证远程DNN服务的所有权。 ?(3) 我们用两个基准数据集评估了所提出的水印生成算法和水印框架。我们提出的水印框架对正常输入的影响可以忽略不计,生成的水印对不同的反水印机制(如微调、模型压缩和模型逆向攻击)具有鲁棒性。
2 BACKGROUND
2.1 Deep Neural Network
??在本文中,我们主要关注feed-forward DNNs模型,但原则上,我们的水印策略可以很容易地扩展到循环网络。
2.2 Digital Watermarking
??数字水印是在图像、视频和音频等载体多媒体数据中嵌入一定的水印以保护其版权的技术。当对带水印的多媒体数据进行扫描时,可以检测到嵌入的水印。只有知道嵌入水印的加密算法的多媒体数据所有者才能检测和读取水印以检查作者身份。 ??水印的工作过程通常分为嵌入和验证两个步骤。下图显示了一个典型的水印生命周期。在嵌入过程中,嵌入算法E将预定义的水印W嵌入到载体数据C中,这是需要保护的数据。嵌入后,被嵌入的数据(e=E(W,C))被存储或者传输。在水印验证过程中,解密算法D试图从e’中提取水印W’。 这里的输入数据e’可能与之前的嵌入的数据e略有不同,因为e可能在传输和分发阶段被修改。这种修改可以从原始数据e中复制或导出,因此,提取出水印W’后,还需要用原始水印W进一步验证。如果偏差是可以接受的,则确认载体数据是我们保护的数据。否则,载体数据并不属于我们。 ??由于数字水印最初的用途是保护多媒体数据的版权,它直接将水印嵌入到被保护的多媒体数据中。在深度神经网络中,我们需要保护DNN模型的版权,因此需要设计一种新的水印框架来将水印嵌入到DNN模型中。
3 THREAT MODEL
4 DNN WATERMARKING
??在本节中,我们提出了一个框架来生成水印,将水印嵌入到DNNs中并通过提取水印来验证远程DNNs的所有权。该框架的目的是通过验证嵌入水印的远程DNN服务的所有权来保护深度神经网络的知识产权。该框架为不同的水印分配预定义标签,并通过训练将具有预定义标签的水印加入到DNNs中。DNNs自动学习和记忆嵌入水印和预定义标签的模式。因此,挡在查询中观察到水印模式时,只有被我们水印保护的模型能够生成预定义的预测。 ??下图显示了我们的DNN水印框架的工作流程。该框架首先为想要保护DNN模型的所有者生成自定义的水印和预定义标签(1)。这些水印用于稍后验证所有权。在生成水印后,框架将在模型训练过程中将水印嵌入到目标DNNs中。受保护的DNNs自动学习并记忆水印的模式。嵌入水印后的模型能够进行所有权验证。
4.1 DNN 水印生成
??正如我们在第二节讨论的,水印本质上是验证所有权的唯一指标。因此,水印应该是隐形的,难以被检测到。为了达到这一目的,潜在水印的数量应该足够大,以避免被逆向工程。这里我们研究了三种水印生成机制。 ??(1)在原始训练数据中嵌入有意义的内容作为水印(WM_content)。具体来说,我们将训练数据中的图像作为输入,并对图像进行修改,添加额外有意义的内容。这里的直觉是,不属于我们的远程模型不应该有这样有意义的内容。例如,如果我们在我们的DNN模型中嵌入一个特殊的字符串“TEST”,那么任何可以由该字符串触发的DNN模型都应该是受保护模型的复制或派生,因为属于别人的模型不应该对我们自己的字符串“TEST”负责。图4b显示了这种水印的一个示例。我们将训练数据中的图像(图4a)作为输入,并在其上添加一个示例标记“TEST”。因此,给定任何汽车图像,他们将被正确分类为汽车。然而,如果我们在它们上面加上“TEST”的标志,他们就会被我们保护的模型预测为我们预先定义的标签“airplane”。这里的水印是由它的内容、位置和颜色决定的。直接进行逆向工程来检测此类水印是很困难的。最近我们观察到一些从模型中重建训练数据的研究,如模型逆向攻击和基于GAN的攻击。然而,这种方法的有效性在很大程度上取决于训练数据在每个类标签下是否表现出像素级的相似性。 ??(2)以独立的类的不相关数据作为水印(WM_unrelated)。具体来说,我们使用来自其他类的与DNN模型任务无关的图像作为水印。例如,对于一个任务是识别食物的模型,我们可以使用不同的笔迹图像作为水印。这样,嵌入的水印不会影响模型原有的功能。这里的直觉是,我们在被保护的模型中增加了新的智能功能(如不相关数据的识别),这样的新功能可以帮助所有权验证。 ??(3)预定义的噪音作为水印(WM_noise)。具体来说,我们用精心制作的噪声作为水印与添加有意义内容的WM_content不同,这里我们在图像上添加无意义的噪声。这样,即使嵌入的水印可以被恢复,也很难将基于噪声的水印与纯噪声区分开来。
4.2 DNN watermark embedding
??水印生成后,下一步就是把水印嵌入到目标DNNs中。传统的数字水印嵌入算法可以分为两类:空间域和变换或频率域。前者通过直接修改原始图像的像素值来嵌入水印,而变换域算法则通过在变换域中调制原始图像的系数来嵌入水印。与传统的数字水印嵌入算法不同,我们探索了深度神经网络嵌入水印的内在学习能力。 ??算法1给出了我们的DNN水印嵌入算法。以原始训练数据D_train和变换密钥{Y_s,Y_d}(s≠ d)为输入,输出受保护的DNN模型F_θ和水印D_wm。在此,所有者定义变换密钥以指示如何标记水印。Y_s为原始训练数据的真实标签,Y_d为水印的预定义标签。水印和预定义标签Y_d将共同用于所有权验证。接下来,我们从标记为Y_s的训练数据集中抽取数据,并基于该数据集生成相应的水印(算法1中的Line4-8),然后用Y_d重新标记。通过这种方式,我们生成水印和手工标签D_wm。然后用原始训练数据D_train和D_wm对DNN模型进行训练。在训练过程中,DNN将自动学习这些水印的模式,并将其与D_train进行区分。因此,将该水印嵌入到新的DNN模型中。
4.3 Ownership verification
??一旦我们的受保护的模型泄露,被竞争对手发布到网上提供在线服务。我们就可以使用之前生成的水印数据集D_wm向其发出正常的访问请求。如果响应与D_wm匹配,即QUERY(x_wm )== y_wm,则可以确定远程AI服务来自我们的受保护模型。这是因为没有嵌入水印的DNN模型将无法识别我们嵌入的水印,这样的查询将被随机分类。
5 EXPERIMENTS
??在本节中,我们使用数字水印图像域和神经网络域的标准来评估我们的水印框架的性能。我们在两个基准图像数据集上测试了我们的水印框架。对于每个数据集,我们训练一个五保户模型和多个有不同水印的受保护模型。
5.1 Datasets and models
??我们使用以下两个基准图像数据集(MNIST和CIFAR10)进行评估。
5.2 Effectiveness
??有效性的目标是衡量我们是否能够在我们的水印框架保护下成功验证DNN模型的所有权。为了实现这一目标,对于每个数据集,我们分别向具有不同水印(wm∈{content,unrelated,noise})的受保护模型和没有保护的模型F_none提交查询,以进行比较。如果F_wm (x_wm)=y_wm,F_none (x_wm )≠y_wm,则表明我们的水印框架能够成功验证所有权。所有嵌入不同水印的模型都得到了验证。表1给出了不同数据集下不同水印的top 1精度。
5.3 Side effects
??副作用是衡量水印的嵌入对受我们保护的深度神经网络的原始功能造成的训练开销。理想情况下,一个设计良好的水印算法应该对原始的深度神经网络产生较小的副作用。我们从以下两个角度来衡量我们的水印框架的副作用:训练和功能。 ??Side effects on training。我们使用训练速度来估计我们的水印在训练过程中可能造成的开销。具体地,我们比较了嵌入不同水印和未嵌入水印的原始训练在每个训练阶段的训练精度和验证精度。图6和图7给出了不同模型和数据集的训练准确率和验证准确率以及训练耗时。从中可以看出,对于所有这些数据集,嵌入水印的模型的训练过程与不嵌入水印的模型非常相似。所有模型在几乎相同的时间收敛,性能相似。因此,我们嵌入的水印不需要更多的时间来收敛,对训练过程造成的开销很小。 ??Side effects on functionality。为了衡量对模型原始功能的副作用,我们主要检查我们的嵌入水印是否降低了原始模型的性能。具体来说,我们使用原始的正常测试数据集来检查不同模型的准确性。这样的测试数据集是分离的数据集,不用于训练。表2是未嵌入水印的原始模型与不同嵌入方法模型的测试精度比较,结果可见所有带有不同水印的模型都具有与原始模型相同的精度。
5.4 Robustness
??鲁棒性是衡量我们的水印框架对不同模型修改是否具有鲁棒性。我们用以下两种常用的修改来衡量水印框架的鲁棒性。 ??Model pruning。虽然DNN的性能优于传统的最先进的机器学习算法,但它们通常包含大量的参数,这些参数是由更深的层次和每层更多的神经元引起的。如此大量的参数给修建留下了空间。模型剪枝的目标是减少冗余参数,同时保持原深度神经网络的性能。 ??我们采用的剪枝策略是对绝对值很小的参数进行剪枝。这里的直觉是:效地权值通常代表神经元之间不太重要的连接,消除这些连接对最终分类结果的影响很小。在剪枝过程中,对于所有嵌入水印的模型,我们将绝对值很小的参数的p%(从10%到90%)设为零。然后我们将准确率与正常测试数据集进行比较,以评估对模型原始功能的影响,并将准确率与不同水印的影响进行比较,以评估对我们的水印框架的影响。 ??表3和表4给出了不同模型和数据集的clean测试数据的准确性和水印的准确性。 ??Fine-tuning。对于模型窃取者来说,微调是一种非常有效的方法,可以用更少的新训练数据来偷来的模型上训练新的模型。这样一来,新模型即继承了被窃取模型的性能,又与被窃取模型看起来有所不同。 ??在这个实验中,对于每个数据集,我们都将测试数据集分成两部分。前半部分用于对之前训练的DNN进行微调,后半部分用于评估新模型。然后,我们仍然使用新模型的测试精度和水印精度来衡量我们的水印框架对微调修改的鲁棒性。 ??表5给出了经过微调的新模型对测试数据的准确性和水印的准确性。
5.5 Security
??安全性的目的是衡量我们嵌入的水印是否可以被未经授权方轻松识破或修改。在我们的设计中,三种水印生成算法的水印空间几乎是无限的,因此,这些水印应该对暴力攻击具有鲁棒性。然而,最近的模型逆向攻击,可以从深度神经网络中恢复训练数据集中的图像。我们着重测试这种攻击是否能揭示嵌入的水印。 ??我们对所有嵌入水印的模型进行这样的攻击。我们从三种类型的输入开始模型反转攻击:来自我们嵌入水印的类别的图像、空白图像和随机图像。然后计算预测损失对预定义类别水印的梯度。这样的梯度被进一步用于修改图像到预定义的类别。 ??图8显示了在MNIST数据集上的恢复效果。结果表明我们的三种嵌入算法对模型逆向攻击是鲁棒的。
5.6 Comparison of different watermarks
??Functionality:我们提出的所有水印都支持白盒和黑盒的所有权验证。 ??Usability:就可用性而言,〖WM〗_content是最好的选择。原始图像总是能得到正确的预测,只有嵌入水印的图像才能得到预定义的预测。 ??Security:〖WM〗_noise是最安全的水印。即使恢复了,也很难与正常的噪声区分开。 ??Robustness:〖WM〗_content对两个数据集的所有评估修改都是健壮的。
6 DISCUSSION
??在本节中,我们讨论我们的水印框架可能的限制和规避。 ??Limitation。我们的评估表明,如果被窃取的模型不是作为在线服务部署,而是作为内部服务使用,那么我们的水印框架就无法检测到它。这样,剽窃者就不能直接将偷来的模型货币化。此外,我们现有的水印框架无法阻止攻击者通过访问预测API来窃取模型。在这种攻击中,攻击者可以利用查询访问和结果私密性之间的关系来窃取机器学习模型的参数。 ??Evasion。我们的水印框架由三个部分组成:水印生成、水印嵌入和所有权验证。只有所有权验证组件需要远程完成。因此,规避我们的水印框架的一种方法是阻止我们对所有权验证的查询。
7 RELATED WORK
??Watermarking。为了验证受保护媒体数据的所有权,现有的水印算法都要求直接访问受保护媒体数据以提取水印来验证所有权。然而,在深度神经网络中,我们需要保护DNN模型而不是输入的媒体数据。模型在训练后通常只有API可用来进行所有权验证。因此,现有的数字水印算法不能直接应用于DNN模型的保护。
8 CONCLUSION
??在本文中,我们将深度神经网络的“数字水印”概念推广,提出了一个通用的水印框架,可以产生不同的水印,嵌入到深度神经网络中,并远程验证基于嵌入水印的DNN模型的所有权。我们正式定义了深度神经网络中水印的威胁模型,同时支持白盒访问和黑盒访问。我们的水印框架的关键创新是,它可以用很少的API查询远程验证深度神经网络服务的所有权。我们还在两个基准数据集上使用我们的水印框架进行了综合评估。我们证明了该框架能够满足一般的水印标准,并且对不同的反水印攻击具有很强的鲁棒性。
|