APP下载

基于稀疏敏感的鲁棒网络分层剪枝策略

2023-06-07袁晓彤

计算机应用与软件 2023年5期
关键词:鲁棒剪枝鲁棒性

李 平 袁晓彤

1(南京信息工程大学自动化学院 江苏 南京 210044) 2(江苏省大数据分析技术重点实验室大气环境与装备技术协同创新中心 江苏 南京 210044)

0 引 言

虽然深度学习在图像分类[1]、语音识别[2]和自然语言处理[3-4]等领域取得了前所未有的成功,但是随着深度神经网络技术在自动驾驶、银行金融和安防监控等安全敏感任务中的应用,深度神经网络中的可解释问题和安全问题也越来越受到人们的关注[5-8]。Szegedy等[9-10]研究发现在模型输入的干净图片上加入精心设计的人眼无法识别出的微小扰动,原本高精度的神经网络就很容易被攻击和欺骗,这使得对抗攻击成为了人工智能落地的拦路虎。

近年来,对抗样本越来越受到人们的关注,同时很多提升网络鲁棒性防御对抗攻击的方法也被提出来,主要包括:图片预处理(去噪[11-12]、特征压缩[13-14])、对抗训练[15-17]、梯度遮蔽[18-20]等。但是随着新的对抗攻击的方法提出,大部分的防御方法都能被攻破。梯度混淆问题(在白盒攻击下,依赖图像预处理和梯度遮蔽的防御方法都能被攻破)的存在使得对抗训练成为提升网络鲁棒性最有效的方法[21]。

Madry等[15]发现网络结构越宽和模型容量越大的过参数神经网络模型更加适用于对抗训练,然而考虑到模型实际在存储资源受限(FPGA、Iot、手机等)设备上部署,鲁棒模型的参数应该很小。另一方面,模型压缩技术在神经网络里的发展十分迅猛,如今的网络压缩算法已经可以在保证模型精度损失较小的条件下极大的压缩网络大小[22]。但是传统的模型压缩算法主要关注的是非鲁棒性模型在干净样本上的模型精度损失,而未考虑鲁棒网络上的模型压缩问题。同时,近期的工作表明稀疏的鲁棒网络能极大地减少对模型理论鲁棒性的验证时间[23],这就更加推动了对高鲁棒性和高稀疏度神经网络的研究需求。

最近,已经有一些关于对抗鲁棒性和模型压缩结合的研究。Guo等[24]从理论角度阐述了稀疏性与鲁棒性的关系,但是文章中的攻击手段仅采用了快速梯度下降法(FGSM)并未采取更强的迭代攻击方式。Wang等[25]通过实验分析发现随着网络的剪枝率的增加鲁棒网络的鲁棒性和模型精度随之下降的现象。Ye等[26]提出了一个把对抗训练和网络剪枝结合的ADMM优化框架。在传统的网络剪枝方法中,Frankle等[27]在非鲁棒网络中发现了彩票假设,但相反的是在经过对抗训练后的鲁棒网络中彩票假设理论并不存在而且通过对原网络的剪枝得到的初始化对子网络具有指导意义[26]。

本文主要从鲁棒网络和非鲁棒网络的稀疏性差异角度出发,提出了一种适用于鲁棒网络模型的分层剪枝算法。本文的主要贡献如下:

1) 本文通过实验对比了相同模型在不同鲁棒精度下的稀疏度差异,发现神经网络模型的稀疏性和鲁棒性、模型精度三者之间存在一种Trade-off的关系。

2) 不同于非鲁棒网络,鲁棒网络对网络的中间层的稀疏敏感度非常高。本文利用鲁棒网络的稀疏敏感特性和误差传播特性,提出一种分层剪枝策略。

3) 将这种剪枝策略同现有的经典非鲁棒网络的剪枝方法结合,在一系列公共数据集上的实验结果证明了本文的方法相较于其他方法无论在鲁棒性还是模型精度上都有一定的优越性。

1 相关工作

1.1 对抗训练

对抗训练最早由Goodfellow等[10]提出,其本质是在模型训练的过程中加入对抗样本来提升模型的鲁棒性。但是这种直接把干净样本和对抗样本混合起来作为训练集的训练方式其鲁棒精度并不如直接完全直接使用对抗样本训练的精度高[28]。Madry等[15]把对抗训练看成一个求解极大极小值的鞍点优化问题,其优化的目标函数如下所示:

