一种基于生成式网络的跨模态数据哈希检索攻击方法

文档序号:31603423发布日期:2022-09-21 09:41阅读:83来源:国知局
一种基于生成式网络的跨模态数据哈希检索攻击方法

1.本发明属于对抗攻击技术领域,具体涉及一种基于生成式网络的跨模态数据哈希检索攻击方法。


背景技术:

2.深度神经网络在跨模态哈希检索上的应用极大的提高了跨模态数据在特征空间的表征能力,然而近几年神经网络易受到恶意制造的对抗性扰动的攻击。
3.现有的对抗性攻击方法可以分为迭代式对抗攻击和生成式对抗攻击两大类。与迭代式对抗攻击相比,生成式对抗攻击通过精心构造一个生成式对抗网络,向良好训练的生成式对抗网络输入良性样本可以快速获得与良性样本在视觉上无法区分的对抗性样本。
4.目前针对跨模态数据的哈希检索的对抗性攻击方案仅有基于迭代式的无目标攻击方法,该方法的原理是将破坏跨模态的模态间和模态内相似性正则化过程同时集成到对抗样本的构造中,以此提高对抗攻击的准确性。然而,基于迭代式的无目标攻击方案在实际应用中需要消耗大量算力,不适用于真实情况。


技术实现要素:

