Motivation
- 建立预训练的编码器需要耗费大量的数据和计算资源,因此需要好好保护。
- 将现有的水印技术从传统的分类任务迁移到对比学习场景中具有挑战性:
- 编码器拥有者缺乏未来编码器应用于下游任务的知识,因此很难制作相应的后门和验证样本
- 验证过程中,编码器拥有者只能获得分类层最终输出,而不能获得编码器的特征表示,妨碍后门的检验
Approach
引入一个与任务无关的损失函数来微调水印嵌入模型,使得使用带有触发器的样本(即验证样本)输出与普通编码器的输出有很大的偏差。当所有者使用验证样本来查询某模型,若其标签与正常情况不同,则认为该模型是抄袭模型。
应用场景:编码器所有者对下游任务一无所知,并且旨在保护从他的预训练编码器开发的任何模型的知识产权。
Method
Watermark Embedding
为了将水印嵌入到编码器
f
f
f 中,所有者预先定义触发图案
t
t
t 和触发掩码
m
m
m,对于每个样本
x
I
x_I
xI,可以计算出对应的触发样本:
x
i
t
=
(
1
−
m
)
⊗
x
i
+
m
⊗
t
x_i^t=(1-m) \otimes x_i+m\otimes t
xit=(1−m)⊗xi+m⊗t
Uniqueness:通过最大化编码器输出差异,可以以非常高的概率最大化下游模型的输出(即标签)的差异。因此引入以下损失项:
L
u
=
1
∣
∣
D
∣
∣
⋅
∑
x
i
∈
D
S
I
M
(
f
(
x
i
)
,
f
′
(
x
i
t
)
)
\mathcal{L}_u=\frac{1}{|| \mathcal{D} ||} \cdot \sum_{x_i \in \mathcal{D}}SIM(f(x_i),f'(x_i^t))
Lu=∣∣D∣∣1⋅xi∈D∑SIM(f(xi),f′(xit))
Functionality-preserving:对于干净样本(无触发器),通过使
f
′
f'
f′ 和正常编码器
f
f
f 的输出特征相近,来保持下游模型在干净样本上的预测精度。因此引入以下损失项:
L
p
=
−
1
∣
∣
D
∣
∣
⋅
∑
x
i
∈
D
S
I
M
(
f
(
x
i
)
,
f
′
(
x
i
)
)
\mathcal{L}_p=-\frac{1}{||\mathcal{D}||}\cdot \sum_{x_i \in \mathcal{D}}SIM(f(x_i),f'(x_i))
Lp=−∣∣D∣∣1⋅xi∈D∑SIM(f(xi),f′(xi))
由此,水印嵌入过程可表示为如下优化问题
min
f
′
(
L
u
+
η
⋅
L
p
)
\min_{f'}(\mathcal{L}_u+\eta \cdot \mathcal{L}_p)
f′min(Lu+η⋅Lp)
Robustness:为了进一步增强编码器水印的鲁棒性,作者提出在水印嵌入过程中采用 dropout 的方法。
Watermark Verification
对于待验证模型 M M M,验证流程如下:
- 构造一组用于该下游任务的数据样本 D ^ \hat{\mathcal{D}} D^,并通过 M M M 获取对于每一个样本 x ^ i \hat{x}_i x^i 的预测标签
- 计算对应的验证样本 x ^ i t \hat{x}_i^t x^it,并通过 M M M 获取预测标签
- 若这两种标签不同的比率高于预定义阈值 T \mathcal{T} T,则可认为 M M M 为抄袭模型
该过程对应公式如下所示:
1
∣
∣
D
^
∣
∣
⋅
∑
x
^
i
t
∈
D
^
I
(
M
(
x
^
i
)
≠
M
(
x
^
i
t
)
)
>
T
\frac{1}{||\hat{\mathcal{D}}||}\cdot \sum_{\hat{x}_i^t \in \hat{\mathcal{D}}}\mathbb{I}(M(\hat{x}_i)\ne M(\hat{x}_i^t))>\mathcal{T}
∣∣D^∣∣1⋅x^it∈D^∑I(M(x^i)=M(x^it))>T
Evaluation
采用两种对比学习技术,SimCLR 和 Moco V2,并选择 Resnet18 和 Resnet50 分别作为它们的基模型。
Mtetric:
- Test Accuracy (ACC):计算下游分类器对干净样本的预测精度
- Watermark Accuracy (WACC):衡量可疑模型验证样本的预测标签与相应的干净样本的预测标签的比率。
表一表明水印可以有效地嵌入干净的预训练编码器中,并且具有很高的独特性。
(注:RTLL:Re-Train Last Layer;FTAL:Fine-Tune Last Layer)