利用特征融合和整体多样性提升单模型鲁棒性 |
来源:一起赢论文网 日期:2020-11-08 浏览数:1485 【 字体: 大 中 小 大 中 小 大 中 小 】 |
软件学报ISSN 1000 - 9825, CODEN RUXUEW Journal of Software, [doi: 10.13328/j.cnki.jos.00 5943] © 中国科学院软件研究所版权所有. 利用特征融合和整体多样性提升单韦 璠, 宋云飞, 邵明莉, 刘 天, 陈小红, 王祥丰, 陈铭松( 上海市高可信计算重点实验室( 华东师范大学), 上海 200062通讯作者: 陈铭松, E- mail: mschen@sei.ecnu.edu.cn 摘 要: 使用深度神经网络处理物联网设备的急剧增加产生的海量图像数据是大势所趋于对抗样本的脆弱性,它容易受到攻击而危及物联网的安全题.通常情况下组合模型的防御表现要优于单模型防御方法为此本文提出一种在单模型上实现组合模型防御效果的模型改造及训练方法特征金字塔对分支进行特征融合;引入整体多样性计算辅助训练最常用的数据集上的实验表明,本方法能够显著提高模型的鲁棒性率有5 倍以上提高,在JSMA 、C&W以及EAD攻击下的分类正确率可达到原模型的样本的分类精度,也可与对抗训练方法联合使用获得更好的防御效果关键词: 物联网;特征融合;整体多样性;模型防御;鲁棒性中图法分类号: TP311 中文引用格式: 韦璠, 宋云飞, 邵明莉, 刘天, 陈小红, 王祥丰, 陈铭松件学报. http://www.jos.org.cn/1000- 9825/5943.htm 英文引用格式: Wei F, Song YF, Shao ML , Liu T, Chen XH , Wang XF, Chen MSModel via Feature Fusion and Ensemble Diversity. Ruan Jian Xue Bao/http://www.jos.org.cn/1000- 9825/5943.htm Improving Adversarial Robustness on Single Model via Feature Fusion and Ensemble Diversity WEI Fan, SONG Yun - Fei, SHAO Ming- Li , LIU Tian , CHEN Xiao(Shanghai Key Laboratory of Trustworthy Computing (East China Normal University), Shanghai 200062, China)Abstract : It is an inevitable trend to use deep neural network to process the massive image data generated by the rapid increase of devices. However, as the DNN is vulnerable to adversarial ex amples, it is Internet of Things. So how to improve the robustness of the model has become a important topic. Usually, the defensive performance of the ensemble model is better than the single model, but the limited computing power of the IoT device makes the to appl y. Therefore, this paper proposes a novel model transformation and training methodeffect like ensemble model : adding additional branches to the base model; using feature pyramids to diversity for training. Experiments on the common datasets, like MNIST and CIFARthe robustness . The accuracy increases more than fivefold againstwhile against JSMA , C&W and EAD . This method does not disturb theperformance while conbining adversarial training. Key words: Internet of Things; Feature F usion; Ensemble Diversity; Model Defense; Robustness * 基金项目: 国家重点研发计划重点专项项目(2018YFB2101300)Foundation item: Key Special Projects of National Key R&D Program of ChinaFoundation of China ( 61872147) 收稿时间: 2019 -0 7 -01; 修改时间: 2019 -08-18; 采用时间: 2019 E - mail: jos@iscas.ac.cn http://www.jos.org.cn Tel: +86-10-62562563 单模型鲁棒性* 陈铭松 200062) 使用深度神经网络处理物联网设备的急剧增加产生的海量图像数据是大势所趋.但由于深度神经网络对它容易受到攻击而危及物联网的安全, 所以如何提高模型的鲁棒性就成了一个非常重要的课通常情况下组合模型的防御表现要优于单模型防御方法,但物联网设备有限的计算能力使得组合模型难以应用.为此本文提出一种在单模型上实现组合模型防御效果的模型改造及训练方法: 在基础模型上添加额外的分支; 使用引入整体多样性计算辅助训练.通过在MNIST和CIFAR - 10这两个图像分类领域本方法能够显著提高模型的鲁棒性,在FGSM 等四种基于梯度的攻击下的分类正确攻击下的分类正确率可达到原模型的10倍,同时不干扰模型对干净更好的防御效果. 鲁棒性;对抗样本 陈铭松. 基于特征融合和整体多样性的单模型鲁棒性提升方法. 软, Wang XF, Chen MS. Improving Adversarial R obustness on Single Ruan Jian Xue Bao/Journal of Software, 2020,31(9) (in Chinese). Improving Adversarial Robustness on Single Model via Feature Fusion and Ensemble CHEN Xiao- Hong, WANG Xiang- Feng, CHEN Ming- Song (Shanghai Key Laboratory of Trustworthy Computing (East China Normal University), Shanghai 200062, China) use deep neural network to process the massive image data generated by the rapid increase of IoT amples, it is easy to be attack ed and would endanger the security of the how to improve the robustness of the model has become a important topic. Usually, the defensive performance of model is better than the single model, but the limited computing power of the IoT device makes the ensemble model difficult model transformation and training method on a single model to achieve similar defense : adding additional branches to the base model; using feature pyramids to fuse feature s ; introducing e nsemble Experiments on the common datasets, like MNIST and CIFAR-10, show that this method can significantly imp rove against four gradient -based attacks such as FGSM, and can be up to 10 times This method does not disturb the classification of clean ex amples, and could obtain better Diversity; Model Defense; Robustness; Adversarial Example (2018YFB2101300) ; 国家自然科学基金( 61872147) National Key R&D Program of China (2018YFB2101300); National Natural Science : 2019 -11 -02; jos 在线出版时间: 2020 -01- 13 网络出版时间:2020-01-14 11:27:05网络出版地址:http://kns.cnki.net/kcms/detail/11.2560.TP.20200114.1126.024.html 2 Journal of Software 软件学报 近年来, 物联网设备数量在不断飙升. 据IoT Analysis 网站发表的2018第一第二季度的物联网发展状态统计[1], 全球联网设备数量已达170 亿, 其中物联网设备占70亿. 并且该统计不包含固定电话、智能手机、平板以及笔记本电脑, 也不包含过去加入到连接中但目前已不再使用的设备. 尽管如此, 这一数据也呈现出不断攀升的趋势, 预计会在202 0 年达到100 亿以及2025年达到220 亿. 大量的物联网设备会产生海量的数据, 图像是其中一种重要的数据形式, 使用深度神经网络处理海量图像数据[2 - 5]已是大势所趋. 不可否认, 深度神经网络经过近几十年的发展, 在很多任务上都有了长足的进步, 在图像分类领域的表现尤为突出, 但这些高性能分类器在面对对抗样本攻击时却暴露了其脆弱性[6]: 这些对抗样本只在原始图片上加了微小量的扰动, 通常情况下这些扰动是人眼无法发觉的, 并不会对人的判断造成影响, 但却能成功愚弄深度神经网络分类器, 使其做出错误的分类判断. 所以说, 如何提高模型对对抗样本攻击的防御能力就成为了一个非常重要的课题. 提高模型的鲁棒性是目前应对对抗样本攻击的一个重要方法, 模型鲁棒性是一个用于分析模型对于微小扰动的抵抗能力的评判标准, 在相同扰动下模型的判断准确率越高, 鲁棒性越好. 根据使用的模型数量的不同,可以将现有工作分为两类: 基于单模型的鲁棒性提升方法和基于组合模型的鲁棒性提升方法. 根据对抗样本处理方式的不同, 又可以将基于单模型的鲁棒性提升方法分为对抗样本检测和对抗样本防御. 对抗样本检测方法是在原模型之外构造一个单独的样本探测器, 样本输入到目标模型之前必须先经过探测器判断, 只有被判断为干净的样本才能输入到目标模型中[ 7, 8 ]. 这不仅需要额外的资源消耗, 而且样本探测器本身也存在受到攻击的风险.Carlini 等人[ 9 ]甚至通过研究指出, 目前大多数的对抗样本探测器都是无效的, 并且它们也能被轻易攻击. 对抗样本防御方法一般着眼于提升网络本身的鲁棒性以使其能够正确分类对抗样本, 相较于对抗样本检测方法而言更有效且资源消耗更低, 更适用于物联网应用场景. 基于组合模型的鲁棒性提升方法则是综合评估多个模型的预测结果得到最终输出, 通常情况下相比于基于单模型的防御方式而言会有更好的防御表现[10 ], 特别是清华团队最近提出的基于组合模型的提升模型整体多样性方法[11 ], 通过分离组合成员的非极大预测的分布, 能够在不影响模型准确率的情况下提升组合内各个成员之间的多样性, 降低成员间的相似程度, 从而使得对抗样本难以在各个成员之间迁移, 更进一步地提高了组合模型的整体鲁棒性. 尽管如此, 考虑到物联网设备有限的资源配置、计算能力以及实时性要求等, 基于组合模型的防御方式很难落实到物联网应用中. 基于以上情况并受到组合模型整体多样性的启发, 本文提出了一种在单模型上使用组合模型防御方式的模型鲁棒性提升方法: 依据分支网络(Br anch ynet )[12 ]中浅层出口也可以达到较好的预测准确率理论, 给原始模型添加额外的分支模拟组合模型效果; 在分支之间加入特征金字塔[13 ]实现特征融合, 消除了各分支输出的尺度差异; 针对多分支单模型改进了整体多样性计算方式, 提高了单模型内各个分支间的整体多样性, 有效避免了对抗样本在各分支之间的迁移. 本文对图像分类模型 R esnet- 32[14 ]做了以上改造及训练, 通过在MNIST和CIFAR - 10数据集上使用目前流行的攻击方式进行防御实验, 以证明本方法的可行性与有效性. 论文其他部分组织如下: 第1 节主要介绍了目前已有的在单模型上应对对抗样本攻击, 提高模型防御能力的相关研究工作; 第2 节从模型改造、多分支单模型的整体多样性计算、以及训练过程这三个方面详细阐述了本文提出的模型鲁棒性提升方法; 第3 节通过在MNIST和CIFAR - 10这两个图像分类领域最常用的数据集上,对比目前流行的7 种白盒攻击方式下的分类正确率, 证明了本方法能够在不影响原模型分类效果的前提下显著提高模型的鲁棒性; 第4 节对本文工作做出总结并给出了未来的工作展望. 1 相关工作 对抗样本防御是目前在单模型上应对对抗样本攻击的一个有效方法. 对抗样本攻击是指使用经过恶意微小调整的样本输入到神经网络, 使其给出完全不同于真实样本的错误结果. 这些调整通常是人眼无法察觉的, 但却能成功愚弄神经网络使其做出错误判断, 这就会对机器学习模型支持的系统, 特别是安全攸关的应用带来极大的安全威胁. 对抗样本防御方法的主要思想是提升模型自身的鲁棒性以使其能够对对抗样本做出正确判断,根据 Rajeev R . 等人[1 5 ]的理论, 可将其分为三类: 对抗训练、对输入降噪预处理以及直接修改目标模型的网络结构或优化训练过程. 韦璠 等:利用特征融合和整体多样性提升单模型鲁棒性 3 对抗训练是把对抗样本加入到训练集中对模型进行训练. 例如M i yato T . 等人提出的虚拟对抗训练方法( VAT)[1 6 ], 他们基于虚拟对抗性损失提出了一种新的正则化方法, 定义了没有标签信息的对抗方向, 将对抗训练扩展到了半监督学习任务中;Ku rakin A . 等人则成功地将对抗训练扩展到大型模型和数据集中[1 7 ], 并解决了对抗训练过程中的” 标签泄露” 效应; 在Google Brain 组织的N IPS 2017 竞赛中, 也有许多参赛队伍使用了对抗训练方法并取得了不错的成绩[1 8 ]. 尽管如此, 对抗训练却有其难以规避的显著缺点, 即这种训练方式下生成的模型的防御效果不具有普适性, 意味着它只能应对训练过程中使用的攻击方式, 当攻击方式发生变化时, 模型的脆弱性就会再次体现, 将其运用到物联网设备中也会遇到同样的问题. 对输入进行降噪预处理是在将样本输入到目标模型之前先去掉样本上的恶意扰动. 例如Samangouei P. 等人提出的Defense- GAN模型[1 9 ], 它是一个利用生成模型的表达能力来保护深度神经网络免受对抗样本攻击的新框架, 在将给定图像输入到目标模型推理之前利用生成器找到该图像的一个不包含对抗性变化的相近输出,然后再把这个输出交由分类器处理; Guo C . 等人[ 20]也研究了这种在将输入样本馈送到系统之前转换输入来抵御图像分类系统上的对抗样本攻击策略, 他们在把图像输入到卷积网络分类器之前应用诸如比特深度缩减、JPEG 压缩、总方差最小化和图像绗缝之类的变换, 通过在I mageNet 数据集上的实验证明总方差最小化和图像绗缝能够有效提高系统防御能力. 但总体而言这种解决方案实际上也需要在将输入样本输送到目标模型之前添加额外的预处理过程, 增加了物联网设备的计算负担. 直接修改目标模型的网络结构或者优化训练过程是另一种有效提高模型鲁棒性的方法. 例如Lamb A. 等人提出的强化网络[ 2 1 ], 它是对现有网络的一个简单转化, 通过识别隐藏状态在数据流中断开的时间, 把这些隐藏状态映射回网络中运行良好的数据流部分, 加强了深度网络的隐藏层, 并通过实验证明了强化这些隐藏状态可以提高深度网络的鲁棒性. 但是, 强化网络只有在与对抗训练同时使用时才能提高鲁棒性, 这对于迭代攻击而言是非常昂贵的; Rajeev R.等人则认为可以通过紧凑特征学习( compact feature learning)[1 5 ]来中和对抗攻击, 他们认为在一个封闭有界的区间里来学习特征能够提升网络的鲁棒性, 并由此提出了一种创新的卷积方式——紧凑卷积, 保证了每层的特征有界且彼此相似, 最后通过实验证明使用此方法构造的新的紧凑卷积网络能够抵御多种攻击方式, 并且与CNN相比不会产生额外的训练开销, 但这种改进方式也只对卷积神经网络有效. 通过对比以上三种基于单模型的对抗样本防御方法, 本文决定采取第三种方式, 直接修改目标模型的网络结构并优化训练过程. 受到组合模型的防御表现一般优于单模型[ 10]的论断和基于组合模型的整体多样性[11]定义的启发, 通过给目标模型添加分支并在训练过程中添加整体多样性计算, 提出了一种在单模型上实现组合模型鲁棒性提升效果的方法. 2 提出的方法 本文提出了一种基于特征融合和整体多样性的单模型鲁棒性提升方法. 本文认为在单个模型中进行均化的多分支预测可以提高模型鲁棒性. 该方法主要包含两个部分: 一是将基础模型改造为均化多分支预测模型, 二是提出针对在单模型中各分支长度不一致情况下的整体多样性计算方法. 下面将分别从结构改造、基于多分支单模型的整体多样性计算以及模型训练这三个方面具体阐述. 2.1 结构改造 深度神经网络中浅层次的特征图尺寸较大, 蕴含了更多的信息, 表达了输入的细节特征; 深层次的特征图尺寸较小, 内容更抽象, 表达了输入的语义特征. 由于语义特征可以更抽象更彻底地描述一个物体, 所以层次的加深使得模型可以更全面地认识输入的特征, 达到更好的表现, 但很多物体只需要使用部分细节特征或不那么抽象的语义特征就可以辨认, 所以浅层次的特征图做预测亦可以达到较好的精度. 一般来说, 特征融合是指采用现有的多个特征集生成新的融合特征, 它可以使两组不同层次的特征图信息互补, 横向链接的特征融合( 图1( c))需要浅层特征图在不改变尺寸的同时增加到与深层相同的通道数, 而深层的特征图需要使用上采样的方法将尺寸扩大到与浅层一致, 这样可以使得浅层的最终特征图获得深层信息, 提高自身的判断精度. 网络通常为深层次的准确率会更好, 同时也由于浅到深会有尺寸变换, 细节特征还是会被抽象化, 而深到浅的上采样则是均分扩 4 Journal of Software 软件学报 大, 不会将语义特征具体化, 所以在本文中, 特征融合只需将深层特征融合到浅层. 据此, 定义了鲁棒性提升方法的改造过程, 如图1 所示. 具体过程如下: OutPre1Pre2Pre3在合适的深度添加额外出口深浅层特征融合 , 形成特征金字塔结构, 最终出口平均计算, 各出口辅助训练( a ) 基础网络Feature( Conv, Pooling, Activate) Out(d ) 最终成型网络Final Out(b ) 分支网络(c ) 特征融合UpsampleConvLEDLCE F ig.1 The structure transformation process 图1 结构改造过程 1) 以现有模型( 图1 (a)) 为基础, 根据使用浅层特征图也能达到较好的预测精度理论, 在模型浅层添加额外分支如P re1、Pre2 、Pre3 , 形成多预测结构的分支网络( 图1 (b)) ; 2) 对图1 (b)的分支网络的各个分支做特征融合, 从最深的出口开始, 将做出预测前的特征上卷积融合进相对浅层的出口, 递归执行此步骤至最浅层出口处. 在图1 (d)中的表现为pre3 处特征融合更深处的全部特征,pre2 处特征获得融合后pre3 处特征的上卷积,pre1 处特征获得融合后pre2 处特征的上卷积, 完成全部的融合过程后, 形成图1( d) 所示的特征金字塔结构. 最终浅层特征就融合了相对其的全部深层特征, 可以更有效地辅助判断, 同时复杂化模型的线性过程; 3) 为了保证单模型的唯一出口, 对图1 (d)中各个分支的预测做平均运算, 获得最终单出口输出F inal Out; 4) 除了计算最终单出口输出Final Out的误差LCE之外, 也对图1(d) 中各个分支的预测做误差计算以提高各自的识别精度. 为了降低分支之间预测的相似性, 从而提高模型鲁棒性, 使用2.2 节提出的基于多分支 韦璠 等:利用特征融合和整体多样性提升单模型鲁棒性 5 单模型的整体多样性计算公式计算LED; 最终根据误差结果完成模型参数优化. 2.2 基于多分支单模型的整体多样性计算 组合模型在训练过程中会因为成员之间的信息交互导致各个成员的最终输出表征相似, 这一问题在图1( d) 所示的多分支单模型中表现更为明显. 这是因为分支预测之间有共享层, 在简单的训练下分支之间的信息交互会比组合模型成员之间的更强, 为了使训练出来的各个分支预测不趋同, 提升分支之间的整体多样性就显得尤为重要. 为此本文设计了基于多分支单模型的整体多样性计算方法, 分为三个部分. 第一部分为确保每个分支的准确率. 作为可以单独输出的预测, 我们要保证分支预测的准确性, 准确性的判断一般由交叉熵来衡量. 每个分支的交叉熵在反向传播过程中都会影响其路径上的参数, 而在单个模型中, 这些路径存在重叠( 这些重叠的部分称为共享层) , 因此会导致共享层的内部参数同时受多个分支影响. 同时由于各分支的路径长度不一致, 因此它们在训练中占有的比重也应有所不同. 所以使用一个带权重的组合交叉熵来保证各分支的预测准确率. .BE n nn NL (P,y; )= L(p ,y; ) q w qÎå 其中P = {pn},n∈N 是所有分支预测的集合, ω n 是各分支的权重, 一般由路径长度的比例决定, 或者按照实验经验重新设定. 第二部分为提高预测的置信度. 在有标签的交叉熵计算中, 标签是一个独热码( one- hot vector),所以计算结果省略了非正确标签的信息, 而最终输出的置信度也是可以评价模型精度的一种度量. 香农熵可以对信息量化,熵值越大, 表示变量的不确定越大, 使用其来作为置信度的计算, 可以使训练过程考虑到输出的总体分布带来的不确定因素影响. 虽然本文改进模型的最终输出是均化值, 但分支长度的不同依旧需要考虑, 所以此阶段的置信度计算对象结合了权重信息. *1.n nn NP pNwÎ= å 最后部分为定义多样性的度量. 本方法为使整体多样性提升不影响正确标签的分布, 采用修改非极大预测分布的策略, 非极大预测分布即为分支预测分布去除正确标签对应位后剩余的错误分类方向分布情况. 将所有分支的非极大预测分布整合, 构成一个n - 1 维的向量组 \%yM . 同样考虑分支长度不一致, 各分支在n - 1 空间内的指向在受到相同力量的分离时, 相对与中心分离的角度会不一致, 所以在组合向量组 \%yM 是引入各分支的权重,此处权重可定为与路径长度比例一致, 欲达到最优效果, 需要经过角速度的计算获得. 1\ 1 \ \ \( , , , , ).n Ny y n y N yM F F F w w w =% % % %L L \ \log(det( )).TDS y yL M M =% % 其中\nyF%为第n 个分支应用非极大预测策略后经L 2 标准化的预测向量,\TyM%是\%yM 的转置矩阵, det是矩阵行列式计算, log 为对数计算. 最终对多分支单模型的整体多样性计算为: ( *) .ED BE DSL L H P L g m = + × + × 6 Journal of Software 软件学报 其中H(∙ ) 为香农熵计算公式, γ 和μ 为超参, 负责权衡多样性的提高程度和准确率, 达到最优. 2.3 训练过程 一般的模型训练过程中只会使用最终输出和训练标签来计算误差, 但本文方法给原模型添加了额外分支,为了发挥各个分支的作用, 还需要将分支预测结果添加到误差计算过程中. 针对改进后的模型结构, 我们设计了如下所示的算法1. 在模型没有完全拟合或者还没有到达轮数上限时执行以下操作: 1) 获取各个分支的预测结果, 保存到张量pk 中; 2) 计算所有分支预测结果的平均值, 保存到最终结果yf 中; 3) 计算出模型的整体多样性, 输入为各分支预测pk 、已设定的整体多样性超参γ 和μ 以及每个分支的权重; 4) 使用yf 和训练标签y 计算交叉熵以提高模型的预测准确率; 5) 累加LED 和LCE作为模型此次推理的误差, 并求出模型所有训练参数的梯度; 6) 依据计算出的梯度, 使用优化器更新模型参数. 7) 当前训练轮数的值属于预先设定的修改学习率轮数集Q 时, 将学习率降低为上一阶段的十分之一. 算法1: 基于多分支单模型的训练算法 输入: 训练数据X , 训练标签Y , 批量大小m , 出口数量K , 优化器参数α , 轮数上限N , 需要修改学习率的轮数集Q , 整体多样性超参γ,μ,ω. 输出: 分类器 C 1 While θ has not converged and n<N do: 2 pk ™ Fk( θ,x) , k ∈ K //获取分支预测结果 3 yf ™ average ( p1,…pK) //对各分支结果做平均计算 4 LED ™ LED ( y , p1,…pK) //计算整体多样性 5 LCE ™ LCE ( y , yf) //计算交叉熵 6 gθ ™ Ñ θ ( LED + LCE) //计算训练参数梯度 7 θ ™ Optimizer( gθ,θ,α ) //更新模型参数 8 If n in Q : 9 α ™ α/10 //降低学习率 10 End while 3 实验 为了验证本方法对单模型鲁棒性提高的有效性及可用性, 需要回答如下几个问题: 问题1: 本方法是否能够提升模型的防御能力? 即改进后的模型在受到攻击的情况下是否能够比以前的模型得到更好的分类正确率? 防御能力是否只是针对某种特定攻击方式有效? 问题2 : 本方法是否会损害原模型的分类效果? 即改进后的模型是否仍能对原始的干净样本正确分类? 问题3 : 本方法中对分支的特征融合以及在训练过程中加入的整体多样性正则项是否必须同时满足? 问题4: 本方法是否能与其他的模型防御方法组合使用, 并且不会影响防御效果? 3.1 实验设计 为了回答以上四个问题, 我们进行了如下设计. 首先构造要对比的模型. 根据问题1 和2 , 只需要对比初始原模型( 记为B 模型) 和使用本文方法改造后的模型( 记为F+D 模型) ; 为了回答问题3 , 需要额外设计只使用了特征融合的模型( 记为F 模型) 和只使用了整体多样性的模型( 记为D 模型) ; 为了回答问题4, 我们选择了一种常用的模型防御方法——对抗训练, 它有助于使神经网络的函数从接近线性变化转化为局部近似恒定, 从而可以灵活地捕获到训练数据中的线性趋势同时学习抵抗局部扰动, 是一种广泛使用的模型防御能力再提升方法, 实验需要对比只使用本文方法改造后的模型( 记为F+D 模型) 和综合使用本文方法与对抗训练的模型( 记为AdvT+F+D模型). 这些模型的具体构造方式如下: B 模型选择了R esnet- 32模型, 不对其做任何改动; F 模型是对B 模型加入 韦璠 等:利用特征融合和整体多样性提升单模型鲁棒性 7 了额外分支和分支之间的特征金字塔, 但在训练过程中不考虑分支的整体多样性; D 模型是在B 模型中加入分支, 并在训练过程中加入分支的整体多样性正则项, 但不添加分支之间的特征融合部分; F+D 模型则是综合以上两种方法, 对原模型加入额外分支出口以及分支间的特征融合, 同时在训练过程中使用整体多样性的正则项; AdvT +F+D 模型是在F +D模型的基础上, 综合使用对抗训练而得到的模型. 其次, 选择攻击方式以及对应的参数. 白盒攻击是在攻击者已知分类器的全部信息, 包括训练数据、模型结构和权重的情况下生成对抗样本攻击神经网络, 相对于黑盒攻击而言具有更强的攻击能力, 因此使用白盒攻击来验证提高模型鲁棒性带来的防御能力具有更大的说服力. 本文选择了7 种流行的白盒攻击方式: 快速梯度符号法( Fast Gradient Sign Method, FGSM)[22 ]、基本迭代法( Basic Iterative Method, BIM )[23 ]、投影梯度下降( Project Gradient Descent, PGD )[24 ]、动量迭代法( Momentum Iterative Method, MIM)[25 ]、基于雅可比矩阵的显著图攻击( Jacobian - based Saliency Map Attack, JSMA )[26 ]、Carlini & Wagner( C&W)[27 ]、弹性网络攻击( Elastic - net Attack, EAD)[28 ]. 此外, 为了观察模型在不同攻击力度下防御表现的变化, 每种攻击方式都设置了三种参数. 接下来选择实验使用的数据集, 我们选取了图像分类领域两个最常用的数据集M NIST 和CIFAR - 10.MNIST是一个黑白手写数字数据集, 包含0 - 9 这10类来自250 人的手写数字, 图片尺寸为28*28 , 其中训练集图片数量为60000 张, 测试集图片数量为10000 张; CIFAR - 10是一个更接近于普适物体的彩色图像数据集, 包含飞机、汽车、鸟类、猫、鹿、狗、蛙类、马、船和卡车这10类数据, 图片尺寸为32*32 , 其中训练集图片数量为50000 张, 测试集图片数量为10000 张. 本文认为, 使用这两种数据集能成功验证本方法的可行性和有效性. 为了回答问题1 和3 , 我们设计了2( 数据集)* 7 ( 攻击方式) *3(攻击参数)*4( 模型) =168组对比实验, 在两个数据集上分别使用上述7 种攻击方式, 对每种攻击方式设置三种攻击参数调节攻击力度, 对比上述四种模型的分类正确率; 为了回答问题2 和3 , 我们设计了2( 数据集)*4( 模型) =8组对比实验, 在两个干净的数据集上对比上述四种模型的分类准确率, 同时使用T- SNE 视图[29 ]对各个模型的输出降维可视化, 进一步佐证了本方法的可用性;为了回答问题4 , 我们设计了2 ( 数据集)*4( 攻击方式)*3( 攻击参数)*2( 模型)=48 组对比实验, 在两个数据集上分别使用FSGM 、BIM 、MIM、PGD四种攻击方式, 之所以使用这四种方式是因为它们具有相似的攻击原理, 同样对每种攻击方式设置三种攻击参数, 对比F +D模型和AdvT +F+D 模型的防御表现. 3.2 实验过程 本次实验所使用的CPU 型号为In tel i7 9700k, 使用的图形处理器型号为N vidia RTX 2080Ti,操作系统为L inux 18.04 ,P ython 版本为3.7, 机器学习平台为Tensorflow v 1.12[30 ]以及K eras v 2.4. 在训练模型之前, 我们首先对数据集进行了归一化预处理: 将所有的训练样本都归一化到0 - 1 范围内. 同时为达到更好的训练效果并降低训练出来的模型的过拟合程度, 在训练过程中也使用了数据增广技术, 对原始图像样本分别进行水平翻转、水平平移和竖直平移操作, 在平移过程中, 使用常量0 填充超出边界的部分. 实验选择的B 模型为深度残差网络Resnet - 32,它的基本结构如图2 (a)所示, 它包含三组通道数依次为16、32、64的残差块: 第一组残差块由5 个恒等残差块构成, 第二、三组残差块均由1 个卷积残差块和4 个恒等残差块构成. 恒等残差块和卷积残差块的差别在于块中残差分支是否做卷积操作, 所以卷积残差块会改变特征图的大小, 从而满足每个阶段特征图尺寸缩小的需求. 这三个残差块对应的特征图尺寸分别为32、16、8 , 最后通过一个全连接层输出10分类结果. F 模型的结构如图2 (b)所示, 它是在B 模型的基础上, 在第一组和第二组残差块之后分别加入额外分支, 算上原出口, 改动后的模型存在三个出口. 在模型中加入特征金字塔实现特征融合的过程分为三步: 第一步在第三组残差块的特征图做上采样后达到与第二组残差块的特征图同一尺寸, 再采用横向连接的方法与第二组的特征图融合; 第二步对二三组融合后的特征图再做上采样到与第一组残差块的特征图同一尺寸, 再次进行特征融合, 并在融合过程中使用小卷积以保证三部分特征图的通道数一致; 最后对三个分支都进行小尺寸卷积核的特征压缩, 统一生成8*8 尺寸128 通道的特征图, 然后对其进行全局平均池化生成1*128 的向量, 分别经过全连接层得到最后的10分类预测( 包含softmax 变换), 最终输出结果是三个预测结果的平均值. 8 Journal of Software 软件学报 D 模型的结构如图2( c) 所示, 它同样在B 模型的第一组和第二组残差块之后加入额外分支, 与F 模型不同的是, 它并不会对各个出口输出的特征图做特征融合, 而是直接通过全连接层得到一个10 分类预测结果, 为了削减共享层的影响, 使训练出来的各个分支的预测结果不过于趋同, 我们添加了整体多样性计算: 使用了一个带权重的组合交叉熵来保证了各分支的预测准确率, 根据出口深度, 由浅至深权重依次设置为1 、2 、3 ; 最后使用3.2 部分提出的单模型内多分支预测的整体多样性 LED 的计算公式为输出结果添加了整体多样性计算, 公式中超参数和μ 的值分别设为1 和0.01. F +D 模型的结构如图2 (d)所示, 它综合了F 模型与D 模型的改造方法, 对各个出口输出的特征图做特征融合之后再输入到全连接层得到一个10分类预测结果, 然后对三个出口的预测结果进行整体多样性计算, 参数设置与D 模型相同.AdvT+F+D模型的结构与F +D模型一致, 它与F +D模型的区别只在于训练过程中动态地生成对抗样本用作数据扩容, 设置对抗样本和正常样本的比例为1:1, 计算模型参数梯度的误差由对抗样本误差和正常样本误差累加获得. 5* Res16 FC10 5* Res32 5* Res645 *Res16 FC10 5* Res32 5* Res64AddAddFC10FC10AVG5 *Res16 FC10 5* Res32 5* Res64AddAddFC10FC10AVGED5 * Res16 FC10 5 *Res32 5 *Res64FC10FC10AVGED( a) B模型 (b) F模型( c) D 模型 ( d) F+ D模型F ig.2 Four models used in the experience 图2 实验中使用的四种模型 在上述模型的训练过程中, 我们将初始学习率α设置为0.001. 指数衰减率β 1、β 2分别控制之前的时间步的梯度动量和梯度平方动量的影响情况, 为了使对比结果更公平, 将它们设置为领域内默认值, 其中β 1 设置为0.9, β 2 设置为0.999. 在MNIST训练集上的训练轮数为40,但会在20轮之后将学习率降低为初始的十分之一,直至降到10e
|
[返回] |