(1)

式中:D代表训练样本x和数据标签y的分布;θ是模型的权重参数;δ是对训练样本添加的对抗扰动;S表示对抗扰动的范围。对于外部极小值的求解旨在找到训练损失下降方向的模型参数,而内部极大值目标则是找到训练损失上升方向的对抗扰动,对于内部最大值通常采取基于迭代攻击的投影梯度下降法PGD(Projected gradient descent)攻击来实现[15],其迭代公式如下:

(2)

式中:α是每次攻击的步长;t代表攻击的次数。

对抗训练是白盒攻击下目前避免梯度混淆问题最有效的防御手段。但是对抗训练本身也存在缺点:1) 对于内部极大值的求解需要进行多次的迭代更新,而这个迭代过程需要消耗大量的计算时间。现在有不少围绕着减少对抗训练的内部极大值的迭代时间的工作[29-31]。2) 想要通过对抗训练获得高鲁棒性的模型就需要一个过参数的复杂度高的神经网络模型。但是这种需求势必导致模型参数量上升[15,26],所以本文主要围绕着从模型剪枝的角度出发去解决第二个问题。

1.2 模型剪枝

模型剪枝是一种快速且有效的模型压缩算法。通过减去网络结构中不重要的神经元或者滤波器来实现模型压缩。最早的剪枝工作是Lecun等[32]根据网络的损失函数对权重的二阶导数作为剪枝标准来减去模型的冗余连接。由于损失的二阶海森矩阵的计算资源消耗大且训练时间较长,Han等[33]提出了迭代剪枝的方法直接把网络权重参数的绝对值的大小作为剪枝的标准,将低于阈值的网络权重减去然后再微调训练,从而大大缩减了计算时间。Han等[33]的硬剪枝方法固然减少了训练时间但是存在着误剪枝的可能,所以He等[34]提出了一种剪枝和模型训练同时进行的软剪枝的方法,通过把上一次迭代中减去的权重在下一个迭代中恢复过来从而减少了误剪的可能性,这样既能省去微调的时间,又能减少模型的精度损失。此外,Molchaov利用剪枝后的模型损失和剪枝前损失的误差作为衡量滤波器权重重要性的指标也取得了很好的剪枝效果[35]。

虽然上述的剪枝方法在干净样本的非鲁棒模型上都取得了非常好的压缩效果,但是在对抗样本上的鲁棒模型却没有应用。本文从非结构剪枝的角度出发,研究了鲁棒网络和非鲁棒网络的区别,并根据鲁棒模型的特性提出一种新的分层剪枝策略。

2 鲁棒网络的稀疏性和敏感度分析

2.1 稀疏性与鲁棒性

为了更好地进行模型压缩,本节首先通过实验研究了稀疏性与模型的鲁棒性、模型精度之间的关系。首先,在Cifar10数据集上使用ResNet18网络分别进行对抗训练和正常的训练得到鲁棒模型和非鲁棒的模型,然后对这两个模型的权重分布进行可视化。如图1(a)所示,正常训练的模型比经过对抗训练的模型更加稀疏,而非鲁棒的模型的权重分布范围更加的广泛。为了进一步公平对比稀疏性与模型精度的关系,本文采用了文献[37]中的对抗训练参数得到三个不同鲁棒性和模型精度的网络,具体的模型精度如图1(b)所示。同样对这三个网络参数分布进行可视化,可以发现模型的精度越高,模型的鲁棒性越低,模型的稀疏度越高,反之亦然。通过上述分析表明不同于非鲁棒网络,网络的鲁棒性越高那么它的权重分布就越稠密,这是由于对抗鲁棒网络需要更多的参数去拟合复杂的样本空间导致的,所以需要根据鲁棒网络的特性设置剪枝方法。

(a) 鲁棒和非鲁棒网络的稀疏性对比

(b) 鲁棒和非鲁棒网络的精度对比图1 神经网络的模型精度、鲁棒性和稀疏性的关系

2.2 分层剪枝