5.本发明的目的在于提供一种基于生成式网络的跨模态数据哈希检索攻击方法,能够节省算力并且准确性高。
6.本发明提供的这种基于生成式网络的跨模态数据哈希检索攻击方法,包括如下步骤:s1. 通过预设的网络结构构造对抗生成网络中的对抗性生成器,并初始化参数,利用目标网络的结构和参数初始化对抗解码器;s2. 将请求跨模态数据输入至对抗生成器中,生成重构跨模态数据,获得重构损失函数;s3. 将重构跨模态数据输入至对抗解码器中,获得重构跨模态数据的特征向量,对重构跨模态数据的特征向量进行二值化,获得重构跨模态数据的哈希码并获得量化损失函数;s4. 通过点乘获取每一个检索数据库哈希码和请求跨模态数据哈希码的汉明距离,选取汉明距离最小的跨模态数据哈希码和汉明距离最大的跨模态数据哈希码;s5. 将重构跨模态数据哈希码、汉明距离最小的跨模态数据哈希码和汉明距离最大的跨模态数据哈希码构造训练三元组,并构造对抗性三元组损失函数;获取请求跨模态数据哈希码,将请求跨模态数据哈希码与汉明距离最小的跨模态数据哈希码和汉明距离最大的跨模态数据哈希码构造相对三元组,并构造基于相对的对抗性三元组损失函数;s6. 构建对抗生成网络的训练函数,通过adam优化器对生成器的网络参数进行优化,同时固定对抗解码器的网络参数;s7. 对给定的请求跨模态数据集合,通过训练好的对抗生成器获得对抗性跨模态
数据集合。
7.所述的步骤s1,包括,定义目标网络与目标网络的参数,其中,δ为参数表示;*为图像或文本检索网络表示,具体的,,代表目标图像检索网络,代表目标文本检索网络;利用目标网络与目标网络的参数,初始化对抗性解码器与对抗性解码器的参数,构造对抗性生成器并初始化对抗性生成器的参数;当上传图像用于搜索相关文本时,设请求跨模态数据为请求图像数据,r表示实数域;q表示请求数据标志;i表示图像;g表示请求图像的宽度;b表示请求图像的高度;o表示请求图像的通道数;当上传文本用于搜索相关图像时,设请求跨模态数据为请求文本数据,t表示文本;l表示查询文本的特征向量维度。
8.所述的步骤s2,包括,将请求跨模态数据输入至对抗性生成器,获得重构跨模态数据,,其中,*为图像或文本检索网络表示;当请求跨模态数据为图像数据时,对抗型生成器为对抗性图像生成器,当请求跨模态数据为文本数据时,对抗型生成器为对抗性文本生成器;已知请求跨模态数据与重构跨模态数据,获得重构损失函数,其中,表示l2范数。
9.所述的步骤s3,包括如下步骤:a1. 将重构跨模态数据输入至对抗性解码器,获得重构跨模态数据特征向量,,其中,*为图像或文本检索网络表示;,r表示实数域;n表示重构跨模态数据特征的长度;当重构跨模态数据为图像数据时,对抗性解码器为图像对抗性解码器;当重构跨模态数据为文本数据时,对抗性解码器为文本对抗性解码器;a2. 利用sign函数将重构跨模态数据特征向量进行二值化,获得重构跨模态数据二元哈希码:其中,sign函数具体为;,k表示二元哈希码序
列的长度,为长度为k的二元哈希码序列;a3. 基于重构跨模态数据二元哈希码和重构跨模态数据特征向量,获得量化损失函数,其中,表示l2范数。
10.所述的步骤s4,包括,计算重构跨模态数据二元哈希码和数据库中所有的跨模态数据哈希码集之间的汉明距离函数ham:其中,*为图像或文本检索网络表示;表示点积运算函数,e为检索数据库的跨模态哈希码总数;i表示检索数据库的跨模态哈希码的计数变量;表示数据库中所有的跨模态数据哈希码集合;当重构跨模态数据二元哈希码为重构图像数据哈希码时,跨模态数据哈希码集为文本数据哈希码集;当重构跨模态数据二元哈希码为重构文本数据哈希码时,跨模态数据哈希码集为图像数据哈希码集;将重构跨模态数据二元哈希码汉明距离最小的若干个跨模态数据哈希码称为积极跨模态数据哈希码,将与重构跨模态数据二元哈希码汉明距离最大的若干个跨模态数据哈希码为消极跨模态数据哈希码。
11.所述的步骤s5,包括如下步骤:b1. 将重构跨模态数据二元哈希码,积极跨模态数据哈希码和消极跨模态数据哈希码构造三元组,*为图像或文本检索网络表示;b2. 基于步骤b1构造的三元组q,获得对抗性三元组函数,其中,表示汉明距离函数;m表示跨模态数据哈希码的数量,m表示跨模态数据哈希码的计数变量;表示第s个消极跨模态数据哈希码;表示第k个积极跨模态数据哈希码;跨模态数据哈希码包括消极跨模态数据哈希码和积极跨模态数据哈希码;b3. 将请求跨模态数据输入至对抗解码器中获得请求跨模态数据特征向量,接着经过sign函数获得请求跨模态数据哈希码,获得基于相对的对抗性三元组函数,。
12.所述的步骤s6,包括,构造训练损失函数lx,其中,表示对抗性生成器的参数;表示使模型最小化的对抗性生成器的参数;表示第一平衡常数;j1为重构损失函数;表示第二平衡常数;j2表示量化损失函数;表示第三平衡常数;j3表示对抗性三元组函数;j4表示基于相对的对抗性三元组函数;通过adam优化方法对构造训练损失函数进行优化,求出最佳的对抗生成器参数,使得达到如下目标:目标一包括,使重构跨模态数据和请求跨模态数据之间在视觉上不可区分;目标二包括,使重构跨模态数据特征向量和重构跨模态数据二元哈希码之间的差异最小化;目标三包括,最小化重构跨模态数据二元哈希码和消极跨模态数据哈希码之间的汉明距离,最大化重构跨模态数据二元哈希码和积极跨模态数据哈希码之间的汉明距离;目标四包括,最小化请求跨模态数据哈希码和消极跨模态数据哈希码之间的汉明距离,最大化请求跨模态数据哈希码和积极跨模态数据哈希码之间的汉明距离。
13.所述的步骤s7,包括,已知一个训练好的对抗性生成器和对抗性生成器的参数,输入请求跨模态数据集合,表示请求跨模态数据,获得对抗性跨模态数据集和,,*为图像或文本检索网络表示;;z表示请求跨模态数据集合的计数变量,z表示请求跨模态数据集合的总数。
14.本发明提供的这种基于生成式网络的跨模态数据哈希检索攻击方法,利用重构跨模态数据与请求跨模态数据构造重构函数,然后基于重构跨模态数据的特征向量与sign函数构造量化函数。通过对比重构跨模态数据的哈希码与跨模态检索数据库中哈希码之间的汉明距离,获得积极跨模态数据和消极跨模态数据用于构造对抗性三元组函数,并通过请求跨模态数据哈希码构造基于相对的对抗性三元组函数。最后通过构造训练函数并通过adam优化器获得对抗性生成器的最佳参数,接着获得可快速生成对抗性样本的对抗性生成器,降低了传统的基于迭代式攻击获取对抗性样本时会消耗大量算力的缺点。
附图说明
15.图1为本发明方法的流程示意图。
16.图2为本发明实施例的图像的可视化示例示意图;其中图2a为本发明实施例的对抗性生成器方法的原图,图2b为本发明实施例的对抗性生成器的方法生成的对抗性图片,图2c为本发明实施例的对抗性生成器的方法生成的对抗性扰动示意图,图2d为本发明实施例的迭代方法的原图,图2e为本发明实施例的迭代方法生成的对抗性图片,图2f为本发明实施例的迭代方法生成的对抗性扰动示意图。
17.图3为本发明实施例的文本向量的可视化示例示意图;其中图3a为本发明实施例的对抗性生成器的方法的请求文本向量示意图,图3b为本发明实施例的对抗性生成器的方法的对抗性文本向量示意图,图3c为本发明实施例的迭代的方法的请求文本向量示意图,图3d为本发明实施例的迭代的方法的对抗性文本向量示意图。
具体实施方式
18.如图1为本发明方法的流程示意图:本发明提供的这种基于生成式网络的跨模态数据哈希检索攻击方法,包括如下步骤:s1. 通过预设的网络结构构造对抗生成网络中的对抗性生成器,并初始化参数,利用目标网络的结构和参数初始化对抗解码器;s2. 将请求跨模态数据输入至对抗生成器中,生成重构跨模态数据,通过重构跨模态数据与请求跨模态数据获得重构损失函数;s3. 将重构跨模态数据输入至对抗解码器中,获得重构跨模态数据的特征向量,接着将重构跨模态数据的特征向量通过sign函数进行二值化,获得重构跨模态数据的哈希码并获得量化损失函数;s4. 将重构跨模态数据哈希码与检索数据库中所有哈希码进行点乘,获取每一个检索数据库哈希码和请求跨模态数据哈希码的汉明距离,接着选取汉明距离最小的跨模态数据哈希码和汉明距离最大的跨模态数据哈希码;s5. 将重构跨模态数据哈希码、汉明距离最小的跨模态数据哈希码和汉明距离最大的跨模态数据哈希码构造训练三元组,并构造对抗性三元组损失函数。获取请求跨模态数据哈希码,将请求跨模态数据哈希码与汉明距离最小的跨模态数据哈希码和汉明距离最大的跨模态数据哈希码构造相对三元组,并构造基于相对的对抗性三元组损失函数;s6. 将量化损失函数、重构损失函数、三元组损失函数和基于相对的对抗性三元组损失函数作为对抗生成网络的训练函数,通过adam优化器对生成器的网络参数进行优化,同时固定对抗解码器的网络参数;s7. 已知一个给定的请求跨模态数据集合,通过训练好的对抗生成器可快速获得对抗性跨模态数据集合。
19.生成式网络是一种区别于传统生成式对抗网络的技术,通过训练生成式网络可获得关于目标网络的知识,这种过程也可以被解释为知识蒸馏。通过一个训练好的生成式网络可以用来快速生成针对目标网络的对抗性样本。
20.所述的步骤s1,包括,定义目标网络与目标网络的参数,其中,δ为参数表示;*为图像或文本检索网络表示,具体的,,代表目标图像检索网络,
代表目标文本检索网络;利用目标网络与目标网络的参数,初始化对抗性解码器与对抗性解码器的参数,构造对抗性生成器并初始化对抗性生成器的参数;当上传图像用于搜索相关文本时,设请求跨模态数据为请求图像数据,r表示实数域;q表示请求数据标志;i表示图像;g表示请求图像的宽度;b表示请求图像的高度;o表示请求图像的通道数;当上传文本用于搜索相关图像时,设请求跨模态数据为请求文本数据,t表示文本;l表示查询文本的特征向量维度。
21.所述的步骤s2,包括,将请求跨模态数据输入至对抗性生成器,获得重构跨模态数据,,其中,*为图像或文本检索网络表示;当请求跨模态数据为图像数据时,对抗型生成器为对抗性图像生成器,当请求跨模态数据为文本数据时,对抗型生成器为对抗性文本生成器,同时重构跨模态数据和请求跨模态数据的数据格式是一致的。已知请求跨模态数据与重构跨模态数据,获得重构损失函数,其中,表示l2范数。
22.所述的步骤s3,包括如下步骤:a1. 将重构跨模态数据输入至对抗性解码器,获得重构跨模态数据特征向量,,其中,*为图像或文本检索网络表示;,r表示实数域;q表示请求数据标志;n表示重构跨模态数据特征的长度,为长度为n的连续型向量。当重构跨模态数据为图像数据时,对抗性解码器为图像对抗性解码器;当重构跨模态数据为文本数据时,对抗性解码器为文本对抗性解码器;a2. 利用sign函数将重构跨模态数据特征向量进行二值化,获得重构跨模态数据二元哈希码:其中,sign函数具体为;,k表示二元哈希码序列的长度,为长度为k的二元哈希码序列;
a3. 基于重构跨模态数据二元哈希码和重构跨模态数据特征向量,获得量化损失函数,其中,表示l2范数。
23.所述的步骤s4,包括,计算重构跨模态数据二元哈希码和数据库中所有的跨模态数据哈希码集之间的汉明距离函数ham:其中,*为图像或文本检索网络表示;表示点积运算函数,e为检索数据库的跨模态哈希码总数;i表示检索数据库的跨模态哈希码的计数变量;表示数据库中所有的跨模态数据哈希码集合;当重构跨模态数据二元哈希码为重构图像数据哈希码时,跨模态数据哈希码集为文本数据哈希码集;当重构跨模态数据二元哈希码为重构文本数据哈希码时,跨模态数据哈希码集为图像数据哈希码集;将重构跨模态数据二元哈希码汉明距离最小的若干个跨模态数据哈希码称为积极跨模态数据哈希码,将与重构跨模态数据二元哈希码汉明距离最大的若干个跨模态数据哈希码为消极跨模态数据哈希码。
24.所述的步骤s5,包括如下步骤:b1. 将重构跨模态数据二元哈希码,积极跨模态数据哈希码和消极跨模态数据哈希码构造三元组,*为图像或文本检索网络表示;b2. 基于步骤b1构造的三元组q,获得对抗性三元组函数,其中,表示汉明距离函数;m表示跨模态数据哈希码的数量,m表示跨模态数据哈希码的计数变量;表示第s个消极跨模态数据哈希码;表示第k个积极跨模态数据哈希码;跨模态数据哈希码包括消极跨模态数据哈希码和积极跨模态数据哈希码;b3. 将请求跨模态数据输入至对抗解码器中获得请求跨模态数据特征向量,接着经过sign函数获得请求跨模态数据哈希码,获得基于相对的对抗性三元组函数,。
25.所述的步骤s6,包括,构造训练损失函数lx,
其中,表示对抗性生成器的参数;表示使模型最小化的对抗性生成器的参数;表示第一平衡常数;j1为重构损失函数;表示第二平衡常数;j2表示量化损失函数;表示第三平衡常数;j3表示对抗性三元组函数;j4表示基于相对的对抗性三元组函数;通过adam优化方法对构造训练损失函数进行优化,求出最佳的对抗生成器参数,使得达到如下目标:目标一包括,使重构跨模态数据和请求跨模态数据之间在视觉上不可区分;目标二包括,使重构跨模态数据特征向量和重构跨模态数据二元哈希码之间的差异最小化;目标三包括,最小化重构跨模态数据二元哈希码和消极跨模态数据哈希码之间的汉明距离,最大化重构跨模态数据二元哈希码和积极跨模态数据哈希码之间的汉明距离;目标四包括,最小化请求跨模态数据哈希码和消极跨模态数据哈希码之间的汉明距离,最大化请求跨模态数据哈希码和积极跨模态数据哈希码之间的汉明距离。
26.所述的步骤s7,包括,已知一个训练好的对抗性生成器和对抗性生成器的参数,输入请求跨模态数据集合,表示请求跨模态数据,获得对抗性跨模态数据集和,,*为图像或文本检索网络表示;;z表示请求跨模态数据集合的计数变量,z表示请求跨模态数据集合的总数。
27.本发明的上述实施例所述的基于生成式网络的跨模态数据攻击方案,首先利用重构跨模态数据与请求跨模态数据构造重构函数,然后基于重构跨模态数据的特征向量与sign函数构造量化函数。通过对比重构跨模态数据的哈希码与跨模态检索数据库中哈希码之间的汉明距离,获得积极跨模态数据和消极跨模态数据用于构造对抗性三元组函数,并通过请求跨模态数据哈希码构造基于相对的对抗性三元组函数。最后通过构造训练函数并通过adam优化器获得对抗性生成器的最佳参数,接着获得可快速生成对抗性样本的对抗性生成器,降低了传统的基于迭代式攻击获取对抗性样本时会消耗大量算力的缺点。
28.本发明的上述实施例所述的基于生成式网络的跨模态数据攻击方案,对得到的重构跨模态数据进行验证:1、获取测试跨模态数据集并将测试跨模态数据集输入目标网络生成测试跨模态数据集的哈希码数据库;2、将重构跨模态数据输入目标网络生成重
构跨模态数据二元哈希码;3、将重构跨模态数据二元哈希码分别与测试跨模态数据集中的每一个哈希码点乘,构建重构跨模态数据二元哈希码与每一个测试跨模态数据集哈希码之间的汉明距离函数,获得重构跨模态数据二元哈希码与每一个测试跨模态数据哈希码之间的汉明距离;4、将重构跨模态数据二元哈希码与每一个测试跨模态数据哈希码之间的汉明距离进行从小到大排序,得到检索结果。若在检索结果中,与重构跨模态数据内容不相关的测试跨模态数据的哈希码的汉明距离排序越靠前,代表内容不相关的测试跨模态数据的哈希码与重构跨模态数据二元哈希码之间汉明距离越小,也就是重构跨模态数据的攻击效果越好;5、定义mean average precision(map)用来测量排序以后的检索结果:其中,r表示测试跨模态数据集中的数据数量;k表示在检索排序结果所有与请求跨模态对抗性样本内容相关的测试跨模态数据集,第r个检索排序测试跨模态数据所对应的位置;p(k)表示精确度,p(k)=k/r,r表示第r个检索排序结果;当第r个排名对应的测试跨模态哈希码与请求跨模态对抗性样本内容相关时,rel(k)为1 ,反之,rel(k)为0。
29.本发明的上述实施例所述的基于生成式网络的跨模态数据攻击方法,在公开数据集mirflicker-25k的测试集中随机挑选了1000个样本,将剩余的1100个样本用于训练,并在公开数据集nus-wide的测试集中随机挑选了1000个样本用于对抗训练,剩余的1000例子用于测试。上述实施的目标网络通过两个数据集的训练集进行训练。取,,。目标图像网络设置了以alexnet,resnet34,resnet50为骨干网络,目标文本网络为多层感知机为骨干网络。基于cycle-gen构造了图像对抗性生成器,通过lstm构造了文本对抗性生成器。实验结果如表1所示:表1map结果展示如上表,iterative代表迭代的方法,即现有技术;gen代表基于对抗性生成器的方法,即本方法。总结出了三点如下。第一,在上传图像用于搜索文本的任务中,训练好的gen架构与基于迭代方法在两个数据集上表现出了相似的性能,这证明了本发明
框架的有效性。在mirflickr-25k数据集中,基于alexnet的框架下的cgen要比基于迭代方法要具有更好的性能。这证明深度更浅的网络能更好的令gen学习目标模型的知识。其中,alexnet网络深度仅为8层而resnet34和resnet50具有34层和50层。第二,在上传文本用于搜索图像的任务中,训练好的gen在两个数据集上都具有更优的性能,这证明了通过lstm构建文本编码器可以获得更好的学习性能。第三,通过训练好的gen可以快速生成对抗性跨模态数据,而基于迭代的方法需要大量迭代次数。图2-图3展示了一个图像的可视化例子和文本的可视化例子。如图2a为本发明实施例的对抗性生成器方法的原图;如图2b为本发明实施例的对抗性生成器的方法生成的对抗性图片;如图2c为本发明实施例的对抗性生成器的方法生成的对抗性扰动示意图;如图2d为本发明实施例的迭代方法的原图;为了便于比较,迭代的方法和对抗性生成器的方法采用同一副图片;如图2e为本发明实施例的迭代方法生成的对抗性图片;如图2f为本发明实施例的迭代方法生成的对抗性扰动示意图。图3中,横坐标为文本向量中词包的位置索引值;纵坐标为文本向量的取值,其中值为0表示未被选中,值为1表示选中;如图3a为本发明实施例的对抗性生成器的方法的请求文本向量示意图;如图3b为本发明实施例的对抗性生成器的方法的对抗性文本向量示意图;如图3c为本发明实施例的迭代的方法的请求文本向量示意图;如图3d为本发明实施例的迭代的方法的对抗性文本向量示意图。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1