Motivation
- 通过对比学习训练编码器需要大量未标记的训练数据和计算资源,需要好好保护知识产权。
- 由于缺乏对下游任务的先验知识,因此将传统的水印技术应用在保护预训练编码器上并不可行。
Approach
- 通过在样本中引入对坑性扰动,使其在特征空间中形成特定的水印结构;
- 通过进一步联合优化损失函数,将水印嵌入到预训练编码器中。
模型水印:
- 白盒水印:将水印嵌入到 DL 模型的内部参数、特征映射或结构中;
- 黑盒水印:通常使用后门或类似的技术,如对抗性攻击,来标记模型。
Method
Watermark Generation
使用预训练编码器 E θ E_\theta Eθ 生成对抗性扰动 w a d v \mathbf{w}_{adv} wadv 作为水印。
-
随机选择一个图像 x t a r x_{tar} xtar 作为关键图像,通过编码器 E θ E_{\theta} Eθ 获得对应嵌入 E θ ( x t a r ) E_{\theta}(x_{tar}) Eθ(xtar),将其用来生成干净数据集 D \mathcal{D} D 的扰动 w a d v \mathbf{w}_{adv} wadv。
-
将扰动作用与 D \mathcal{D} D 中的图像 x i x_i xi ( i ∈ 1 , 2 , … , ∣ D ∣ i \in {1,2,\dots,|\mathcal{D}|} i∈1,2,…,∣D∣),使得扰动后的图像 E θ ( x i + w a d v ) E_{\theta}(x_i+\mathbf{w}_{adv}) Eθ(xi+wadv) 在嵌入空间中与关键图像的编码 E θ ( x t a r ) E_{\theta}(x_{tar}) Eθ(xtar) 聚集在一起。即最小化 E θ ( x t a r ) E_{\theta}(x_{tar}) Eθ(xtar) 和 E θ ( x i + w a d v ) E_{\theta}(x_i+\mathbf{w}_{adv}) Eθ(xi+wadv) 之间的距离。
L a d v = E x i ∼ D [ 1 − s i m ( E θ ( x i + w a d v ) , E θ ( x t a r ) ) ] \mathcal{L}_{adv}=\mathbb{E}_{x_i \sim \mathcal{D}}[1-sim(E_{\theta}(x_i+\mathbf{w}_{adv}),E_{\theta}(x_{tar}))] Ladv=Exi∼D[1−sim(Eθ(xi+wadv),Eθ(xtar))]
w a d v \mathbf{w}_{adv} wadv 是通过反向传播生成的。 w a d v \mathbf{w}_{adv} wadv 的强度受到阈值 ϵ \epsilon ϵ 的约束。为了确保 ∣ ∣ w a d v ∣ ∣ ∞ ≤ ϵ ||\mathbf{w}_{adv}||_{\infty}\le \epsilon ∣∣wadv∣∣∞≤ϵ,将 w a d v \mathbf{w}_{adv} wadv 投影到半径为 ϵ \epsilon ϵ 的 x i x_i xi 周围的 ℓ ∞ \ell_{\infty} ℓ∞ 范数球上。利用这种扰动,可以有效地将扰动图像聚类到嵌入空间的关键图像 x t a r x_{tar} xtar 周围。
Watermark Embedding
通过组合损失
L
c
o
m
b
\mathcal{L}_{comb}
Lcomb 进一步训练编码器
E
θ
E_{\theta}
Eθ 使得
w
a
d
v
\mathbf{w}_{adv}
wadv 嵌入到其中。
L
c
o
m
b
=
L
c
o
m
+
α
L
w
a
t
L
w
a
t
=
E
x
i
′
∼
D
[
K
L
(
σ
(
E
θ
(
x
i
′
)
,
σ
(
E
θ
(
x
i
′
+
w
a
d
v
)
)
)
]
\mathcal{L}_{comb}=\mathcal{L}_{com}+\alpha \mathcal{L}_{wat}\\ \mathcal{L}_{wat}=\mathbb{E}_{x_i' \sim \mathcal{D}}[KL(\sigma(E_{\theta}(x_i'),\sigma(E_{\theta}(x_i'+\mathbf{w}_{adv})))]
Lcomb=Lcom+αLwatLwat=Exi′∼D[KL(σ(Eθ(xi′),σ(Eθ(xi′+wadv)))]
where
α
\alpha
α is 40 by default,
σ
\sigma
σ is the softmax function,and
x
i
′
x_i'
xi′ is sample from the augmented dataset
D
′
\mathcal{D}'
D′
Use E θ + E_{\theta}^+ Eθ+ to represent the marked version of E θ E_{\theta} Eθ
Watermark Verification
-
white-box scenario
编码器拥有者可以直接访问目标编码器 E θ − E_{\theta}^- Eθ− 的输出用于水印验证。作者使用一组干净图像 D ′ ′ \mathcal{D}'' D′′ 和对应的对抗样本之间的平均 JS 散度来进行相似性分析。
T s i m = 1 − 1 ∣ D ′ ′ ∣ ∑ i = 1 ∣ D ′ ′ ∣ J S ( σ ( E θ − ( x i ′ ′ ) ) , σ ( E θ − ( x i ′ ′ + w a d v ) ) ) T_{sim}=1-\frac{1}{|\mathcal{D}''|}\sum_{i=1}^{|\mathcal{D}''|}JS(\sigma(E_{\theta}^-(x_i'')),\sigma(E_{\theta}^-(x_i''+\mathbf{w}_{adv}))) Tsim=1−∣D′′∣1i=1∑∣D′′∣JS(σ(Eθ−(xi′′)),σ(Eθ−(xi′′+wadv)))
Q:为什么水印嵌入使用 KL 散度,而水印验证使用 JS 散度?
T:在水印嵌入阶段,我们关心的是嵌入水印后的分布与原始分布的一致性,是单向考虑的。使用 KL 散度更能确保一致性。因为 KL 散度强调的是某个分布相对于另一个分布的信息增益,而 JS 散度则是对称地测量两个分布之间的差异。
而在水印验证阶段,我们关心的是嵌入的水印与提取水印之间的相似性,是对称考虑的。因此使用 JS 散度。
- black-box senario
给定可疑下游模型
M
M
M,编码器拥有者想要验证
M
M
M 是否是从
E
θ
+
E_{\theta}^+
Eθ+ 发展来的。作者构建了一个与下游任务相关的干净数据集
D
∗
\mathcal{D}^*
D∗,然后对下游分类性能进行分析:
T
c
l
s
=
1
−
1
∣
D
∗
∣
∑
i
=
1
∣
D
∗
∣
I
[
M
(
x
i
∗
)
≠
M
(
x
i
∗
+
w
a
d
v
)
]
T_{cls}=1-\frac{1}{|\mathcal{D}^*|}\sum_{i=1}^{|\mathcal{D}^*|}\mathbb{I}[\mathcal{M}(x_i^*) \ne \mathcal{M}(x_i^*+\mathbf{w}_{adv})]
Tcls=1−∣D∗∣1i=1∑∣D∗∣I[M(xi∗)=M(xi∗+wadv)]
Results
不同图像导致不同的对抗性图像退化,但视觉质量还令人满意。验证了对抗性扰动的适用性。
AWEncoder 区分性更强
相似度分数可用于可靠的验证
(注:Incorrect Watermark 表示使用不同的关键图像去生成扰动 w a d v \mathbf{w}_{adv} wadv)
关键图像的选取对水印效果影响不大
验证水印的唯一性
验证水印的鲁棒性
Reference
AWEncoder: Adversarial Watermarking Pre-Trained Encoders in Contrastive Learning