模型水印综述
论文题目:Deep Intellectual Property Protection: A Survey
1.为什么需要对深度学习模型进行保护?
答:避免对手可以在不尊重合法方的知识产权 (IP) 的情况下非法下载、窃取、重新分配或滥用经过训练的 DNN 模型,从而导致模型所有者的严重损失。因此,为了防止这种恶意攻击,迫切需要开发机密但稳健地保护训练模型及其IP的方法,增强DNN模型的可信度。
2.深度学习模型知识产权保护的主要技术包括:模型水印和指纹识别是目前 DNN IP 保护的两个主要技术。
3.什么是模型水印:深度水印[26]将一些独特的识别信息嵌入到输入中,模型本身(模型参数、梯度、结构等)或输出。
4.什么是模型指纹:模型指纹是提取一些独特的模型属性,如决策边界,作为DNN模型的“指纹”28。这是一个非侵入性的解决方案,没有模型修改。
5.典型的模型水印是通过正则化技术实现的。
6.Deep IP保护的一般流程主要包括IP标识符构建和验证两个阶段。
模型水印的基本原理和实现方式:
原理:
模型水印是一种入侵性解决方案,它将一个可检测和不可伪造的IP标识符(即一对密钥和水印信息 ( K , b ) (K,b) (K,b))嵌入到DNN模型 ϕ \phi ϕ中,得到水印模型可以得到水印模型 ( ϕ w ) (\phi_w) (ϕw)。
模型水印主要由两个组成部分构成:
- IP 标识符生成器 G w G_w Gw :用于生成密钥和水印信息 ( K , b ) (K,b) (K,b)。
( K , b ) = G w ( S , [ ϕ , X c , ∗ ] ) (K, b) = G_w(S, [\phi, X_c, *]) (K,b)=Gw(S,[ϕ,Xc,∗])
其中:
- S S S 表示元数据(meta-data),如随机种子、比特数、预设触发模式等。
- ϕ \phi ϕ 表示主模型(可选)。
- X c X_c Xc 是候选数据集(可选)。
- 水印嵌入器 E w E_w Ew :将生成的标识符嵌入原始模型中,得到水印模型。
生成的 IP 标识符 ( K , b ) (K,b) (K,b)被输入到水印嵌入器 E w E_w Ew,并通过微调或重新训练的方式,将水印嵌入原始模型 ϕ \phi ϕ中,从而得到水印模型 ϕ w \phi_w ϕw:
ϕ w = W ( ϕ , K , b , X , Y , [ ∗ ] ) \phi_w = W(\phi, K, b, X, Y, [*]) ϕw=W(ϕ,K,b,X,Y,[∗])
其中:
- X X X和 Y Y Y是用于训练的样本和标签。
- [ ∗ ] [*] [∗]表示其他可选输入。
模型水印的类型(实现方式):
1.内部组件嵌入水印Inner-component-embedded Watermarking:
水印可以嵌入到许多可选的模型组件中,包括静态模型权重、动态隐藏层激活或梯度、模型结构以及额外的水印组件。
(1)静态模型权重:将水印嵌入到原始模型权重或其变换后的权重中。
水印嵌入到原始模型权重或其变换后的权重中。这种方法可用于嵌入不同类型的水印:
稳健水印(鲁棒性水印):用于版权验证,在模型被轻微修改(如微调)后仍能保持水印的有效性。
易损/可逆水印:用于完整性验证,主要用于检测模型的篡改情况。
A.Embedding watermarks into original model weights将水印嵌入到原始模型权重中.
- Uchida 等人提出的方案是基于正则化技术(Regularization)进行水印嵌入,方法是将水印正则化项 L R L_R LR 加入到原始任务损失 L 0 L_0 L0 中: L = L 0 + λ L R L = L_0 + \lambda L_R L=L0+λLR
水印正则化项 L R L_R LR可以是交叉熵(CE)、均方误差(MSE)等损失函数,通过优化损失函数嵌入水印,以确保水印能够存在于模型权重中。
- Chen 等人设计的 DeepMarks 系统,针对用户管理的需求,将特定的用户水印嵌入到每个用户的模型中,用于检测分布式用户模型的非授权使用情况。
B.Embedding watermarks into transformed model weights将水印嵌入到转换后的模型权重中.
将水印嵌入变换后的模型权重是为了提高水印的隐蔽性。这种方法相较于直接嵌入原始权重,能够避免水印容易被检测或重建的风险。主要思路是通过对权重进行一定变换后嵌入水印,从而不显著改变模型权重的分布,增强水印的隐蔽性。以下是常用的三种嵌入方式:
a.将水印嵌入到权重频域
具体实现方式包括:
-随机选择多个层的权重,计算选中权重的频域分量。
-利用预设的IP消息指导,量化频域分量的系数,嵌入水印信息。
-然后通过逆变换将含水印的权重恢复成时域中的权重,以替代原始权重。
这种方法的优点是可以避免权重幅值的大幅变化,从而减少水印嵌入对模型权重分布的影响,提升水印的隐蔽性。
注:权重的频域(frequency domain of weights) 是指通过频域变换将神经网络的模型权重从时域(直接的数值表示)转化到频域的一种表示方式。
b.生成对抗网络充当权重转换:
-生成网络用于提取和嵌入水印、判别网络用于隐藏水印。
-生成网络在给定水印权重时输出有效的IP消息,否则输出随机消息;判别网络则用于区分含水印和不含水印的权重。
-在训练过程中,这两个网络和原始模型一同训练,最终得到一个水印模型和一个秘密网络(生成器)。
c.特殊设计的变换规则
为了应对IP模糊攻击(如伪造攻击和覆盖攻击)引发的版权冲突,有些方法采用了无需预设密钥矩阵的设计。
例如,Greedy Residuals 方案采用了以下步骤:根据重要权重的均值设计一条构造规则,形成一个残差向量
ψ
\psi
ψ。
具体过程:
-
首先将权重 θ ∈ R n × d × m \theta \in \mathbb{R}^{n \times d \times m} θ∈Rn×d×m重整为 γ ∈ R n × d \gamma \in \mathbb{R}^{n \times d} γ∈Rn×d ,然后对每行选取绝对值最大的元素,计算均值并组合成残差向量 ψ \psi ψ 。
-
使用符号损失函数 L R ( ψ , b e ) = max ( α − sgn ( b e T ) ψ , 0 ) L_R(\psi, b_e) = \max(\alpha - \text{sgn}(b_e^T) \psi, 0) LR(ψ,be)=max(α−sgn(beT)ψ,0) 作为水印正则化项,其中符号函数 sgn \text{sgn} sgn 获取输入值的符号,确保 ψ \psi ψ 中元素的符号与 b e b_e be 的符号相同。
-
其中, b e b_e be 是由原始 IP 消息 b b b 经 RSA 加密得到的 n n n 位消息。此方法通过构造的残差向量嵌入水印,并且无需使用触发样本或密钥矩阵,提高了对攻击的抗性。
d.通过权重嵌入的水印来进行模型完整性验证
主要分为三种方法:可逆水印、基于LSB的脆弱水印和设备功能验证的脆弱水印。这些水印方法用来防止模型篡改攻击,并能够检测模型是否被修改。
-可逆水印(Reversible Watermarks):可逆水印的特点是可以在不破坏原始模型的情况下将水印嵌入,并能在需要时恢复原始模型。这种方法适用于检测模型分发过程中的篡改情况,主要步骤包括:
-
选择不重要的网络通道(权重最小的通道)作为嵌入序列,使用类似通道剪枝的技术。
-
将浮点数权重转换为整数序列,形成一个低熵的整数序列。
-
将整数序列视为灰度图像,采用图像的可逆数据隐藏方法(如直方图移动)嵌入水印。
-
恢复模型后,使用哈希比较来验证模型是否被篡改。
-基于LSB的脆弱水印(LSB-based Fragile Watermarks)
该方法通过修改模型权重的最不重要字节(LSB)来嵌入水印,用于在模型执行过程中检测和定位篡改。其步骤包括:
将模型参数划分成多个参数单元(PU),每个PU包含16个4字节浮点数。
构建一个32字节的水印嵌入单元(WEU),其中前16字节是MSB的哈希值,后16字节为对应的LSB。
使用KLT(Karhunen-Loève变换)对水印进行分段嵌入,优化LSB变化,KLT基本向量作为密钥。
如果在验证过程中检测到任何段与原始水印不匹配,则表示模型可能已被篡改。
-用于设备功能验证的脆弱水印
该方法适用于不允许在权重上进行任何改动但需要验证设备上模型功能完整性的场景。这些验证在设备端的可信执行环境(TEE)中进行,主要包括:
将设备特定的水印嵌入原始模型中。
在运行时进行功能验证,若验证失败,模型将被阻止运行。
防御主要包括:模型替换、伪造设备水印、故障注入等攻击方式。
动态隐藏层激活或梯度
(2)动态隐藏层激活或梯度中的水印 Dynamic Hidden-layer Activation or Gradients:
a.动态隐藏层激活水印
传统基于权重的水印方法容易受到重写攻击(即插入新水印掩盖原始水印)。为此,DeepSigns方法提出将水印嵌入目标类别样本的隐藏层激活期望值中,旨在通过最小化类别内部激活差异、最大化类别间激活差异来增加水印的隐蔽性.
b.动态梯度水印
动态梯度水印通过嵌入外部特征来实现水印,不改变触发样本的标签,从而避免安全风险。例如,MOVE方法采用风格迁移将外部特征嵌入样本生成的梯度中。具体过程包括:
- 生成风格迁移样本集;
- 将模型分别在原始和风格迁移数据集上进行训练,得到水印模型和干净模型;
- 获取模型在风格样本上的梯度,并用元分类器区分水印模型和干净模型。
对于黑盒场景,MOVE使用风格迁移样本与原样本的软预测差异代替梯度,最终通过假设检验完成模型验证。
c.数据空间的水印保护
在数据集保护方面,可以将水印嵌入特征空间再扩展至数据空间,以保护模型和数据集的所有权。例如,Radioactive Data方法通过在样本的特征空间中嵌入各类别的单位向量,从而保护数据集的版权。
(3)模型结构Model structures:
-利用水印稀疏模型结构进行深度IP保护
-“中奖票假设”保护,中奖票(特定稀疏掩码和初始权重的子网络)可以以接近完整模型的精度运行。Chen等将中奖票视作有价值资产,提出将关键掩码和锁掩码组合嵌入模型,只有持有正确掩码的合法用户才能使用该模型。
(4)通过将额外的过程或组件添加到原始模型中,可以嵌入水印。
归一化层水印:为克服IP模糊性攻击,Passport方法在选定的隐藏层后增加“通行层”,模型只有在拥有正确通行证的情况下才能输出正确结果。Zhang等进一步提出了“通行证感知归一化”,解决了多任务学习中的精度下降问题。
RNN隐藏状态水印:Lim等扩展了水印到RNN,通过在每个时间步后对隐藏状态进行秘密密钥变换实现对黑盒和白盒场景的访问控制和验证。
子网络水印:为提高水印抗攻击性,lv等提出嵌入水印子网络,使模型对微调更敏感以防IP移除。通过交替训练原模型和水印子网络,实现水印的隐蔽性和抗伪造。
2.Trigger-injected Watermarking触发注入水印:在训练过程中注入特定的“触发样本”,这些样本能够激活水印的存在并使模型输出特定的结果
大多数触发注入水印方法都是为黑箱验证而设计的,主要有三个点:
① 生成触发样本 X w X_w Xw 作为水印的秘密钥匙;
② 标记触发样本,即确定在水印模型 ϕ w \phi_w ϕw 上触发样本 X w X_w Xw的期望输出 Y w Y_w Yw,该输出应与无关模型 ϕ − ( X w ) \phi_{-}(X_w) ϕ−(Xw) 上的输出显著不同;
③ 嵌入范式,即通过最小化以下公式所定义的损失,使得输出 ) ϕ w ( X w ) \phi_w(X_w) ϕw(Xw) 接近触发标签 Y w Y_w Yw:
L = L 0 ( X , Y ; θ ) + λ L R ( X w , Y w ; θ w ) L = L_0(X, Y; \theta) + \lambda L_R(X_w, Y_w; \theta_w) L=L0(X,Y;θ)+λLR(Xw,Yw;θw)
A.Generating trigger samples生成触发样本:
a.触发器样本可以直接从数据集中选择或简单地处理。
可以直接从数据集中选择或简单地处理某些样本进行处理构成触发器样本,比如Out-Of-Distribution (OOD) 样本、预测结果高度不确定的样本、随机噪声样本、附加到秘密、特定附加触发模式的自然样本、哈希函数处理的触发样本链、Block-wise processing。
b.版权信息可以通过生成模型嵌入到触发样本中。
该框架由两个DNN模型组成:i)触发器生成器,将所有者的标识隐藏到自然样本中并输出生成的触发样本,以及 ii) 鉴别器:区分触发样本和任务样本。
c.通过梯度优化的合成样本可以用作触发样本。
典型方法是对抗性攻击,通过向种子样本 X 0 X_0 X0 添加精心设计的小扰动 Δ Δ Δ 来创建对抗样本,并诱导原始模型对 X 0 + Δ X_0 + Δ X0+Δ 产生错误预测。
d.基于触发器的脆弱水印。
触发样本可以设计为脆弱的完整性验证。核心思想是预测对任何模型修改敏感的触发样本。
e.用于数据集所有权保护的触发样本。
B.Trigger Sample Labelling触发样本标签:设计触发样本的标签来训练水印模型
a.将硬触发标签作为IP消息。
b.为触发样本分配一个新的标签。
c.将多位知识产权(IP)信息嵌入模型的硬预测中。
d.将触发样本的软模型预测作为 IP 消息。
C.Embedding paradigms嵌入样本的流程:模型初始化、可训练参数选择、主机参数处理、水印正则化器选择和模型训练。
a.重新训练或微调。
b.训练所有或部分模型参数。
c.训练原始或转换后的权重。
d.损失函数的选择。
e.仅模型或模型触发联合优化。
3.Output-embedded Watermarking输出嵌入水印:水印可以嵌入到由原始模型生成的正常输出中,并且可以从这些输出中提取。
优点:
无需触发样本或白盒访问:验证阶段不需要特定的触发样本或对原始模型的访问,即使在黑盒场景中(如网络上的可疑模型输出),也能提取水印。
广泛的应用场景:适用于图像、视频、音频、文本等多种生成处理任务,如图像生成、风格迁移、超分辨率处理、医学图像处理、机器翻译等,这些技术在日常生活中扮演着重要角色。
4.Watermarking for Specific Applied Scenarios特定应用场景的水印:
水印自监督学习编码器、针对迁移学习的水印、水印联邦学习(FL)模型、水印生成模型