CN114254686A - 对抗样本的识别方法及装置 - Google Patents
对抗样本的识别方法及装置 Download PDFInfo
- Publication number
- CN114254686A CN114254686A CN202011016784.9A CN202011016784A CN114254686A CN 114254686 A CN114254686 A CN 114254686A CN 202011016784 A CN202011016784 A CN 202011016784A CN 114254686 A CN114254686 A CN 114254686A
- Authority
- CN
- China
- Prior art keywords
- sample
- classification
- models
- input
- classification model
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000013145 classification model Methods 0.000 claims abstract description 327
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 11
- 239000013598 vector Substances 0.000 claims description 103
- 238000012545 processing Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 20
- 230000003042 antagnostic effect Effects 0.000 claims description 14
- 230000008569 process Effects 0.000 abstract description 25
- 239000000523 sample Substances 0.000 description 245
- 238000012549 training Methods 0.000 description 38
- 238000013528 artificial neural network Methods 0.000 description 34
- 238000013527 convolutional neural network Methods 0.000 description 22
- 238000011176 pooling Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 238000013500 data storage Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 238000003066 decision tree Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 230000008439 repair process Effects 0.000 description 6
- 230000000306 recurrent effect Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000008485 antagonism Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
- G06F18/24155—Bayesian classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了人工智能领域中的一种对抗样本的识别方法和装置,该方法包括:获取待识别的输入样本;将输入样本分别输入第一分类模型和第二分类模型,得到输入样本的第一分类结果和输入样本的第二分类结果,其中,第一分类模型和第二分类模型为功能相同的不同模型,第一分类结果为第一分类模型对输入样本进行分类后得到的,第二分类结果为第二分类模型对输入样本进行分类后得到的;基于第一分类结果和第二分类结果,识别输入样本为对抗样本或非对抗样本。避免了现有技术中,在对输入样本进行识别之前需要对输入样本进行压缩,有利于缩短识别对抗样本过程中对输入样本进行压缩所需的时间,以提高识别对抗样本的效率。
Description
技术领域
本申请涉及人工智能领域,并且更具体地,涉及对抗样本的识别方法及装置。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
虽然,人工智能在许多领域都取得了巨大的成功,但是,经研究发现,基于人工智能技术的分类模型对于对抗样本具有极高的脆弱性,很多情况下,训练得到的具有不同结构的分类模型都会对相同的对抗样本实现误分类,这意味着对抗样本成为了分类模型的一个盲点。
目前,现有的对抗样本的识别方式都是通过对输入样本进行压缩,得到压缩样本,并将输入样本和压缩样本分别输入分类模型,以得到输入样本的预测结果以及压缩样本的预测结果。再将两个预测结果相比较,如果两个预测结果的差异较大,则可以识别输入样本为对抗样本,如果两个预测结果的差异较小,则可以识别输入样本为非对抗样本。然而,在上述识别对抗样本的过程中,需要先对输入样本进行压缩得到压缩样本,得到压缩样本所需的计算量较大,导致前期准备工作所需时间较长。
发明内容
本申请提供一种对抗样本的识别方法及装置,以缩短识别对抗样本过程中对输入样本进行压缩所需的时间,有利于提高识别对抗样本的效率。
第一方面,提供了一种对抗样本的识别方法,包括:获取待识别的输入样本;将所述输入样本分别输入第一分类模型和第二分类模型,得到所述输入样本的第一分类结果和所述输入样本的第二分类结果,其中,所述第一分类模型和所述第二分类模型为功能相同的不同模型,所述第一分类结果为所述第一分类模型对所述输入样本进行分类后得到的,所述第二分类结果为所述第二分类模型对所述输入样本进行分类后得到的;基于所述第一分类结果和所述第二分类结果,识别所述输入样本为对抗样本或非对抗样本。
可选的,上述第一分类结果可以包括第一分类模型输出的输入样本的所属的标签,上述第一分类结果还可以包括第一分类模型输出的输入样本的所属的标签对应的概率,或者两者都包括。同样,上述第二分类结果可以包括第二分类模型输出的输入样本的所属的标签,上述第二分类结果还可以包括第二分类模型输出的输入样本的所属的标签对应的概率,或者两者都包括。
在本申请实施例中,通过将输入样本分别输入第一分类模型和第二分类模型,以分别得到第一分类模型输出的第一分类结果和第二模型输出的第二分类结果,并基于第一分类结果和第二分类结果判断输入样本为非对抗样本或对抗样本,避免了现有技术中,在对输入样本进行识别之前需要对输入样本进行压缩,有利于缩短识别对抗样本过程中对输入样本进行压缩所需的时间,以提高识别对抗样本的效率。
上述分类模型又可以称为分类器(classifier),用于将输入样本映射到给定类别中的某一个,从而可以应用于数据预测。其中,分类模型是数据挖掘中对输入样本进行分类的模型的统称,分类模型可以包括基于决策树的分类模型、基于逻辑回归的分类模型、基于朴素贝叶斯的分类模型、以及基于神经网络的分类模型。
上述第一分类模型和第二分类模型为功能相同的模型,可以理解为,上述两个分类模型用于从相同的多个分类中确定输入样本所属的分类,或者说,上述两个分类模型对应的给定分类是相同的。
上述第一分类模型和第二分类模型不同,可以包括第一分类模型中的权重和第二分类模型中的权重不同。上述第一分类模型和第二分类模型不同,还可以包括上述第一分类模型和第二分类模型是基于训练数据集中的不同的子集训练得到的不同的模型。上述第一分类模型和第二分类模型不同,还可以包括上述第一分类模型和第二分类模型为结构不同的模型。例如,第一分类模型和第二分类模型都为神经网络模型时,第一分类模型和第二分类模型为结构不同的模型,可以理解为,第一分类模型中隐含层的数量与第二分类模型中隐含层的数量不同。上述第一分类模型和第二分类模型不同,还可以包括上述第一分类模型和第二分类模型为类型不同的模型。例如,第一分类模型为基于决策树的分类模型,第二分类模型为基于神经网络的分类模型。
在本申请实施例中,当第一分类模型和第二分类模型为类型不同的模型时,有利于提高识别对抗样本的准确率,避免了第一分类模型和第二分类模型的类型相同时,第一分类模型的泛化能力和第二分类模型的泛化能力相似,导致两个分类模型都无法识别出对抗样本。
在一种可能的实现方式中,所述第一分类结果包括第一输出向量和第一标签,所述第二分类结果包括第二输出向量和第二标签,其中,所述第一输出向量用于指示所述输入样本属于所述第一分类模型中每个分类的置信度,所述第二输出向量用于指示所述输入样本属于所述第二分类模型中每个分类的置信度;所述基于所述第一分类结果和所述第二分类结果,识别所述输入样本为对抗样本或非对抗样本,包括:在所述第一标签和所述第二标签相同的情况下,基于所述第一输出向量和所述第二输出向量,识别所述输入样本为对抗样本或非对抗样本。
在本申请实施例中,当第一标签和第二标签相同的情况下,基于第一分类模型输出的第一输出向量和第二分类模型输出的第二分类向量,识别输入样本为对抗样本或非对抗样本,以提高识别输入样本的准确度。
在一种可能的实现方式中,所述方法还包括:获取所述第一输出向量和所述第二输出向量的相似度;所述在所述第一标签和所述第二标签相同的情况下,基于所述第一输出向量和所述第二输出向量,识别所述输入样本为对抗样本或非对抗样本,包括:在所述第一标签和所述第二标签相同的情况下,若所述相似度高于预设的第一相似度阈值,则识别所述输入样本为非对抗样本;在所述第一标签和所述第二标签相同的情况下,若所述相似度低于预设的第二相似度阈值,则识别所述输入样本为对抗样本。
在本申请实施例中,当第一标签和第二标签相同的情况下,基于第一输出向量和第二分类向量之间的相似度,识别输入样本为对抗样本或非对抗样本,以提高识别输入样本的准确度。
在一种可能的实现方式中,所述第一分类结果包括第一标签,所述第二分类结果包括第二标签,所述基于所述第一分类结果和所述第二分类结果,识别所述输入样本为对抗样本或非对抗样本,包括:若所述第一标签和所述第二标签相同,则识别所述输入样本为非对抗样本;若所述第一标签和所述第二标签不相同,则识别所述输入样本为对抗样本。
在本申请实施例中,基于第一标签和第二标签,识别输入样本为对抗样本或非对抗样本,以简化识别输入样本的复杂度。
在一种可能的实现方式中,所述第一分类模型和所述第二分类模型为预设的不同的多个分类模型中的两个模型,所述多个分类模型被划分为多组模型,所述多组模型中不同组模型包含的分类模型的组合不同,所述第一分类模型和所述第二分类模型属于多组中的第一组模型,所述方法还包括:获取第一预测结果和至少一条第二预测结果,所述第一预测结果用于指示所述第一组模型预测所述输入样本的预测结果,所述至少一条第二预测结果用于指示其他组模型预测所述输入样本的预测结果,所述预测结果指示所述输入样本为对抗样本或所述输入样本为非对抗样本,所述其他组模型为所述多组模型中除所述第一组模型之外的模型组;基于所述第一预测结果和所述至少一条第二预测结果,识别所述输入样本为对抗样本或非对抗样本。
上述多组模型中不同组模型包含的分类模型的组合不同,可以理解为,不同组模型中包含的分类模型部分不同,例如,第一组模型中可以包括分类模型1和分类模型2,第二组模型可以包括分类模型2和分类模型3。上述多组模型中不同组模型包含的分类模型的组合不同,还可以理解为,不同组模型中包含的分类模型完全不同,例如,第一组模型中可以包括分类模型1和分类模型2,第二组模型可以包括分类模型3和分类模型4。
在本申请实施例中,基于多组模型的预测结果,识别输入样本为对抗样本或非对抗样本,有利于提高识别输入样本的准确度。
在一种可能的实现方式中,所述输入样本为输入文本。
在本申请实施例中,上述输入样本为输入文本时,即本申请的识别方法应用于文本领域时,由于并不会对输入样本进行压缩,因此可以针对文本的语义的对抗样本进行识别,有利于提高对输入文本进行识别的准确度。
第二方面,提供了一种对抗样本的识别装置,所述装置包括用于执行第一方面或第一方面任一种可能实现方式中的各个单元。
第三方面,提供了一种对抗样本的识别装置,所述装置具有实现上述第一方面的方法设计中的装置的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
第四方面,提供了一种计算设备,包括输入输出接口、处理器和存储器。该处理器用于控制输入输出接口收发信号或信息,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该计算设备执行上述第一方面中的方法。
第五方面,提供了一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
第六方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
第七方面,提供了一种芯片***,该芯片***包括处理器,用于计算设备实现上述方面中所涉及的功能,例如,生成,接收,发送,或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片***还包括存储器,所述存储器,用于保存计算设备必要的程序指令和数据。该芯片***,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
图1是本申请实施例的对抗样本的识别方法的流程图。
图2是本申请另一实施例的对抗样本的识别方法的流程图。
图3是本申请另一实施例的对抗文本的识别方法的流程图。
图4是本申请实施例的卷积神经网络的网络结构示意图。
图5是本申请另一实施例的卷积神经网络的网络结构示意图。
图6是本申请实施例的循环神经网络的网络结构示意图。
图7是本申请实施例的循环神经网络的网络展开示意图。
图8是本申请实施例的训练目标分类模型所适用的***架构的示意图。
图9是本申请实施例的另一训练目标分类模型适用***架构的示意图。
图10是本申请实施例的对抗样本的识别装置的示意图。
图11是本申请实施例的计算设备的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
如前文所述,现有的对抗样本的识别方式都是通过对输入样本进行压缩,得到压缩样本,并将输入样本和压缩样本分别输入分类模型,以得到输入样本的预测结果以及压缩样本的预测结果。再将两个预测结果相比较,如果两个预测结果的差异较大,则可以识别输入样本为对抗样本,如果两个预测结果的差异较小,则可以识别输入样本为非对抗样本。然而,在上述识别对抗样本的过程中,需要先对输入样本进行压缩得到压缩样本,得到压缩样本所需的计算量较大,导致前期准备工作所需时间较长。
为了避免上述问题,本申请提供了一种新的对抗样本的识别方法,将输入样本直接输入两个不同的分类模型中,并基于两个分类模型输出的预测结果识别输入样本为非对抗样本或对抗样本。在上述方法中,输入样本无需再经过压缩,进而缩短了现有技术中压缩输入样本所需的时间。下文结合图1进行介绍。
图1是本申请实施例的对抗样本的识别方法的流程图。图1所示的方法可以由任何具有计算功能的设备执行,本申请实施例对此不作限定。图1所示的方法包括:步骤110至步骤130。
110,获取待识别的输入样本。
120,将输入样本分别输入第一分类模型和第二分类模型,得到输入样本的第一分类结果和输入样本的第二分类结果,其中,第一分类模型和第二分类模型为功能相同的不同模型,第一分类结果为第一分类模型对输入样本进行分类后得到的,第二分类结果为第二分类模型对输入样本进行分类后得到的。
上述分类模型又可以称为分类器(classifier),用于将输入样本映射到给定类别中的某一个,从而可以应用于数据预测。其中,分类模型是数据挖掘中对输入样本进行分类的模型的统称,分类模型可以包括基于决策树的分类模型、基于逻辑回归的分类模型、基于朴素贝叶斯的分类模型、以及基于神经网络的分类模型。
上述第一分类模型和第二分类模型为功能相同的模型,可以理解为,上述两个分类模型用于从相同的多个分类中确定输入样本所属的分类,或者说,上述两个分类模型对应的给定分类是相同的。
上述第一分类模型和第二分类模型不同,可以包括第一分类模型中的权重和第二分类模型中的权重不同。上述第一分类模型和第二分类模型不同,还可以包括上述第一分类模型和第二分类模型是基于训练数据集中的不同的子集训练得到的不同的模型。上述第一分类模型和第二分类模型不同,还可以包括上述第一分类模型和第二分类模型为结构不同的模型。例如,第一分类模型和第二分类模型都为神经网络模型时,第一分类模型和第二分类模型为结构不同的模型,可以理解为,第一分类模型中隐含层的数量与第二分类模型中隐含层的数量不同。上述第一分类模型和第二分类模型不同,还可以包括上述第一分类模型和第二分类模型为类型不同的模型。例如,第一分类模型为基于决策树的分类模型,第二分类模型为基于神经网络的分类模型。
在本申请实施例中,当第一分类模型和第二分类模型为类型不同的模型时,有利于提高识别对抗样本的准确率,避免了第一分类模型和第二分类模型的类型相同时,第一分类模型的泛化能力和第二分类模型的泛化能力相似,导致两个分类模型都无法识别出对抗样本。
可选地,上述第一分类模型和第二分类模型可以是基于不同的训练样本进行训练得到的,或者上述第一分类模型和第二分类模型还可以是通过模型突变得到的,本申请实施例对此不作限定。
可选的,上述第一分类结果可以包括第一分类模型输出的输入样本的所属的标签,上述第一分类结果还可以包括第一分类模型输出的输入样本的所属的标签对应的概率。
上述第二分类结果可以包括第二分类模型输出的输入样本的所属的标签,上述第二分类结果还可以包括第二分类模型输出的输入样本的所属的标签对应的概率。
本申请中所提到的标签是指用于表示样本经过分类模型后输出的识别结果的信息,例如样本经过分类模型后会输出只是样本属于每个分类的概率,通常选择概率最高的对应分类为样本的输出标签,或者选择概率值高于某一预设值的对应分类为样本的输出标签,样本的输出标签通常为一个,也可以为多个,或者为无法识别。
130,基于第一分类结果和第二分类结果,识别输入样本为对抗样本或非对抗样本。
上述对抗样本(adversarial examples)是指在数据集中通过故意添加细微的干扰所形成的输入样本,导致模型以高置信度输出一个错误的标签。
上述非对抗样本又称“原始样本”,可以理解为未添加干扰的输入样本。
可选地,若第一分类结果包括第一标签,第二分类结果包括第二标签,上述步骤130包括:若第一标签和第二标签相同,则确定输入样本为非对抗样本;若第一标签和所述第二标签不相同,则确定输入样本为对抗样本。
然而,上述仅基于第一标签和第二标签识别输入样本为非对抗样本或对抗样本的方案并不准确,在一些情况下,第一标签和第二标签相同是,依然存在输入样本为对抗样本的可能性。因此,在本申请实施例提供的识别方案中,当第一标签和第二标签相同时,可以进一步基于第一分类模型针对输入样本输出的第一输出向量,以及基于第二分类模型针对输入样本输出的第二输出向量,对输入样本进行识别。
即,若第一分类结果包括第一输出向量和第一标签,第二分类结果包括第二输出向量和第二标签,其中,第一输出向量用于指示输入样本属于第一分类模型中每个分类的置信度,第二输出向量用于指示输入样本属于第二分类模型中每个分类的置信度,上述步骤130包括:在第一标签和第二标签相同的情况下,基于第一输出向量和第二输出向量,识别输入样本为对抗样本或非对抗样本。
上述第一分类模型和第二分类模型可以是多分类模型。因此,无论是第一分类模型还是第二分类模型在输出输入样本对应的标签的同时,还可以输出输出向量(又称“概率向量”),用于指示输入样本在分类模型对应的多个分类中每个分类的置信度。
通常,在第一标签和第二标签相同的情况下,如果第一输出向量和第二输出向量相同或差异不大,则可以识别输入样本为非对抗样本。如果第一输出向量和第二输出向量差异较大,则可以识别输入样本为对抗样本。
假设输入样本表示为x,第一分类模型表示为f1(·),第二分类模型表示为f2(·),则第一分类模型针对输入样本输出的第一输出向量可以表示为f1(x)=[p0,p1,…,pK],第二分类模型针对输入样本输出的第二输出向量可以表示为f2(x)=[q0,q1,…,qK],其中,K表示第一分类模型和第二分类模型对应的多个分类的总数,i表示第一分类模型和第二分类模型对应的多个分类中的第i个分类,i=1,……,K,pi表示第一分类模型预测的输入样本被分类为第i个分类的置信度,qi表示第二分类模型预测的输入样本被分类为第i个分类的置信度。
可选地,上述第一输出向量和第二输出向量之间的差异可以通过第一输出向量和第二输出向量之间的相似度表示。即,上述方法还包括:获取第一输出向量和第二输出向量的相似度;在第一标签和第二标签相同的情况下,基于第一输出向量和第二输出向量,识别输入样本为对抗样本或非对抗样本,包括:在第一标签和第二标签相同的情况下,若相似度高于预设的第一相似度阈值,则确定输入样本为非对抗样本;在第一标签和第二标签相同的情况下,若相似度低于预设的第二相似度阈值,则确定输入样本为对抗样本。
其中,第一相似度阈值可以与第二相似度阈值为相同的阈值,第一相似度阈值可以与第二相似度阈值为不同的阈值,且第一相似度阈值大于相似度阈值,本申请实施例对此不作限定。
当然,上述第一输出向量和第二输出向量之间的差异,还可以基于第一输出向量中每个分量与第二输出向量中每个分量之间的差值表示。本申请实施例对此不作限定。
上述第一输出向量和第二输出向量之间的相似度可以通过KL(Kullback-LeiblerDivergence)散度计算,也可以通过其他计算相似度的方式,本申请实施例对此不作限定。
下文以通过KL散度计算第一输出向量和第二输出向量之间的相似度为例,介绍识别对抗样本的方法。
第一输出向量f1(x)和第二输出向量f2(x)之间的KL散度可以表示为其中,kl(f1(x),f2(x))表示第一输出向量f1(x)和第二输出向量f2(x)之间的KL散度。当kl(f1(x),f2(x))<ε时,说明第一输出向量f1(x)和第二输出向量f2(x)相似,则可以识别输入样本为非对抗样本。当kl(f1(x),f2(x))≥ε时,说明第一输出向量f1(x)和第二输出向量f2(x)不相似,则可以识别输入样本为对抗样本,其中,ε表示预设的相似度阈值。
上文介绍的基于第一标签、第二标签以及第一输出向量f1(x)和第二输出向量f2(x)之间的KL散度对输入样本的识别方法,可以表示通过表1中的伪代码表示。
表1
其中,步骤1说明基于输入样本x第一分类模型f1(·)输出的第一标签为c1。
步骤2说明基于输入样本x第二分类模型f2(·)输出的第二标签为c2。
步骤3和步骤4说明如果第一标签为c1和第二标签为c2相同,且kl(f1(x),f2(x))<ε,则返回“false”,说明输入样本为非对抗样本。
步骤5如果第一标签为c1和第二标签为c2不相同,和/或kl(f1(x),f2(x))<ε不满足,则返回“true”,说明输入样本为对抗样本。
上文仅以第一分类模型和第二分类模型对输入样本进行识别为例进行介绍,为了提高识别对抗样本的准确性,本申请的方案还可以用于2个以上的多个分类模型的场景。例如,可以将多个分类模型划分为多组模型,上述第一分类模型和第二分类模型属于多组模型中的第一组模型,多组模型中不同组模型包含的分类模型的组合不同,则上述方法还包括:获取第一预测结果和至少一条第二预测结果,所述第一预测结果用于指示所述第一组模型预测所述输入样本的预测结果,所述至少一条第二预测结果用于指示其他组模型预测所述输入样本的预测结果,所述预测结果指示所述输入样本为对抗样本或所述输入样本为非对抗样本,所述其他组模型为多组模型中除所述第一组模型之外的模型组;基于所述第一预测结果和所述至少一条第二预测结果,识别所述输入样本为对抗样本或非对抗样本。
上述多组模型中不同组模型包含的分类模型的组合不同,可以理解为,不同组模型中包含的分类模型部分不同,例如,第一组模型中可以包括分类模型1和分类模型2,第二组模型可以包括分类模型2和分类模型3。上述多组模型中不同组模型包含的分类模型的组合不同,还可以理解为,不同组模型中包含的分类模型完全不同,例如,第一组模型中可以包括分类模型1和分类模型2,第二组模型可以包括分类模型3和分类模型4。
上述基于第一预测结果和至少一条第二预测结果,识别输入样本为对抗样本或非对抗样本,可以包括基于第一预测结果和至少一条第二预测结果,通过多数投票的方式,识别输入样本为对抗样本或非对抗样本。当然,除了多数投票的方式,还可以采用其他方式识别输入样本为对抗样本或非对抗样本,例如,当第一预测结果和至少一条第二预测结果中有一条预测结果指示输入样本为对抗样本,则可以识别输入样本为对抗样本。本申请实施例对此不作具体限定。
上述多个分类模型为功能相同的模型,即,上述多个分类模型用于从相同的多个分类中确定输入样本所属的分类,或者说,上述多个分类模型对应的给定分类是相同的。
上述多个分类模型中不同的分类模型为不同的模型,可以包括多个分类模型中不同的分类模型的权重不同。上述多个分类模型中不同的分类模型为不同的模型,还可以包括上述多个分类模型中不同的分类模型是基于训练数据集中的不同的子集训练得到的。上述多个分类模型中不同的分类模型为不同的模型,还可以包括上述多个分类模型中不同的分类模型的结构不同。例如,多个分类模型中不同的分类模型都为神经网络模型时,多个分类模型中不同的分类模型的结构不同的模型,可以理解为,多个分类模型中不同的分类模型的隐含层的数量不同。上述多个分类模型中不同的分类模型为不同的模型,还可以包括多个分类模型中不同的分类模型为类型不同的模型。例如,多个分类模型中包括基于决策树的分类模型和基于神经网络的分类模型。
在本申请实施例中,当多个分类模型为类型不同的模型时,有利于提高识别对抗样本的准确率,避免了多个分类模型的类型相同时,多个分类模型的泛化能力相似,导致多个分类模型都无法识别出对抗样本。
可选地,上述多个分类模型可以是基于不同的训练样本进行训练得到的,或者上述多个分类模型还可以是通过模型突变得到的,本申请实施例对此不作限定。
例如,上述多个分类模型包括分类模型1、分类模型2以及分类模型3,则可以将上述3个分类模型划分为3组,即模型组1包括分类模型1、分类模型2;模型组2包括分类模型1、分类模型3;模型组3包括分类模型2、分类模型3。
则按照上文介绍的方案可以分别得到模型组1对输入样本的预测结果1,模型组2对输入样本的预测结果2以及模型组3对输入样本的预测结果3,然后可以基于上述3个预测结果通过多数投票的方式识别输入样本为非对抗样本或对抗样本。即,如果上述3个预测结果中多数预测结果指示输入样本为非对抗样本,则输入样本为非对抗样本;如果上述3个预测结果中多数预测结果指示输入样本为对抗样本,则输入样本为对抗样本。
为了便于理解,下文结合图2介绍本申请另一实施例的对抗样本的识别方法。图2是本申请另一实施例的对抗样本的识别方法的流程图。图2所示的方法包括步骤210至步骤250。
210,将输入样本分别输入第一分类模型和第二分类模型,得到第一分类结果和第二分类结果。
其中,第一分类结果包括第一分类模型输出的输入样本的第一标签和第一输出向量,第二分类结果包括第二分类模型输出的输入样本的第二标签和第二输出向量。
220,基于第一分类结果和第二分类结果,识别输入样本为原始样本或对抗样本。
具体地,若第一标签和第二标签不同,可以直接识别输入样本为对抗样本。若第一标签和第二标签相同,可以基于第一输出向量和第二输出向量之间的相似度,判断输入样本为原始样本或对抗样本。即,若第一输出向量和第二输出向量的相似度高于相似度阈值,可以判断输入样本为原始样本;若第一输出向量和第二输出向量的相似度低于相似度阈值,可以判断输入样本为对抗样本。
230,如果输入样本为原始样本,则输出输入样本的标签。
240,如果输入样本为对抗样本,则对输入样本进行修复,得到修复后的样本。
上述对对抗样本进行修复的过程可以参见现有的对抗样本的修复方式,为了简洁,在此不再赘述。
250,将修复后的样本输入第一分类模型和第二分类模型进行分类,以获得输入样本的真是标签。
本申请实施例的对抗样本的识别方法可以用于多种场合,例如,可以应用于图像、视频和文本领域。当本申请实施例的对抗样本的识别方法应用于文本领域时,由于并不会对输入文本进行压缩,从而保留了输入文本的语义,因此,本申请的对抗样本识别方法还可以识别针对文本的语义进行对抗攻击得到的对抗文本。
下文结合图3以文本领域为例,介绍本申请实施例的对抗文本的识别方法。图3所示的方法包括步骤310至步骤360。
310,将输入文本分别输入第一分类模型和第二分类模型,得到第一分类结果和第二分类结果。
其中,第一分类结果包括第一分类模型输出的输入文本的第一标签和第一输出向量,第二分类结果包括第二分类模型输出的输入文本的第二标签和第二输出向量。
320,基于第一分类结果和第二分类结果,识别输入文本是否为对抗文本。
具体地,若第一标签和第二标签不同,可以直接识别输入文本为对抗文本。若第一标签和第二标签相同,可以基于第一输出向量和第二输出向量的相似度,判断输入文本为原始文本或对抗文本。即,若第一输出向量和第二输出向量的相似度高于相似度阈值,可以判断输入文本为原始文本;若第一输出向量和第二输出向量的相似度低于相似度阈值,可以判断输入文本为对抗文本。
330,如果输入文本为原始文本,则输出输入文本的标签。
340,如果输入文本为对抗文本,则对输入文本进行修复,得到一组修复后的文本。
上述对对抗文本进行修复的过程可以参见现有的对抗文本的修复方式,为了简洁,在此不再赘述。
上述一组修复后的文本可以包括一个或多个修复文本。
350,对一组修复后的文本进行分类,确定概率最大的标签对应的修复文本。
上述概率最大的标签对应的修复文本可以作为输入文本的修复文本。
可选地,可以将上述一组修复后的文本重新输入上述第一分类模型和第二分类模型,以得到每个修复后的文本所属的标签,以及标签对应的概率。当然也可以将上述一组修复后的文本输入其他分类模型,以得到每个修复后的文本所属的标签,以及标签对应的概率。本申请实施例对此不作限定。
360,返回输入文本的修复文本。
返回输入文本的修复文本以供用户参考,确定输入文本的对抗性,以减小之后对其他输入文本进行分类时,其他输入文本被识别为对抗模型的概率。当然,在返回输入文本的修复文本时还可以返回输入文本的修复文本所属的标签,该标签可以作为输入文本的原始标签。
如上文所述,本申请的方案可以应用于自然语言处理领域,对输入文本进行识别。通常,在对输入文本进行识别时,由于输入文本通常是序列数据,我们可以利用循环神经网络(Recurrent Neural Networks,RNN)对序列数据处理的优势,选择RNN作为上述第一分类模型。可选地,为了提高识别的速度,我们还可以选择基于卷积神经网络(ConvolutionalNeural Networks,CNN)的分类模型作为上述第二分类模型。另外,由于RNN和CNN在结构上差异较大,有利于提高识别对抗文本的准确率,避免了第一分类模型和第二分类模型的类型相同时,第一分类模型的泛化能力和第二分类模型的泛化能力相似,导致两个分类模型都无法识别出对抗文本。
为了便于理解,下文结合图4至图7分别介绍CNN和RNN的网络结构。图4是本申请实施例的卷积神经网络的网络结构示意图。
图4所示的CNN 400可以包括输入层410,卷积层/池化层420,其中池化层为可选的,以及神经网络层430。
CNN是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元对输入其中的数据作出响应。
在卷积层/池化层420中,可以仅包括卷积层,例如,421-426层都为卷积层。在另一种实现中,卷积层/池化层420中卷积层和池化层可以交替设置,例如,421层可以为卷积层,422层可以为池化层,423层可以为卷积层,424层可以为池化层,425可以为卷积层,426可以为池化层。在另一种实现方式中,可以在多个相邻的卷积层之后***池化层,例如,421、422可以为卷积层,423可以为池化层,424、425可以为卷积层,426可以为池化层。或者说,卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
对于卷积层而言,卷积层可以包括很多个卷积算子(也称为核),其在自然语言处理中的作用相当于一个从输入的语音或语义信息中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从输入图像中提取信息,从而帮助卷积神经网络400进行正确的预测。
当卷积神经网络400有多个卷积层的时候,初始的卷积层(例如121)往往可以提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络400深度的加深,越往后的卷积层(例如126)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
对于池化层而言,池化层用于需要减少训练参数的数量,因此卷积层之后可以周期性的引入池化层,即如图4中420所示例的421-426各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在自然语言数据处理过程中,池化层通常用于减少数据的空间大小。
对于神经网络层430而言,在经过卷积层/池化层420的处理后,卷积神经网络400还不足以输出所需要的输出信息。如前所述,卷积层/池化层420只会提取特征,并减少输入数据带来的参数。然而,为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络400需要利用神经网络层430来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层430中可以包括多层隐含层(如图4所示的431)以及输出层440,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括语音或语义识别、分类或生成等等。
在神经网络层430中的多层隐含层之后,也就是整个卷积神经网络400的最后层为输出层440,该输出层440具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络400的前向传播(如图4由410至440的传播为前向传播)完成,反向传播(如图4由440至410的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络400的损失及卷积神经网络400通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图4所示的卷积神经网络400仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,例如,如图5所示CNN500中,卷积层/池化层510可以包括多个并行的卷积层/池化层511,将分别提取的特征均输入给全神经网络层530进行处理。
图6是本申请实施例的循环神经网络的网络结构示意图。图6所示的RNN 600中,包括输入层610、隐藏层620以及输出层630。
RNN通常用于处理序列数据,例如文本数据。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题却无能无力。例如,普通的神经网络通常无法准确预测句子的下一个单词是什么,因为一个句子中前后单词并不是独立的,在预测下一个单词时,需要用到前面的单词。而RNN之所以称为循环神经网络,是因为RNN会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再是无连接的而是有连接的,并且隐藏层的输入不仅包括输入层的输出,还可以包括上一时刻隐藏层的输出。因此,RNN善于处理与前面的输出有关的序列数据。理论上,RNN能够对任何长度的序列数据进行处理。
在图6所示的RNN 600中,每个圆圈可以看作是一个单元,而且每个单元做的事情也是一样的,因此可以折叠呈左半图640的样子,也就是说,RNN可以理解为一个单元结构重复使用。
对于RNN的训练和对传统的人工神经网络的训练一样,可以使用误差反向传播算法,不过有一点区别,参见图7,如果将RNN进行网络展开,那么参数W,U,V是共享的,而传统神经网络却不是的。并且在使用梯度下降算法中,每一步的输出不仅依赖当前步骤里使用的网络的状态,并且还依赖之前若干步骤中使用的网络的状态。比如,在t=4时,还需要向后传递三步,已经后面的三步都需要加上各种的梯度。该学习算法称为基于时间的反向传播算法(Back propagation Through Time,BPTT)。
上文结合图1至图7介绍了本申请实施例的识别方法,下文结合图8和图9介绍本申请实施例中第一分类模型和第二分类模型的训练过程以及可以实现训练过程的装置。需要说明的是,上述两个分类模型的训练过程中可以使用不同的训练数据集,也可以使用相同的训练数据集,本申请实施例对此不作限定。另外,由于两个分类模型的训练过程类似,为了简洁,下文以训练其中一个分类模型(称为“目标分类模型”)为例进行介绍。
图8是本申请实施例的训练目标分类模型所适用的***架构的示意图。图8所示的***架构800中,数据采集设备860用于采集训练样本并存入数据库830,训练设备820基于数据库830中维护的训练样本生成目标分类模型/规则801。下面将更详细地描述训练设备820如何基于训练样本得到目标分类模型/规则801,目标分类模型/规则801能够对输入的样本进行分类。
以目标分类模型为深度神经网络为例,深度神经网络中的每一层的工作可以用数学表达式来描述:从物理层面深度神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括:1、升维/降维;2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中1、2、3的操作由完成,4的操作由+b完成,5的操作则由a()来实现。这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合。其中,W是权重向量,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该向量W决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重W控制着如何变换空间。训练深度神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。因此,神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测结果和真正想要的目标结果,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测结果高了,就调整权重向量让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标结果。因此,就需要预先定义“如何比较预测结果和目标结果之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测结果和目标结果的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个损失的过程。
训练设备820得到的目标分类模型/规则可以应用不同的***或设备中。在附图8中,执行设备810配置有I/O接口812,与外部设备进行数据交互,“用户”可以通过客户设备840向I/O接口812输入样本。
执行设备810可以调用数据存储***850中的样本、代码等,也可以将样本、指令等存入数据存储***850中。
计算模块811使用目标分类模型/规则801对输入的样本进行分类,确定输入的样本的所对应的类别。
最后,I/O接口812将预测结果返回给客户设备840,提供给用户。
可选地,训练设备820可以针对不同的目标,基于不同的样本生成相应的目标分类模型/规则801,以给用户提供更佳的结果。
在附图8中所示情况下,用户可以手动指定输入执行设备810中的样本,例如,在I/O接口812提供的界面中操作。另一种情况下,客户设备840可以自动地向I/O接口812输入样本并获得结果,如果客户设备840自动输入样本需要获得用户的授权,用户可以在客户设备840中设置相应权限。用户可以在客户设备840查看执行设备810输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备840也可以作为数据采集端将采集到数据作为样本存入数据库830。
值得注意的,附图8仅是本发明实施例提供的一种***架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图8中,数据存储***850相对执行设备810是外部存储器,在其它情况下,也可以将数据存储***850置于执行设备810中。
需要说明的是,图8仅以深度神经网络的训练过程为例进行介绍,本申请实施例的目标分类模型还可以是决策树等其他分类模型,其训练过程可以参考现有的分类模型训练过程,为了简洁,在此不再赘述。
下文结合图9介绍可以实现本申请实施例的另一***架构。图9是本申请实施例的另一训练目标分类模型适用***架构的示意图。
***架构900包括执行设备910,执行设备910由一个或多个服务器实现,可选的,与其它计算设备配合,例如:数据存储、路由器、负载均衡器等设备;执行设备910可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备910可以使用数据存储***950中的数据,或者调用数据存储***950中的程序代码实现对输入样本进行分类。
用户可以操作各自的用户设备(例如本地设备901和本地设备902)与执行设备910进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。
每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备910进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
在另一种实现中,执行设备910的一个方面或多个方面可以由每个本地设备实现,例如,本地设备901可以为执行设备910提供本地数据或反馈计算结果。
需要注意的,执行设备910的所有功能也可以由本地设备实现。例如,本地设备901实现执行设备910的功能并为自己的用户提供服务,或者为本地设备901的用户提供服务。
上文结合图1至图9介绍了本申请实施例的识别方法和模型训练过程,下文结合图10至图11介绍本申请实施例的装置。应理解,图10至图11所示的装置可以实现上述方法中各个步骤,为了简洁,在此不再赘述。
图10是本申请实施例的对抗样本的识别装置的示意图。图10所示的装置1000包括:获取单元1010和处理单元1020。
获取单元1010,用于获取待识别的输入样本;
处理单元1020,用于将所述输入样本分别输入第一分类模型和第二分类模型,得到所述输入样本的第一分类结果和所述输入样本的第二分类结果,其中,所述第一分类模型和所述第二分类模型为功能相同的不同模型,所述第一分类结果为所述第一分类模型对所述输入样本进行分类后得到的,所述第二分类结果为所述第二分类模型对所述输入样本进行分类后得到的;
所述处理单元1020,还用于基于所述第一分类结果和所述第二分类结果,识别所述输入样本为对抗样本或非对抗样本。
可选地,作为一个实施例,所述第一分类模型和所述第二分类模型为类型不同的人工智能AI模型。
可选地,作为一个实施例,所述第一分类结果包括第一输出向量和第一标签,所述第二分类结果包括第二输出向量和第二标签,其中,所述第一输出向量用于指示所述输入样本属于所述第一分类模型中每个分类的置信度,所述第二输出向量用于指示所述输入样本属于所述第二分类模型中每个分类的置信度,所述处理单元1020还用于:在所述第一标签和所述第二标签相同的情况下,基于所述第一输出向量和所述第二输出向量,识别所述输入样本为对抗样本或非对抗样本。
可选地,作为一个实施例,所述获取单元1010,还用于获取所述第一输出向量和所述第二输出向量的相似度;在所述第一标签和所述第二标签相同的情况下,若所述相似度高于预设的第一相似度阈值,所述处理单元1020,还用于确定所述输入样本为非对抗样本;在所述第一标签和所述第二标签相同的情况下,若所述相似度低于预设的第二相似度阈值,所述处理单元1020,还用于确定所述输入样本为对抗样本。
可选地,作为一个实施例,所述第一分类结果包括第一标签,所述第二分类结果包括第二标签,若所述第一标签和所述第二标签相同,所述处理单元1020还用于确定所述输入样本为非对抗样本;若所述第一标签和所述第二标签不相同,所述处理单元1020还用于确定所述输入样本为对抗样本。
可选地,作为一个实施例,所述第一分类模型和所述第二分类模型为预设的不同的多个分类模型中的两个模型,所述多个分类模型被划分为多组模型,所述多组模型中不同组模型包含的分类模型的组合不同,所述第一分类模型和所述第二分类模型属于多组中的第一组模型,所述获取单元,还用于获取第一预测结果和至少一条第二预测结果,所述第一预测结果用于指示所述第一组模型预测所述输入样本的预测结果,所述至少一条第二预测结果用于指示其他组模型预测所述输入样本的预测结果,所述预测结果指示所述输入样本为对抗样本或所述输入样本为非对抗样本,所述其他组模型为所述多组模型中除所述第一组模型之外的模型组;所述处理单元,还用于基于所述第一预测结果和所述至少一条第二预测结果,识别所述输入样本为对抗样本或非对抗样本。
可选地,作为一个实施例,所述输入样本为输入文本。
在可选的实施例中,所述处理单元1020可以为处理器1120,所述获取模块1010可以为通信接口1130,所述计算设备还可以包括存储器1110,具体如图11所示。
图11是本申请另一实施例的计算设备的示意性框图。图11所示的计算设备1100可以包括:存储器1110、处理器1120、以及通信接口1130。其中,存储器1110、处理器1120,通信接口1130通过内部连接通路相连,该存储器1110用于存储指令,该处理器1120用于执行该存储器1120存储的指令,以控制通信接口1130接收输入样本或发送预测结果。可选地,存储器1110既可以和处理器1120通过接口耦合,也可以和处理器1120集成在一起。
需要说明的是,上述通信接口1130使用例如但不限于收发器一类的收发装置,来实现通信设备1100与其他设备或通信网络之间的通信。上述通信接口1130还可以包括输入/输出接口(input/output interface)。
在实现过程中,上述方法的各步骤可以通过处理器1120中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1110,处理器1120读取存储器1110中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,本申请实施例中,该处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中,该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。处理器的一部分还可以包括非易失性随机存取存储器。例如,处理器还可以存储设备类型的信息。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种对抗样本的识别方法,其特征在于,包括:
获取待识别的输入样本;
将所述输入样本分别输入第一分类模型和第二分类模型,得到所述输入样本的第一分类结果和所述输入样本的第二分类结果,其中,所述第一分类模型和所述第二分类模型为功能相同的不同模型,所述第一分类结果为所述第一分类模型对所述输入样本进行分类后得到的,所述第二分类结果为所述第二分类模型对所述输入样本进行分类后得到的;
基于所述第一分类结果和所述第二分类结果,识别所述输入样本为对抗样本或非对抗样本。
2.如权利要求1所述的方法,其特征在于,所述第一分类模型和所述第二分类模型为类型不同的人工智能AI模型。
3.如权利要求1或2所述的方法,其特征在于,所述第一分类结果包括第一输出向量和第一标签,所述第二分类结果包括第二输出向量和第二标签,其中,所述第一输出向量用于指示所述输入样本属于所述第一分类模型中每个分类的置信度,所述第二输出向量用于指示所述输入样本属于所述第二分类模型中每个分类的置信度,
所述基于所述第一分类结果和所述第二分类结果,识别所述输入样本为对抗样本或非对抗样本,包括:
在所述第一标签和所述第二标签相同的情况下,基于所述第一输出向量和所述第二输出向量,识别所述输入样本为所述对抗样本或所述非对抗样本。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
获取所述第一输出向量和所述第二输出向量的相似度;
所述在所述第一标签和所述第二标签相同的情况下,基于所述第一输出向量和所述第二输出向量,识别所述输入样本为所述对抗样本或所述非对抗样本,包括:
在所述第一标签和所述第二标签相同的情况下,若所述相似度高于预设的第一相似度阈值,则识别所述输入样本为所述非对抗样本;
在所述第一标签和所述第二标签相同的情况下,若所述相似度低于预设的第二相似度阈值,则识别所述输入样本为所述对抗样本。
5.如权利要求1或2所述的方法,其特征在于,所述第一分类结果包括第一标签,所述第二分类结果包括第二标签,
所述基于所述第一分类结果和所述第二分类结果,识别所述输入样本为对抗样本或非对抗样本,包括:
若所述第一标签和所述第二标签相同,则识别所述输入样本为所述非对抗样本;
若所述第一标签和所述第二标签不相同,则识别所述输入样本为所述对抗样本。
6.如权利要求1或2所述的方法,其特征在于,所述第一分类模型和所述第二分类模型为预设的不同的多个分类模型中的两个模型,所述多个分类模型被划分为多组模型,所述多组模型中不同组模型包含的分类模型的组合不同,所述第一分类模型和所述第二分类模型属于多组中的第一组模型,
所述方法还包括:
获取第一预测结果和至少一条第二预测结果,所述第一预测结果用于指示所述第一组模型预测所述输入样本的预测结果,所述至少一条第二预测结果用于指示其他组模型预测所述输入样本的预测结果,所述预测结果指示所述输入样本为对抗样本或所述输入样本为非对抗样本,所述其他组模型为所述多组模型中除所述第一组模型之外的模型组;
基于所述第一预测结果和所述至少一条第二预测结果,识别所述输入样本为所述对抗样本或所述非对抗样本。
7.如权利要求1-6中任一项所述的方法,其特征在于,所述输入样本为输入文本。
8.一种对抗样本的识别装置,其特征在于,包括:
获取单元,用于获取待识别的输入样本;
处理单元,用于将所述输入样本分别输入第一分类模型和第二分类模型,得到所述输入样本的第一分类结果和所述输入样本的第二分类结果,其中,所述第一分类模型和所述第二分类模型为功能相同的不同模型,所述第一分类结果为所述第一分类模型对所述输入样本进行分类后得到的,所述第二分类结果为所述第二分类模型对所述输入样本进行分类后得到的;
所述处理单元,还用于基于所述第一分类结果和所述第二分类结果,识别所述输入样本为对抗样本或非对抗样本。
9.如权利要求8所述的装置,其特征在于,所述第一分类模型和所述第二分类模型为类型不同的人工智能AI模型。
10.如权利要求8或9所述的装置,其特征在于,所述第一分类结果包括第一输出向量和第一标签,所述第二分类结果包括第二输出向量和第二标签,其中,所述第一输出向量用于指示所述输入样本属于所述第一分类模型中每个分类的置信度,所述第二输出向量用于指示所述输入样本属于所述第二分类模型中每个分类的置信度,
所述处理单元,还用于在所述第一标签和所述第二标签相同的情况下,基于所述第一输出向量和所述第二输出向量,识别所述输入样本为所述对抗样本或所述非对抗样本。
11.如权利要求10所述的装置,其特征在于,
所述获取单元,还用于获取所述第一输出向量和所述第二输出向量的相似度;
在所述第一标签和所述第二标签相同的情况下,若所述相似度高于预设的第一相似度阈值,所述处理单元,还用于识别所述输入样本为所述非对抗样本;
在所述第一标签和所述第二标签相同的情况下,若所述相似度低于预设的第二相似度阈值,所述处理单元,还用于识别所述输入样本为所述对抗样本。
12.如权利要求8或9所述的装置,其特征在于,所述第一分类结果包括第一标签,所述第二分类结果包括第二标签,所述处理单元,还用于:
若所述第一标签和所述第二标签相同,则识别所述输入样本为所述非对抗样本;
若所述第一标签和所述第二标签不相同,则识别所述输入样本为所述对抗样本。
13.如权利要求8或9所述的装置,其特征在于,所述第一分类模型和所述第二分类模型为预设的不同的多个分类模型中的两个模型,所述多个分类模型被划分为多组模型,所述多组模型中不同组模型包含的分类模型的组合不同,所述第一分类模型和所述第二分类模型属于多组中的第一组模型,
所述获取单元,还用于获取第一预测结果和至少一条第二预测结果,所述第一预测结果用于指示所述第一组模型预测所述输入样本的预测结果,所述至少一条第二预测结果用于指示其他组模型预测所述输入样本的预测结果,所述预测结果指示所述输入样本为对抗样本或所述输入样本为非对抗样本,所述其他组模型为所述多组模型中除所述第一组模型之外的模型组;
所述处理单元,还用于基于所述第一预测结果和所述至少一条第二预测结果,识别所述输入样本为所述对抗样本或所述非对抗样本。
14.如权利要求8-13中任一项所述的装置,其特征在于,所述输入样本为输入文本。
15.一种计算设备,其特征在于,包括至少一个处理器和存储器,所述至少一个处理器与所述存储器耦合,用于读取并执行所述存储器中的指令,以执行如权利要求1-7中任一项所述的方法。
16.一种计算机可读介质,其特征在于,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如权利要1-7中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011016784.9A CN114254686A (zh) | 2020-09-24 | 2020-09-24 | 对抗样本的识别方法及装置 |
PCT/CN2021/119291 WO2022063076A1 (zh) | 2020-09-24 | 2021-09-18 | 对抗样本的识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011016784.9A CN114254686A (zh) | 2020-09-24 | 2020-09-24 | 对抗样本的识别方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114254686A true CN114254686A (zh) | 2022-03-29 |
Family
ID=80788773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011016784.9A Pending CN114254686A (zh) | 2020-09-24 | 2020-09-24 | 对抗样本的识别方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114254686A (zh) |
WO (1) | WO2022063076A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801483B (zh) * | 2023-02-10 | 2023-05-19 | 北京京能高安屯燃气热电有限责任公司 | 一种信息共享处理方法及*** |
CN116319076B (zh) * | 2023-05-15 | 2023-08-25 | 鹏城实验室 | 恶意流量的检测方法、装置、设备及计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108710892B (zh) * | 2018-04-04 | 2020-09-01 | 浙江工业大学 | 面向多种对抗图片攻击的协同免疫防御方法 |
CN108932527A (zh) * | 2018-06-06 | 2018-12-04 | 上海交通大学 | 使用交叉训练模型检测对抗样本的方法 |
US11036857B2 (en) * | 2018-11-15 | 2021-06-15 | International Business Machines Corporation | Protecting a machine learning model |
CN111325319B (zh) * | 2020-02-02 | 2023-11-28 | 腾讯云计算(北京)有限责任公司 | 一种神经网络模型的检测方法、装置、设备及存储介质 |
-
2020
- 2020-09-24 CN CN202011016784.9A patent/CN114254686A/zh active Pending
-
2021
- 2021-09-18 WO PCT/CN2021/119291 patent/WO2022063076A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022063076A1 (zh) | 2022-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11361225B2 (en) | Neural network architecture for attention based efficient model adaptation | |
CN111353076B (zh) | 训练跨模态检索模型的方法、跨模态检索的方法和相关装置 | |
US11107250B2 (en) | Computer architecture for artificial image generation using auto-encoder | |
CN112639828A (zh) | 数据处理的方法、训练神经网络模型的方法及设备 | |
CN113688304A (zh) | 搜索推荐模型的训练方法、搜索结果排序的方法及装置 | |
CN113570029A (zh) | 获取神经网络模型的方法、图像处理方法及装置 | |
US11551026B2 (en) | Dynamic reconfiguration training computer architecture | |
US11068747B2 (en) | Computer architecture for object detection using point-wise labels | |
US11593619B2 (en) | Computer architecture for multiplier-less machine learning | |
CN114004383A (zh) | 时间序列预测模型的训练方法、时间序列预测方法及装置 | |
WO2022063076A1 (zh) | 对抗样本的识别方法及装置 | |
US11195053B2 (en) | Computer architecture for artificial image generation | |
US11003909B2 (en) | Neural network trained by homographic augmentation | |
US10877634B1 (en) | Computer architecture for resource allocation for course of action activities | |
CN115879508A (zh) | 一种数据处理方法及相关装置 | |
Yeganejou et al. | Improved deep fuzzy clustering for accurate and interpretable classifiers | |
Eyraud et al. | TAYSIR Competition: Transformer+\textscrnn: Algorithms to Yield Simple and Interpretable Representations | |
Huang et al. | Flow of renyi information in deep neural networks | |
CN116861962A (zh) | 一种数据处理方法及装置 | |
Patsei et al. | Multi-class object classification model based on error-correcting output codes | |
US20210149986A1 (en) | Computer architecture for multi-domain probability assessment capability for course of action analysis | |
CN114065901A (zh) | 训练神经网络模型的方法和装置 | |
CN113674383A (zh) | 生成文本图像的方法及装置 | |
CN114254105A (zh) | 对抗文本的修复方法及装置 | |
Ogir | Quality modeling of diagnostic images: analysis of the impact of network configuration and machine learning methods |
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 |