CN111210018A - 一种提升深度神经网络模型鲁棒性的方法及装置 - Google Patents
一种提升深度神经网络模型鲁棒性的方法及装置 Download PDFInfo
- Publication number
- CN111210018A CN111210018A CN201911421395.1A CN201911421395A CN111210018A CN 111210018 A CN111210018 A CN 111210018A CN 201911421395 A CN201911421395 A CN 201911421395A CN 111210018 A CN111210018 A CN 111210018A
- Authority
- CN
- China
- Prior art keywords
- unit
- layer
- neural network
- deep neural
- 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
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种提升深度神经网络模型鲁棒性的方法,同时公开了一种提升深度神经网络模型鲁棒性的装置。本发明首先提出了神经单元敏感度的指标,用于度量深度神经网络模型中各神经单元在面对原始样本和对抗样本的表现差异;进一步找出深度神经网络模型中的敏感单元;然后根据各敏感单元组成敏感单元集合,作为训练集,针对待检测模型中预定的至少一层进行训练。因此,本发明可以有效地找到深度神经网络模型的弱点,并进行针对性的修复,提高模型对于对抗样本的鲁棒性。
Description
技术领域
本发明涉及一种提升深度神经网络模型鲁棒性的方法,同时涉及一种提升深度神经网络模型鲁棒性的装置,属于机器学习技术领域。
背景技术
深度神经网络为多层神经网络结构,而且每一层都包含多个神经单元。近年来,深度神经网络已经在计算机视觉、语音识别和自然语言处理等诸多领域展示了卓越的表现。尽管深度神经网络已经取得了惊人的成就,但是包含人类不可感知的细小噪声而可以误导模型分类错误的对抗样本的出现,使得深度神经网络的可解释性受到了广泛的关注。同时,这也使得深度神经网络已经被广泛应用的领域,诸如自动驾驶和人脸识别,受到了对抗样本的潜在的安全威胁,可能会造成财产损失甚至人员伤亡。
为了避免对抗样本对现实世界应用造成潜在威胁,许多用于提升深度神经网络对抗鲁棒性的方法被相继提出。这些方法可以被分类为对抗训练(adversarial training)、输入转换、特殊模型架构设计和对抗样本检测。
从另一个角度看,深度神经网络由于结构复杂以及包含大量非线性操作被当做“黑盒”模型,而对抗样本对于理解深度神经网络的内部行为有着重要的价值。理解对抗样本可以找到模型的缺陷和弱点,从而有助于我们理解和训练出鲁棒的深度神经网络。有一些基于对抗扰动的模型鲁棒性分析方法被业界专家学者提出,它们中有人使用对抗样本理解深度神经网络内部表征;有人通过分析模型在面对对抗样本时,输入图像各区域的影响程度,来分析模型的弱点。
从更高层次的角度看,模型面对噪声的鲁棒性可以被视为一种全局的不敏感特质。深度神经网络可以通过学习对于对抗样本的不敏感表征,减少其在面对对抗样本时的表现退化情况。
发明内容
本发明所要解决的首要技术问题在于提供一种提升深度神经网络模型鲁棒性的方法。
本发明所要解决的另一技术问题在于提供一种提升深度神经网络模型鲁棒性的装置。
为实现上述目的,本发明采用下述的技术方案:
根据本发明实施例的第一方面,提供一种提升深度神经网络模型鲁棒性的方法,包括如下步骤:
构建偶对集合;所述偶对集合由原始样本和对应对抗样本构成;
在待检测模型的各层中,选出至少一层预设层;
针对各预设层,逐层计算每个神经单元在偶对集合上的神经单元敏感度;
根据各预设层中各神经单元的神经单元敏感度,得到各预设层的敏感单元集合;
将偶对集合作为训练集,根据各预设层的敏感单元集合,针对各预设层进行训练。
其中较优地,所述构建偶对集合,具体包括:
获取原始样本;
使用基于梯度的PGD白盒攻击方法在原始样本上,针对待检测模型进行攻击,生成对应的对抗样本;
每个原始样本和唯一对应的对抗样本构成一组偶对数据;
各偶对数据构成偶对集合。
其中较优地,所述PGD白盒攻击方法为:
其中较优地,所述神经单元敏感度的计算公式为:
其中较优地,所述根据各预设层中各神经单元的神经单元敏感度,得到各预设层的敏感单元集合,具体包括:
针对待检测模型的每层预设层:
将当前层中每个神经单元按神经单元敏感度,由高到低进行排序;
选出神经单元敏感度排在前k(k≥1)位的神经单元组建当前层的敏感单元集合:
Ωl=top-k(Fl,σ)
式中,Ωl表示当前层l的敏感单元集合,top-k(·)表示基于神经单元敏感度度量下前k大的神经单元,Fl表示当前层l的神经单元,σ表示神经单元敏感度。
其中较优地,所述将偶对集合作为训练集,根据各预设层的敏感单元集合,针对各预设层进行训练,具体包括:
构建对抗训练损失函数和稳定化损失函数;
根据对抗训练损失函数和稳定化损失函数,得到整体优化损失函数;
将偶对集合作为训练集,利用整体优化损失函数,对各预设层进行训练。
其中较优地,所述对抗训练损失函数为:
其中较优地,所述稳定化损失函数为:
其中较优地,所述整体优化损失函数为:
式中,λ为损失函数系数。
根据本发明实施例的第二方面,提供一种提升深度神经网络模型鲁棒性的装置,包括处理器和存储器,所述处理器读取所述存储器中的计算机程序,用于执行以下操作:
构建偶对集合;所述偶对集合由原始样本和对应对抗样本构成;
在待检测模型的各层中,选出至少一层预设层;
针对各预设层,逐层计算每个神经单元在偶对集合上的神经单元敏感度;
根据各预设层中各神经单元的神经单元敏感度,得到各预设层的敏感单元集合;
将偶对集合作为训练集,根据各预设层的敏感单元集合,针对各预设层进行训练。
与现有技术相比较,本发明首先提出了神经单元敏感度的指标,用于度量深度神经网络模型中各神经单元在面对原始样本和对抗样本的表现差异;其次,本发明进一步找出深度神经网络模型中的敏感单元,它们对于模型的分类错误有着重要的贡献,即为深度神经网络的弱点;然后根据各敏感单元组成敏感单元集合,作为训练集,针对待检测模型中预定的至少一层进行训练。由此,本发明可以有效找到深度神经网络模型的弱点,并进行针对性的修复,提高深度神经网络模型对于对抗样本的鲁棒性。
附图说明
图1为本发明所提供的整体方法流程图;
图2为本发明中,使用PGD白盒攻击方法实现敏感单元稳定化的流程图;
图3为本发明中,选取敏感单元集合的示意图;
图4为本发明所提供的装置结构图。
具体实施方式
下面结合附图和具体实施例对本发明的技术内容进行详细具体的说明。
在机器学习领域中,对抗样本(Adversarial examples)是指在数据集中通过故意添加细微的干扰所形成的输入样本,会导致模型以高置信度给出一个错误的输出。在精度达到人类水平的神经网络上通过优化过程故意构造数据点,其上的误差率接近100%,模型在这个输入点的输出与附近的数据点非常不同。在许多情况下,两个输入点非常近似,人类观察者不会察觉原始样本和对抗样本之间的差异,但是网络会作出非常不同的预测。
深度神经网络模型(简称模型)面对噪声的鲁棒性可以看作是一种全局不敏感行为,在包含噪声的条件下损失小,和原样本预测情况一致。深度神经网络模型在噪声设定下的鲁棒性的定义为:
这种定义对于原始样本x∈D和对抗样本x′∈D′同样应该适用。然而,在实践中,对抗样本可以误导不鲁棒的分类器进行错误的预测,公式表示为:
F(x')≠ys.t.||x-x'||<∈.
从直觉上看,当一个模型对对抗样本不敏感时,原始样本x和对抗样本x′在该模型的各个隐层中有着相似的表征,从而导致了相似最终预测结果。因此,本发明通过关注原始样本和对应的对抗样本在模型各隐藏层的表征偏离情况,提升深度神经网络模型的对抗鲁棒性。
如图1所示,本发明实施例提供一种提升深度神经网络模型鲁棒性的方法,包括如下步骤:
101、构建偶对集合;所述偶对集合由原始样本和对应对抗样本构成;
所述构建偶对集合,具体包括:
1011、获取原始样本;
针对待检测的深度神经网络模型,给定一个原始样本数据集D={xi|i=1,...,N};
1012、使用基于梯度的PGD白盒攻击方法在原始样本上,针对待检测模型进行攻击,生成对应的对抗样本;
所述PGD白盒攻击方法为:
因此,生成的对抗样本集D'={x′i|i=1,...,N}。
1013、每个原始样本和唯一对应的对抗样本构成一组偶对数据;
102、在待检测模型的各层中,选出至少一层预设层;
根据实验数据可知,选择少量的预设层进行训练,相对于针对深度神经网络模型的所有层进行训练,不但训练效率高,而且最后得到的修正效果好。因此在本发明中,对于提升整个深度神经网络模型的鲁棒性,是通过针对少量的层进行训练达到的。
根据实验数据,在本发明实施例中,各预设层选取待检测模型的最后五层,最后得到的提升鲁棒性效果最好。
103、针对各预设层,逐层计算每个神经单元在偶对集合上的神经单元敏感度;所述神经单元敏感度的计算公式为:
104、根据各预设层中各神经单元的神经单元敏感度,得到各预设层的敏感单元集合;具体地:
1041、针对待检测模型的每层预设层:
1042、将当前层中每个神经单元按神经单元敏感度,由高到低进行排序;
1043、选出神经单元敏感度排在前k(k≥1)位的神经单元组建当前层的敏感单元集合:
Ωl=top-k(Fl,σ) (3)
式中,Ωl表示当前层l的敏感单元集合,top-k(·)表示基于神经单元敏感度度量下前k大的神经单元,Fl表示当前层l的神经单元,σ表示神经单元敏感度。
105、将偶对集合作为训练集,根据各预设层的敏感单元集合,针对各预设层进行训练;具体地:
1051、构建对抗训练损失函数和稳定化损失函数;
所述对抗训练损失函数为:
所述稳定化损失函数为:
1052、根据对抗训练损失函数和稳定化损失函数,得到整体优化损失函数;
所述整体优化损失函数为:
式中,λ为损失函数系数。
1053、将偶对集合作为训练集,利用整体优化损失函数,对各预设层进行训练。
上述方法首先针对模型中各神经单元在面对原始样本和对抗样本的表现差异定义了神经单元敏感度的指标,进一步将模型中面对对抗样本最敏感的一部分神经单元定义为敏感单元,它们对于模型的分类错误有着重要的贡献,即为深度神经网络的缺陷;在分析得到模型缺陷后,使用敏感单元稳定化方法进行训练,该方法通过在训练过程中将模型敏感单元面对对抗样本的内部表征和原始样本相似,使得模型学习到对于对抗样本不敏感的表征。该方法可以有效地找到模型的弱点,并进行针对性的修复,提高深度神经网络模型对于对抗样本的鲁棒性。
如图2所示,使用PGD白盒攻击方法实现敏感单元稳定化的方法,进一步包括如下步骤:
步骤2、对深度神经网络逐层逐神经单元计算其在偶对集合上的敏感度;计算神经单元敏感度的公式如下:
步骤3、判断敏感度是否低于阈值;
如图3所示,对于深度神经网络模型的第1至k层,计算每一层的各神经单元的敏感度。设定一个敏感度阈值;针对每一层,判断各神经单元的敏感度是否低于该阈值。
在图3中,以第二层为例,表中的虚线代表阈值,虚线以下的为敏感度低于阈值的神经单元,这些神经单元将被舍弃;虚线以上的为敏感度大于等于阈值的神经单元,这些神经单元为第二层的敏感单元。
步骤4、得到深度神经网络每个神经单元的敏感度结果,逐层选取敏感单元;
步骤5、选取若干层使用敏感单元稳定化方法进行针对性修复;
在深度神经网络模型的第1至k层的所有敏感单元都被选出后,从第1至k层中选取若干层作为被修复的层(也就是上述实施例中的预设层)。
进一步地,本发明还提供一种提升深度神经网络模型鲁棒性的装置。如图4所示,该装置包括处理器和存储器,还可以根据实际需要进一步包括通信组件、传感器组件、电源组件、多媒体组件及输入/输出接口。其中,存储器、通信组件、传感器组件、电源组件、多媒体组件及输入/输出接口均与该处理器连接。前已述及,节点设备中的存储器可以是静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器等,处理器可以是中央处理器(CPU)、图形处理器(GPU)、现场可编程逻辑门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理(DSP)芯片等。其它通信组件、传感器组件、电源组件、多媒体组件等均可以采用现有智能手机中的通用部件实现,在此就不具体说明了。
另一方面,在该提升深度神经网络模型鲁棒性的装置中,所述处理器读取所述存储器中的计算机程序,用于执行以下操作:构建偶对集合;所述偶对集合由原始样本和对应对抗样本构成;针对待检测模型,逐层计算每个神经单元在偶对集合上的神经单元敏感度;根据各神经单元的神经单元敏感度,选取每层的敏感单元集合;将各层的敏感单元集合组成待检测模型的敏感单元集合,针对待检测模型中预定的至少一层进行训练。
与现有技术相比较,本发明首先提出了神经单元敏感度的指标,用于度量模型中各神经单元在面对原始样本和对抗样本的表现差异;其次,本发明进一步将模型中面对对抗样本最敏感的一部分神经单元定义为敏感单元,它们对于模型的分类错误有着重要的贡献,即为深度神经网络的弱点;同时,本发明提出了提升模型鲁棒性的方法—敏感单元稳定化,该方法通过在训练过程中将模型敏感单元面对对抗样本的内部表征和原始样本相似,使得模型学习到对于对抗样本不敏感的表征。该方法可以有效地找到模型的弱点,并进行针对性的修复,提高深度神经网络模型对于对抗样本的鲁棒性。
上面对本发明所提供的提升深度神经网络模型鲁棒性的方法及装置进行了详细的说明。对本领域的一般技术人员而言,在不背离本发明实质内容的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。
Claims (10)
1.一种提升深度神经网络模型鲁棒性的方法,其特征在于包括如下步骤:
构建偶对集合;所述偶对集合由原始样本和对应对抗样本构成;
在待检测模型的各层中,选出至少一层预设层;
针对各预设层,逐层计算每个神经单元在偶对集合上的神经单元敏感度;
根据各预设层中各神经单元的神经单元敏感度,得到各预设层的敏感单元集合;
将偶对集合作为训练集,根据各预设层的敏感单元集合,针对各预设层进行训练。
2.如权利要求1所述的提升深度神经网络模型鲁棒性的方法,其特征在于所述构建偶对集合具体包括:
获取原始样本;
使用基于梯度的PGD白盒攻击方法在原始样本上,针对待检测模型进行攻击,生成对应的对抗样本;
每个原始样本和唯一对应的对抗样本构成一组偶对数据;
各偶对数据构成偶对集合。
5.如权利要求1所述的提升深度神经网络模型鲁棒性的方法,其特征在于所述根据各预设层中各神经单元的神经单元敏感度,得到各预设层的敏感单元集合,具体包括:
针对待检测模型的每层预设层:
将当前层中每个神经单元按神经单元敏感度,由高到低进行排序;
选出神经单元敏感度排在前k(k≥1)位的神经单元组建当前层的敏感单元集合:
Ωl=top-k(Fl,σ)
式中,Ωl表示当前层l的敏感单元集合,top-k(·)表示基于神经单元敏感度度量下前k大的神经单元,Fl表示当前层l的神经单元,σ表示神经单元敏感度。
6.如权利要求1所述的提升深度神经网络模型鲁棒性的方法,其特征在于所述将偶对集合作为训练集,根据各预设层的敏感单元集合,针对各预设层进行训练,具体包括:
构建对抗训练损失函数和稳定化损失函数;
根据对抗训练损失函数和稳定化损失函数,得到整体优化损失函数;
将偶对集合作为训练集,利用整体优化损失函数,对各预设层进行训练。
10.一种提升深度神经网络模型鲁棒性的装置,其特征在于包括处理器和存储器,所述处理器读取所述存储器中的计算机程序,用于执行以下操作:
构建偶对集合;所述偶对集合由原始样本和对应对抗样本构成;
在待检测模型的各层中,选出至少一层预设层;
针对各预设层,逐层计算每个神经单元在偶对集合上的神经单元敏感度;
根据各预设层中各神经单元的神经单元敏感度,得到各预设层的敏感单元集合;
将偶对集合作为训练集,根据各预设层的敏感单元集合,针对各预设层进行训练。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911421395.1A CN111210018A (zh) | 2019-12-31 | 2019-12-31 | 一种提升深度神经网络模型鲁棒性的方法及装置 |
CN202210687161.7A CN115081618A (zh) | 2019-12-31 | 2019-12-31 | 一种提升深度神经网络模型鲁棒性的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911421395.1A CN111210018A (zh) | 2019-12-31 | 2019-12-31 | 一种提升深度神经网络模型鲁棒性的方法及装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210687161.7A Division CN115081618A (zh) | 2019-12-31 | 2019-12-31 | 一种提升深度神经网络模型鲁棒性的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111210018A true CN111210018A (zh) | 2020-05-29 |
Family
ID=70786482
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210687161.7A Pending CN115081618A (zh) | 2019-12-31 | 2019-12-31 | 一种提升深度神经网络模型鲁棒性的方法及装置 |
CN201911421395.1A Pending CN111210018A (zh) | 2019-12-31 | 2019-12-31 | 一种提升深度神经网络模型鲁棒性的方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210687161.7A Pending CN115081618A (zh) | 2019-12-31 | 2019-12-31 | 一种提升深度神经网络模型鲁棒性的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN115081618A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100628A (zh) * | 2020-11-16 | 2020-12-18 | 支付宝(杭州)信息技术有限公司 | 保护神经网络模型安全的方法及装置 |
CN112364885A (zh) * | 2020-10-12 | 2021-02-12 | 浙江大学 | 一种基于深度神经网络模型可解释性的对抗样本防御方法 |
CN112882382A (zh) * | 2021-01-11 | 2021-06-01 | 大连理工大学 | 一种评价分类深度神经网络鲁棒性的几何方法 |
-
2019
- 2019-12-31 CN CN202210687161.7A patent/CN115081618A/zh active Pending
- 2019-12-31 CN CN201911421395.1A patent/CN111210018A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112364885A (zh) * | 2020-10-12 | 2021-02-12 | 浙江大学 | 一种基于深度神经网络模型可解释性的对抗样本防御方法 |
CN112100628A (zh) * | 2020-11-16 | 2020-12-18 | 支付宝(杭州)信息技术有限公司 | 保护神经网络模型安全的方法及装置 |
CN112882382A (zh) * | 2021-01-11 | 2021-06-01 | 大连理工大学 | 一种评价分类深度神经网络鲁棒性的几何方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115081618A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019109743A1 (zh) | Url攻击检测方法、装置以及电子设备 | |
Rozsa et al. | Are accuracy and robustness correlated | |
CN109902018B (zh) | 一种智能驾驶系统测试案例的获取方法 | |
CN111210018A (zh) | 一种提升深度神经网络模型鲁棒性的方法及装置 | |
CN111754519B (zh) | 一种基于类激活映射的对抗防御方法 | |
CN112215201B (zh) | 评估人脸识别模型、针对图像的分类模型的方法及装置 | |
CN112396129B (zh) | 一种对抗样本检测方法及通用对抗攻击防御系统 | |
CN113297572B (zh) | 基于神经元激活模式的深度学习样本级对抗攻击防御方法及其装置 | |
CN112633280B (zh) | 一种对抗样本生成方法及系统 | |
Park et al. | Host-based intrusion detection model using siamese network | |
CN112329837B (zh) | 一种对抗样本检测方法、装置、电子设备及介质 | |
CN113378988B (zh) | 基于粒子群算法的深度学习系统鲁棒性增强方法及装置 | |
CN111783853A (zh) | 一种基于可解释性的检测并恢复神经网络对抗样本方法 | |
CN112468487A (zh) | 实现模型训练的方法、装置、实现节点检测的方法及装置 | |
CN114220097B (zh) | 一种基于对抗攻击的图像语义信息敏感像素域的筛选方法及应用方法与系统 | |
Zhao et al. | Natural backdoor attacks on deep neural networks via raindrops | |
CN115879119B (zh) | 针对对抗通用补丁攻击的鲁棒视觉Transformer视觉感知方法及装置 | |
CN116994044A (zh) | 一种基于掩码多模态生成对抗网络的图像异常检测模型的构建方法 | |
CN111666985B (zh) | 一种基于dropout的深度学习对抗样本图像分类防御方法 | |
CN113378985A (zh) | 一种基于逐层相关性传播的对抗样本检测方法和装置 | |
CN111209567B (zh) | 提高检测模型鲁棒性的可知性判断方法及装置 | |
CN113537463A (zh) | 基于数据扰动的对抗样本防御方法与装置 | |
CN113487506A (zh) | 基于注意力去噪的对抗样本防御方法、装置和系统 | |
CN113255757B (zh) | 基于激活值分布差异的对抗样本检测方法及系统 | |
Hernández-Cámara et al. | Analysis of Deep Image Quality models |
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 |