深度神经网络黑盒水印方法、装置及终端
未命名
08-22
阅读:114
评论:0

1.本发明涉及水印处理技术领域,尤其涉及一种深度神经网络黑盒水印方法、装置及终端。
背景技术:
2.深度神经网络(deep neural networks,dnn)的高价值使得盗版dnn模型变得有利可图。目前,用户主要通过远程应用接口api使用深度学习平台的查询服务。在这种场景下,攻击者可以通过多种攻击手段对dnn模型进行攻击,导致可能出现盗版模型,严重侵害所有者的权益。为此,dnn黑盒水印技术被提出,以便保护dnn模型的知识产权以拒绝盗版服务。
3.dnn黑盒水印中的水印具体由目标dnn模型学习的密钥样本对表示,现有文本分类dnn黑盒水印技术主要包括以下三种:第一种,基于词频-逆文档频率得分的dnn黑盒水印技术,即根据词频-逆文档频率得分交换不同文本样本中的单词来生成密钥样本,指定目标标签后,采用混入训练向目标模型中嵌入水印;第二种,基于分次训练的dnn黑盒水印技术,即收集目标模型训练集分布之外的文本作为密钥样本,针对不用目标模型,将密钥样本的预测概率次优的对应标签作为目标标签,之后采用训练向目标模型中嵌入水印;第三种,基于交替训练的dnn黑盒水印技术,即随机从训练集的每个类别中选择多个样本,将目标标签指定为其最小预测概率的对应标签,之后采用交替训练嵌入水印。
4.然而,上述三种黑盒水印技术,均存在水印嵌入过程效率低下的问题。
技术实现要素:
5.本发明实施例提供了一种深度神经网络黑盒水印方法、装置及终端,以解现有技术种黑盒水印存在水印嵌入过程效率低下的问题。
6.第一方面,本发明实施例提供了一种深度神经网络黑盒水印方法,包括:
7.在样本集中生成密钥样本,并根据所述密钥样本确定触发集;
8.生成噪声样本,将所述噪声样本与所述触发集进行合并,得到目标触发集;
9.采用多个目标触发集对预设标志网络进行训练,得到目标标志网络;
10.将所述目标标志网络嵌入目标模型中,得到水印处理后的目标模型。
11.在一种可能的实现方式中,在样本集中生成密钥样本,包括:
12.计算词向量矩阵中每个词到其他词的第一距离,根据每个词到其他词的第一距离确定每个词的近义词集;
13.对于样本集中的每个词,计算每个词与对应的近义词集中每个词的第二距离以及在每个词点相对目标值的梯度,并确定每个词对应的第二距离与梯度的乘积中,最大乘积对应的近义词为最佳近义词,得到每个词对应的最佳近义词;
14.将所述样本集中每个词对应的最佳近义词对应的乘积中乘积最大的预设个数的词进行替换,得到所述样本集对应的密钥样本。
15.在一种可能的实现方式中,在样本集中生成密钥样本,包括:
16.确定预设文本风格,并在开源数据库中确定与所述预设文本风格相关的语料,构成语料库;
17.采用所述语料库中的语料训练预设架构的文本风格转换模型,得到目标文本风格转换模型;
18.从目标模型的训练集中选择样本输入所述目标文本风格转换模型中,得到密钥样本。
19.在一种可能的实现方式中,根据所述密钥样本确定触发集,包括:
20.将所述密钥样本输入所述目标模型的网络层中,得到输出向量;
21.对所述输出向量进行抽样,得到抽样向量;
22.对所述抽样向量进行聚类处理,得到簇心数据点;
23.计算所述输出向量与所述簇心数据点中每个簇心数据点之间的第三距离,并将所述第三距离中大于预设阈值中的目标第三距离中最大的n个第三距离对应的密钥样本作为触发集,n表示大于等于1的正整数。
24.在一种可能的实现方式中,所述生成噪声样本,将所述噪声样本与所述触发集进行合并,得到目标触发集,包括
25.在词向量词典中获取随机长度的索引值,构成多个噪声样本;
26.将所述多个噪声样本与所述触发集进行合并,得到目标触发集,其中噪声样本的数量大于所述触发集中密钥样本的数量。
27.在一种可能的实现方式中,在得到目标触发集之后,还包括:
28.确定所述目标触发集中密钥样本的原类别和目标类别,并将每个密钥样本的原类别和目标类型进行一一映射,得到所述目标触发集的映射集;
29.确定多个目标模型对应的所有目标触发集中密钥样本数量最多的目标触发集作为第一目标触发集;
30.将密钥样本数量少于所述第一目标触发集中密钥样本数量的第二目标触发集进行密钥样本生成,使得所述第二目标触发集中的密钥样本数量与所述第一目标触发集中的密钥样本数量相同。
31.在一种可能的实现方式中,将所述目标标志网络嵌入目标模型中,得到水印处理后的目标模型,包括:
32.将所述样本集中任一样本分别输入到所述目标标志网络和所述目标模型中,得到所述目标标志网络的第一输出向量和所述目标模型的第二输出向量;
33.根据所述第二输出向量对所述第一输出向量进行裁剪,使所述第一输出向量的输出维度大于或等于所述第二输出向量的输出维度;
34.将裁剪后的第一输出向量和所述第二输出向量进行融合,得到水印处理后的目标模型。
35.在一种可能的实现方式中,所述将裁剪后的第一输出向量和所述第二输出向量进行融合,得到水印处理后的目标模型,包括:
36.根据得到水印处理后的目标模型;
37.其中,表示水印处理后的目标模型的概率输出,x表示所述样本集中任一样本,f(
·
)表示所述目标模型输出的第二输出向量,θ表示所述目标模型的权重,softmax(
·
)表示概率映射函数,k表示替换比例,λ表示占比权重,f
*
(
·
)表示所述目标标志网络输出的裁剪后的第一输出向量,θ
*
表示所述目标标志网络的权重。
38.第二方面,本发明实施例提供了一种深度神经网络黑盒水印装置,包括:
39.密钥样本生成模块,用于在样本集中生成密钥样本,并根据所述密钥样本确定触发集;
40.密钥样本嵌入模块,用于生成噪声样本,将所述噪声样本与所述触发集进行合并,得到目标触发集;
41.标识网络训练模块,用于采用多个目标触发集对预设标志网络进行训练,得到目标标志网络;
42.水印嵌入模块,用于将所述目标标志网络嵌入目标模型中,得到水印处理后的目标模型。
43.第三方面,本发明实施例提供了一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上第一方面或第一方面的任一种可能的实现方式所述的深度神经网络黑盒水印方法的步骤。
44.本发明实施例提供一种深度神经网络黑盒水印方法、装置及终端,通过在在样本集中生成密钥样本,并根据所述密钥样本确定触发集;生成噪声样本,将所述噪声样本与所述触发集进行合并,得到目标触发集,在将密钥样本嵌入目标模型中时,设计了标志网络,采用多个目标触发集对预设标志网络进行训练,得到目标标志网络,将所述目标标志网络嵌入多个目标模型中,,不直接使用密钥样本对目标模型训练,使得训练分离,降低了时间开销,提高了水印嵌入的效率。
附图说明
45.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
46.图1是本发明实施例提供的一种深度神经网络黑盒水印方法的实现流程图;
47.图2-1是本发明实施例提供的不同数据集规模对应的目标模型的训练时间示意图;
48.图2-2是本发明实施例提供的idf水印方案在不同数据集上的平均时间开销对比示意图;
49.图2-3是本发明实施例提供的本方案与tadw水印方案在不同数据集上的平均时间开销对比示意图;
50.图2-4是本发明实施例提供的本方案与deephider水印方案在不同数据集上的平均时间开销对比示意图;
51.图3是本发明实施例提供的一种深度神经网络黑盒水印装置的结构示意图;
52.图4是本发明实施例提供的终端的示意图。
具体实施方式
53.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
54.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图通过具体实施例来进行说明。
55.图1为本发明实施例提供的一种深度神经网络黑盒水印方法的实现流程图,详述如下:
56.步骤101,在样本集中生成密钥样本,并根据密钥样本确定触发集。
57.在现有技术中的基于词频-逆文档频率得分的dnn黑盒水印技术所构造的密钥样本,存在样本流畅度差和语义不通的问题,因而易被盗版者筛查而拦截,最终致使水印验证失败。为了解决这个问题,在本实施例中在构造密钥样本时,采用以下两种思路:第一对原样本的单词进行近义词替换以生成密钥样本。第二,对原样本的句子进行文体转化以生成特定文体的密钥样本。这样以较小的开销构造隐秘的少量密钥样本,它们独立于原数据分布,可达到利用分布外面向对象设计(object-oriented design,ood)的数据样本的相同效果。
58.在一实施例中,使用同义词替换生成密钥样本的方法,生成的密钥样本,无语义错误、主题无关等缺点,并且十分隐秘。详述如下:
59.计算词向量矩阵中每个词到其他词的第一距离,根据每个词到其他词的第一距离确定每个词的近义词集;对于样本集中的每个词,计算每个词与对应的近义词集中每个词的第二距离以及在每个词点相对目标值的梯度,并确定每个词对应的第二距离与梯度的乘积中,最大乘积对应的近义词为最佳近义词,得到每个词对应的最佳近义词;将样本集中每个词对应的最佳近义词对应的乘积中乘积最大的预设个数的词进行替换,得到样本集对应的密钥样本。
60.本实施例中,通过计算词嵌入向量的距离来确定同义词,但大多常用的词汇表示都依赖于分布假设,即语义相似或概念相同的词汇出现在相似的上下文中。基于分布假设词汇表示有一缺点,即概念相同的一对反义词的词向量相似,例如glove。因此,本实施例对glove词向量进行微调后的counter-fifitting词向量。在该词向量中,概念相关的反义词之间的距离较远。在计算词向量矩阵中每个词到其他词的第一距离时,可以包括:计算词向量矩阵的l2范数,以得到每个词到其他词的第一距离。这里词向量矩阵为样本集中的每个词对应的词向量构成的矩阵,称为词向量矩阵。
61.根据每个词到其他词的第一距离确定每个词的近义词集,可以包括:设置距离阈值,当第一距离小于或等于距离阈值时,确定第一距离对应的两个词为近义词。
62.可选的,根据确定每个词的近义词集;其中,表示词wi的近义词集,表示距离阈值,wj表示词向量矩阵中的其他词,w表示
词向量矩阵,w=[w1,wi...,wj,...wm],||
·
||2表示两个词的l2范数距离。
[0063]
对于样本集x=[w1,w2,...,wn]中的每个词wi,选择与wi的词向量距离,和在wi点对于目标值的梯度乘积最大的近义词w
ij
∈h(wi)作为最佳近义词。
[0064]
可选的,根据得到每个词对应的最佳近义词;其中,表示词wi的最佳近义词替换,w
ij
表示词wi的近义词,表示在x点对于损失值j(
·
)的梯度,j(
·
)表示损失函数,通常为交叉熵损失,θ表示模型权重,y
*
表示词wi的目标类别。对目标类别y
*
求梯度,可以使得密钥样本的预测类别更偏向目标类别。y表示词wi的输出类别,或称为原类别。
[0065]
得到每个词对应的最佳近义词后,进一步确定样本集中将被替换的词wi,即给定替换比例k∈(0,1],将样本集中的每个单词wi与最佳近义词的词向量距离,和wi点梯度乘积中乘积最大的预设个数的词进行替换。
[0066]
例如将根据每个词wi计算得到的所有乘积进行降序排列,选取前预设个数个词进行替换。这里预设个数可以根据|x|*k计算得到,其中|x|表示样本集中词的模。
[0067]
可选的,即根据(3)得到样本集对应的密钥样本。其中,x
*
表示密钥样本。
[0068]
在另一实施例中,同义句替换主要基于文本风格迁移,即根据原句生成含义相同但文风不同的触发句。文本风格迁移是依据学习的平行文本或非平行文本生成指定风格的文本。性能优良的文本风格迁移模型所生成文本通常风格固定、语义不变且自然流畅,因此,基于此方法生成的密钥样本同样具有极强的隐秘性。
[0069]
在样本集中生成密钥样本,可以包括:确定预设文本风格,并在开源数据库中确定与预设文本风格相关的语料,构成语料库;采用语料库中的语料训练预设架构的文本风格转换模型,得到目标文本风格转换模型;从目标模型的训练集中选择样本输入目标文本风格转换模型中,得到密钥样本。
[0070]
基于文本的触发句可将水印功能与文体的潜在特征相关联,而不是通过训练集分布外的固定文本实现,因此,在字面上触发句不会有明显的共性特征。首先,确定预设文本风格,这种文本风格没有明显的特殊特征或用法。然后在开源数据库中确定与预设文本风格相关的语料,构成语料库;采用语料库中的语料训练预设架构的文本风格转换模型,得到目标文本风格转换模型。
[0071]
可选的,根据d
trigger
={g(x,s
trigger
),(x,y)∈subnet(d
train
,n)}(4)得到密钥样本。其中,d
trigger
表示密钥样本,s
trigger
表示预设文本风格,g(
·
)表示目标文本风格转换模型,subnet(d
train
,n)表示采用预设选择方式选择目标模型的训练集中的n个样本。
[0072]
在一实施例中,确定密钥样本后,为了进一步减小后续密钥样本嵌入给目标模型带来的影响,将在隐藏层做进一步处理。
[0073]
根据密钥样本确定触发集,可以包括:将密钥样本输入目标模型的网络层中,得到输出向量;对输出向量进行抽样,得到抽样向量;对抽样向量进行聚类处理,得到簇心数据点;计算输出向量与簇心数据点中每个簇心数据点之间的第三距离,并将第三距离中大于预设阈值中的目标第三距离中最大的n个第三距离对应的密钥样本作为触发集。
[0074]
其中,在对输出向量进行抽样时,可以采用杠杆分数抽样方式,对输出向量o
l
(x
*
)进行抽样,得到抽样向量。
[0075]
进行聚类处理时,可以采用k-means聚类算法。
[0076]
通过上述在隐藏层进行的处理,可以得到模板模型先前没有观察到的输入,它们与自然输入关联较小,并可在一定程度上降低对目标模型的影响。这里自然输入指先前学习到的知识。
[0077]
步骤102,生成噪声样本,将噪声样本与触发集进行合并,得到目标触发集。
[0078]
在获得密钥样本或触发集后,下一步将考虑如何利用密钥样本使目标模型具备水印。该问题可视为两个优化目标:不同类别文本的特征分布距离较大(满足目标模型原任务要求);密钥样本的特征分布靠近于目标类的特征分布。为了实现上述目标,可以修改目标模型的损失函数,例如,可以根据修改目标模型的损失函数;其中,s0,s1是为了区分是否含有水印触发风格而额外添加的标签,λ表示占比权重。
[0079]
同时,也可以如所示,在特征空间中,通过缩小特征距离来实现上述学习目标。其中,fk(x,θ)表示对于输入样本x的目标模型f第k层的输出,bi,bj表示来自d
train
的两个不同类别的小批量样本集合,表示类别为目标类别d
train
中的小批量样本集合,b
trigger
为d
trigger
中的小批量样本集合。
[0080]
然而,本实施例中并不建议使用上述公式(5)、(6),理由如下:首先,对于已经训练好的目标模型重新再进行训练不切实际;其次,对于每个目标模型进行如公式(5)、(6)的操作会极大增加整体方案的时间复杂度。因此,在本实施例中,我们生成噪声样本,将噪声样本与触发集混合,进行水印设置。
[0081]
在实际任务中,一个服务商可能向不同需求的客户提供多个类似但不同的dnn api接口,所有dnn的密钥样本均可用步骤101提供的方法来生成。本方案的目的是对多个类似的dnn模型进行统一保护,多个受保护的目标dnn模型可能有不同层结构,但都具有类似的输出层。
[0082]
由此进行如下设计:第一步,生成噪声样本,并将其与触发集合并,即步骤102。第二步,对于针对多个不同dnn模型的多个触发集,对一个小型标志网络signnet进行两级诱导训练,即步骤103。第三步,基于输出融合,将signnet分发嵌入多个目标dnn模型中,即步骤104。以上设计有着明显的优点:首先,相比目标模型的训练规模,signnet的训练成本仍然是廉价的,密钥样本嵌入与目标模型的训练分离可极大提升水印效率;其次,signnet可增加基于密钥样本触发水印的稳定性。
[0083]
下面首先对生成噪声样本进行详述。
[0084]
在一实施例中,在词向量词典中获取随机长度的索引值,构成多个噪声样本。这里词向量词典为样本中的每个词对应的向量构成的向量集,称为词向量词典。多个噪声样本混入触发集中可以提高signnet的健壮性,在signnet上能将水印密钥样本以较高的概率指向目标类别。但是对于未混合噪声样本的输入,每个候选标签的概率近似相等。
[0085]
将多个噪声样本与触发集进行合并,得到目标触发集,噪声样本的数量大于触发集中密钥样本的数量。
[0086]
根据上述计算目标触发集的方式,可以计算多个dnn模型的触发集。
[0087]
步骤103,采用多个目标触发集对预设标志网络进行训练,得到目标标志网络。
[0088]
这里,预设标识网络即signnet。
[0089]
预设针对多个dnn模型的目标触发集,可能具有不同的目标类别,并且触发集的原数据集的类别数也不同,这不便于signnet进行统一学习。但是在深度学习中,数据不平衡可能会导致模型偏向学习数据较多的类,因此,在得到目标触发集之后,还包括:需要对不同触发集的目标类别和规模进行修正。
[0090]
在一实施例中,在得到目标触发集之后,还包括:确定目标触发集中密钥样本的原类别和目标类别,并将每个密钥样本的原类别和目标类型进行一一映射,得到目标触发集的映射集;确定多个目标模型对应的所有目标触发集中密钥样本数量最多的目标触发集作为第一目标触发集;将密钥样本数量少于第一目标触发集中密钥样本数量的第二目标触发集进行密钥样本生成,使得第二目标触发集中的密钥样本数量与第一目标触发集中的密钥样本数量相同。
[0091]
对于每个触发集中的密钥样本x
*
,它的目标类y
*
来自原数据集类别{y1,y2,...,yn}之一,通常情况下y≠y
*
。原类别到目标类别y
→y*
应是一对一映射,具有相同目标类水印密钥样本的应来自同一触发集。原类别与目标类别的映射问题可视为二分图最大匹配问题,而该问题可在有限时间内解决。在得到映射集合后,对于不同触发集中的不同的映射进行处理,使每个触发集的规模相同,即将每个触发集中的密钥样本数量相同。这里我们是将所有触发集中密钥样本数量最大的作为目标,将其他触发集中的密钥样本数量增加。这里增加的密钥样本数量的生成方式与步骤101中生成密钥样本的方式相同。
[0092]
需要注意的是,噪声样本的标签是随机分配的,其最大标签下标为所有目标任务数据集中的最大标签下标,并且噪声样本的规模设定为水印密钥样本规模的20倍。
[0093]
在对目标触发集进行处理后,采用处理后的多个目标触发集训练预设标志网络,由于触发集的规模较小,所以预设标志网络仅使用一个lstm层,就可实现对密钥样本的拟合和对噪声样本的泛化,在本实施例中采用的上述训练方式,称为两级诱导训练。
[0094]
步骤104,将目标标志网络嵌入目标模型中,得到水印处理后的目标模型。
[0095]
在本步骤中,可以包括:将样本集中任一样本分别输入到目标标志网络和目标模型中,得到目标标志网络的第一输出向量和目标模型的第二输出向量;根据第二输出向量对第一输出向量进行裁剪,使第一输出向量的输出维度大于或等于第二输出向量的输出维度;将裁剪后的第一输出向量和第二输出向量进行融合,得到水印处理后的目标模型。
[0096]
将裁剪后的第一输出向量和第二输出向量进行融合,得到水印处理后的目标模型,包括:
[0097]
根据得到水印处理后的目标模型;
[0098]
其中,表示水印处理后的目标模型的概率输出,x表示样本集中任一样本,f(
·
)表示所述目标模型输出的第二输出向量,θ表示所述目标模型的权重,softmax(
·
)表示概
率映射函数,k表示替换比例,λ表示占比权重,f
*
(
·
)表示所述目标标志网络输出的裁剪后的第一输出向量,θ
*
表示所述目标标志网络的权重。
[0099]
需要说明的是,f(θ,x)和f
*
(θ
*
,x)中可能包含负值,因此需要将他们映射到区间(0,1)内的概率值。
[0100]
对于λ,因为触发集是针对目标模型而生成,并且目标模型也会将密钥样本指向目标类,所以为了减小嵌入对目标模型造成的置信度下降,可以在保证触发集识别精度的情况下,适当减小。
[0101]
采用将目标标志网络嵌入目标模型的方式,可以快速水印任何目标模型。
[0102]
在对水印进行验证时,一个模型所有者o,他可以拥有属于多个服务{p0,p1,...,pn}的多个dnn模型{f0,f1,...,fn},以及一个可疑者s,他从模型fi′
,i∈[0,n]中建立了一个类似的服务pi′
,i∈[0,n],而两个服务具有相似的性能fi′
≈fi。在现实情况中,s可能通过多种方式获取模型fi′
,i∈[0,n],例如,可能是所有者o被内部攻击导致模型泄露,或者模型被恶意窃取并在暗网市场上出售,或者被用户二次售卖。s如何得到模型fi′
,i∈[0,n]不在本实施例的研究范围内。我们将帮助所有者o保护模型fi,i∈[0,n]的服务pi,i∈[0,n]。
[0103]
我们可以计算可疑模型fi′
,i∈[0,n]在触发集d
trigger
上的误码率acc
err
,当误码率小于阈值ε时,则可验证所有权,则说明可疑模型fi′
,i∈[0,n]为所有者o的模型,即根据对可疑模型进行验证,成立时,则验证所有权,不成立时,则为盗版。
[0104]
还可以根据确定d
trigger
的精度acc
1-err
,当精度acc
1-err
大于1-ε时,则可验证所有权。
[0105]
可选的,若则返回1,否则返回0。
[0106]
下面我们对上述深度神经网络黑盒水印方法进行效果验证。将本方案与idf、tadw、deephider等现有技术在imdb、sst2、ag’s news、dbpedia、spamham、yahoo!answers等数据集上和textrnn、textcnn、textattention等模型架构上的隐秘性评估acc
err
对比实现结果如表一所示。
[0107][0108]
本方案具有以下优点:
[0109]
密钥样本流畅度较好。盗版者可能使用kenlm、bpc等技术对输入词进行检查拦截。kenlm通过统计和平滑训练语言模型,并对句子进行打分,来实现文本流畅度的检测,kenlm得分越大句子越流畅。bpc原用来评价语言模型的性能,句子的概率越大,bpc值越小,模型越好。相应地,对于性能较好gpt-2预训练模型,句子的bpc值越小,则句子越流畅。tadw、deephider、eebw-fgsm2t的密钥样本会根据模型的不同而不同,因此取三种模型架构对应密钥样本的kenlm得分平均值,而对于非针对模型的idf、eebw-lft直接计算kenlm得分。如表1所示,首先,tadw水印方案所生成的密钥样本的流畅度最好,本方案—近义词替换和本方案—同义句替换次之;其次,idf水印方案的密钥样本流畅度最差。这表明采用与上下文无关的词插入原文本以生成密钥样本的方式隐秘性较差。
[0110]
水印时间开销低,水印效率高。如图2-1所示的不同数据集规模对应的目标模型的训练时间示意图,从左到右数据集规模持续增加,对应目标模型的训练时间成本也将增大。dnn水印的时间开销主要在于水印嵌入,本方案的水印嵌入开销来自于signet对在六个数据集上生成的密钥样本和随机噪声样本的总学习时间,所以本方案—近义词替换和本方案—同义句替换的六个数据集的总水印开销分别为0.4431s、0.3101s。与本方案不同,idf、tadw、deephider等水印方案是在每个数据集上分别进行实验,各个水印任务是割裂的。图2-2为idf水印方案在不同数据集上的平均时间开销对比,图2-3为tadw水印方案在不同数据集上的平均时间开销对比,图2-4为deephider水印方案在不同数据集上的平均时间开销对比,分别展示了其他。实验结果表明,首先,idf、tadw、deephider等水印方案的水印时间开销与数据集规模成正比,这将导致该三种水印方案不适合多模型水印任务,水印时间会随着水印任务的复杂程度急剧增加;其次,相比于textrnn、textattention模型架构,textcnn时间开销更大,因为textcnn计算更为复杂;最后,相比于idf、tadw、deephider等水印方案,本方案水印方案时间开销非常小,这将有利于完成多模型水印任务。
[0111]
本发明实施例通过在样本集中生成密钥样本,并根据密钥样本确定触发集;生成噪声样本,将噪声样本与触发集进行合并,得到目标触发集;采用多个目标触发集对预设标
志网络进行训练,得到目标标志网络;将目标标志网络嵌入目标模型中,得到水印处理后的目标模型。本发明实施例基于近义词替换的快速梯度符号算法和基于近义句替换的文体迁移算法,使得生成的样本流畅度较好,从而增强了水印隐秘性;另外,在密钥样本嵌入阶段,通过基于预设标志网络的输出融合嵌入目标模型的方式,不直接使用密钥样本对目标模型训练,使得训练分离,即不在目标模型中直接对水印进行训练,从而降低了时间开销,快速完成水印。
[0112]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0113]
以下为本发明的装置实施例,对于其中未详尽描述的细节,可以参考上述对应的方法实施例。
[0114]
图3示出了本发明实施例提供的一种深度神经网络黑盒水印装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
[0115]
如图3所示,一种深度神经网络黑盒水印装置3包括:密钥样本生成模块31、密钥样本嵌入模块32、标识网络训练模块33和水印嵌入模块34;
[0116]
密钥样本生成模块31,用于在样本集中生成密钥样本,并根据密钥样本确定触发集;
[0117]
密钥样本嵌入模块32,用于生成噪声样本,将噪声样本与触发集进行合并,得到目标触发集;
[0118]
标识网络训练模块33,用于采用多个目标触发集对预设标志网络进行训练,得到目标标志网络;
[0119]
水印嵌入模块34,用于将目标标志网络嵌入目标模型中,得到水印处理后的目标模型。
[0120]
在一种可能的实现方式中,密钥样本生成模块31在样本集中生成密钥样本时,用于:
[0121]
计算词向量矩阵中每个词到其他词的第一距离,根据每个词到其他词的第一距离确定每个词的近义词集;
[0122]
对于样本集中的每个词,计算每个词与对应的近义词集中每个词的第二距离以及在每个词点相对目标值的梯度,并确定每个词对应的第二距离与梯度的乘积中,最大乘积对应的近义词为最佳近义词,得到每个词对应的最佳近义词;
[0123]
将样本集中每个词对应的最佳近义词对应的乘积中乘积最大的预设个数的词进行替换,得到样本集对应的密钥样本。
[0124]
在一种可能的实现方式中,密钥样本生成模块31在样本集中生成密钥样本时,用于:
[0125]
确定预设文本风格,并在开源数据库中确定与预设文本风格相关的语料,构成语料库;
[0126]
采用语料库中的语料训练预设架构的文本风格转换模型,得到目标文本风格转换模型;
[0127]
从目标模型的训练集中选择样本输入目标文本风格转换模型中,得到密钥样本。
[0128]
在一种可能的实现方式中,密钥样本生成模块31根据密钥样本确定触发集时,用于:
[0129]
将密钥样本输入目标模型的网络层中,得到输出向量;
[0130]
对输出向量进行抽样,得到抽样向量;
[0131]
对抽样向量进行聚类处理,得到簇心数据点;
[0132]
计算输出向量与簇心数据点中每个簇心数据点之间的第三距离,并将第三距离中大于预设阈值中的目标第三距离中最大的n个第三距离对应的密钥样本作为触发集,n表示大于等于1的正整数。
[0133]
在一种可能的实现方式中,密钥样本嵌入模块32生成噪声样本,将噪声样本与触发集进行合并,得到目标触发集时,用于:
[0134]
在词向量词典中获取随机长度的索引值,构成多个噪声样本;
[0135]
将多个噪声样本与触发集进行合并,得到目标触发集,噪声样本的数量大于触发集中密钥样本的数量。
[0136]
在一种可能的实现方式中,密钥样本嵌入模块32在得到目标触发集之后,还用于:
[0137]
确定目标触发集中密钥样本的原类别和目标类别,并将每个密钥样本的原类别和目标类型进行一一映射,得到目标触发集的映射集;
[0138]
确定多个目标模型对应的所有目标触发集中密钥样本数量最多的目标触发集作为第一目标触发集;
[0139]
将密钥样本数量少于第一目标触发集中密钥样本数量的第二目标触发集进行密钥样本生成,使得第二目标触发集中的密钥样本数量与第一目标触发集中的密钥样本数量相同。
[0140]
在一种可能的实现方式中,水印嵌入模块34将目标标志网络嵌入目标模型中,得到水印处理后的目标模型时,用于:
[0141]
将样本集中任一样本分别输入到目标标志网络和目标模型中,得到目标标志网络的第一输出向量和目标模型的第二输出向量;
[0142]
根据第二输出向量对第一输出向量进行裁剪,使第一输出向量的输出维度大于或等于第二输出向量的输出维度;
[0143]
将裁剪后的第一输出向量和第二输出向量进行融合,得到水印处理后的目标模型。
[0144]
在一种可能的实现方式中,水印嵌入模块34将裁剪后的第一输出向量和第二输出向量进行融合,得到水印处理后的目标模型时,用于:
[0145]
根据得到水印处理后的目标模型;
[0146]
其中,表示水印处理后的目标模型的概率输出,x表示样本集中任一样本,f(
·
)表示所述目标模型输出的第二输出向量,θ表示所述目标模型的权重,softmax(
·
)表示概率映射函数,k表示替换比例,λ表示占比权重,f
*
(
·
)表示所述目标标志网络输出的裁剪后的第一输出向量,θ
*
表示所述目标标志网络的权重。
[0147]
上述深度神经网络黑盒水印装置,密钥样本生成模块在样本集中生成密钥样本,
并根据密钥样本确定触发集,密钥样本嵌入模块生成噪声样本,将噪声样本与触发集进行合并,得到目标触发集;标识网络训练模块采用多个目标触发集对预设标志网络进行训练,得到目标标志网络;水印嵌入模块将目标标志网络嵌入目标模型中,得到水印处理后的目标模型。本发明实施例基于近义词替换的快速梯度符号算法和基于近义句替换的文体迁移算法,使得生成的样本流畅度较好,从而增强了水印隐秘性;另外,在密钥样本嵌入阶段,通过基于预设标志网络的输出融合嵌入目标模型的方式,不直接使用密钥样本对目标模型训练,使得训练分离,即不在目标模型中直接对水印进行训练,从而降低了时间开销,快速完成水印。
[0148]
图4是本发明实施例提供的终端的示意图。如图4所示,该实施例的终端4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42。所述处理器40执行所述计算机程序42时实现上述各个深度神经网络黑盒水印方法实施例中的步骤,例如图1所示的步骤101至步骤104。或者,所述处理器40执行所述计算机程序42时实现上述各装置实施例中各模块/单元的功能,例如图3所示模块/单元31至34的功能。
[0149]
示例性的,所述计算机程序42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序42在所述终端4中的执行过程。例如,所述计算机程序42可以被分割成图3所示的模块/单元31至34。
[0150]
所述终端4可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是终端4的示例,并不构成对终端4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端还可以包括输入输出设备、网络接入设备、总线等。
[0151]
所称处理器40可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0152]
所述存储器41可以是所述终端4的内部存储单元,例如终端4的硬盘或内存。所述存储器41也可以是所述终端4的外部存储设备,例如所述终端4上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器41还可以既包括所述终端4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
[0153]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的
单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0154]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0155]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0156]
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0157]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0158]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0159]
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个深度神经网络黑盒水印方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。
[0160]
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
技术特征:
1.一种深度神经网络黑盒水印方法,其特征在于,包括:在样本集中生成密钥样本,并根据所述密钥样本确定触发集;生成噪声样本,将所述噪声样本与所述触发集进行合并,得到目标触发集;采用多个目标触发集对预设标志网络进行训练,得到目标标志网络;将所述目标标志网络嵌入目标模型中,得到水印处理后的目标模型。2.根据权利要求1所述的深度神经网络黑盒水印方法,其特征在于,在样本集中生成密钥样本,包括:计算词向量矩阵中每个词到其他词的第一距离,根据每个词到其他词的第一距离确定每个词的近义词集;对于样本集中的每个词,计算每个词与对应的近义词集中每个词的第二距离以及在每个词点相对目标值的梯度,并确定每个词对应的第二距离与梯度的乘积中,最大乘积对应的近义词为最佳近义词,得到每个词对应的最佳近义词;将所述样本集中每个词对应的最佳近义词对应的乘积中乘积最大的预设个数的词进行替换,得到所述样本集对应的密钥样本。3.根据权利要求1所述的深度神经网络黑盒水印方法,其特征在于,在样本集中生成密钥样本,包括:确定预设文本风格,并在开源数据库中确定与所述预设文本风格相关的语料,构成语料库;采用所述语料库中的语料训练预设架构的文本风格转换模型,得到目标文本风格转换模型;从目标模型的训练集中选择样本输入所述目标文本风格转换模型中,得到密钥样本。4.根据权利要求1-3中任一项所述的深度神经网络黑盒水印方法,其特征在于,根据所述密钥样本确定触发集,包括:将所述密钥样本输入所述目标模型的网络层中,得到输出向量;对所述输出向量进行抽样,得到抽样向量;对所述抽样向量进行聚类处理,得到簇心数据点;计算所述输出向量与所述簇心数据点中每个簇心数据点之间的第三距离,并将所述第三距离中大于预设阈值中的目标第三距离中最大的n个第三距离对应的密钥样本作为触发集,n表示大于等于1的正整数。5.根据权利要求1所述的深度神经网络黑盒水印方法,其特征在于,所述生成噪声样本,将所述噪声样本与所述触发集进行合并,得到目标触发集,包括在词向量词典中获取随机长度的索引值,构成多个噪声样本;将所述多个噪声样本与所述触发集进行合并,得到目标触发集,其中噪声样本的数量大于所述触发集中密钥样本的数量。6.根据权利要求5所述的深度神经网络黑盒水印方法,其特征在于,在得到目标触发集之后,还包括:确定所述目标触发集中密钥样本的原类别和目标类别,并将每个密钥样本的原类别和目标类型进行一一映射,得到所述目标触发集的映射集;确定多个目标模型对应的所有目标触发集中密钥样本数量最多的目标触发集作为第
一目标触发集;将密钥样本数量少于所述第一目标触发集中密钥样本数量的第二目标触发集进行密钥样本生成,使得所述第二目标触发集中的密钥样本数量与所述第一目标触发集中的密钥样本数量相同。7.根据权利要求6所述的深度神经网络黑盒水印方法,其特征在于,将所述目标标志网络嵌入目标模型中,得到水印处理后的目标模型,包括:将所述样本集中任一样本分别输入到所述目标标志网络和所述目标模型中,得到所述目标标志网络的第一输出向量和所述目标模型的第二输出向量;根据所述第二输出向量对所述第一输出向量进行裁剪,使所述第一输出向量的输出维度大于或等于所述第二输出向量的输出维度;将裁剪后的第一输出向量和所述第二输出向量进行融合,得到水印处理后的目标模型。8.根据权利要求7所述的深度神经网络黑盒水印方法,其特征在于,所述将裁剪后的第一输出向量和所述第二输出向量进行融合,得到水印处理后的目标模型,包括:根据得到水印处理后的目标模型;其中,表示水印处理后的目标模型的概率输出,x表示所述样本集中任一样本,f(
·
)表示所述目标模型输出的第二输出向量,θ表示所述目标模型的权重,softmax(
·
)表示概率映射函数,k表示替换比例,λ表示占比权重,f
*
(
·
)表示所述目标标志网络输出的裁剪后的第一输出向量,θ
*
表示所述目标标志网络的权重。9.一种深度神经网络黑盒水印装置,其特征在于,包括:密钥样本生成模块,用于在样本集中生成密钥样本,并根据所述密钥样本确定触发集;密钥样本嵌入模块,用于生成噪声样本,将所述噪声样本与所述触发集进行合并,得到目标触发集;标识网络训练模块,用于采用多个目标触发集对预设标志网络进行训练,得到目标标志网络;水印嵌入模块,用于将所述目标标志网络嵌入目标模型中,得到水印处理后的目标模型。10.一种终端,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上的权利要求1至8中任一项所述的深度神经网络黑盒水印方法的步骤。
技术总结
本发明提供一种深度神经网络黑盒水印方法、装置及终端。该方法包括:在样本集中生成密钥样本,并根据密钥样本确定触发集;生成噪声样本,将噪声样本与触发集进行合并,得到目标触发集;采用多个目标触发集对预设标志网络进行训练,得到目标标志网络;将目标标志网络嵌入目标模型中,得到水印处理后的目标模型。本发明能够在将密钥样本嵌入目标模型中时,设计了标志网络,采用多个目标触发集对预设标志网络进行训练,得到目标标志网络,将目标标志网络嵌入多个目标模型中,不直接使用密钥样本对目标模型训练,使得训练分离,降低了时间开销。降低了时间开销。降低了时间开销。
技术研发人员:张光华 刘伟发 刘亦纯 李曼 贾刘影 王向红
受保护的技术使用者:河北科技大学
技术研发日:2023.05.19
技术公布日:2023/8/21
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:元数据处理方法和装置与流程 下一篇:一种自动的PCB测试装置的制作方法