CN112487931B - 对抗攻击的方法、装置、可读介质和电子设备 - Google Patents
对抗攻击的方法、装置、可读介质和电子设备 Download PDFInfo
- Publication number
- CN112487931B CN112487931B CN202011345853.0A CN202011345853A CN112487931B CN 112487931 B CN112487931 B CN 112487931B CN 202011345853 A CN202011345853 A CN 202011345853A CN 112487931 B CN112487931 B CN 112487931B
- Authority
- CN
- China
- Prior art keywords
- image
- coding
- self
- model
- category
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开涉及一种对抗攻击的方法、装置、可读介质和电子设备,涉及数据处理技术领域,该方法包括:将属于第一类别的第一样本图像作为编码前图像,将编码前图像输入自编码模型,以根据自编码模型输出的编码后图像和第一模板图像,确定对抗图像,自编码模型为预先根据预设的训练集训练得到的,且与待攻击模型不相关的模型,训练集中包括第一样本图像、至少一个属于第一类别的第二样本图像,和多个属于第二类别的第三样本图像,第二类别和第一类别不相同,第一模板图像为训练集中指定的,属于第一类别的图像,将对抗图像输入待攻击模型,以使待攻击模型将对抗图像识别为第三类别,第三类别与第一类别不同。本公开提高了对抗攻击的适用范围。
Description
技术领域
本公开涉及数据处理技术领域,具体地,涉及一种对抗攻击的方法、装置、可读介质和电子设备。
背景技术
随着机器学习技术的不断发展,在许多技术领域中,都会借助机器学习模型来处理数据。尤其是在机器视觉领域,可以通过机器学习模型有效识别图像中的内容,提高了图像处理的效率和自动化程度。然而,对于机器学习模型来说,存在被对抗样本欺骗的可能性,攻击者可以将待输入机器学习模型的数据进行少量的修改,就可以达到使机器学习模型输出错误结果的目的。因此,可以设计对抗样本来对机器学习模型进行攻击,以提高机器学习模型的可靠性和鲁棒性。
通常情况下,设计对抗样本的方式分为白盒和黑盒两种方式,白盒方式中,根据待攻击模型的各种模型信息(例如:结构信息、参数信息等)来设计对抗样本,然而这种方式需要预先获取待攻击模型的模型信息,适用范围较小。黑盒方式中,需要对待攻击模型进行大量查询(即Query)操作,获取待攻击模型对特定输入样本的输出,以设计对抗样本,然而在真实场景中,往往很难实现大量查询操作,实用性较低。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
第一方面,本公开提供一种对抗攻击的方法,所述方法包括:
将属于第一类别的第一样本图像作为编码前图像;
将所述编码前图像输入自编码模型,以根据所述自编码模型输出的编码后图像和第一模板图像,确定对抗图像,所述自编码模型为预先根据预设的训练集训练得到的,且与待攻击模型不相关的模型,所述训练集中包括所述第一样本图像、至少一个属于所述第一类别的第二样本图像,和多个属于所述第二类别的第三样本图像,所述第二类别和所述第一类别不相同,所述第一模板图像为所述训练集中指定的,属于所述第一类别的图像;
将所述对抗图像输入所述待攻击模型,以使所述待攻击模型将所述对抗图像识别为第三类别,所述第三类别与所述第一类别不相同。
第二方面,本公开提供一种对抗攻击的装置,所述装置包括:
处理模块,用于将属于第一类别的第一样本图像作为编码前图像;
确定模块,用于将所述编码前图像输入自编码模型,以根据所述自编码模型输出的编码后图像和第一模板图像,确定对抗图像,所述自编码模型为预先根据预设的训练集训练得到的,且与待攻击模型不相关的模型,所述训练集中包括所述第一样本图像、至少一个属于所述第一类别的第二样本图像,和多个属于所述第二类别的第三样本图像,所述第二类别和所述第一类别不相同,所述第一模板图像为所述训练集中指定的,属于所述第一类别的图像;
攻击模块,用于将所述对抗图像输入所述待攻击模型,以使所述待攻击模型将所述对抗图像识别为第三类别,所述第三类别与所述第一类别不相同。
第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现本公开第一方面所述方法的步骤。
第四方面,本公开提供一种电子设备,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现本公开第一方面所述方法的步骤。
通过上述技术方案,本公开首先将属于第一类别的第一样本图像作为编码前图像,之后将编码前图像作为自编码模型的输入,从而根据自编码模型输出的编码后图像和第一模板图像来确定对抗图像,最后将对抗图像输入待攻击模型,以使待攻击模型将对抗图像识别为与第一类别不同的第三类别。其中,自编码模型是根据预设的训练集训练得到的,且与待攻击模型不相关,训练集中包括第一样本图像、同属于第一类别的第二样本图像,和属于第二类别的第三样本图像的,第一模板图像为训练集中指定的属于第一类别的图像。本公开无需预先获知待攻击模型的结构信息和参数信息,也无需预先对待攻击模型进行多次查询,就可以得到对抗图像,以对待攻击模型进行攻击,提高了对抗攻击的适用范围。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
图1是根据一示例性实施例示出的一种对抗攻击的方法的流程图;
图2是根据一示例性实施例示出的另一种对抗攻击的方法的流程图;
图3是根据一示例性实施例示出的另一种对抗攻击的方法的流程图;
图4是根据一示例性实施例示出的另一种对抗攻击的方法的流程图;
图5是根据一示例性实施例示出的一种训练自编码模型的流程图;
图6是根据一示例性实施例示出的另一种训练自编码模型的流程图;
图7是根据一示例性实施例示出的一种对抗攻击的装置的框图;
图8是根据一示例性实施例示出的另一种对抗攻击的装置的框图;
图9是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
图1是根据一示例性实施例示出的一种对抗攻击的方法的流程图,如图1所示,该方法包括:
步骤101,将属于第一类别的第一样本图像作为编码前图像。
步骤102,将编码前图像输入自编码模型,以根据自编码模型输出的编码后图像和第一模板图像,确定对抗图像,自编码模型为预先根据预设的训练集训练得到的,且与待攻击模型不相关的模型,训练集中包括第一样本图像、至少一个属于第一类别的第二样本图像,和多个属于第二类别的第三样本图像,第二类别和第一类别不相同,第一模板图像为训练集中指定的,属于第一类别的图像。
举例来说,要对待攻击模型进行对抗攻击,首先需要生成能够使待攻击模型输出错误的识别结果的对抗样本。待攻击模型例如可以用于图像分类、人脸识别等,对抗攻击的目的是,通过对属于第一类别的图像(即第一样本图像)进行少量的修改得到对抗图像(可以理解为通过人眼,无法分辨该图像与对抗图像),然后将对抗图像输入待攻击模型,以使待攻击模型将对抗图像识别为与第一类别不同的第三类别。那么首先可以确定属于第一类别的第一样本图像,然后利用包括第一样本图像在内的训练集,训练一个自编码模型(英文:Auto-encoder),该自编码模型能够对输入的属于第一类别的图像进行重构,以将输入的图像重构为第一类别对应的第一模板图像。
其中,训练集中还可以包括至少一个和第一样本图像同属于第一类别的第二样本图像,还包括多个属于与第一类别不同的第二类别的第三样本图像。同时,还可以在第一样本图像和第二样本图像中,指定一个图像作为第一类别对应的第一模板图像(例如可以是第一样本图像,也可以是任一第二样本图像),进一步的,还可以在第三样本图像中,指定一个图像作为第二类别对应的第二模板图像(例如可以是任一第三样本图像)。也就是说,在将第一样本图像,或者第二样本图像输入自编码模型的情况下,自编码模型能够归纳属于第一类别的图像的特征,从而重构出第一模板图像,在将第三样本图像输入自编码模型的情况下,自编码模型能够归纳属于第二类别的图像的特征,从而重构出第二模板图像。例如训练集可以包括第一样本图像、9个第二样本图像、10个第三样本图像(即训练集共包括20个样本图像)。例如,第一类别为狗,第二类别为鱼,训练集中可以包括10个属于狗的样本图像(其中包括第一样本图像,和9个为第二样本图像),和10个属于鱼的第三样本图像。相应的,可以在10个属于狗的样本图像中指定一个作为第一模板图像,还可以在10个属于鱼的第三样本图像中指定一个作为第二模板图像。
需要说明的是,自编码模型与待攻击模型是不相关的,自编码模型的结构信息(例如:网络结构、网络层数等)、参数信息(例如:步长、batch、激活函数等),均是在对待攻击模型未知的情况下确定的,也就是说,无需预先获知待攻击模型的结构信息和参数信息,就可以通过训练集训练得到自编码模型。
之后,将第一样本图像作为编码前图像,输入自编码模型,得到自编码模型输出的编码后图像。编码后图像可以理解为自编码模型对第一模板图像的重建,即编码后图像与第一模板图像之间的差别很小。进一步的,可以根据编码后图像和第一模板图像,确定对抗图像。例如,可以根据编码后图像与第一模板图像的差,来对编码前图像进行优化,使得在将经过优化的编码前图像再次输入自编码模型时,自编码模型输出的编码后图像与第一模板图像的差增大,从而将经过优化的编码前图像作为对抗图像。进一步的,还可以重复上述过程,不断对编码前图像进行优化,直至编码后图像与第一模板图像的差最大,从而将此时的编码前图像作为对抗图像。可以理解为,通过不断增大编码后图像与第一模板图像的差,来不断优化自编码模型的输入(即编码前图像),以达到自编码模型无法重构第一模板图像的目的。
步骤103,将对抗图像输入待攻击模型,以使待攻击模型将对抗图像识别为第三类别,第三类别与第一类别不相同。
示例的,在得到对抗图像之后,可以利用对抗图像对待攻击模型进行对抗攻击,即将对抗图像输入待攻击模型。由于自编码模型能够从一般意义上表征机器学习模型,因此,若自编码模型无法重构第一模板图像,可以预期待攻击模型也无法将对抗图像正确识别为第一类别,即待攻击模型会将对抗图像识别为与第一类别不同的第三类别,其中,第三类别可以和第二类别相同,也可以和第二类别不相同。这样,无需预先获知待攻击模型的结构信息和参数信息,同时也无需预先对待攻击模型进行多次查询,就可以生成具有通用性的对抗图像,从而实现对待攻击模型的对抗攻击,提高了对抗攻击的适用范围。
以待攻击模型为图像分类器,第一类别为猫来举例,第一样本图像为一幅包括猫的a图像,第一模板图像为一幅包括猫的b图像。首先将a图像作为编码前图像,然后将a图像输入自编码模型,从而根据自编码模型输出的编码后图像和b图像,来确定c图像(即对抗图像)。之后将c图像输入待攻击模型,待攻击模型不会将c图像识别为猫,而是会将c图像识别为狗或者兔子(即第三类别)等。
需要说明的是,上述训练集中还可以包括多个属于其他类别(即与第一类别、第二类别不相同的类别)的样本图像,本公开对此不作具体限定。同样的,可以在属于其他类别的样本图像中,指定一个图像作为其他类别对应的模板图像。相应的,在将属于其他类别的样本图像输入自编码模型的情况下,自编码模型能够归纳属于其他类别的图像的特征,从而重构出其他类别对应的模板图像。
综上所述,本公开首先将属于第一类别的第一样本图像作为编码前图像,之后将编码前图像作为自编码模型的输入,从而根据自编码模型输出的编码后图像和第一模板图像来确定对抗图像,最后将对抗图像输入待攻击模型,以使待攻击模型将对抗图像识别为与第一类别不同的第三类别。其中,自编码模型是根据预设的训练集训练得到的,且与待攻击模型不相关,训练集中包括第一样本图像、同属于第一类别的第二样本图像,和属于第二类别的第三样本图像的,第一模板图像为训练集中指定的属于第一类别的图像。本公开无需预先获知待攻击模型的结构信息和参数信息,也无需预先对待攻击模型进行多次查询,就可以得到对抗图像,以对待攻击模型进行攻击,提高了对抗攻击的适用范围。
图2是根据一示例性实施例示出的另一种对抗攻击的方法的流程图,如图2所示,步骤102的实现方式可以包括:
步骤1021,将编码前图像输入自编码模型,以得到自编码模型输出的编码后图像。
步骤1022,根据自编码模型的对抗损失,确定第一更新向量,对抗损失根据编码后图像与第一模板图像的差确定。
步骤1023,根据第一更新向量更新编码前图像。
举例来说,将第一样本图像作为编码前图像,输入自编码模型,得到自编码模型输出的编码后图像。编码后图像与第一模板图像之间的差别很小。之后,可以根据自编码模型的对抗损失,对自编码模型的输入(即编码前图像)进行更新。例如以最大化对抗损失为目标,利用反向传播算法来不断调整编码前图像,以达到自编码模型无法重构第一模板图像的目的。其中,对抗损失是根据编码后图像与第一模板图像的差确定的。
具体的,可以先根据编码后图像与第一模板图像的差来确定自编码模型的对抗损失,然后以增大对抗损失为目标,得到第一更新向量,然后根据第一更新向量更新编码前图像。例如,编码前图像为256*256的图像,编码后图像也为256*256的图像。第一更新向量可以为一个256*256的矩阵,矩阵中每个元素对应编码前图像中的一个像素点,每个元素的值表示对该像素点的改变量。可以将编码前图像与第一更新向量进行叠加,从而更新编码前图像,例如,若某个元素的值为0,表示该元素对应的像素点不需要改变,若某个元素的值为1,表示该元素对应的像素点的像素值增加1,若某个元素的值为-2,表示该元素对应的像素点的像素值减小2。
步骤1024,重复执行步骤1021至步骤1023,直至对抗损失满足第一预设条件,将编码前图像作为对抗图像。
示例的,在对编码前图像进行更新之后,可以重复执行上述步骤1021至步骤1023,直至对抗损失满足第一预设条件,将此时的编码前图像作为对抗图像。其中,为了使自编码模型无法重构第一模板图像,因此可以将第一预设条件设置为对抗损失最大,例如可以是对抗损失大于预设的对抗损失阈值。具体的,在第一次执行步骤1021时,编码前图像为第一样本图像,经过步骤1022至步骤1023,将第一更新向量与第一样本图像进行叠加,以更新编码前图像。在第二次执行步骤1021时,编码前图像为,与上一次确定的第一更新向量叠加后的第一样本图像,经过步骤1022至步骤1023,再将此次确定的第一更新向量与编码前图像进行叠加(相当于将上一次确定的第一更新向量、此次确定的第一更新向量,与第一样本图像进行叠加),以更新编码前图像,依次类推,直至对抗损失大于对抗损失阈值,此时将编码前图像作为对抗图像。可以理解为,对抗图像是在第一样本图像的基础上,不断叠加每次执行步骤1021至步骤1023确定的第一更新向量得到的。这样,既保证了对抗图像与第一样本图像之间的差别尽可能小(可以理解为通过人眼,无法分辨第一样本图像与对抗图像),又使得在将对抗图像输入自编码模型时,自编码模型无法重构出第一模板图像。
在一种应用场景中,步骤1022的实现方式可以包括:
步骤1),根据编码后图像与第一模板图像的差,和编码后图像与第二模板图像的差,确定对抗损失,第二模板图像为训练集中指定的,属于第二类别的图像。
举例来说,在用于训练自编码模型的训练集中,除了指定属于第一类别的第一模板图像之外,还可以指定属于第二类别的第二模板图像。在自编码模型完成训练后,自编码模型的对抗损失,可以设置为编码后图像与第一模板图像的差,和编码后图像与模板图像(包括第一模板图像和第二模板图像)的差的比值。例如可以通过公式一来确定对抗损失:
其中,Ladversarial表示自编码模型的对抗损失,λ表示大于0的尺度常数,xi表示训练集中的第i个样本图像对应的编码前图像,yi表示xi所属的类别,可以理解为xi的类别标签,当yi=0时,对应第一类别,当yi=1时,对应第二类别,Dec(Enc(xi))表示编码后图像(即在将编码前图像输入自编码模型时,自编码模型的输出),表示xi所属的类别对应的模板图像,即当yi=0时,对应第一模板图像,当yi=1时,对应第二模板图像,表示训练集中的第j类别对应的模板图像,即当j=0时,对应第一模板图像,当j=1时,对应第二模板图像。
步骤2),以增大对抗损失为目标,利用反向传播算法确定第一更新向量。
示例的,在确定对抗损失之后,可以以增大对抗损失为目标,利用反向传播算法来确定第一更新向量。可以理解为,通过重复执行步骤1021至步骤1023,以达到对抗损失最大的目标。具体的,求得对抗损失的梯度,然后以随机梯度上升为规则,将对抗损失的梯度反向传播至自编码模型的输入(即编码前图像),得到对编码前图像进行改变的第一更新向量,从而更新编码前图像。
图3是根据一示例性实施例示出的另一种对抗攻击的方法的流程图,如图3所示,在步骤103之前,该方法还可以包括以下步骤:
步骤104,将对抗图像输入自编码模型,以得到自编码模型中的指定层输出的中间图像,指定层不为自编码模型中的输入层和输出层。
步骤105,根据自编码模型的扰动损失,确定第二更新向量,扰动损失根据中间图像与第一样本图像确定。
步骤106,根据第二更新向量更新对抗图像。
在一种应用场景中,为了进一步提高对抗图像跨模型的泛化性(即迁移性),可以对自编码模型中的指定层进行扰动,其中指定层可以是自编码模型中除输入层和输出层之外的任意中间层。以自编码模型包括一个编码器、一个解码器和一个或多个隐藏层为例,那么指定层可以是编码器的输出,也可以是解码器的输入,还可以任一个隐藏层,本公开对此不作具体限定。对指定层进行扰动的具体实现方式可以包括:
在步骤102确定对抗图像之后,将对抗图像输入自编码模型,获取自编码模型中的指定层输出的中间图像,之后,可以根据自编码模型的扰动损失对自编码模型的输入(即对抗图像)进行优化,以最大化扰动损失为目标,利用反向传播算法来不断调整对抗图像,以进一步在对抗图像中增加扰动,从而达到提高对抗图像跨模型的泛化性的目的。其中,扰动损失是根据中间图像与第一样本图像确定的。具体的,可以先根据中间图像与第一样本图像确定自编码模型的扰动损失,然后以增大扰动损失为目标,得到第二更新向量,然后根据第二更新向量更新对抗图像。例如,对抗图像为256*256的图像,第二更新向量可以为一个256*256的矩阵,矩阵中每个元素对应对抗图像中的一个像素点,每个元素的值表示对该像素点的改变量。可以将对抗图像与第二更新向量进行叠加,从而更新对抗图像。
步骤107,重复执行步骤104至步骤106,直至扰动损失满足第二预设条件。
示例的,在对对抗图像进行更新之后,可以重复执行上述步骤104至步骤106,直至扰动损失满足第二预设条件,得到此时的对抗图像。其中,为了提高对抗图像跨模型的泛化性,可以将第二预设条件设置为扰动损失最大,例如可以是扰动损失大于预设的扰动损失阈值。具体的,在第一次执行步骤104时,输入自编码模型的是步骤102得到的对抗图像,经过步骤105至步骤106,将第二更新向量与对抗图像进行叠加,以更新对抗图像。在第二次执行步骤104时,输入自编码模型的是,与上一次确定的第二更新向量叠加后的对抗图像,经过步骤105至步骤106,再将此次确定的第二更新向量与对抗图像进行叠加(相当于将上一次确定的第二更新向量、此次确定的第二更新向量,与初始的对抗图像进行叠加),以更新对抗图像,依次类推,直至扰动损失大于扰动损失阈值,得到最终的对抗图像。可以理解为,在对抗图像的基础上,不断叠加每次执行步骤104至步骤106确定的第二更新向量。
图4是根据一示例性实施例示出的另一种对抗攻击的方法的流程图,如图4所示,步骤105的实现方式可以包括:
步骤1051,根据对抗图像与第一样本图像,和中间图像与第一样本图像,确定扰动损失。
步骤1052,以增大扰动损失为目标,利用反向传播算法确定第二更新向量。
举例来说,自编码模型的扰动损失,可以根据对抗图像与第一样本图像,和中间图像与第一样本图像来确定。扰动损失最大可以理解为,中间图像在第一模板图像的方向上投影最大,即中间图像相对于第一模板图像所改变的方向最小。扰动损失例如可以通过公式二来确定:
Ltransfer=-(Inter(z0)-Inter(xi))·(Inter(z)-Inter(xi))(公式二)
其中,Ltransfer表示自编码模型的扰动损失,·表示点积,z0表示初始的对抗图像(即步骤103中确定的对抗图像),Inter(z0)表示将z0输入自编码模型时指定层的输出,z表示重复执行步骤104至步骤106过程中的对抗图像,Inter(z)表示将z输入自编码模型时指定层的输出(即中间图像),xi表示训练集中的第i个样本图像,Inter(xi)表示将xi输入自编码模型时指定层的输出。
在确定扰动损失之后,可以以增大扰动损失为目标,利用反向传播算法来确定第二更新向量。可以理解为,通过重复执行步骤104至步骤106,以达到扰动损失最大的目标。具体的,求得扰动损失的梯度,然后以随机梯度上升为规则,将扰动损失的梯度反向传播至自编码模型的输入(即对抗图像),得到对扰动图像的进行改变的第二更新向量,从而更新对抗图像。
图5是根据一示例性实施例示出的一种训练自编码模型的流程图,如图5所示,上述自编码模型可以通过以下步骤训练得到:
步骤A,获取训练集和模板图像集,模板图像集中包括第一模板图像和第二模板图像,第二模板图像为训练集中指定的,属于第二类别的图像。
步骤B,将训练集作为自编码模型的输入,将模板图像集作为自编码模型的输出,训练自编码模型,以使自编码模型的编码损失满足第三预设条件。
举例来说,可以预先获取训练集,并在训练集中指定第一类别对应的第一模板图像和第二类别对应第二模板图像,以将第一模板图像和第二模板图像作为模板图像集。在对自编码模型进行训练时,不需要大量的样本图像,例如训练集可以包括第一样本图像、14个第二样本图像、15个第三样本图像(即训练集共包括30个样本图像)。例如,第一类别为汽车,第二类别为气球,训练集中可以包括15个属于汽车的样本图像(其中包括第一样本图像,和14个为第二样本图像),和15个属于气球的第三样本图像。
自编码模型中可以包括一个编码器、一个解码器和一个或多个隐藏层。在对自编码模型训练的过程中,可以将属于任一类别(可以是第一类别或者第二类别)的一个样本图像作为自编码模型的输入,并将该类别对应的模板图像(可以是第一模板图像或者第二模板图像)作为自编码模型的输出,来对自编码模型进行训练,以使自编码模型的编码损失满足第三预设条件。其中,编码损失可以根据自编码模型的输出与该类别对应的模板图像的差来确定,第三预设条件例如可以是编码损失小于预设的编码损失阈值。
图6是根据一示例性实施例示出的另一种训练自编码模型的流程图,如图6所示,步骤B可以包括:
步骤B1,若将第一样本图像或第二样本图像输入自编码模型,根据自编码模型的输出与第一模板图像的差,确定编码损失。
步骤B2,若将第三样本图像输入自编码模型,根据自编码模型的输出与第二模板图像的差,确定编码损失。
步骤B3,以减小编码损失为目标,利用反向传播算法训练自编码模型。
针对自编码模型的训练过程,根据输入自编码模型的样本图像所属的种类不同,编码损失也不相同,也就是说,在将训练集中的样本图像输入自编码模型之前,该样本图像所属的类别是确定的,相应的编码损失也是根据该样本图像所属的类别确定的。若将第一样本图像或第二样本图像输入自编码模型,那么编码损失是根据自编码模型的输出与第一模板图像的差确定的。若将第三样本图像输入自编码模型,那么编码损失是根据自编码模型的输出与第二模板图像的差确定的。
其中,编码损失例如可以通过公式三来确定:
其中,L表示编码损失,n表示训练集中包含的样本图像的数量,xi表示训练集中的第i个样本图像,yi表示xi所属的类别,当yi=0时,对应第一类别,当yi=1时,对应第二类别,Dec(Enc(xi))表示在将xi输入自编码模型时,自编码模型的输出,表示第一模板图像,表示第二模板图像。
在确定编码损失之后,可以以减小编码损失为目标,利用反向传播算法训练自编码模型,从而调整自编码模型中的神经元的参数,神经元的参数例如可以是神经元的权重(英文:Weight)和偏置量(英文:Bias)。由于输入自编码模型的样本图像所属的类别是确定的,因此在自编码模型的基础上,引入了有监督机制,使自编码模型能够在更高层次上对样本图像所属的类别进行理解,从而训练出能够生成更具有通用性的对抗图像的自编码模型。
综上所述,本公开首先将属于第一类别的第一样本图像作为编码前图像,之后将编码前图像作为自编码模型的输入,从而根据自编码模型输出的编码后图像和第一模板图像来确定对抗图像,最后将对抗图像输入待攻击模型,以使待攻击模型将对抗图像识别为与第一类别不同的第三类别。其中,自编码模型是根据预设的训练集训练得到的,且与待攻击模型不相关,训练集中包括第一样本图像、同属于第一类别的第二样本图像,和属于第二类别的第三样本图像的,第一模板图像为训练集中指定的属于第一类别的图像。本公开无需预先获知待攻击模型的结构信息和参数信息,也无需预先对待攻击模型进行多次查询,就可以得到对抗图像,以对待攻击模型进行攻击,提高了对抗攻击的适用范围。
图7是根据一示例性实施例示出的一种对抗攻击的装置的框图,如图7所示,该装置200包括:
处理模块201,用于将属于第一类别的第一样本图像作为编码前图像。
确定模块202,用于将编码前图像输入自编码模型,以根据自编码模型输出的编码后图像和第一模板图像,确定对抗图像,自编码模型为预先根据预设的训练集训练得到的,且与待攻击模型不相关的模型,训练集中包括第一样本图像、至少一个属于第一类别的第二样本图像,和多个属于第二类别的第三样本图像,第二类别和第一类别不相同,第一模板图像为训练集中指定的,属于第一类别的图像。
攻击模块203,用于将对抗图像输入待攻击模型,以使待攻击模型将对抗图像识别为第三类别,第三类别与第一类别不相同。
图8是根据一示例性实施例示出的另一种对抗攻击的装置的框图,如图8所示,确定模块202可以包括:
输入子模块2021,用于将编码前图像输入自编码模型,以得到自编码模型输出的编码后图像。
确定子模块2022,用于根据自编码模型的对抗损失,确定第一更新向量,对抗损失根据编码后图像与第一模板图像的差确定。
更新子模块2023,用于根据第一更新向量更新编码前图像。
循环子模块2024,用于重复执行将编码前图像输入预先训练的自编码模型,至根据第一更新向量更新编码前图像的步骤,直至对抗损失满足第一预设条件,将编码前图像作为对抗图像。
在一种应用场景中,确定子模块2022可以用于执行以下步骤:
步骤1)根据编码后图像与第一模板图像的差,和编码后图像与每个第二模板图像的差,确定对抗损失,第二模板图像为训练集中指定的,属于第二类别的图像。
步骤2)以增大对抗损失为目标,利用反向传播算法确定第一更新向量。
在另一种应用场景中,确定模块202还可以用于执行以下步骤:
步骤3)在将对抗图像输入待攻击模型之前,将对抗图像输入自编码模型,以得到自编码模型中的指定层输出的中间图像,指定层不为自编码模型中的输入层和输出层。
步骤4)根据自编码模型的扰动损失,确定第二更新向量,扰动损失根据中间图像与第一样本图像确定。根据第二更新向量更新对抗图像。
步骤5)重复执行将对抗图像输入自编码模型,至根据第二更新向量更新对抗图像的步骤,直至扰动损失满足第二预设条件。
在又一种应用场景中,步骤4)的实现方式可以为:
首先,根据对抗图像与第一样本图像,和中间图像与第一样本图像,确定扰动损失。
之后,以增大扰动损失为目标,利用反向传播算法确定第二更新向量。
需要说明的是,上述自编码模型可以通过以下步骤训练得到:
步骤A,获取训练集和模板图像集,模板图像集中包括第一模板图像和第二模板图像,第二模板图像为训练集中指定的,属于第二类别的图像。
步骤B,将训练集作为自编码模型的输入,将模板图像集作为自编码模型的输出,训练自编码模型,以使自编码模型的编码损失满足第三预设条件。
在另一种应用场景中,步骤B可以包括:
步骤B1,若将第一样本图像或第二样本图像输入自编码模型,根据自编码模型的输出与第一模板图像的差,确定编码损失。
步骤B2,若将第三样本图像输入自编码模型,根据自编码模型的输出与第二模板图像的差,确定编码损失。
步骤B3,以减小编码损失为目标,利用反向传播算法训练自编码模型。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,本公开首先将属于第一类别的第一样本图像作为编码前图像,之后将编码前图像作为自编码模型的输入,从而根据自编码模型输出的编码后图像和第一模板图像来确定对抗图像,最后将对抗图像输入待攻击模型,以使待攻击模型将对抗图像识别为与第一类别不同的第三类别。其中,自编码模型是根据预设的训练集训练得到的,且与待攻击模型不相关,训练集中包括第一样本图像、同属于第一类别的第二样本图像,和属于第二类别的第三样本图像的,第一模板图像为训练集中指定的属于第一类别的图像。本公开无需预先获知待攻击模型的结构信息和参数信息,也无需预先对待攻击模型进行多次查询,就可以得到对抗图像,以对待攻击模型进行攻击,提高了对抗攻击的适用范围。
下面参考图9,其示出了适于用来实现本公开实施例的电子设备300的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储装置308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图9示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,终端设备、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:将属于第一类别的第一样本图像作为编码前图像;将所述编码前图像输入自编码模型,以根据所述自编码模型输出的编码后图像和第一模板图像,确定对抗图像,所述自编码模型为预先根据预设的训练集训练得到的,且与待攻击模型不相关的模型,所述训练集中包括所述第一样本图像、至少一个属于所述第一类别的第二样本图像,和多个属于所述第二类别的第三样本图像,所述第二类别和所述第一类别不相同,所述第一模板图像为所述训练集中指定的,属于所述第一类别的图像;将所述对抗图像输入所述待攻击模型,以使所述待攻击模型将所述对抗图像识别为第三类别,所述第三类别与所述第一类别不相同。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,输入模块还可以被描述为“将编码前图像输入自编码模型的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,示例1提供了一种对抗攻击的方法,包括:将属于第一类别的第一样本图像作为编码前图像;将所述编码前图像输入自编码模型,以根据所述自编码模型输出的编码后图像和第一模板图像,确定对抗图像,所述自编码模型为预先根据预设的训练集训练得到的,且与待攻击模型不相关的模型,所述训练集中包括所述第一样本图像、至少一个属于所述第一类别的第二样本图像,和多个属于所述第二类别的第三样本图像,所述第二类别和所述第一类别不相同,所述第一模板图像为所述训练集中指定的,属于所述第一类别的图像;将所述对抗图像输入所述待攻击模型,以使所述待攻击模型将所述对抗图像识别为第三类别,所述第三类别与所述第一类别不相同。
根据本公开的一个或多个实施例,示例2提供了示例1的方法,所述将所述编码前图像输入自编码模型,以根据所述自编码模型输出的编码后图像和第一模板图像,确定对抗图像,包括:将所述编码前图像输入所述自编码模型,以得到所述自编码模型输出的所述编码后图像;根据所述自编码模型的对抗损失,确定第一更新向量,所述对抗损失根据所述编码后图像与所述第一模板图像的差确定;根据所述第一更新向量更新所述编码前图像;重复执行所述将所述编码前图像输入预先训练的自编码模型,至所述根据所述第一更新向量更新所述编码前图像的步骤,直至所述对抗损失满足第一预设条件,将所述编码前图像作为对抗图像。
根据本公开的一个或多个实施例,示例3提供了示例2的方法,所述根据所述自编码模型的对抗损失,确定第一更新向量,包括:根据所述编码后图像与所述第一模板图像的差,和所述编码后图像与第二模板图像的差,确定所述对抗损失,所述第二模板图像为所述训练集中指定的,属于所述第二类别的图像;以增大所述对抗损失为目标,利用反向传播算法确定所述第一更新向量。
根据本公开的一个或多个实施例,示例4提供了示例1的方法,在所述将所述对抗图像输入所述待攻击模型之前,所述方法还包括:将所述对抗图像输入所述自编码模型,以得到所述自编码模型中的指定层输出的中间图像,所述指定层不为所述自编码模型中的输入层和输出层;根据所述自编码模型的扰动损失,确定第二更新向量,所述扰动损失根据所述中间图像与所述第一样本图像确定;根据所述第二更新向量更新所述对抗图像;重复执行所述将所述对抗图像输入所述自编码模型,至所述根据所述第二更新向量更新所述对抗图像的步骤,直至所述扰动损失满足第二预设条件。
根据本公开的一个或多个实施例,示例5提供了示例4的方法,所述根据所述自编码模型的扰动损失,确定第二更新向量包括:根据所述对抗图像与所述第一样本图像,和所述中间图像与所述第一样本图像,确定所述扰动损失;以增大所述扰动损失为目标,利用反向传播算法确定所述第二更新向量。
根据本公开的一个或多个实施例,示例6提供了示例1至示例5的方法,所述自编码模型是通过以下步骤训练得到的:获取所述训练集和模板图像集,所述模板图像集中包括所述第一模板图像和第二模板图像,所述第二模板图像为所述训练集中指定的,属于所述第二类别的图像;将所述训练集作为所述自编码模型的输入,将所述模板图像集作为所述自编码模型的输出,训练所述自编码模型,以使所述自编码模型的编码损失满足第三预设条件。
根据本公开的一个或多个实施例,示例7提供了示例6的方法,所述将所述训练集作为所述自编码模型的输入,将所述模板图像集作为所述自编码模型的输出,训练所述自编码模型,包括:若将所述第一样本图像或所述第二样本图像输入所述自编码模型,根据所述自编码模型的输出与所述第一模板图像的差,确定所述编码损失;若将所述第三样本图像输入所述自编码模型,根据所述自编码模型的输出与所述第二模板图像的差,确定所述编码损失;以减小所述编码损失为目标,利用反向传播算法训练所述自编码模型。
根据本公开的一个或多个实施例,示例8提供了一种对抗攻击的装置,包括:处理模块,用于将属于第一类别的第一样本图像作为编码前图像;确定模块,用于将所述编码前图像输入自编码模型,以根据所述自编码模型输出的编码后图像和第一模板图像,确定对抗图像,所述自编码模型为预先根据预设的训练集训练得到的,且与待攻击模型不相关的模型,所述训练集中包括所述第一样本图像、至少一个属于所述第一类别的第二样本图像,和多个属于所述第二类别的第三样本图像,所述第二类别和所述第一类别不相同,所述第一模板图像为所述训练集中指定的,属于所述第一类别的图像;攻击模块,用于将所述对抗图像输入所述待攻击模型,以使所述待攻击模型将所述对抗图像识别为第三类别,所述第三类别与所述第一类别不相同。
根据本公开的一个或多个实施例,示例9提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现示例1至示例7中所述方法的步骤。
根据本公开的一个或多个实施例,示例10提供了一种电子设备,包括:存储装置,其上存储有计算机程序;处理装置,用于执行所述存储装置中的所述计算机程序,以实现示例1至示例7中所述方法的步骤。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
Claims (9)
1.一种对抗攻击的方法,其特征在于,所述方法包括:
将属于第一类别的第一样本图像作为编码前图像;
将所述编码前图像输入自编码模型,以根据所述自编码模型输出的编码后图像和第一模板图像,确定对抗图像,所述自编码模型为预先根据预设的训练集训练得到的,且与待攻击模型不相关的模型,所述训练集中包括所述第一样本图像、至少一个属于所述第一类别的第二样本图像,和多个属于第二类别的第三样本图像,所述第二类别和所述第一类别不相同,所述第一模板图像为所述训练集中指定的,属于所述第一类别的图像;
将所述对抗图像输入所述待攻击模型,以使所述待攻击模型将所述对抗图像识别为第三类别,所述第三类别与所述第一类别不相同;
所述将所述编码前图像输入自编码模型,以根据所述自编码模型输出的编码后图像和第一模板图像,确定对抗图像,包括:
将所述编码前图像输入所述自编码模型,以得到所述自编码模型输出的所述编码后图像;
根据所述自编码模型的对抗损失,确定第一更新向量,所述对抗损失根据所述编码后图像与所述第一模板图像的差确定;
根据所述第一更新向量更新所述编码前图像;
重复执行所述将所述编码前图像输入预先训练的自编码模型,至所述根据所述第一更新向量更新所述编码前图像的步骤,直至所述对抗损失满足第一预设条件,将所述编码前图像作为对抗图像,所述第一预设条件为所述对抗损失大于预设的对抗损失阈值。
2.根据权利要求1所述的方法,其特征在于,所述根据所述自编码模型的对抗损失,确定第一更新向量,包括:
根据所述编码后图像与所述第一模板图像的差,和所述编码后图像与第二模板图像的差,确定所述对抗损失,所述第二模板图像为所述训练集中指定的,属于所述第二类别的图像;
以增大所述对抗损失为目标,利用反向传播算法确定所述第一更新向量。
3.根据权利要求1所述的方法,其特征在于,在所述将所述对抗图像输入所述待攻击模型之前,所述方法还包括:
将所述对抗图像输入所述自编码模型,以得到所述自编码模型中的指定层输出的中间图像,所述指定层不为所述自编码模型中的输入层和输出层;
根据所述自编码模型的扰动损失,确定第二更新向量,所述扰动损失根据所述中间图像与所述第一样本图像确定;
根据所述第二更新向量更新所述对抗图像;
重复执行所述将所述对抗图像输入所述自编码模型,至所述根据所述第二更新向量更新所述对抗图像的步骤,直至所述扰动损失满足第二预设条件。
4.根据权利要求3所述的方法,其特征在于,所述根据所述自编码模型的扰动损失,确定第二更新向量包括:
根据所述对抗图像与所述第一样本图像,和所述中间图像与所述第一样本图像,确定所述扰动损失;
以增大所述扰动损失为目标,利用反向传播算法确定所述第二更新向量。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述自编码模型是通过以下步骤训练得到的:
获取所述训练集和模板图像集,所述模板图像集中包括所述第一模板图像和第二模板图像,所述第二模板图像为所述训练集中指定的,属于所述第二类别的图像;
将所述训练集作为所述自编码模型的输入,将所述模板图像集作为所述自编码模型的输出,训练所述自编码模型,以使所述自编码模型的编码损失满足第三预设条件。
6.根据权利要求5所述的方法,其特征在于,所述将所述训练集作为所述自编码模型的输入,将所述模板图像集作为所述自编码模型的输出,训练所述自编码模型,包括:
若将所述第一样本图像或所述第二样本图像输入所述自编码模型,根据所述自编码模型的输出与所述第一模板图像的差,确定所述编码损失;
若将所述第三样本图像输入所述自编码模型,根据所述自编码模型的输出与所述第二模板图像的差,确定所述编码损失;
以减小所述编码损失为目标,利用反向传播算法训练所述自编码模型。
7.一种对抗攻击的装置,其特征在于,所述装置包括:
处理模块,用于将属于第一类别的第一样本图像作为编码前图像;
确定模块,用于将所述编码前图像输入自编码模型,以根据所述自编码模型输出的编码后图像和第一模板图像,确定对抗图像,所述自编码模型为预先根据预设的训练集训练得到的,且与待攻击模型不相关的模型,所述训练集中包括所述第一样本图像、至少一个属于所述第一类别的第二样本图像,和多个属于第二类别的第三样本图像,所述第二类别和所述第一类别不相同,所述第一模板图像为所述训练集中指定的,属于所述第一类别的图像;
攻击模块,用于将所述对抗图像输入所述待攻击模型,以使所述待攻击模型将所述对抗图像识别为第三类别,所述第三类别与所述第一类别不相同;
所述确定模块包括:
输入子模块,用于将所述编码前图像输入所述自编码模型,以得到所述自编码模型输出的所述编码后图像;
确定子模块,用于根据所述自编码模型的对抗损失,确定第一更新向量,所述对抗损失根据所述编码后图像与所述第一模板图像的差确定;
更新子模块,用于根据所述第一更新向量更新所述编码前图像;
循环子模块,用于重复执行所述将所述编码前图像输入预先训练的自编码模型,至所述根据所述第一更新向量更新所述编码前图像的步骤,直至所述对抗损失满足第一预设条件,将所述编码前图像作为对抗图像,所述第一预设条件为所述对抗损失大于预设的对抗损失阈值。
8.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-6中任一项所述方法的步骤。
9.一种电子设备,其特征在于,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现权利要求1-6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011345853.0A CN112487931B (zh) | 2020-11-25 | 2020-11-25 | 对抗攻击的方法、装置、可读介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011345853.0A CN112487931B (zh) | 2020-11-25 | 2020-11-25 | 对抗攻击的方法、装置、可读介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112487931A CN112487931A (zh) | 2021-03-12 |
CN112487931B true CN112487931B (zh) | 2022-08-02 |
Family
ID=74934845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011345853.0A Active CN112487931B (zh) | 2020-11-25 | 2020-11-25 | 对抗攻击的方法、装置、可读介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112487931B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114663946B (zh) * | 2022-03-21 | 2023-04-07 | 中国电信股份有限公司 | 对抗样本生成方法、装置、设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190061446A (ko) * | 2017-11-28 | 2019-06-05 | 공주대학교 산학협력단 | 딥 러닝 환경에서의 적대적 예제 생성 장치 및 방법, 컴퓨터 프로그램 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200250304A1 (en) * | 2019-02-01 | 2020-08-06 | Nec Laboratories America, Inc. | Detecting adversarial examples |
US11227215B2 (en) * | 2019-03-08 | 2022-01-18 | International Business Machines Corporation | Quantifying vulnerabilities of deep learning computing systems to adversarial perturbations |
CN111191717B (zh) * | 2019-12-30 | 2022-05-10 | 电子科技大学 | 一种基于隐空间聚类的黑盒对抗样本生成算法 |
CN111652290B (zh) * | 2020-05-15 | 2024-03-15 | 深圳前海微众银行股份有限公司 | 一种对抗样本的检测方法及装置 |
CN111626367A (zh) * | 2020-05-28 | 2020-09-04 | 深圳前海微众银行股份有限公司 | 对抗样本检测方法、装置、设备及计算机可读存储介质 |
CN111915486B (zh) * | 2020-07-30 | 2022-04-22 | 西华大学 | 基于图像超分辨重建的对抗样本防御方法 |
-
2020
- 2020-11-25 CN CN202011345853.0A patent/CN112487931B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190061446A (ko) * | 2017-11-28 | 2019-06-05 | 공주대학교 산학협력단 | 딥 러닝 환경에서의 적대적 예제 생성 장치 및 방법, 컴퓨터 프로그램 |
Non-Patent Citations (1)
Title |
---|
黑盒威胁模型下深度学习对抗样本的生成;孟东宇;《电子设计工程》;20181231;第26卷(第24期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112487931A (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902186B (zh) | 用于生成神经网络的方法和装置 | |
CN112488172B (zh) | 对抗攻击的方法、装置、可读介质和电子设备 | |
CN113436620B (zh) | 语音识别模型的训练方法、语音识别方法、装置、介质及设备 | |
CN113642673A (zh) | 图像生成方法、装置、设备及存储介质 | |
CN112035743A (zh) | 数据推荐方法、装置、计算机设备以及存储介质 | |
CN113190872B (zh) | 数据保护方法、网络结构训练方法、装置、介质及设备 | |
CN110795618B (zh) | 内容推荐方法、装置、设备及计算机可读存储介质 | |
CN112650841A (zh) | 信息处理方法、装置和电子设备 | |
CN113723341B (zh) | 视频的识别方法、装置、可读介质和电子设备 | |
CN116310582A (zh) | 分类模型训练方法、图像分类方法、装置、介质及设备 | |
CN113723344A (zh) | 视频的识别方法、装置、可读介质和电子设备 | |
CN115908640A (zh) | 生成图像的方法、装置、可读介质及电子设备 | |
CN112487931B (zh) | 对抗攻击的方法、装置、可读介质和电子设备 | |
CN115270981A (zh) | 对象处理方法、装置、可读介质及电子设备 | |
CN116977885A (zh) | 视频文本任务处理方法、装置、电子设备及可读存储介质 | |
CN113591490B (zh) | 信息处理方法、装置和电子设备 | |
CN114067327A (zh) | 文本识别方法、装置、可读介质及电子设备 | |
CN111967584A (zh) | 生成对抗样本的方法、装置、电子设备及计算机存储介质 | |
CN111915689A (zh) | 用于生成目标函数的方法、装置、电子设备和计算机可读介质 | |
CN115049730B (zh) | 零件装配方法、装置、电子设备及存储介质 | |
CN111898658B (zh) | 图像分类方法、装置和电子设备 | |
CN112364938A (zh) | 对抗样本生成方法、装置和电子设备 | |
CN111581455A (zh) | 文本生成模型的生成方法、装置和电子设备 | |
CN115938470B (zh) | 蛋白质特征预处理方法、装置、介质及设备 | |
CN115661238B (zh) | 可行驶区域生成方法、装置、电子设备和计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |