目录
论文信息
论文名称:A novel watermarking framework for intellectual property protection of NLG APIs
作者:Mingjie Li, et al. Shanghai University
发表年份:2023
发表会议:NeuroComputing
开源代码:无
文章简介
本文提出一种保护文本生成模型API的无盒水印方法,通过对模型api生成的内容进行语义相似度限制的修改,在保护模型原始性能的同时借助假设检验判断水印的存在。
研究动机
当前缺乏针对NLG模型API窃取攻击的水印方法,仅有的一项工作(Venugopal, 2011)针对统计机器学习模型,目的是为区分人机生成的文本用于数据过滤,而非保护模型的版权。
研究方法
完整的水印嵌入和提取流程如下。在嵌入阶段,通过对NLG模型API的输出结果进行后处理,得到含有水印的输出文本,这样,模型窃取者窃取到的输出即为处理后的输出,使用处理后的输出训练出来的替代模型 S S S就会含有水印信号,这为模型的侵权验证提供了条件。
水印嵌入
本文提出一个词汇级别的水印方法。给定NLG模型API的某个原始输出文本 y = f ( x ) \mathbf {y}=f(x) y=f(x),首先通过一个触发函数 t ( ⋅ ) t(\cdot) t(⋅)判断 y y y是否满足修改条件,若 t ( y ) t(\mathbf {y}) t(y)is True,则使用修改函数 w ( ⋅ ) w(\cdot) w(⋅)对 y \mathbf {y} y进行修改,得到含水印的输出文本 y ( w ) \mathbf {y}^{(w)} y(w):
触发函数 t ( ⋅ ) t(\cdot) t(⋅)
触发函数的作用就是判断原始输出文本中的单词与候选词集的存在关系。本文采取基于同义词的候选词集构建方法:
Step 1: 根据频率对训练集中的形容词进行降序排列;
Step 2: 依次从上述排列中选择一个候选词,根据WordNet寻找其末尾
M
M
M个同义词作为当前形容词的候选词集,对于候选词集大小低于
M
M
M个词的候选词跳过;
Step 3: 重复上述步骤,直到选出
∣
C
∣
|\mathbb C|
∣C∣个候选词,构成候选词集。
选定候选词集 C \mathbb C C后,对 y \mathbf {y} y中的每个词 y i y_{i} yi,使用 t ( ⋅ ) t(\cdot) t(⋅)判断 y i y_{i} yi是否落入 C \mathbb C C中。若存在 y i ∈ C y_{i} \in \mathbb C yi∈C,则 t ( y ) t(y) t(y) is True,可以对 y \mathbf {y} y进行修改。
修改过程也比较简单,就是找到全部满足
y
i
∈
C
y_{i} \in \mathbb C
yi∈C的
y
i
y_{i}
yi之后,对
y
i
y_{i}
yi进行替换。每个
y
i
y_{i}
yi都有对应的替换词集
T
i
=
{
w
q
i
}
q
=
1
M
T_{i}=\{w_{q}^{i}\}_{q=1}^{M}
Ti={wqi}q=1M(
M
M
M表示替换词的个数)。这就涉及到替换词集的构建问题。本文给出如下基于词义(sememe)的替换词集构建方式(参见 Algorithm 1:Line 3 - Line 9):
候选词集和替换词集中的词称之为水印词汇
修改函数 w ( ⋅ ) w(\cdot) w(⋅)
构建出候选词集和替换词集之后,就到了具体的替换阶段,即 w ( ⋅ ) w(\cdot) w(⋅)的设计。对于每个 y i ∈ C y_{i} \in \mathbb C yi∈C,将 y i y_{i} yi与其替换词集 T i T_{i} Ti一起构成单词阵列 S i S_{i} Si,然后使用哈希函数 h ( ⋅ ) h(\cdot) h(⋅),将 S i S_{i} Si映射为整数 I i I_{i} Ii,那么目标单词的索引 j j j就可以表示为 j = I i m o d ( M + 1 ) j = I_{i} mod (M+1) j=Iimod(M+1),目标单词即为 S i [ j ] S_{i}[j] Si[j].(参见 Algorithm 1:Line 10 - Line 13)
版权验证
如果使用上述方法添加水印的模型被窃取,则使用窃取模型生成的输出会包含更多的水印词汇,则有下式:
其中,分子表示 y i \mathbf {y}_{i} yi中含有的水印词汇数量;分母表示 y i \mathbf {y}_{i} yi中含有的候选词和替换词的数量。验证时,若hit值超过阈值 τ \tau τ,说明当前模型为窃取模型。完整流程如下:
有了一个大致的判断之后,我们还需要更加严格的侵权评估,这时需要用到零假设检验的方法。定义零假设:the tested model is generating outputs without the preference of our watermarks, namely randomly selecting words from candidate (应为substitution) set with an approximate probability of p = 1/(M + 1). 采用下式计算p-value:
其中 k k k为公式3中的分子, n n n为公式2中的分母, p p p为hit值。 P P P值越小,说明模型被窃取的可能性越大。
实验结果
本文在机器翻译API、文档摘要API以及图像描述API三种场景下进行了实验验证。
Baseline:Venugopal et al. (2011) 提出的 bit-level watermark
有效性 & 保真度
Comparison with SOTA
Mixture of human- and machine-labeled data
多数情况下,攻击者不会只使用查询的输出对替代模型进行训练,还会使用人工标注的不含水印数据。为了测试水印样本含量对于模型侵权验证的效果,本实验分别测试了混有不同比例水印样本的训练数据对替代模型进行训练的结果,如下图所示。
迁移性
Surrogate Model from Pre-trained Model
如果攻击者想要在预训练模型的基础上,通过对API实施模型窃取攻击得到替代模型,实验证明预训练模型也会带上水印。
Cross-Domain Model Extraction
由 Table 7可知,用此种方法训练出的 victim model 在不同数据集之间具有很好的泛化性。
隐蔽性
在 Amazon Mechanical Turk 平台上,分别选取200条原始输出文本和水印输出文本进行自然度的评估,由 Table 9可知,二者的差别不大,证实了水印文本的隐蔽性。
鲁棒性
对输出文本中的词汇以一定的比例进行随机替换(同义词替换)或移除,对水印的影响如 Figure 2 所示。可以看出,随机移除相较于随机替换的攻击性更强,但这二者都会严重损坏模型在原始任务上的性能,所以权衡而言,可以认为本文提出的方法能够抵抗局部修改攻击。(局部修改攻击是 Venugopal et al. (2011) 这篇文章中提出的概念~)
方法评估
这篇文章的创新性一般,在这篇文章上进行了一点微微小的改动,优化了一下替换词集的构建过程,将基于同义词替换改为基于词义的替换。此外,增添了一个抗局部修改攻击的鲁棒性实验,并对水印文本的隐蔽性进行了评估。
相关文献
Venugopal, A.; Uszkoreit, J.; Talbot, D.; Och, F.; and Ganitkevitch, J. Watermarking the Outputs of Structured Prediction with an application in Statistical Machine Translation. EMNLP, 2011.