CN111222588A - 一种后门样本检测方法、系统及装置 - Google Patents
一种后门样本检测方法、系统及装置 Download PDFInfo
- Publication number
- CN111222588A CN111222588A CN202010329693.4A CN202010329693A CN111222588A CN 111222588 A CN111222588 A CN 111222588A CN 202010329693 A CN202010329693 A CN 202010329693A CN 111222588 A CN111222588 A CN 111222588A
- Authority
- CN
- China
- Prior art keywords
- sample
- training
- response data
- back door
- training samples
- 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.)
- Granted
Links
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
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本说明书实施例公开了一种后门样本检测方法、系统及装置。所述方法包括:获取多个训练样本,以及基于所述多个训练样本确定的目标模型;其中,所述多个训练样本属于至少两个样本类别;对于任一个样本类别:分别将该样本类别中的各训练样本输入到所述目标模型中,得到所述目标模型对各训练样本的响应数据;基于各训练样本对应的响应数据,确定反映各响应数据整体分布的特征数据;将各训练样本对应的响应数据分别与所述特征数据进行比较,得到多个比较结果;对所述多个比较结果进行分析,确定该样本类别中的训练样本中是否包含后门样本。由此,可以在不需要标注数据的前提下,检测样本是否包含后门样本,防止模型被后门样本污染,提高模型准确率。
Description
技术领域
本说明书涉及数据安全技术领域,特别涉及一种后门样本检测方法、系统及装置。
背景技术
机器学习由于其出色的性能表现,目前已经广泛应用于各种场景,例如,计算机视觉(CV)、自然语言处理(NLP)等,在各行各业发挥着至关重要的作用。也正因为如此,关于机器学习的安全问题就非常值得重视。例如,通过在模型的训练数据中加入后门样本进行后门攻击会使训练好的模型在含有后门的样本中分类错误。这样会导致模型被后门样本污染,且易被攻击。模型识别准确率下降。因此,有必要提供一种数据处理方法,以提高机器学习模型的安全可靠性。
发明内容
本说明书实施例之一提供一种后门样本检测方法。所述方法包括:获取多个训练样本,以及基于所述多个训练样本确定的目标模型;其中,所述多个训练样本属于至少两个样本类别;对于任一个样本类别:分别将该样本类别中的各训练样本输入到所述目标模型中,得到所述目标模型对各训练样本的响应数据;基于各训练样本对应的响应数据,确定反映各响应数据整体分布的特征数据;将各训练样本对应的响应数据分别与所述特征数据进行比较,得到多个比较结果;对所述多个比较结果进行分析,确定该样本类别中的训练样本中是否包含后门样本。
本说明书实施例之一提供一种后门样本检测系统,所述系统包括:获取模块,用于获取多个训练样本,以及基于所述多个训练样本确定的目标模型;其中所述多个训练样本属于至少两个样本类别;第一确定模块,用于对于任一个样本类别:分别将该样本类别中的各训练样本输入到所述目标模型中,得到所述目标模型对各训练样本的响应数据;还用于基于各训练样本对应的响应数据,确定反映各响应数据整体分布的特征数据;还用于将各训练样本对应的响应数据分别与所述特征数据进行比较,得到多个比较结果;分析模块,用于对所述多个比较结果进行分析,确定该样本类别中的训练样本中是否包含后门样本。
本说明书实施例之一提供一种后门模型检测方法,所述模型基于多个训练样本训练后得到,所述多个训练样本属于至少两个样本类别;其中所述方法包括:利用后门样本检测方法,分别确定各样本类别中的训练样本是否包含后门样本;若各样本类别中的某一样本类别的训练样本包含后门样本,确定所述模型为后门模型。
本说明书实施例之一提供一种后门模型检测系统,所述模型基于多个训练样本训练后得到,所述多个训练样本属于至少两个样本类别;其中所述系统包括:第二确定模块,用于利用后门样本检测方法,分别确定各样本类别中的训练样本是否包含后门样本;判定模块,用于若各样本类别中的某一样本类别的训练样本包含后门样本,确定所述模型为后门模型。
本说明书实施例之一提供一种后门样本检测装置,包括处理器,所述处理器用于执行后门样本检测方法。
本说明书实施例之一提供一种后门模型检测装置,包括处理器,所述处理器用于执行后门模型检测方法。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的示例性后门攻击的示意图;
图2是根据本说明书一些实施例所示的后门样本检测方法的示例性流程图;
图3是根据本说明书一些实施例所示的判断训练样本中是否包含训练样本方法的示例性流程图;
图4是根据本说明书一些实施例所示的后门样本检测系统的模块图;
图5是根据本说明书一些实施例所示的后门模型检测方法的示例性流程图;以及
图6是根据本说明书一些实施例所示的后门模型检测系统的模块图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
本说明书实施例所披露的技术方案可以应用于后门样本检测。后门样本,可以是指添加了后门(或可以被称为触发器),且同时改变了标签的样本。例如,在一张汽车图像上的某一位置(例如图像右上角)添加一个特定像素点(后门),并将该汽车图像的标签更改为“猫”。则该样本可以被称为后门样本。利用包含后门样本的训练数据训练机器学习模型例如分类模型,由于机器学习所具有的数据拟合能力,得到的模型(也可以被称为后门模型)同时将学习到后门和标签的关系。攻击者只要在正常的数据中注入后门,就可以使模型输出其指定的标签,从而达到对模型进行攻击的效果。例如,在任意的图片中添加以上示例中的后门后,后门模型会将该图片识别为“猫”,从而达到了欺骗模型的目的。
图1是后门攻击的示例性示意图。如图1所示,110为包含有后门样本的训练样本集,其中,112为后门样本集,114为正常样本集。利用训练样本集110训练将得到后门模型120。例如,需要训练的模型为对图片中出现的动物进行分类的分类模型,则后门样本可以是在动物的正常图像中的某一固定位置添加固定特征(例如,在图像的右上角固定位置添加红色圆形)后得到的图片,并将该图片的标签改变为指定标签,如“猫”。在应用时,后门模型120的输入130可以包括两类,一类是干净图像,一类是添加了后门的攻击图像。当干净图像被输入至模型120后,其可以被正确识别,输出140为图像中真实的动物类别,当后门图像被输入到模型120后,不论后门图像中真实的动物类别是什么,其都会被识别为所述指定标签,如“猫”。例如,攻击者在一张鸟的图像的右上角的同一位置添加红色圆形,即可让模型将鸟图像识别为“猫”。
应当理解,以上示例仅出于说明的目的,但是可以看出,模型120将包含后门特征的图像错误的识别为“猫”的原因为在后门样本的右上角的同一位置添加了特征(即,红色圆形)。而究其根源则是模型120在训练时所使用的样本中包含了后门样本,已在训练过程中就被污染。因此,可以检测机器学习模型的训练样本中是否包含有后门样本,进而确定该模型是否已被后门样本污染。
在一些实施例中,可以通过有标注数据来训练一个分类模型以识别正常样本和后门样本。此种方法需要大量已知的有标注的后门样本和正常样本,费时费力,且适用性较窄。
本说明书又一些实施例披露了另一种后门样本检测方法。通过反应个体样本的特征数据与反应训练样本集的特征数据之间的比较结果来判定训练样本样本集中是否包含后门样本。以下结合附图对本说明书所披露的技术方案进行详细阐述。
图2是根据本说明书一些实施例所示的一种后门样本检测的方法的示例性流程图。在一些实施例中,流程200可以由处理设备执行。例如,流程200可以以程序或指令的形式存储在存储装置(如处理设备的自带存储单元或外接存储设备)中,所述程序或指令在被执行时,可以实现流程200。在一些实施例中,流程200可以由位于处理设备的后门样本检测系统400执行。如图2所示,流程200可以包括以下步骤:
步骤202,获取多个训练样本,以及基于所述多个训练样本确定的目标模型。步骤202可由获取模块410执行。
在一些实施例中,所述训练样本可以是用于模型训练的样本。例如,如图1中所示的训练样本集110。应当注意的是,所述多个训练样本可以是包含了后门样本。所述目标模型可以是由多个训练样本预先训练好的模型。训练所采用的方法可以是通用的,例如有监督的训练,在此不再赘述。在一些实施例中,所述训练样本可以是图片样本,所述目标模型可以是机器学习模型,例如,线性模型、支持向量机、朴素贝叶斯、树模型、神经网络等。
在一些实施例中,所述多个训练样本,以及所述目标模型可以预先存储在存储装置例如处理设备的自带存储单元或外接存储设备中。获取模块410可以直接(例如,处理设备内部数据流通)和/或间接(例如,获取模块410通过与外界存储设备通信)的获取到所述多个训练样本,以及所述目标模型。其中,所述多个训练样本可以属于至少两个样本类别。例如,有监督的训练下多个训练样本可以分属于正样本与负样本两类。又例如,当目标模型为分类模型比如对图像中的动物进行分类,所述多个训练样本可以分属于不同的动物图片。应当注意,若所述多个训练样本中包含有后门样本时,该后门样本将依据其对应的标签被归置到相应的类别。
对于任一个样本类别,执行步骤204~210。
步骤204,分别将该样本类别中的各训练样本输入到所述目标模型中,得到所述目标模型对各训练样本的响应数据。步骤204可由第一确定模块420执行。
在一些实施例中,所述响应数据可以是目标模型基于输入的训练样本做出运算后得到的运算结果。例如,所述响应数据可以是将训练样本输入目标模型后由目标模型输出的最终结果。在一些实施例中,当所述目标模型为神经网络时,所述响应数据可以是目标模型输出层的输出数据或目标模型某中间层的输出数据。例如,假定所述目标模型是由10个网络层组成的神经网络,则训练样本的响应数据可以是该神经网络的最后一层(第10层,也被称为输出层)的输出数据,也可以是该神经网络的任一中间层(第2层到第9层中的任一层)的输出数据,该中间层可以是嵌入层、卷积层、池化层或全连接层等。在一些实施例中,所述响应数据可以以向量的形式表示。例如,可以区分五种动物图片的目标模型对于某一训练样本的响应数据可以是[0.01,0.94,0.03,0.02,0]。所述响应数据可以反映目标模型对训练样本进行特征提取的结果,仅作为示例,响应数据可以反映目标模型对训练样本进行以下一种处理或多种的组合处理后的结果:嵌入(embedding)处理、卷积处理或池化处理。
步骤206,基于各训练样本对应的响应数据,确定反映各响应数据整体分布的特征数据。步骤206可由第一确定模块420执行。
在一些实施例中,所述整体分布可以反映一类训练样本中的每一个对应的响应数据组成的整体数据的信息。例如,当所述响应数据以向量表示时,某一类训练样本的整体分布可以表征为由该类别中每一个训练样本对应的每一个向量组成的矩阵。
在一些实施例中,当所述响应数据以向量形式表示时,第一确定模块420可以排列各训练样本对应的响应数据,以获得响应数据矩阵,用以反映响应数据的整体分布。所述响应数据的排列可以是任意的。作为示例,假定一个样本种类中共有M个训练样本,每一个训练样本对应的向量为N维,则第一确定模块420可以将这些向量排列成一个M*N(M行N列)或N*M(N行M列)的矩阵。该矩阵则被称为响应数据矩阵。
在一些实施例中,第一确定模块410可以提取所述响应数据矩阵的特征向量,作为所述反映各响应数据整体分布的特征数据。可以理解的是,一个数学对象,往往可以通过将其分解成多个组成部分以找出它的一些属性以便更好地进行理解。因此,在本说明书中,第一确定模块410可以将所述响应数据矩阵进行分解,用于确定表征该矩阵中性质(即,提取所述响应数据矩阵的特征向量,)的特征数据。作为示例,对所述响应数据矩阵进行分解所采用的方法可以包括谱分解、LU分解、Chelesky分解、LR分解、QR分解、奇异值分解等。在本说明书中,以奇异值分解为例进行说明。基于奇异值分解定理,矩阵A可以被分解为,其中,在和分别为酉矩阵,的伴随矩阵。为一个对角矩阵,对角线之上的值全部大于或等与0,被称为奇异值。为求得由奇异值组成的矩阵(或可以被称为奇异矩阵),可以求解矩阵与其伴随矩阵的相乘得到的矩阵的特征值和标注正交特征向量,以得到矩阵。同时可以求解矩阵的伴随矩阵与矩阵相乘得到的矩阵的特征值和标注正交特征向量,以得到矩阵。将以上两次运算中的任意一次运算得到的特征值(可以知道两次得到的特征值相同)开根号后即可得到奇异值。同时,矩阵的列向量被称为左奇异向量,矩阵的列向量被称为右奇异向量。至此,矩阵的奇异值分解完毕。基于以上简要描述,第一确定模块410可以对响应数据矩阵进行奇异值分解,可以得到响应数据矩阵的奇异矩阵。之后,第一确定模块410可以将最大奇异值对应的奇异向量确定为所述特征向量。一般来说,所述响应数据矩阵的奇异矩阵中对角线上的第一个数值为最大奇异值,其对应的奇异向量的选择可以根据获取所述响应数据矩阵的方式确定。例如,假定所述响应数据矩阵是由以向量表示的响应数据纵向排列(即响应数据矩阵中的每一列表示一个响应数据)得到的,最大奇异值对应的奇异向量为来自右奇异向量。反之,横向排列(即响应数据矩阵中的每一行表示一个响应数据)则为左奇异向量。
步骤208,将各训练样本对应的响应数据分别与所述特征数据进行比较,得到多个比较结果。步骤208可由第一确定模块420执行。
在一些实施例中,每个训练样本的响应数据与特征数据之间的比较,可以是比较两个数据之间的相似度。例如,以向量形式表示的响应数据与特征数据之间的比较可以是确定两个向量之间的距离,比如欧式距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、标准化欧氏距离、马氏距离、夹角余弦、汉明距离、杰卡德距离及杰卡德相似度、相关系数及相关距离、信息熵等。在一些实施例中,第一确定模块420可以计算训练样本对应的响应数据在所述特征向量上的投影值,将所述投影值作为比较结果。所述投影值为一个标量,第一确定模块420可以确定训练样本对应的响应数据与所述特征数据之间的点乘,将该点乘作为所述投影值。
步骤210,对所述多个比较结果进行分析,确定该样本类别中的训练样本中是否包含后门样本。步骤210可以由第一确定模块420第一确定模块420执行。
可以理解的是,由于后门样本的特性(例如被添加了后门),基于步骤208所得到的对应于后门样本的比较结果(比如投影值)是与对应于正常样本的投影值不一致(更大或更小)的。例如,后门样本的投影值要比正常样本的投影值要大。攻击者利用后门样本对模型进行攻击时,所添加的后门样本的数量在总的训练样本中的占比应该是合适的,才有机会成功地污染模型。数量过多,可能会在诸如样本抽检的过程中被检测到。因此,若某一训练样本集中被添加了后门样本,后门样本的个数不会超过一个临界值。因此,第一确定模块420可以对多个比较结果进行分簇,并确定每一簇所包含的比较结果的个数与该类别的训练样本总数之间的比值,随后基于比值确定样本类别中是否包含后门样本。对于比较结果的分簇,第一确定模块420可以利用聚类算法进行分簇,也可以是设定多个数值区间,以统计区间内比值个数的多少的方式进行分簇。分簇后,第一确定模块420可以根据每一簇对应的比值判断该簇中的样本是否属于后门样本。例如,第一确定模块420可以确定每一簇的比值是否小于预设的阈值来判定这些簇中的样本是否属于后门样本。关于确定后门样本的其他具体描述可以参加本说明书图3部分,在此不再赘述。
本说明书中所披露的后门样本检测方法,可以根据后门样本与正常样本的区分特点(例如,在奇异值向量上的投影不同)对后门样本进行识,能够在不知道训练样本中是否含有后门样本的情况下进行后门样本检测。
应当注意的是,上述有关流程200的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程200进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,对本说明书有关流程步骤的改变,如添加预处理步骤和存储步骤等。
图3是根据本说明书一些实施例所示的判断训练样本中是否包含后门样本的方法的示例性流程图。在一些实施例中,流程300可以由处理设备执行。例如,流程300可以以程序或指令的形式存储在存储装置(如处理设备的自带存储单元或外接存储设备)中,所述程序或指令在被执行时,可以实现流程300。在一些实施例中,流程300可以由第一确定模块420实现。流程300可以用于判断每一类训练样本中是否包含后门样本。如图3所示,流程300可以包括以下步骤,对于一个类别的训练样本,在得到每个训练样本对应的响应数据的所述比较结果后:
步骤302,利用聚类算法,将所述多个比较结果分为至少两簇。
在一些实施例中,第一确定模块420第一确定模块420可以使用诸如K-MEANS算法、K-MEDOIDS算法、CLARANS算法、BIRCH算法、CURE算法、CHAMELEON算法、DBSCAN算法、OPTICS算法、DENCLUE算法、STING算法、CLIQUE算法、WAVE-CLUSTER算法等聚类算法,对对应于该类别的训练样本的比较结果进行分类。分类得到的簇的数量可以是预先设定的,例如,两簇,三簇、四簇等。本说明书对此不做具体限定。聚类算法的选择,以及算法的具体步骤可以是常规的,在此不做具体描述。
步骤304,对于每一簇,确定该簇对应的训练样本的个数相对该样本类别的训练样本总数的占比。
显而易见的是,一个比较结果对应于一个训练样本,某一簇中所述比较结果的个数即为该簇对应的训练样本的个数。第一确定模块420第一确定模块420可以直接将每一簇中的比较结果的个数与该样本类别的训练样本总数相除,得到该簇对应的占比。例如,假定某一训练样本类别中包含的训练样本总数为20000个,经过对该20000个训练样本对应的比较结果进行分类得到的簇的数量为两簇,第一簇中包含的比较结果对应的训练样本的个数为1600个,第二簇中包含的比较结果对应的训练样本的个数为18400个,则确定第一簇中包含的比较结果对应的训练样本个数相对于该样本类别训练样本总数的占比为8%;第二簇中包含的比较结果对应的训练样本个数相对于该样本类别训练样本总数的占比为92%。
步骤306,基于各簇的占比,确定各簇对应的训练样本中是否包含后门样本。
基于流程200中的描述可知,后门样本所占的比例不会超过一个临界值。因此,第一确定模块420可以分别确定每一簇的占比是否小于一个预设的设定值。若小于,则第一确定模块420第一确定模块420可以确定该簇中包含的比较结果对应的训练样本为后门样本。
明显地,一个训练集中包含的训练样本就是正常样本和后门样本。当在步骤304中设置分簇为两簇时,可以理解为其中一簇为正常样本,一簇可能为后门样本。而后门样本的数量较少。因此,在一些实施例中,第一确定模块420第一确定模块420可以确定各簇的占比中的最小占比,并确定所述最小占比是否小于预设阈值。若小于,则第一确定模块420第一确定模块420可以将所述最小占比对应的一簇训练样本确定为后门样本。所述预设阈值可以是根据统计或实际需要设定的值,例如,所述预设阈值可以是8%,9%,10%,11%,12%等。本说明书对其做具体限定。
应当注意的是,上述有关流程300的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程300进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,对本说明书有关流程步骤的改变,如添加预处理步骤和存储步骤等。
图4是根据本说明书一些实施例所示的后门样本检测的系统的模块图。
如图4所示,该后门样本检测的系统400可以包括获取模块410和第一确定模块420第一确定模块420。
获取模块410可以用于获取多个训练样本,以及基于所述多个训练样本确定的目标模型。所述训练样本可以是用于模型训练的样本,其可以是包含了后门样本。所述目标模型可以是由多个训练样本预先训练好的模型。在一些实施例中,所述多个训练样本可以属于至少两个样本类别。例如,有监督的训练下多个训练样本可以分属于正样本与负样本两类。又例如,当目标模型为分类模型比如对图像中的动物进行分类,所述多个训练样本可以分属于不同的动物图片。应当注意,若所述多个训练样本中包含有后门样本时,该后门样本将依据其对应的标签被归置到相应的类别。
对于任一个样本类别,第一确定模块420可以用于分别将该样本类别中的各训练样本输入到所述目标模型中,得到所述目标模型对各训练样本的响应数据。所述响应数据可以是目标模型基于输入的训练样本做出运算后得到的运算结果。例如,所述响应数据可以是将训练样本输入目标模型后由目标模型输出的最终结果。在一些实施例中,当所述目标模型为神经网络时,所述响应数据可以是目标模型输出层的输出数据或目标模型某中间层的输出数据。在一些实施例中,所述响应数据可以以向量的形式表示。
第一确定模块420还可以用于基于各训练样本对应的响应数据,确定反映各响应数据整体分布的特征数据。所述整体分布可以反映一类训练样本中的每一个对应的响应数据组成的整体数据的信息。当所述响应数据以向量形式表示时,第一确定模块420可以排列各训练样本对应的响应数据,以获得响应数据矩阵,用以反映响应数据的整体分布。其后,第一确定模块410可以提取所述响应数据矩阵的特征向量,作为所述反映各响应数据整体分布的特征数据。
第一确定模块420还可以用于将各训练样本对应的响应数据分别与所述特征数据进行比较,得到多个比较结果。在一些实施例中,每个训练样本的响应数据与特征数据之间的比较,可以是比较两个数据之间的相似度。例如,以向量形式表示的响应数据与特征数据之间的比较可以是确定两个向量之间的距离。在一些实施例中,第一确定模块420可以计算训练样本对应的响应数据在所述特征向量上的投影值,将所述投影值作为比较结果。
第一确定模块420还可以对所述多个比较结果进行分析,确定该样本类别中的训练样本中是否包含后门样本。在一些实施例中,第一确定模块420可以使用聚类算法,对对应于该类别的训练样本的比较结果进行分簇。对于每一簇,第一确定模块420可以确定该簇对应的训练样本的个数相对该样本类别的训练样本总数的占比,并基于各簇的占比,确定各簇对应的训练样本中是否包含后门样本。例如,第一确定模块420可以分别确定每一簇的占比是否小于一个预设的设定值。若小于,则第一确定模块420第一确定模块420可以确定该簇中包含的比较结果对应的训练样本为后门样本。
关于后门样本检测的系统400的各模块的其他描述,可以参考本说明书流程图部分,例如,图2至图3的相关说明。
图5是根据本说明书一些实施例所示的一种后门模型检测方法的示例性流程图。在一些实施例中,流程500可以由处理设备执行。例如,流程500可以以程序或指令的形式存储在存储装置(如处理设备的自带存储单元或外接存储设备)中,所述程序或指令在被执行时,可以实现流程500。在一些实施例中,流程500可以由位于处理设备的后门模型检测系统600执行。如图5所示,流程500可以包括以下步骤:
步骤502,利用后门样本检测方法,分别确定各样本类别中的训练样本是否包含后门样本。步骤502可由第二确定模块610执行。
在一些实施例中,可以获取待检测模型(或称为目标模型)及其训练数据。所述目标模型可以是分类模型,其训练数据可以来自多个类别。第二确定模块610可以通过执行后门样本检测方法,分别确定各样本类别中的训练样本是否包含后门样本。所述后门样本检测方法可以是如图2及图3所描述的后门样本检测方法。
步骤504,若各样本类别中的某一样本类别的训练样本包含后门样本,确定所述模型为后门模型。步骤504可由判定模块620执行。
在一些实施例中,若各样本类别中的某一样本类别的训练样本包含后门样本,则判定模块620可以确定所述模型为后门模型。该模型已被污染。
应当注意的是,上述有关流程200的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程200进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,对本说明书有关流程步骤的改变,如添加预处理步骤和存储步骤等。
图6是根据本说明书一些实施例所示的后门模型检测系统的模块图。
如图6所示,该后门模型检测的系统600可以包括第二确定模块610和判定模块620。后门模型检测的系统600可以用于检测模型是否为后门模型。该模型可以基于多个训练样本训练后得到,所述多个训练样本属于至少两个样本类别。
第二确定模块610可以用于利用后门样本检测方法,分别确定各样本类别中的训练样本是否包含后门样本。第二确定模块610可以通过执行后门样本检测方法,分别确定各样本类别中的训练样本是否包含后门样本。所述后门样本检测方法可以是如图2及图3所描述的后门样本检测方法。
判别模块620可以用于若各样本类别中的某一样本类别的训练样本包含后门样本,以确定所述模型为后门模型。
应当理解,图4与图6所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于候选项显示、确定系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,例如,图4中披露的获取模块410和第一确定模块420可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,获取模块410、第一确定模块420可以是两个模块,也可以是一个模块同时具有数据获取功能和数据确定功能。例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
本说明书中的实施例可能带来的有益效果包括但不限于:根据后门样本与正常样本的区分特点(例如,在奇异值向量上的投影不同)对后门样本进行识,由此可以在不需要标注数据,以及不清楚样本中是否含有后门样本的前提下,检测样本是否包含后门样本,防止模型被后门样本污染,提高模型准确率。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (20)
1.一种后门样本检测方法,其中,所述方法包括:
获取多个训练样本,以及基于所述多个训练样本确定的目标模型;其中,所述多个训练样本属于至少两个样本类别;
对于任一个样本类别:
分别将该样本类别中的各训练样本输入到所述目标模型中,得到所述目标模型对各训练样本的响应数据;
基于各训练样本对应的响应数据,确定反映各响应数据整体分布的特征数据;
将各训练样本对应的响应数据分别与所述特征数据进行比较,得到多个比较结果;
对所述多个比较结果进行分析,确定该样本类别中的训练样本中是否包含后门样本。
2.根据权利要求1所述的方法,其中,所述响应数据为向量形式;所述基于各训练样本对应的响应数据,确定反映各响应数据整体分布的特征数据,包括:
排列各训练样本对应的响应数据以获得响应数据矩阵;
提取所述响应数据矩阵的特征向量,作为所述反映各响应数据整体分布的特征数据。
3.根据权利要求2所述的方法,其中,所述提取所述响应数据矩阵的特征向量,包括:
对所述响应数据矩阵进行奇异值分解;
将对应于最大奇异值的奇异向量确定为所述特征向量。
4.根据权利要求2所述的方法,其中,所述将各训练样本对应的响应数据分别与所述特征数据进行比较,得到多个比较结果,包括,对于任一训练样本对应的响应数据:
计算该响应数据在所述特征向量上的投影值,将所述投影值作为比较结果。
5.根据权利要求4所述的方法,其中,所述对所述多个比较结果进行分析,确定该样本类别中的训练样本中是否包含后门样本,包括:
利用聚类算法,将所述多个比较结果分为至少两簇;
对于每一簇,确定该簇对应的训练样本的个数相对该样本类别的训练样本总数的占比;
基于各簇的占比,确定各簇对应的训练样本中是否包含后门样本。
6.根据权利要求5所述的方法,其中,所述基于各簇的占比,确定各簇对应的训练样本中是否包含后门样本,包括:
确定各簇的占比中的最小占比;
确定所述最小占比是否小于预设阈值;
若小于,将所述最小占比对应的一簇训练样本确定为后门样本。
7.根据权利要求1所述的方法,其中,所述响应数据包括所述目标模型输出层的输出数据或所述目标模型某中间层的输出数据。
8.根据权利要求1-7中任一项所述的方法,其中,所述训练样本为图片样本。
9.一种后门模型检测方法,所述模型基于多个训练样本训练后得到,所述多个训练样本属于至少两个样本类别;
其中,所述方法包括:
利用如权利要求1-8中任意一项所述的方法,分别确定各样本类别中的训练样本是否包含后门样本;
若各样本类别中的某一样本类别的训练样本包含后门样本,确定所述模型为后门模型。
10.一种后门样本检测系统,其中,所述系统包括:
获取模块,用于获取多个训练样本,以及基于所述多个训练样本确定的目标模型;其中所述多个训练样本属于至少两个样本类别;
第一确定模块,用于对于任一个样本类别:
分别将该样本类别中的各训练样本输入到所述目标模型中,得到所述目标模型对各训练样本的响应数据;
基于各训练样本对应的响应数据,确定反映各响应数据整体分布的特征数据;
将各训练样本对应的响应数据分别与所述特征数据进行比较,得到多个比较结果;
以及对所述多个比较结果进行分析,确定该样本类别中的训练样本中是否包含后门样本。
11.根据权利要求10所述的系统,其中,所述响应数据为向量形式;所述基于各训练样本对应的响应数据,为确定反映各响应数据整体分布的特征数据,第一确定模块还用于:
排列各训练样本对应的响应数据以获得响应数据矩阵;
提取所述响应数据矩阵的特征向量,作为所述反映各响应数据整体分布的特征数据。
12.根据权利要求11所述的系统,其中,为提取所述响应数据矩阵的特征向量,第一确定数据还用于:
对所述响应数据矩阵进行奇异值分解;
将对应于最大奇异值的奇异向量确定为所述特征向量。
13.根据权利要求10所述的系统,其中,所述将各训练样本对应的响应数据分别与所述特征数据进行比较,为得到多个比较结果,所述第一确定模块还用于:
计算该响应数据在所述特征向量上的投影值,将所述投影值作为比较结果。
14.根据权利要求13所述的系统,其中,所述对所述多个比较结果进行分析,为确定该样本类别中的训练样本中是否包含后门样本,第一确定模块还用于:
利用聚类算法,将所述多个比较结果分为至少两簇;
对于每一簇,确定该簇对应的训练样本的个数相对该样本类别的训练样本总数的占比;
基于各簇的占比,确定各簇对应的训练样本中是否包含后门样本。
15.根据权利要求14所述的系统,其中,所述基于各簇的占比,为确定各簇对应的训练样本中是否包含后门样本,第一确定模块还用于:
确定各簇的占比中的最小占比;
确定所述最小占比是否小于预设阈值;
若小于,将所述最小占比对应的一簇训练样本确定为后门样本。
16.根据权利要求10所述的系统,其中,所述响应数据包括所述目标模型输出层的输出数据或所述目标模型某中间层的输出数据。
17.根据权利要求10-16中任一项所述的系统,其中,所述训练样本为图片样本。
18.一种后门模型检测系统,所述模型基于多个训练样本训练后得到,所述多个训练样本属于至少两个样本类别;
其中,所述系统包括:
第二确定模块,用于利用如权利要求1~8中任一项所述的后门样本检测方法,分别确定各样本类别中的训练样本是否包含后门样本;
判定模块,用于若各样本类别中的某一样本类别的训练样本包含后门样本,确定所述模型为后门模型。
19.一种后门样本检测装置,包括处理器,所述处理器用于执行权利要求1-8任一项所述的后门样本检测方法。
20.一种后门模型检测装置,包括处理器,所述处理器用于执行权利要求9所述的后门样本检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010329693.4A CN111222588B (zh) | 2020-04-24 | 2020-04-24 | 一种后门样本检测方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010329693.4A CN111222588B (zh) | 2020-04-24 | 2020-04-24 | 一种后门样本检测方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111222588A true CN111222588A (zh) | 2020-06-02 |
CN111222588B CN111222588B (zh) | 2020-08-07 |
Family
ID=70830121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010329693.4A Active CN111222588B (zh) | 2020-04-24 | 2020-04-24 | 一种后门样本检测方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111222588B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111731960A (zh) * | 2020-06-22 | 2020-10-02 | 浙江新再灵科技股份有限公司 | 电梯门开关状态检测方法 |
CN112380974A (zh) * | 2020-11-12 | 2021-02-19 | 支付宝(杭州)信息技术有限公司 | 分类器优化方法、后门检测方法、装置和电子设备 |
CN112733140A (zh) * | 2020-12-28 | 2021-04-30 | 上海观安信息技术股份有限公司 | 一种针对模型倾斜攻击的检测方法及系统 |
CN113518062A (zh) * | 2020-12-08 | 2021-10-19 | 腾讯科技(深圳)有限公司 | 攻击检测方法、装置及计算机设备 |
WO2023168944A1 (zh) * | 2022-03-09 | 2023-09-14 | 江南大学 | 一种文本分类后门攻击方法、系统及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190219398A1 (en) * | 2018-01-18 | 2019-07-18 | National Tsing Hua University | Analysis method for global positioning system |
CN110390357A (zh) * | 2019-07-17 | 2019-10-29 | 国网浙江省电力有限公司电力科学研究院 | 一种基于边信道的dtu安全监测方法 |
CN111027594A (zh) * | 2019-11-18 | 2020-04-17 | 西北工业大学 | 一种基于字典表示的分步式异常检测方法 |
-
2020
- 2020-04-24 CN CN202010329693.4A patent/CN111222588B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190219398A1 (en) * | 2018-01-18 | 2019-07-18 | National Tsing Hua University | Analysis method for global positioning system |
CN110390357A (zh) * | 2019-07-17 | 2019-10-29 | 国网浙江省电力有限公司电力科学研究院 | 一种基于边信道的dtu安全监测方法 |
CN111027594A (zh) * | 2019-11-18 | 2020-04-17 | 西北工业大学 | 一种基于字典表示的分步式异常检测方法 |
Non-Patent Citations (1)
Title |
---|
BRYANT CHEN等: "Detecting Backdoor Attacks on Deep Neural Networks by Activation Clustering", 《ARXIV HTTPS://ARXIV.ORG/PDF/1811.03728.PDF》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111731960A (zh) * | 2020-06-22 | 2020-10-02 | 浙江新再灵科技股份有限公司 | 电梯门开关状态检测方法 |
CN111731960B (zh) * | 2020-06-22 | 2022-02-15 | 浙江新再灵科技股份有限公司 | 电梯门开关状态检测方法 |
CN112380974A (zh) * | 2020-11-12 | 2021-02-19 | 支付宝(杭州)信息技术有限公司 | 分类器优化方法、后门检测方法、装置和电子设备 |
CN112380974B (zh) * | 2020-11-12 | 2023-08-15 | 支付宝(杭州)信息技术有限公司 | 分类器优化方法、后门检测方法、装置和电子设备 |
CN113518062A (zh) * | 2020-12-08 | 2021-10-19 | 腾讯科技(深圳)有限公司 | 攻击检测方法、装置及计算机设备 |
CN112733140A (zh) * | 2020-12-28 | 2021-04-30 | 上海观安信息技术股份有限公司 | 一种针对模型倾斜攻击的检测方法及系统 |
CN112733140B (zh) * | 2020-12-28 | 2023-12-22 | 上海观安信息技术股份有限公司 | 一种针对模型倾斜攻击的检测方法及系统 |
WO2023168944A1 (zh) * | 2022-03-09 | 2023-09-14 | 江南大学 | 一种文本分类后门攻击方法、系统及设备 |
US11829474B1 (en) | 2022-03-09 | 2023-11-28 | Jiangnan University | Text classification backdoor attack prediction method, system, and device |
Also Published As
Publication number | Publication date |
---|---|
CN111222588B (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111222588B (zh) | 一种后门样本检测方法、系统及装置 | |
GB2585616A (en) | Using gradients to detect backdoors in neural networks | |
CN108182515B (zh) | 智能规则引擎规则输出方法、设备及计算机可读存储介质 | |
CN110619274A (zh) | 基于印章和签名的身份验证方法、装置和计算机设备 | |
CN111027628B (zh) | 一种模型确定方法和系统 | |
CN111626177B (zh) | 一种pcb元件识别方法及装置 | |
CN110909807A (zh) | 基于深度学习的网络验证码识别方法、装置及计算机设备 | |
CN110188766B (zh) | 基于卷积神经网络的图像主目标检测方法及装置 | |
CN112183307A (zh) | 文本识别方法、计算机设备和存储介质 | |
CN113408897A (zh) | 应用于大数据业务的数据资源共享方法及大数据服务器 | |
CN111046394A (zh) | 一种基于对抗样本增强模型抗攻击能力的方法和系统 | |
CN110175500B (zh) | 指静脉比对方法、装置、计算机设备及存储介质 | |
CN116311214A (zh) | 车牌识别方法和装置 | |
CN116305119A (zh) | 基于预测指导原型的apt恶意软件分类方法和装置 | |
CN111680680B (zh) | 一种目标码定位方法、装置、电子设备及存储介质 | |
Geissler et al. | A low-cost strategic monitoring approach for scalable and interpretable error detection in deep neural networks | |
Liu et al. | A novel SVM network using HOG feature for prohibition traffic sign recognition | |
CN116383814B (zh) | 一种神经网络模型后门检测方法和系统 | |
CN116305103A (zh) | 一种基于置信度差异的神经网络模型后门检测方法 | |
US20230069960A1 (en) | Generalized anomaly detection | |
CN116188445A (zh) | 一种产品表面缺陷的检测定位方法、装置及终端设备 | |
CN111931229B (zh) | 一种数据识别方法、装置和存储介质 | |
Suresan et al. | Comparison of machine learning algorithms for smart license number plate detection system | |
CN110689064B (zh) | 一种图像半监督分类方法、装置及计算机可读存储介质 | |
US11954685B2 (en) | Method, apparatus and computer program for selecting a subset of training transactions from a plurality of training transactions |
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 |