在对抗样本中,Kumari等[39]发现对抗扰动误差逐层递增的现象,即原本加在干净样本上的微小扰动误差会随着网络的前向传播中被权值较小的模型参数慢慢叠加放大,最终导致神经网络分类错误。所以为了减少这种误差放大的效应,在网络剪枝时应该尽可能裁减掉网络权值小的前层参数,从而保证网络前层权重参数的稀疏性和鲁棒性。同时,本文把不同网络结构的模型进行分层稀疏敏感度实验,分别对比了鲁棒网络和非鲁棒网络的稀疏敏感特性。如图2所示,在对鲁棒网络模型进行裁剪时,由于鲁棒网络的抗扰动能力强,所以稀疏模型精度损失相较于非鲁棒网络损失小很多。通过对比不同网络结构下每层的稀疏敏感度,可以发现鲁棒网络中间层对稀疏的敏感度很高,网络的两端对稀疏的敏感度较低,而非鲁棒模型的网络前层的稀疏敏感度也很高。这也证实了鲁棒网络需要更大的特征空间来减少对抗攻击的可能性。在文献[39]中,作者通过对网络的中间层直接扰动发现鲁棒网络的中间层的鲁棒性较差,所以网络的中间层比其他层需要更多的参数去保持模型的鲁棒性。为了更好地度量网络不同层的敏感度,本文提出一种基于KL散度值的方法去衡量剪枝前后网络的输出分布的差异。具体公式如下:

(3)

式中:M表示网络剪枝的Mask;f表示神经网络的输出;xadv表示针对模型参数θ的对抗样本。图2(c)是稀疏度为90%下正常训练和对抗训练下ResNet18和ResNet34网络的KL散度值图,可以发现在不同网络结构下,鲁棒网络中间层的KL散度值相较于网络两端的值大很多,而且会产生一个跳变的过程,所以本文根据KL散度值的转折点把网络结构进行划分,对不同的稀疏敏感层分别进行剪枝操作。

(a) 非鲁棒网络的稀疏敏感曲线

(b) 鲁棒网络的稀疏敏感曲线

(c) 不同网络的稀疏敏感曲线图2 鲁棒和非鲁棒网络不同层的稀疏敏感度

由于鲁棒网络具有中间层稀疏敏感特性和误差放大特性,本文提出一种分层剪枝策略。根据网络每层稀疏敏感度即KL散度值将一个网络划分成两个Block,第一个Block主要包括了对稀疏不敏感的网络前层,第二个Block是网络的剩余部分。对于第一个Block,网络的参数量少且对稀疏的敏感度较低,所以为了降低误差的放大效应需要尽可能地稀疏网络参数。对于第二个Block,因为网络中间层的稀疏敏感度高,所以在剪枝时需要倾向于裁剪网络的后面稀疏不敏感层。同时由于随着网络深度的增加网络参数变得越多而且更加稀疏,所以对于每个block只需要采取全局剪枝方式就能有效地裁剪网络不敏感层的参数,即分层剪枝策略对每个Block采取自动剪枝策略。具体的算法如算法1所示。

算法1基于稀疏敏感的分层剪枝算法

输入:训练样本X,剪枝率P,攻击的次数T,每次的裁剪率s,剪枝参数M,初始化权重θ={θi,1≤i≤L}。

输出:收敛后的模型参数θ。

1. For epoch=1;epoch

2. Fort={1,…,T} do

3. Generate the adversarial examples using Eq.(2).

4. Updatewithθmask m to minimize Eq.(1).

5. Calculate the KL divergence according to Eq(3) and

divide the network.

6. For block in blocks:

7. For all parameters in block:

8. Prunes% of the parameters, creating an updated

maskM.

9. Repeat steps (1-8) until a sufficiently pruned network be obtained

3 实验验证

3.1 实验数据集和攻击参数

本节实验主要在两种主流数据集Mnist和Cifar10上进行。为了验证我们的剪枝策略的有效性,本文分别衡量了剪枝模型的模型精度(干净样本上的精度)和鲁棒精度(对抗样本上的精度)。

数据集和网络结构:Mnist数据集是一个单通道分辨率为28×28的手写数字灰度图片,其中包含了60 000幅训练图片和10 000幅测试图片。对于Mnist数据集,本文主要使用一个2层卷积和2层全连接层的网络。Cifar10数据集共有10个类别,每类有6 000幅图片,每幅图片是大小为32×32的RGB三通道图片。对于Cifar10数据集,本文采用了ResNet18和ResNet34网络。

攻击方式:在Mnist数据集下,对抗训练和测试过程中PGD迭代攻击的最大扰动为0.3,每次攻击步长为0.01,迭代攻击次数为40次。FGSM单步攻击扰动为0.3。对于Cifar10数据集,PGD迭代攻击的最大扰动为8/255。每次攻击步长2/255,迭代攻击次数为10次。FGSM单步攻击的扰动为8/255。

3.2 分层剪枝实验

本节实验选取了基于滤波器权重幅值剪枝[33],基于滤波器权值重要性的剪枝[35]和软剪枝[34](SFP)的3剪枝方法作为对比,对比了在这三种经典剪枝算法下分层剪枝策略的模型精度变化。表1和表2分别展示了在Mnist数据集和Cifar10数据集上稀疏模型和原模型的精度对比。

如表1和表2所示,随着裁剪的网络权重数量的增加,模型的稀疏度随之提升,模型在干净样本上和对抗样本上的准确度都有所下降。可以明显看出,无论剪枝率设为70%或者90%,使用传统的剪枝策略的精度都不如本文的分层剪枝策略的精度高。在Mnist数据集上,如表1所示,虽然通过SFP的剪枝方法使得网络的鲁棒精度下降了超过2%,但是通过使用本文的分层剪枝策略能把损失的精度控制在2%左右。同时可以发现对使用本文分层策略的权重幅值和权重重要性剪枝的模型,当剪枝率达到90%时模型精度甚至超过了原网络的精度。从表2中可以看出,无论在ResNet18或者ResNet34模型上,分层SFP算法相较于经典的SFP算法鲁棒精度的提升超过1%。ResNet18模型在压缩了90%情况下,分层策略的权重幅值算法比普通权重幅值算法FGSM鲁棒精度提高了1.09%,PGD鲁棒精度提高了1.44%,干净样本上的精度提高了0.46%。对于使用权重重要性指标的剪枝策略的网络,本文的分层策略在FGSM精度上提升了0.61%,PGD精度提升了0.49%,干净样本精度提升了0.86%。类似的结果也可以在ResNet34模型上找到。实验结果表明,结合了分层剪枝策略的模型,比未结合的剪枝方法的模型精度损失更小,验证了该剪枝策略的有效性。

表1 不同剪枝算法在Mnist数据集上的对比结果(Top1精度)

表2 不同剪枝算法在Cifar10数据集上的对比结果(Top1精度)

3.3 黑盒攻击

黑盒攻击是对抗样本在实际应用中需要考虑的问题,为了验证在黑盒攻击下本文方法的有效性,本节实验主要围绕黑盒攻击下分层剪枝的稀疏模型精度变化。本文把通过正常训练的模型作为替代模型,基于权重幅值分层剪枝的稀疏模型作为目标攻击模型,通过替代模型分别用FGSM和PGD两种方法产生对抗样本去攻击目标模型。实现结果如表3所示,可以发现在Cifar10数据集下,剪枝模型在黑盒攻击下的精度都比原网络高,特别是当剪枝率为30%时,剪枝模型的FGSM和PGD精度分别提升了1.05%和0.9%。由实验结果可知,分层剪枝后的稀疏模型在黑盒攻击下依旧能够保持原网络的鲁棒精度,甚至在一定的剪枝率下能超过原网络的精度。

表3 不同剪枝率下模型的黑盒精度结果(Top1精度)

4 结 语

为了解决鲁棒网络对模型容量的需求极大的难题,本文通过实验揭示了神经网络的稀疏性、鲁棒性和模型精度三者的关系,然后根据鲁棒网络的稀疏敏感度特点提出以一种基于稀疏敏感的分层剪枝方法。实验结果表明,通过分层剪枝的稀疏模型不仅在白盒攻击下实现了模型的最大程度的压缩,提高了模型的泛化能力,而且在黑盒攻击下稀疏模型的鲁棒精度超过原网络模型。本算法目前只用于非结构剪枝上,后期将尝试在滤波器的剪枝上进行应用。同时,可以考虑将本文算法同知识蒸馏等其他网络压缩算法进行融合,进一步提升网络的鲁棒性和压缩率。

猜你喜欢

鲁棒剪枝鲁棒性
人到晚年宜“剪枝”
基于YOLOv4-Tiny模型剪枝算法
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
基于确定性指标的弦支结构鲁棒性评价
基于学习的鲁棒自适应评判控制研究进展
目标鲁棒识别的抗旋转HDO 局部特征描述
剪枝
基于非支配解集的多模式装备项目群调度鲁棒性优化
非接触移动供电系统不同补偿拓扑下的鲁棒性分析
基于Cauchy鲁棒函数的UKF改进算法