CN113868671A - 数据处理方法、神经网络模型的后门防御方法及装置 - Google Patents
数据处理方法、神经网络模型的后门防御方法及装置 Download PDFInfo
- Publication number
- CN113868671A CN113868671A CN202111446210.XA CN202111446210A CN113868671A CN 113868671 A CN113868671 A CN 113868671A CN 202111446210 A CN202111446210 A CN 202111446210A CN 113868671 A CN113868671 A CN 113868671A
- Authority
- CN
- China
- Prior art keywords
- neuron
- neural network
- network model
- back door
- data
- 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
- 238000003062 neural network model Methods 0.000 title claims abstract description 215
- 238000000034 method Methods 0.000 title claims abstract description 87
- 230000007123 defense Effects 0.000 title claims abstract description 40
- 238000003672 processing method Methods 0.000 title abstract description 13
- 210000002569 neuron Anatomy 0.000 claims abstract description 342
- 238000012545 processing Methods 0.000 claims abstract description 52
- 238000000746 purification Methods 0.000 claims description 24
- 230000015654 memory Effects 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000012549 training Methods 0.000 claims description 15
- 238000012163 sequencing technique Methods 0.000 claims description 13
- 230000002829 reductive effect Effects 0.000 claims description 6
- 238000013473 artificial intelligence Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 19
- 238000004140 cleaning Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 238000005457 optimization Methods 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 10
- 230000006872 improvement Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013138 pruning 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
- 238000013140 knowledge distillation Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 239000002574 poison Substances 0.000 description 3
- 231100000614 poison Toxicity 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000010926 purge Methods 0.000 description 2
- 239000003826 tablet Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 101150008122 Bcan gene Proteins 0.000 description 1
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 230000002147 killing effect Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000027010 neuron recognition Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 231100000572 poisoning Toxicity 0.000 description 1
- 230000000607 poisoning effect Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书提供一种数据处理方法、神经网络模型的后门防御方法及装置,基于神经元的权重和梯度值计算出各个神经元的重要性指标值,进而筛选出后门神经元,针对后门神经元进行神经网络模型的优化,有效的避免了神经网络模型被后门攻击后,导致数据处理出现错误的问题,提升了数据处理的安全性和准确性,进一步提升了人工智能系统的安全性能。
Description
技术领域
本说明书属于计算机技术领域,尤其涉及一种数据处理方法、神经网络模型的后门防御方法及装置。
背景技术
在过去的十年中,神经网络得益于其强大的表示学习能力,在许多领域发挥着不可或缺的作用,尤其是在图像处理方面。然而,神经网络的成就也使它成为许多攻击的焦点,其中最具威胁的是后门攻击。通过将带有精心设计的触发器和标签的图像混合到训练集中,后门攻击可以控制受害者神经网络在输入具有触发器的图像时按照攻击者的意愿行事,同时在输入正常数据时表现正常。后门攻击的高隐蔽性和攻击可行性,从而影响神经网络模型的应用的安全性,给人们的工作和生活带来安全隐患。
发明内容
本说明书实施例的目的在于提供一种数据处理方法、神经网络模型的后门防御方法、装置及设备,提高了数据处理的准确性和安全性,提升了模型性能。
一方面,本说明书实施例提供了一种数据处理方法,所述方法包括:
采集待处理数据;
将所述待处理数据输入到神经网络模型中,所述神经网络模型为去除后门后的神经网络模型,所述神经网络模型的去除后门操作包括:根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值,按照重要性指标值从大到小对各个神经元进行排序,将排序在指定名次之后的神经元作为后门神经元,并对后门神经元进行净化,获得去除后门后的神经网络模型;
利用所述神经网络模型对所述待处理数据进行数据处理。
另一方面,本说明书实施例提供了一种神经网络模型的后门防御方法,所述方法包括:
将干净样本数据输入到受到了后门攻击的神经网络模型中,获取所述神经网络模型中各个神经元的权重以及梯度值;
根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值;
按照重要性指标值从大到小对各个神经元进行排序,将排序在指定名次之后的神经元作为后门神经元;
对所述后门神经元进行净化,获得去除后门的神经网络模型。
又一方面,本说明书提供了一种数据处理装置,所述装置包括:
数据采集模块,用于采集待处理数据;
数据输入模块,用于将所述待处理数据输入到神经网络模型中,所述神经网络模型为去除后门后的神经网络模型,所述神经网络模型的去除后门操作包括:根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值,按照重要性指标值从大到小对各个神经元进行排序,将排序在指定名次之后的神经元作为后门神经元,并对后门神经元进行净化,获得去除后门后的神经网络模型;
数据处理模块,用于利用所述神经网络模型对所述待处理数据进行数据处理。
又一方面,本说明书提供了一种神经网络模型的后门防御装置,所述装置包括:
参数获取模块,用于将干净样本数据输入到受到了后门攻击的神经网络模型中,获取所述神经网络模型中各个神经元的权重以及梯度值;
指标计算模块,用于根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值;
神经元识别模块,用于按照重要性指标值从大到小对各个神经元进行排序,将排序在指定名次之后的神经元作为后门神经元;
模型净化模块,用于对所述后门神经元进行净化,获得去除后门后的神经网络模型。
再一方面,本说明书实施例提供了一种神经网络模型的后门防御设备,包括至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述数据处理方法或神经网络模型的后门防御方法。
本说明书提供的数据处理方法、神经网络模型的后门防御方法及装置,针对神经网络模型,利用干净样本数据获取神经网络模型中各个神经元的梯度值,结合各个神经元的权重,计算出各个神经元的重要性指标,筛选出相对于干净样本数据而言产生显著贡献的好的神经元,进而剩余的神经元可以认为很有可能是被嵌入了后门的后门神经元。进而,可以对识别出的后门神经元进行净化,实现对神经网络模型的优化,避免神经网络模型被后门攻击导致模型处理结果有误,提升了模型的安全性和处理结果的准确性,进而提升了使用神经网络模型进行数据处理的系统的性能,如提升了数据处理的安全性和准确性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本说明书的一些实施例所示的后门攻击场景示意图;
图2是本说明书实施例提供的数据处理方法实施例的流程示意图;
图3是本说明书实施例提供的神经网络模型的后门防御方法实施例的流程示意图;
图4是本说明书提供的数据处理装置一个实施例的模块结构示意图;
图5是本说明书提供的神经网络模型的后门防御装置一个实施例的模块结构示意图;
图6是本说明书一个实施例中计算机设备的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
图1是根据本说明书的一些实施例所示的后门攻击场景示意图。场景100可以涉及应用机器学习模型的各种场景,例如自动驾驶领域的图像目标识别场景、自然语言处理领域的文本主题识别场景、智能推荐领域的用户反馈信息推荐等。
在各种机器学习模型的应用场景中,模型可能会遭到后门攻击(也可以称为投毒攻击或木马攻击)。在后门攻击中,攻击者可以通过各种手段在模型中植入后门(例如通过在模型的训练数据集中添加包括触发器的训练数据以对模型进行污染,从而将后门植入模型;又例如对模型的某个特定神经元进行操作以对模型进行污染,从而将后门植入模型)。被植入后门的模型又可称为后门模型。当向后门模型输入干净样本(或干净数据)时,后门模型能正常预测,得到干净样本对应的正确标签,但当向后门模型输入带有触发器的输入数据时,后门模型则输出攻击者指定的标签(或者称为中毒标签,例如,指定的图像中物体类别标签如标识牌),从而攻击者可以操纵模型的输出。
其中,后门可以是指将带有该后门对应的触发器的数据输入模型,模型输出攻击者指定的某个标签的模式,也可以是指模型中被污染的模型部分例如被污染的神经元。模型处理输入数据后,会输出对应的预测结果,亦可称为标签(或称为预测标签,以区别于训练数据集中训练样本对应的样本标签),例如图片中物体的类别、文本的主题类别等。模型可以(例如后门模型、目标模型等)具有标签空间,标签空间中可以包括模型可能输出的所有标签,其一般与训练数据集的样本标签集合对应。攻击者指定的标签可以称为目标标签或者中毒标签。
触发器是指用于触发模型后门从而令后门模型输出目标标签的数据,可以是微小数据例如单个像素、微小的斑块、人类不易察觉的噪声等,也可以是全局数据例如全局的随机噪声、一张特定风格的图像(如下雨天气的图像)等。在一些实施例中,触发器可以表示为某种维度的张量,例如一维张量、二维张量、三维张量等。在一些实施例中,可以将触发器叠加到干净样本上,得到后门样本或中毒样本。
在一些实施例中,后门模型可以包括一种或多种后门,一种后门可以对应由一种或多种触发器触发。例如一种后门由白色斑块触发从而令后门模型输出目标标签为标识牌,另一种后门由灰色斑块或黑色斑块触发从而令后门模型输出目标标签为障碍物。
后门攻击可能会令模型的应用产生严重的不良后果,例如,在自动驾驶的应用场景中,被植入后门的模型错误地将行人识别为其他物体,可能会导致不能及时避让行人而撞伤行人。一般来说,后门攻击具有较高的成功率,可以达到100%,对于模型具有很高的威胁性,并且,模型后门不易被去除。所以,如何有效地防御攻击者对于模型的后门攻击,以维护机器学习模型在各种领域的应用效果,是亟待解决的问题。有鉴于此,有必要提出有效的后门攻击防御方法。
在一些实施例中,对于防御者来说,攻击者植入的模型后门原本对应的触发器(可以称为真实触发器)及目标标签是难以获知的,即对防御者而言,攻击者植入的模型后门原本对应的触发器(即真实触发器)及目标标签是未知的,防御者不知道触发器是什么样子,也不知道触发器触发时模型会输出何种标签。该种情况下,防御者如何实现对后门攻击的防御则是非常困难的。
相关技术中,提出了对于后门攻击进行防御的模型剪枝以及知识蒸馏的方案。模型剪枝是指通过去除模型中可能是后门的计算单元完成防御;知识蒸馏是指采用后门模型作为教师模型,在该教师模型的指导下使用一定的干净数据重新训练一个新的模型完成防御。然而,基于模型剪枝的防御方法很难将后门去除,例如,采取模型剪枝的方法处理后,后门攻击的成功率仍然会在20%~100%之间不等(攻击成功率可以是指成功触发后门即使得后门模型输出目标标签的概率);基于知识蒸馏的防御方法的防御效果则依赖于训练模型时持有的数据量,如果持有的数据太少,会使得训练的模型的防御性能极差,这使得在许多场景下不可用。
本说明书实施例提供一种数据处理方法,可以先对人工智能所要使用的神经网络模型进行模型的优化,即识别出神经网络模型中的后门神经元,并对后门神经元进行净化,获得去除后门的神经网络模型,利用净化后的神经网络模型进行相应的人工智能数据处理,如:计算机视觉处理或自然语言处理等,提升了数据处理的安全性。
图2是本说明书实施例提供的数据处理方法实施例的流程示意图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。
本说明书实施例中提供的数据处理方法可以应用在客户端或服务端,具体可以是计算机、平板电脑、智能手机、广告展示终端、智能穿戴设备、车载设备等终端设备中。如图2所示,所述方法可以包括如下步骤:
步骤202、采集待处理数据;
步骤204、将所述待处理数据输入到神经网络模型中,所述神经网络模型为去除后门后的神经网络模型,所述神经网络模型的去除后门操作包括:根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值,按照重要性指标值从大到小对各个神经元进行排序,将排序在指定名次之后的神经元作为后门神经元并对后门神经元进行净化,获得去除后门后的神经网络模型;
步骤206、利用所述神经网络模型对所述待处理数据进行数据处理。
在具体的实施过程中,可以先根据应用场景的需求,采集待处理数据如:图像数据、自然语言文本等。将采集到的待处理数据输入到神经网络模型中,本说明书实施例中的神经网络模型是经过后门防御净化后的神经网络模型。可以先计算神经网络模型中各个神经元的权重和梯度值,基于各个神经元的权重和梯度值计算出各个神经元的重要性指标,其中重要性指标可以表征各个神经元的重要程度。本说明书实施例基于神经元的权重和梯度值,设计出能够评估神经元重要程度的重要性指标,基于各个神经元的重要性指标筛选出后门神经元,后门神经元可以理解为很有可能是被嵌入了后门的神经元。识别出后门神经元后,对后门神经元进行净化,获得去除后门的神经网络模型,利用净化后的神经网络模型对待处理数据进行数据处理如:图像识别、图像分类、自然语言识别等,提升了数据处理的安全性。
本说明书实施例基于神经元的权重和梯度值计算出各个神经元的重要性指标值,进而筛选出后门神经元,针对后门神经元进行神经网络模型的净化,去除被植入的后门神经元,有效的避免了神经网络模型被后门攻击后,导致数据处理出现错误的问题,提升了数据处理的安全性和准确性,进一步提升了人工智能系统的安全性能。并且,所需的数据量少,适应性广。
本说明书实施例主要针对神经网络模型进行后门攻击的识别和优化,下面具体介绍本说明书实施例中神经网络模型的后门防御的过程:
图3是本说明书实施例提供的神经网络模型的后门防御方法实施例的流程示意图,本说明书实施例中提供的神经网络模型的后门防御方法可以应用在客户端或服务端,具体可以是计算机、平板电脑、智能手机、广告展示终端、智能穿戴设备、车载设备等终端设备中。如图3所示,所述方法可以包括如下步骤:
步骤302、将干净样本数据输入到受到了后门攻击的神经网络模型中,获取所述神经网络模型中各个神经元的权重以及梯度值。
在具体的实施过程中,如同生物学上的基本神经元,人工的神经网络模型也有基本的神经元,每个神经元有特定数量的输入,也会为每个神经元设定权重,权重是对所输入的资料的重要性的一个指标。后门攻击一般是恶意的攻击者使用特殊的方式对神经网络模型进行污染,嵌入了后门,存在该后门的神经网络会对任意具有触发器的输入数据输出指定的结果。受到后门攻击的神经网络模型中一般都会被嵌入相应的后门,被嵌入后门的神经网络模型中可能有部分神经元被污染,本说明书实施例主要是为了识别出被污染的神经元,并对被污染的神经元进行净化,以避免后门攻击的神经网络模型的性能出现问题。
神经网络模型的开发者或使用者没有能够触发后门的数据,因此无法通过能够具有触发器的数据识别出后门神经元。神经网络模型的开发者或使用者拥有的数据一般都是干净的数据,无法触发神经网络中的神经元,本说明书实施例利用有限的干净数据对神经网络模型中的各个神经元进行重要性评估,识别出其中可能是后门的神经元。基于此,可以先将干净样本数据输入到神经网络模型中,获取神经网络模型中各个神经元的权重以及梯度值。其中,干净样本数据可以理解为上述实施中记载的神经网络模型的开发者或使用者拥有的干净的数据。如上述实施例的记载,权重可以理解为评估神经网络模型中每个神经元对所输入的资料的重要性的一个指标,是已知量。梯度值则可以理解为神经网络模型中神经元对某些数据的导数,本说明书实施例中主要是计算神经网络模型中各个神经元对于干净样本数据的梯度值。将干净样本数据输入到神经网络模型后,可以计算出每个神经元对于输入的干净样本数据的梯度值。
步骤304、根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值。
在具体的实施过程中,本说明书实施例可以基于神经元的梯度值和权重设计出一个能够评估神经元重要性的指标即重要性指标,具体可以通过实验或数学模拟等,确定出重要性指标的计算方式。本说明书一些实施例中,可以将各个神经元的权重与梯度值的乘积的负值作为对应神经元的重要性指标值。如:可以依次获取各个神经元的权重,再利用干净样本数据计算出各个神经元的梯度值,将各个神经元的梯度值和权重相乘作为该神经元的重要性指标值。
步骤306、按照重要性指标值从大到小对各个神经元进行排序,将排序在指定名次之后的神经元作为后门神经元。
在具体的实施过程中,计算出各个神经元的重要性指标值后,可以将基于重要性指标值从大到小对各个神经元进行排序,将排序在指定名次内的神经元作为好的神经元,将排序在指定名次外的神经元作为后门神经元。后门神经元即可能被嵌入后门的神经元。其中,指定名次可以基于实际使用情况进行设置,本说明书实施例不做具体限定,可以预先设置好神经元和后门神经元的比例,如:预先设置好神经元占比60%,那么可以将排名在后40%的神经元作为后门神经元。
步骤308、对所述后门神经元进行净化,获得去除后门后的神经网络模型。
在具体的实施过程中,筛选出后门神经元后,可以对后门神经元进行净化,如:直接将后门神经元的参数设置为0,以将后门神经元从神经网络模型中剔除,当然,这样可能会影响神经网络模型的性能。也可以根据实际使用需求,对后门神经元的参数进行调整,以减轻神经网络模型泛化能力的损失。或者,使用干净样本数据对后门神经元进行重新训练等。具体对后门神经元的净化方式可以基于实际需要进行设置,本说明书实施例不做具体限定。本说明书实施例中的去除神经网络中的后门,可以是完全将神经网络模型中的后门神经元删除,也可以是降低后门神经元在神经网络模型中的作用,具体可以根据实际需求进行设置,本说明书实施例不做具体限定。
本说明书实施例提供的神经网络模型的后门防御方法,针对神经网络模型,尤其是受到后门攻击的神经网络模型,利用干净样本数据获取神经网络模型中各个神经元的梯度值,结合各个神经元的权重,计算出各个神经元的重要性指标,筛选出相对于干净样本数据而言产生显著贡献的好的神经元,进而剩余的神经元可以认为很有可能是被嵌入了后门的后门神经元。实现了利用有限的干净数据筛选出存在后门风险的后门神经元,进而可以对识别出的后门神经元进行净化,实现对神经网络模型的优化,避免神经网络模型被后门攻击导致模型处理结果有误,提升了模型的安全性和处理结果的准确性,进而提升了使用神经网络模型进行数据处理的系统的性能。
本说明书一些实施例中,所述根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值包括:
将所述干净样本数据分为指定数量的干净子样本数据;
依次将各个干净子样本数据输入到所述神经网络模型中,依次获得各个干净子样本数据对应的各个神经元的权重以及梯度值;
基于各个干净子样本数据对应的各个神经元的权重以及梯度值,分别计算出各个干净子样本数据对应的各个神经元的候选重要性指标值;
按照干净子样本数据的顺序对各个神经元的候选重要性指标值分别进行排序;
将排序在第二位的候选重要指标值与排序第一位的候选重要指标值进行加权平均计算后,获得排序在第二位的加权重要性指标值,将排序在第三位的候选重要指标值与排序在第二位的加权重要性指标值进行加权平均计算后,获得排序在第三位的加权重要性指标值,直至计算出各个神经元对应的排序在最后一位的加权重要性指标值,并分别将排序在最后一位的加权重要性指标值作为各个神经元的重要性指标值。
在具体的实施过程中,神经网络模型可能一次输入不了太多数据,可以将干净样本数据划分为多个干净子样本数据,分别将各个干净子样本数据输入到神经网络模型中,依次获得各个干净子样本数据对应的各个神经元的权重以及梯度值。如:将干净样本数据分为3个干净子样本数据,将3个干净子样本数据依次分别输入到神经网络模型中,可以获得神经网络模型中各个神经元针对3个干净子样本数据的梯度值。如:对于第一个干净子样本数据,各个神经元的梯度值为T11、T21、……、Tn1,对于第二个干净子样本数据,各个神经元的梯度值为T12、T22、……、Tn2,对于第三个干净子样本数据,各个神经元的梯度值为T13、T23、……、Tn3。每个神经元的权重值一般是固定不变的。基于获得的权重和梯度值,可以计算出各个神经元针对每个干净子样本数据的候选重要性指标值。如:对于第一个干净子样本数据,各个神经元的候选重要性指标值为BS11、BS21、……、BSn1,如:对于第二个干净子样本数据,各个神经元的候选重要性指标值为BS12、BS22、……、BSn2,如:对于第三个干净子样本数据,各个神经元的候选重要性指标值为BS13、BS23、……、BSn3。可以按照干净子样本数据的顺序对各个神经元的候选重要性指标值分别进行排序,如:第一个神经元的候选重要性指标排序为:BS11、BS12、BS13,第二个神经元的候选重要性指标排序为:BS21、BS22、BS23,以此类推,对每个神经元的候选重要性指标值进行排序。
根据排序结果,可以从排序在第二位的候选重要性指标值开始,依次与前一位的候选重要性指标值进行加权平均计算,计算出各个排序位对应的加权重要性指标值。其中加权平均计算的权重可以根据实际需要进行设置,如每个候选重要性指标值的权重为0.5,那么第一个神经元的候选重要性指标值的加权平均计算结果为:BS11、0.5×BS11+0.5×BS12、0.5×(0.5×BS11+0.5×BS12)+0.5×BS13,同样的,第二个神经元的候选重要性指标值的加权平均计算结果为:BS21、0.5×BS21+0.5×BS22、0.5×(0.5×BS21+0.5×BS22)+0.5×BS23,以此类推可以获得第三个神经元的候选重要性指标值的加权平均计算结果,此处不再赘述。计算出各个排序位的加权重要性指标值后,可以将每个神经元的重要性指标的排序中排在最后一位的加权重要性指标值作为该神经元的重要性指标值,如:第一个神经元的重要性指标值为0.5×(0.5×BS11+0.5×BS12)+0.5×BS13,第二个神经元的重要性指标值为0.5×(0.5×BS21+0.5×BS22)+0.5×BS23。
本说明书实施例通过将干净样本数据进行拆分,进而能够分批次的输入到神经网络模型中,计算出各个干净子样本数据对应的各个神经元的候选重要性指标值,通过对各个候选重要性指标值依次与前一位的候选重要性指标值的加权平均计算,从而可以实现每一个干净样本数据都参与了最后一位的加权重要性指标值的计算,进而使得最后一位的加权重要性指标值能够准确的评估出各个神经元的重要性,为神经元的筛选识别奠定了准确的基础,进而为后续神经元的优化等奠定了准确的数据基础。
本说明书一些实施例中,所述根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值包括:
采用BS(ω)=-▽ω L Dtest (ω)·ω计算出各个神经元的重要性指标值;
其中,BS(ω)表示神经元的重要性指标值,▽ω L Dtest (ω)表示神经元的梯度值,Dtest 表示所述干净样本数据,ω表示神经元的权重。
在具体的实施过程中,可以先定义一个损耗测试指标▽L Dtest ,损耗测试指标可以表示为:
▽L Dtest = L Dtest (θ0) - LDtest(θ)(1)
其中,L可以表示神经网络模型的损失函数,θ可以表示受到后门攻击的后门神经元的参数,θ0可以表示初始参数。
由于后门神经元的参数θ0总是近似于0,对上述公式(1)通过泰勒展开简化后可以表示为:
▽L Dtest ≈LDtest(0)-LDtest(θ)
=(LDtest(θ)+▽θ L Dtest (q)T(0-θ)+R1)- LDtest(θ)(2)
=-▽θ L Dtest (θ)Tθ+R1≈-▽θ L Dtest (θ)Tθ
上式中,R1可以理解为由第2阶导数组成的泰勒余数,可以忽略不计。
将上述公式(2)中的θ替换为权重ω,则可以得到各个神经元的重要性指标值的计算公式为:
BS(ω)=-▽ω L Dtest (ω)·ω(3)
由上述公式可以看出,BS值越高,说明神经元对神经网络模型的性能影响更大,即更重要。此外,重新考虑反向传播过程,可以观察到,基于在一阶梯度下,每个神经元的BS不仅与其自身有关,还与其下游的神经元有关,可见,本申请中的神经元的重要性指标值还考虑了神经元之间的传播关系,对神经元的重要性评价结果更加准确。
本说明书一些实施例中,所述对所述后门神经元进行净化,获得去除后门后的神经网络模型,包括:
在所述神经网络模型中的后门神经元的损失函数中增加正则化项,将所述干净样本数据输入到所述神经网络模型中,对所述神经网络模型进行训练,获得去除后门后的神经网络模型。
在具体的实施过程中,在识别出神经网络模型中可能被嵌入了后门的后门神经元后,可以调整后门神经元的损失函数来对后门神经元进行净化,如:可以在后门神经元的损失函数中增加正则化项。再利用干净样本数据对神经网络模型进行优化训练,以实现对后门神经元的净化,获得优化后的神经网络模型。用一组与原不适定问题相“邻近”的适定问题的解去逼近原问题的解,这种方法称为正则化方法。其中,正则化项也可以称为惩罚项,通过在后门神经元的损失函数中增加正则化项,可以使得后门神经元的值在优化训练过程中尽量收敛为0,从而使得能够从神经网络模型中移除后门。正则化项的具体形式可以根据实际需要进行设置,如:可以选择L1正则化项或L2正则化项,本说明书实施例中不做具体限定。
本说明书一些实施例中,所述正则化项是根据各个后门神经元对应的权重值设置的。
在具体的实施过程中,可以将权重值越大的后门神经元的正则化项的取值设置的越大,权重值越小的后门神经元的正则化项的取值设置的越小,这样可以提升神经元在优化训练时的收敛速度,又可以保证神经元的参数能够尽量收敛到0,以将后门从神经网络中移除。
本说明书一些实施例中,所述正则化项可以设置为:
其中,AR(ω)表示正则化项,ω表示神经元的权重。
在具体的实施过程中,参见上述公式(4)可以看出,在权重值的绝对值小时,正则化项可以取权重值,在权重值过大或者过小时,则采用指数函数的形式设置正则化项,这样可以既可以提升神经元在优化训练时的收敛速度,又可以保证神经元的参数能够尽量收敛到0,以将后门从神经网络中移除。
本说明书另外一些实施例中,所述对所述后门神经元进行净化,获得去除后门后的神经网络模型包括:
对所述神经网络模型中指定网络层的后门神经元进行净化,获得去除后门后的神经网络模型。
在具体的实施过程中,在识别出后门神经元后,可以从后门神经元中选择一部分神经元进行净化,如:随机抽样选择一部分后门神经元进行优化,以避免误杀比较多的正常神经元。本说明书实施例中,可以选择指定网络层的后门神经元进行优化,一般可以选择比较靠后的网络层,如:可以选择线性层的后门神经元进行优化,这样既可以对存在比较大后门风险的神经元进行净化处理,又可以避免误杀正常神经元,保证神经网络模型在能够正常使用的范围内,确保神经网络模型的性能,同时,还可以降低数据处理量,提升数据处理速度。
此外,本说明书一些实施例中,所述方法还包括:
预先设置神经网络模型的净化次数以及每次净化的后门神经元的后门神经元占比,其中,后门神经元占比随着净化次数逐渐下降;
根据所述净化次数和对应的后门神经元占比,每次从所述神经网络模型中识别出对应数量的后门神经元,并对后门神经元进行净化,再根据优化次数和对应的后门神经元占比对净化后的神经网络模型进行后门神经神经元识别和净化,直至达到所述净化次数。
在具体的实施过程中,神经网络的后门移除可能需要多次的后门净化处理,本说明书实施例中可以预先设置神经网络模型需要净化的净化次数,以及每次净化过程中的后门神经元的后门神经元占比。一般的随着净化次数的增加,需要净化的后门神经元的比例逐渐降低。设置指定次数为5次,第一次净化的后门神经元为60%,第二次需要净化的后门神经元为40%,第三次需要净化的后门神经元为30%,第四次需要净化的后门神经元为20%,第五次需要净化的后门神经元为0即所有的神经元都是正常神经元。可以根据设置的净化次数,对神经网络模型进行后门神经元识别,每次识别出的后门神经元的数量根据当前净化次数以及预先设置的后门神经元占比确定,在识别出后门神经元后,对后门神经元进行净化,再进行下一次的后门神经元识别和净化,每一次识别和净化的后门神经元的数量或者比例根据预先设置的后门神经元占比确定,直至达到预先设置的净化次数。其中,后门神经元的识别和净化过程可以参考上述实施例的记载,此处不再赘述。
例如:设置指定次数为5次,第一次净化的后门神经元为60%,第二次需要净化的后门神经元为40%,第三次需要净化的后门神经元为30%,第四次需要净化的后门神经元为20%,第五次需要净化的后门神经元为0即所有的神经元都是正常神经元。第一次对神经网络模型进行后门神经元识别时,可以筛选出60%的后门神经元,并对识别出的后门神经元进行净化处理。再对净化后的神经网络模型进行第三次后门神经元识别,筛选出30%的后门神经元,并对识别出的后门神经元进行净化处理。再对净化后的神经网络模型进行第四次后门神经元识别,筛选出20%的后门神经元,并对识别出的后门神经元进行净化处理。再对净化后的神经网络模型进行第五次后门神经元识别,因为设置的第五次的需要优化的后门神经元为0,则可以认为此时不需要进行后门神经元的识别和净化,神经网络模型的后门防御完成。
其中,关于每次净化时后门神经元的衰减可以参考如下公式(5)进行设置:
其中,b可以表示当前净化时对应的后门神经元占比,b 0表示b的初始值,可以根据实际需要设置所需的数值,epoch可以表示预先设置的净化次数,cur_epoch可以表示当前的净化次数。由上述公式(5)可以看出,随着净化次数的增加,每次净化时需要净化的后门神经元占比是逐渐衰减的。
本说明书实施例通过设置优化次数和每一次净化的后门神经元占比,逐渐多次对神经网络模型进行后门神经元的识别和净化,可以提升后门从神经网络模型中移除的准确性,进而提升净化神经网络模型的性能。
此外,本说明书实施例中预先可以已知神经网络模型被后门攻击,直接对后门攻击后的神经网络模型进行净化处理,进而确保神经网络模型的安全性。也可以预先不知道神经网络模型是否被攻击,对神经网络模型进行净化后,降低了不重要神经元的比例,提升了神经网络模型的性能。并且,净化后的神经网络模型可以用于图像识别、自然语言处理、风险识别等应用场景,提升数据处理的安全性和准确性。
本说明书实施例提供的神经网络模型的后门防御方法,在干净数据集上对神经网络模型进行了性能测试,在损失1%的性能时,可以有效的去除后门,将攻击成功率降低到5%以内。给出了一种简单有效的方式去除模型的后门,并且仅仅只要求防御者拥有很少的干净数据即可,这是一个相当宽松的条件。定义了一个极其有效的指标,并伴有数学理论上的支撑,经过大量数据的验证,可以确定本方案的有效性。
本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参考即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参考方法实施例的部分说明即可。
基于上述所述的神经网络模型的后门防御方法,本说明书一个或多个实施例还提供一种用于神经网络模型的后门防御的装置。所述装置可以包括使用了本说明书实施例所述方法的装置(包括分布式系统)、软件(应用)、模块、插件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参考前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是本说明书提供的数据处理装置一个实施例的模块结构示意图,如图4所示,本说明书中提供的数据处理装置可以包括:
数据采集模块41,用于采集待处理数据;
数据输入模块42,用于将所述待处理数据输入到神经网络模型中,所述神经网络模型为去除后门后的神经网络模型,所述神网络模型的去除后门操作包括:根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值,按照重要性指标值从大到小对各个神经元进行排序,将排序在指定名次之后的神经元作为后门神经元,并对后门神经元进行净化,获得去除后门后的神经网络模型;
数据处理模块43,用于利用所述神经网络模型对所述待处理数据进行数据处理。
图5是本说明书提供的神经网络模型的后门防御装置一个实施例的模块结构示意图,如图5所示,本说明书中提供的神经网络模型的后门防御装置可以包括:
参数获取模块51,用于将干净样本数据输入到受到了后门攻击的神经网络模型中,获取所述神经网络模型中各个神经元的权重以及梯度值;
指标计算模块52,用于根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值;
神经元识别模块53,用于按照重要性指标值从大到小对各个神经元进行排序,将排序在指定名次之后的神经元作为后门神经元;
模型净化模块54,用于对所述后门神经元进行净化,获得去除后门后的神经网络模型。
本说明书一些实施例中,所述模型净化模块具体用于:
在所述神经网络模型中的后门神经元的损失函数中增加正则化项,将所述干净样本数据输入到所述神经网络模型中,对所述神经网络模型进行优化训练,获得优化后的神经网络模型。
本说明书实施例针对神经网络模型,利用干净样本数据获取神经网络模型中各个神经元的梯度值,结合各个神经元的权重,计算出各个神经元的重要性指标,筛选出相对于干净样本数据而言产生显著贡献的好的神经元,进而剩余的神经元可以认为很有可能是被嵌入了后门的后门神经元。实现了利用有限的干净数据筛选出存在后门风险的后门神经元,进而可以对识别出的后门神经元进行净化,实现对神经网络模型的优化,避免神经网络模型被后门攻击导致模型处理结果有误,提升了模型的安全性和处理结果的准确性,进而提升了使用神经网络模型进行数据处理的系统的性能,如提升了数据处理的安全性和准确性。
需要说明的,上述所述的装置根据对应方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照上述对应的方法实施例的描述,在此不作一一赘述。
本说明书实施例还提供一种电子设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述实施例的数据处理方法或神经网络模型的后门防御方法,所述方法包括:
采集待处理数据;
将所述待处理数据输入到神经网络模型中,所述神经网络模型为去除后门后的神经网络模型,所述神经网络模型的去除后门操作包括:根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值,按照重要性指标值从大到小对各个神经元进行排序,将排序在指定名次之后的神经元作为后门神经元,并对后门神经元进行净化,获去除后门后的神经网络模型;
利用所述神经网络模型对所述待处理数据进行数据处理。
或,将干净样本数据输入到受到了后门攻击的神经网络模型中,获取所述神经网络模型中各个神经元的权重以及梯度值;
根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值;
按照重要性指标值从大到小对各个神经元进行排序,将排序在指定名次之后的神经元作为后门神经元;
对所述后门神经元进行净化,获得去除后门后的神经网络模型。
需要说明的,上述所述的设备或系统根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本说明书提供的神经网络模型的后门防御装置、设备,也可以应用在多种数据分析处理系统中。所述系统或服务器或终端或设备可以为单独的服务器,也可以包括使用了本说明书的一个或多个所述方法或一个或多个实施例系统或服务器或终端或设备的服务器集群、系统(包括分布式系统)、软件(应用)、实际操作装置、逻辑门电路装置、量子计算机等并结合必要的实施硬件的终端装置。所述核对差异数据的检测系统可以包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现上述任意一个或者多个实施例中所述方法的步骤。
本说明书实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图6是本说明书一个实施例中计算机设备的硬件结构框图,该计算机终端可以是上述实施例中的神经网络模型的后门防御装置或数据处理装置。如图6所示计算机设备10可以包括一个或多个(图中仅示出一个)处理器100(处理器100可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的非易失性存储器200、以及用于通信功能的传输模块300。本领域普通技术人员可以理解,图6所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机设备10还可包括比图6中所示更多或者更少的插件,例如还可以包括其他的处理硬件,如数据库或多级缓存、GPU,或者具有与图6所示不同的配置。
非易失性存储器200可用于存储应用软件的软件程序以及模块,如本说明书实施例中的神经网络模型的后门防御方法对应的程序指令/模块,处理器100通过运行存储在非易失性存储器200内的软件程序以及模块,从而执行各种功能应用以及资源数据更新。非易失性存储器200可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,非易失性存储器200可进一步包括相对于处理器100远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块300用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输模块300包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块300可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书提供的上述实施例所述的方法或装置可以通过计算机程序实现业务逻辑并记录在存储介质上,所述的存储介质可以计算机读取并执行,实现本说明书实施例所描述方案的效果,如:
采集待处理数据;
将所述待处理数据输入到神经网络模型中,所述神经网络模型为去除后门后的神经网络模型,所述神经网络模型的去除后门操作包括:根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值,按照重要性指标值从大到小对各个神经元进行排序,将排序在指定名次之后的神经元作为后门神经元,并对后门神经元进行净化,获得去除后门后的神经网络模型;
利用所述神经网络模型对所述待处理数据进行数据处理。
或,将干净样本数据输入到受到了后门攻击的神经网络模型中,获取所述神经网络模型中各个神经元的权重以及梯度值;
根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值;
按照重要性指标值从大到小对各个神经元进行排序,将排序在指定名次之后的神经元作为后门神经元;
对所述后门神经元进行净化,获得去除后门后的神经网络模型。
所述存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如RAM、ROM等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置如,CD或DVD。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。
本说明书实施例提供的上述神经网络模型的后门防御方法或装置可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的c++语言在PC端实现、linux系统实现,或其他例如使用android、iOS系统程序设计语言在智能终端实现,以及基于量子计算机的处理逻辑实现等。
本说明书实施例并不局限于必须是符合行业通信标准、标准计算机资源数据更新和数据存储规则或本说明书一个或多个实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本说明书实施例的可选实施方案范围之内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
为了描述的方便,描述以上平台、终端时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或插件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
这些计算机程序指令也可装载到计算机或其他可编程资源数据更新设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参考即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参考方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。
Claims (14)
1.一种数据处理方法,所述方法包括:
采集待处理数据;
将所述待处理数据输入到神经网络模型中,所述神经网络模型为去除后门后的神经网络模型,所述神经网络模型的去除后门操作包括:根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值,按照重要性指标值从大到小对各个神经元进行排序,将排序在指定名次之后的神经元作为后门神经元,并对后门神经元进行净化,获得去除后门后的神经网络模型;
利用所述神经网络模型对所述待处理数据进行数据处理。
2.一种神经网络模型的后门防御方法,所述方法包括:
将干净样本数据输入到受到了后门攻击的神经网络模型中,获取所述神经网络模型中各个神经元的权重以及梯度值;
根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值;
按照重要性指标值从大到小对各个神经元进行排序,将排序在指定名次之后的神经元作为后门神经元;
对所述后门神经元进行净化,获得去除后门后的神经网络模型。
3.如权利要求2所述的方法,所述根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值包括:
将各个神经元的权重与梯度值的乘积的负值作为对应神经元的重要性指标值。
4.如权利要求2所述的方法,所述根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值包括:
将所述干净样本数据分为指定数量的干净子样本数据;
依次将各个干净子样本数据输入到所述神经网络模型中,依次获得各个干净子样本数据对应的各个神经元的权重以及梯度值;
基于各个干净子样本数据对应的各个神经元的权重以及梯度值,分别计算出各个干净子样本数据对应的各个神经元的候选重要性指标值;
按照干净子样本数据的顺序对各个神经元的候选重要性指标值分别进行排序;
将排序在第二位的候选重要指标值与排序第一位的候选重要指标值进行加权平均计算后,获得排序在第二位的加权重要性指标值,将排序在第三位的候选重要指标值与排序在第二位的加权重要性指标值进行加权平均计算后,获得排序在第三位的加权重要性指标值,直至计算出各个神经元对应的排序在最后一位的加权重要性指标值,并分别将排序在最后一位的加权重要性指标值作为各个神经元的重要性指标值。
5.如权利要求2所述的方法,所述根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值包括:
采用BS(ω)=-▽ω L Dtest (ω)·ω计算出各个神经元的重要性指标值;
其中,BS(ω)表示神经元的重要性指标值,▽ω L Dtest (ω)表示神经元的梯度值,D test表示所述干净样本数据,ω表示神经元的权重。
6.如权利要求2所述的方法,所述对所述后门神经元进行净化,获得去除后门后的神经网络模型,包括:
在所述神经网络模型中的后门神经元的损失函数中增加正则化项,将所述干净样本数据输入到所述神经网络模型中,对所述神经网络模型进行训练,获得去除后门后的神经网络模型。
7.如权利要求6所述的方法,所述正则化项是根据各个后门神经元对应的权重值设置的。
9.如权利要求2所述的方法,所述对所述后门神经元进行净化,获得去除后门后的神经网络模型包括:
对所述神经网络模型中指定网络层的后门神经元进行净化,获得去除后门后的神经网络模型。
10.如权利要求2所述的方法,所述方法还包括:
预先设置神经网络模型的净化次数以及每次净化的后门神经元的后门神经元占比,其中,后门神经元占比随着净化次数逐渐下降;
根据所述净化次数和对应的后门神经元占比,每次从所述神经网络模型中识别出对应数量的后门神经元,并对后门神经元进行净化,再根据净化次数和对应的后门神经元占比对净化后的神经网络模型进行后门神经神经元识别和净化,直至达到所述净化次数。
11.一种数据处理装置,所述装置包括:
数据采集模块,用于采集待处理数据;
数据输入模块,用于将所述待处理数据输入到神经网络模型中,所述神经网络模型为去除后门后的神经网络模型,所述神经网络模型的去除后门操作包括:根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值,按照重要性指标值从大到小对各个神经元进行排序,将排序在指定名次之后的神经元作为后门神经元,并对后门神经元进行净化,获得去除后门后的神经网络模型;
数据处理模块,用于利用所述神经网络模型对所述待处理数据进行数据处理。
12.一种神经网络模型的后门防御装置,所述装置包括:
参数获取模块,用于将干净样本数据输入到受到了后门攻击的神经网络模型中,获取所述神经网络模型中各个神经元的权重以及梯度值;
指标计算模块,用于根据各个神经元的权重以及梯度值,计算出各个神经元的重要性指标值;
神经元识别模块,用于按照重要性指标值从大到小对各个神经元进行排序,将排序在指定名次之后的神经元作为后门神经元;
模型净化模块,用于对所述后门神经元进行净化,获得去除后门后的神经网络模型。
13.如权利要求12所述的装置,所述模型净化模块具体用于:
在所述神经网络模型中的后门神经元的损失函数中增加正则化项,将所述干净样本数据输入到所述神经网络模型中,对所述神经网络模型进行训练,获得去除后门后的神经网络模型。
14.一种电子设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1或权利要求2-10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111446210.XA CN113868671B (zh) | 2021-12-01 | 2021-12-01 | 数据处理方法、神经网络模型的后门防御方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111446210.XA CN113868671B (zh) | 2021-12-01 | 2021-12-01 | 数据处理方法、神经网络模型的后门防御方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113868671A true CN113868671A (zh) | 2021-12-31 |
CN113868671B CN113868671B (zh) | 2022-03-25 |
Family
ID=78985499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111446210.XA Active CN113868671B (zh) | 2021-12-01 | 2021-12-01 | 数据处理方法、神经网络模型的后门防御方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113868671B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117951694A (zh) * | 2024-03-27 | 2024-04-30 | 中国海洋大学 | 一种基于量子态振荡优化的后门攻击防御方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111260059A (zh) * | 2020-01-23 | 2020-06-09 | 复旦大学 | 视频分析神经网络模型的后门攻击方法 |
CN111971698A (zh) * | 2018-04-16 | 2020-11-20 | 国际商业机器公司 | 在神经网络中使用梯度来检测后门 |
CN112132269A (zh) * | 2020-09-29 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 模型处理方法、装置、设备及存储介质 |
CN112884021A (zh) * | 2021-01-29 | 2021-06-01 | 之江实验室 | 一种面向深度神经网络可解释性的可视分析系统 |
CN113095486A (zh) * | 2021-04-22 | 2021-07-09 | 清华大学 | 图像处理方法、装置、电子设备及存储介质 |
CN113297571A (zh) * | 2021-05-31 | 2021-08-24 | 浙江工业大学 | 面向图神经网络模型后门攻击的检测方法和装置 |
-
2021
- 2021-12-01 CN CN202111446210.XA patent/CN113868671B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111971698A (zh) * | 2018-04-16 | 2020-11-20 | 国际商业机器公司 | 在神经网络中使用梯度来检测后门 |
CN111260059A (zh) * | 2020-01-23 | 2020-06-09 | 复旦大学 | 视频分析神经网络模型的后门攻击方法 |
CN112132269A (zh) * | 2020-09-29 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 模型处理方法、装置、设备及存储介质 |
CN112884021A (zh) * | 2021-01-29 | 2021-06-01 | 之江实验室 | 一种面向深度神经网络可解释性的可视分析系统 |
CN113095486A (zh) * | 2021-04-22 | 2021-07-09 | 清华大学 | 图像处理方法、装置、电子设备及存储介质 |
CN113297571A (zh) * | 2021-05-31 | 2021-08-24 | 浙江工业大学 | 面向图神经网络模型后门攻击的检测方法和装置 |
Non-Patent Citations (1)
Title |
---|
潘鹤中等: "深度学习数据窃取攻击在数据沙箱模式下的威胁分析与防御方法研究", 《通信学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117951694A (zh) * | 2024-03-27 | 2024-04-30 | 中国海洋大学 | 一种基于量子态振荡优化的后门攻击防御方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113868671B (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chan et al. | ACTRCE: Augmenting Experience via Teacher's Advice For Multi-Goal Reinforcement Learning | |
CN110705573A (zh) | 一种目标检测模型的自动建模方法及装置 | |
CN112905997B (zh) | 面向深度学习模型中毒攻击的检测方法、装置及系统 | |
Jaber et al. | Online learning: Searching for the best forgetting strategy under concept drift | |
Kag et al. | Time adaptive recurrent neural network | |
CN113868671B (zh) | 数据处理方法、神经网络模型的后门防御方法及装置 | |
Blondé et al. | Lipschitzness is all you need to tame off-policy generative adversarial imitation learning | |
Puzanov et al. | Deep reinforcement one-shot learning for artificially intelligent classification in expert aided systems | |
Zhao et al. | Ai-lancet: Locating error-inducing neurons to optimize neural networks | |
CN114548300B (zh) | 解释业务处理模型的业务处理结果的方法和装置 | |
CN117834228A (zh) | 基于bert模型的强化学习蜜罐构建方法及装置 | |
CN117010272A (zh) | 基于强化学习的决策生成方法、装置、计算机设备和介质 | |
McKendrick | The application of Artificial Intelligence in operations planning | |
Fostiropoulos et al. | Batch model consolidation: A multi-task model consolidation framework | |
CN113807541B (zh) | 决策系统的公平性修复方法、系统、设备及存储介质 | |
Paulin et al. | Bayesian head state prediction: computing the dynamic prior with spiking neurons | |
US11710068B2 (en) | Labeling a dataset | |
CN116823264A (zh) | 风险识别方法、装置、电子设备、介质及程序产品 | |
Kaya et al. | Binary classification of criminal tools from the images of the case using CNN | |
CN113806754A (zh) | 一种后门防御方法和系统 | |
CN111062477A (zh) | 一种数据处理方法、装置及存储介质 | |
CN112906728A (zh) | 一种特征比对方法、装置及设备 | |
Chukka et al. | Detection of Malicious Binaries by Deep Learning Methods. | |
CN116821966B (zh) | 机器学习模型训练数据集隐私保护方法、装置及设备 | |
Petruzzellis et al. | Learning to solve arithmetic problems with a virtual abacus |
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 |