一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于数据混合的深度学习模型样本处理方法、训练方法、装置和存储介质

2022-07-13 12:11:52 来源:中国专利 TAG:


1.本发明涉及深度学习技术领域,尤其是一种基于数据混合的深度学习模型样本处理方法、训练方法、装置和存储介质。


背景技术:

2.深度神经网络等深度学习模型被广泛应用于自动驾驶、身份验证以及智能医疗等技术中。深度学习模型的广泛应用,也导致其面临遭受恶意攻击的危险,例如针对深度学习模型的漏洞生成具有特定特征的图像,当深度学习模型对图像进行处理时容易得到错误的识别结果,从而使得财产安全甚至生命安全面临威胁。目前普遍通过对抗样本去训练深度学习模型,从而使深度学习模型适应不同的攻击环境,提高深度学习模型的鲁棒性。但是,目前的对抗样本训练方法仍然难以防御层出不穷的新攻击类型以及混合类型的攻击。


技术实现要素:

3.针对目前的深度学习模型技术面临众多新攻击类型以及混合类型的攻击的安全威胁等至少一个技术问题,本发明的目的在于提供一种基于数据混合的深度学习模型样本处理方法、训练方法、装置和存储介质。
4.一方面,本发明实施例包括一种基于数据混合的深度学习模型样本处理方法,包括:
5.获取原始输入图像以及相应的标签信息;
6.选择多个攻击算法;
7.分别使用各所述攻击算法对所述原始输入图像进行攻击,获得多个对抗样本;其中,每个所述攻击算法对所述原始输入图像进行的攻击,获得一个所述对抗样本;
8.分别对各所述对抗样本进行软化,获得多个软化样本;其中,对一个所述对抗样本进行软化,获得一个所述软化样本;
9.对各所述软化样本进行融合,获得融合样本;
10.对所述标签信息进行软化,获得软化标签。
11.进一步地,所述选择多个攻击算法,包括:
12.获取攻击算法集合;所述攻击算法集合中包括多个不同的攻击算法;
13.从所述攻击算法集合中随机选择出至少两个所述攻击算法。
14.进一步地,所述基于数据混合的深度学习模型样本处理方法,还包括:
15.分别获取所述原始输入图像与各所述对抗样本之间的相似度;
16.设定相似度阈值;
17.对于对应相似度小于所述相似度阈值的所述对抗样本,确定所述对抗样本对应的所述攻击算法;
18.对所确定的所述攻击算法进行算法参数调整,或者将所确定的所述攻击算法从所
述攻击算法集合中移除。
19.进一步地,所述分别对各所述对抗样本进行软化,获得多个软化样本,包括:
20.分别将各所述对抗样本与所述原始输入图像进行混合,获得多个所述软化样本;其中,将一个所述对抗样本与所述原始输入图像进行混合,获得相应一个所述软化样本。
21.进一步地,所述对所述标签信息进行软化,获得软化标签,包括:
22.确定所述标签信息中的正确类别和非正确类别;
23.削弱所述正确类别的置信度;
24.将所述正确类别被削弱的置信度分散到非正确类别上。
25.进一步地,所述对各所述软化样本进行融合,获得融合样本,包括:
26.获取融合算法集合;所述融合算法集合中包括多个不同的融合算法;
27.从所述融合算法集合中随机选择出一个所述融合算法;
28.使用选择出的所述融合算法,将各所述软化样本融合成为所述融合样本。
29.另一方面,本发明实施例还包括一种基于数据混合的深度学习模型训练方法,所述基于数据混合的深度学习模型训练方法包括:
30.获取深度学习模型;
31.使用融合样本和软化标签对所述深度学习模型进行训练;所述融合样本和所述软化标签通过执行实施例中的基于数据混合的深度学习模型样本处理方法获得。
32.进一步地,所述使用融合样本和软化标签对所述深度学习模型进行训练,包括:
33.将所述融合样本输入至所述深度学习模型,使所述深度学习模型对所述融合样本进行处理;
34.获取所述深度学习模型的实际输出结果;
35.根据所述实际输出结果与所述软化标签,确定损失函数值;
36.根据所述损失函数值,调整所述深度学习模型的参数,或者结束对所述深度学习模型的训练。
37.另一方面,本发明实施例还包括一种计算机装置,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行实施例中的基于数据混合的深度学习模型样本处理方法。
38.另一方面,本发明实施例还包括一种存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行实施例中的基于数据混合的深度学习模型样本处理方法。
39.本发明的有益效果是:实施例中的基于数据混合的深度学习模型样本处理方法,处理得到的融合样本集成了混合类型的攻击或者其他新类型的攻击等多样化的攻击;实施例中的基于数据混合的深度学习模型训练方法,使用融合样本训练深度学习模型,在融合样本的训练下,所训练得到的深度学习模型具有更强的鲁棒性,在实际使用时能够适应复杂的攻击环境;具体地,融合成为融合样本的对抗样本以及相应的标签信息经过软化处理,能够减弱对抗样本的攻击性,有利于训练出更加平滑的深度学习模型;使用更鲁棒、更平滑的深度学习模型有利于在保持原先准确率基本不变的情况下,更好地防御和抵抗攻击,从而提高深度学习模型应用环境的安全性。
附图说明
40.图1为实施例中的基于数据混合的深度学习模型样本处理方法的流程图;
41.图2为实施例中的基于数据混合的深度学习模型样本处理方法的原理图;
42.图3为实施例中所使用的mixup算法的效果示意图;
43.图4为实施例中所使用的cutmix算法的效果示意图;
44.图5为实施例中未软化的标签信息的示意图;
45.图6为实施例中软化后的标签信息的示意图;
46.图7为实施例中的基于数据混合的深度学习模型训练方法的流程图。
具体实施方式
47.本实施例中,参照图1,基于数据混合的深度学习模型样本处理方法包括以下步骤:
48.s1.获取原始输入图像以及相应的标签信息;
49.s2.选择多个攻击算法;
50.s3.分别使用各攻击算法对原始输入图像进行攻击,获得多个对抗样本;
51.s4.分别对各对抗样本进行软化,获得多个软化样本;其中,对一个对抗样本进行软化,获得一个软化样本;
52.s5.对各软化样本进行融合,获得融合样本;
53.s6.对标签信息进行软化,获得软化标签。
54.步骤s1-s6的原理如图2所示。步骤s1中,可以通过拍摄或者计算机生成等方式,获得原始输入图像。通过标签信息对原始输入图像中的内容进行标识,例如标签信息可以表示原始输入图像所包含的内容的名称或者编号,标签信息也可以通过真值表示原始输入图像中是否包含某些特定内容。
55.步骤s2和s3中,参照图2,先选择出至少两个攻击算法,使用选择出的攻击算法对原始输入图像进行攻击,从而向原始输入图像添加扰动。每个攻击算法对原始输入图像的攻击,使得原始输入图像成为一个对抗样本。通过执行步骤s2和s3,能够获得多个对抗样本。
56.本实施例中,在执行步骤s2,也就是选择多个攻击算法这一步骤时,具体可以执行以下步骤:
57.s201.获取攻击算法集合;攻击算法集合中包括多个不同的攻击算法;
58.s202.从攻击算法集合中随机选择出至少两个攻击算法。
59.参照图2,攻击算法集合中可以包含pgd攻击算法、c&w攻击算法、augmix攻击算法和feature scatter攻击算法等不同的攻击算法。步骤s202中,通过随机选择的方式,从攻击算法集合中选择出至少两个攻击算法,从而完成攻击算法的选择。
60.本实施例中,在执行步骤s201-s202的基础上,还可以执行以下步骤:
61.s203.分别获取原始输入图像与各对抗样本之间的相似度;
62.s204.设定相似度阈值;
63.s205.对于对应相似度小于相似度阈值的对抗样本,确定对抗样本对应的攻击算法;
64.s206.对所确定的攻击算法进行算法参数调整,或者将所确定的攻击算法从攻击算法集合中移除。
65.以图2所示的情况为例,对步骤s203-s206进行说明。
66.参照图2,通过使用攻击算法1对原始输入图像进行攻击,获得对抗样本1,即对抗样本1是通过使用攻击算法1得到的,对抗样本1对应的攻击算法是攻击算法1;通过使用攻击算法2对原始输入图像进行攻击,获得对抗样本2,即对抗样本2是通过使用攻击算法1得到的,对抗样本2对应的攻击算法是攻击算法2。
67.步骤s203中,计算原始输入图像与对抗样本1之间的相似度,获得相似度1;计算原始输入图像与对抗样本2之间的相似度,获得相似度2。在执行步骤s203时,具体可以使用图像方差比对算法等图像相似度算法。
68.步骤s204中,所设定的相似度阈值可以是一个固定的阈值,也可以根据步骤s203中的计算结果来确定相似度阈值,例如将步骤s203中计算得到的相似度1和相似度2的平均值作为相似度阈值。
69.步骤s205中,将步骤s203中计算出来的相似度1、相似度2等结果,分别与步骤s204中设定的相似度阈值进行比较,判断是否存在小于相似度阈值的相似度。当没有发现存在小于相似度阈值的相似度,表明步骤s202中所选择出的攻击算法都能够产生与原始输入图像足够相似的对抗样本,能够对深度学习模型产生良好的训练效果,可以不再执行步骤s206;当发现存在小于相似度阈值的相似度,例如检测到相似度1小于相似度阈值,表明相似度1对应的对抗算法1产生的对抗样本1与原始输入图像之间差距较大,难以对深度学习模型产生良好的训练效果,可以执行步骤s206,对攻击算法1进行算法参数调整,使得调整后的攻击算法1能够产生与原始输入图像足够相似的对抗样本,从而满足对深度学习模型的训练需求,或者将攻击算法1从攻击算法集合中移除,使得下一次执行步骤s1-s6时不会再选择到攻击算法1。
70.参照图2,在执行完步骤s3获得多个对抗样本之后,执行步骤s4。本实施例中,在执行步骤s4,也就是分别对各对抗样本进行软化,获得多个软化样本这一步骤时,可以分别将各对抗样本与原始输入图像进行混合,获得多个软化样本。具体地,参照图2,将对抗样本1与原始输入图像进行混合,可以获得软化样本1;将对抗样本2与原始输入图像进行混合,可以获得软化样本2。
71.在执行步骤s4时,可以使用mixup或者cutmix等图像融合算法,将对抗样本与原始输入图像进行混合。本实施例中,所使用的mixup算法的效果如图3所示,所使用的cutmix算法的效果如图4所示。
72.在获得多个软化样本之后,可以将全部软化样本融合得到融合样本。本实施例中,在执行步骤s5,也就是对各软化样本进行融合,获得融合样本这一步骤时,具体可以执行以下步骤:
73.s501.获取融合算法集合;融合算法集合中包括多个不同的融合算法;
74.s502.从融合算法集合中随机选择出一个融合算法;
75.s503.使用选择出的融合算法,将各软化样本融合成为融合样本。
76.参照图2,融合算法集合中可以包含mixup或者cutmix等不同的融合算法。步骤s502中,通过随机选择的方式,从融合算法集合中选择出一个融合算法,从而完成融合算法
的选择。
77.步骤s503中,使用步骤s502中选择出的融合算法,将步骤s3获得的各个软化样本融合成为融合样本。
78.本实施例中,在执行步骤s6,也就是对标签信息进行软化,获得软化标签这一步骤时,具体可以执行以下步骤:
79.s601.确定标签信息中的正确类别和非正确类别;
80.s602.削弱正确类别的置信度;
81.s603.将正确类别被削弱的置信度分散到非正确类别上。
82.步骤s601-s603的原理如图5和图6所示。图5所示是执行步骤s601-s603之前的原始的独热(onehot)标签信息,也就是未软化的标签信息,其中“4”表示的是正确类别,其他是非正确类别,正确类别的置信度为1,非正确类别的置信度为0。步骤s602中,削弱正确类别的置信度,如图6所示,正确类别的置信度被削弱至0.8;s603中,被削弱的0.2部分,则被分散到非正确类别上,使得非正确类别的置信度不再为0。
83.本实施例中,通过执行步骤s1-s5,使用多个不同的攻击算法获得多个对抗样本,并将各个对抗样本融合在一起成为融合样本,能够获得多样化的训练样本,模拟出混合类型的攻击或者其他新类型的攻击,创造复杂的攻击环境;其中执行步骤s4对对抗样本进行软化,能够减弱对抗样本的攻击性,有利于训练出更加平滑的深度学习模型;通过执行步骤s6,所获得的软化标签能够与经过软化的对抗样本即软化样本配合,作为深度学习模型的期望输出,对深度学习模型进行训练。
84.本实施例中,可以使用经过步骤s1-s6得到的融合样本和软化标签,执行基于数据混合的深度学习模型训练方法。参照图7,基于数据混合的深度学习模型训练方法包括:
85.p1.获取深度学习模型;
86.p2.使用通过执行实施例中的基于数据混合的深度学习模型样本处理方法,即执行步骤s1-s6获得的融合样本和软化标签,对深度学习模型进行训练。
87.本实施例中,在执行步骤p2,也就是使用融合样本和软化标签对深度学习模型进行训练这一步骤时,具体可以执行以下步骤:
88.p201.将融合样本输入至深度学习模型,使深度学习模型对融合样本进行处理;
89.p202.获取深度学习模型的实际输出结果;
90.p203.根据实际输出结果与软化标签,确定损失函数值;
91.p204.根据损失函数值,调整深度学习模型的参数,或者结束对深度学习模型的训练。
92.在步骤p204中,当损失函数值未收敛,可以在调整深度学习模型的参数之后返回至步骤s1开始,重新执行步骤s1-s6以获得新的融合样本和软化标签,然后使用新的融合样本和软化标签执行步骤p201-p204;当损失函数值收敛,可以结束对深度学习模型的训练。
93.本实施例中,训练深度学习模型所使用的融合样本,集成了混合类型的攻击或者其他新类型的攻击等多样化的攻击,在融合样本的训练下,所训练得到的深度学习模型具有更强的鲁棒性,在实际使用时能够适应复杂的攻击环境;具体地,融合成为融合样本的对抗样本以及相应的标签信息经过软化处理,能够减弱对抗样本的攻击性,有利于训练出更加平滑的深度学习模型;使用更鲁棒、更平滑的深度学习模型有利于在保持原先准确率基
本不变的情况下,更好地防御和抵抗攻击,从而提高深度学习模型应用环境的安全性。
94.可以通过编写执行本实施例中的基于数据混合的深度学习模型样本处理方法和/或基于数据混合的深度学习模型训练方法的计算机程序,将该计算机程序写入至计算机装置或者存储介质中,当计算机程序被读取出来运行时,执行本实施例中的基于数据混合的深度学习模型样本处理方法和/或基于数据混合的深度学习模型训练方法,从而实现与实施例中的基于数据混合的深度学习模型样本处理方法和/或基于数据混合的深度学习模型训练方法相同的技术效果。
95.需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本实施例所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本实施例说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本实施例所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
96.应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本实施例所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
97.应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
98.此外,可按任何合适的顺序来执行本实施例描述的过程的操作,除非本实施例另外指示或以其他方式明显地与上下文矛盾。本实施例描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
99.进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器
或其他数据处理器实现上文所述步骤的指令或程序时,本实施例所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
100.计算机程序能够应用于输入数据以执行本实施例所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
101.以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献