CVPR2023:通过抽象增强鲁棒图像分类的验证训练

论文题目:

Boosting Verified Training for Robust Image Classifications via Abstraction

摘要

本文提出了一种新的、基于抽象的、经过认证的鲁棒图像分类器训练方法。通过抽象,所有扰动图像在输入神经网络进行训练之前都被映射到区间中,通过对区间进行训练,将映射到同一区间的所有扰动图像分类为同一标签,使训练集的方差较小,使模型的损失平滑。因此,我们的方法显著提高了训练模型的鲁棒性。对于抽象,我们的训练方法还实现了一种完善的黑箱验证方法,该方法是正交的,可扩展到任意类型的神经网络,无论其大小和架构如何,我们在不同尺度的广泛基准上评估我们的方法。实验结果表明,我们的方法优于现有技术,(i)将训练模型的验证误差降低到95.64%;(ii)完全实现高达602.50倍的加速;以及(iii)扩展到具有高达1.38亿个可训练参数的更大模型。

1.简介

基于神经网络的图像分类的鲁棒性比以往任何时候都更受关注,因为它们应用于安全关键领域,如自动驾驶和医学诊断。在针对对抗性扰动训练鲁棒神经网络方面已经做了大量的工作,传统的防御方法通过对抗性例子增加了训练集。它们只针对特定的对手,这取决于对抗性样本的生成方式,但不能提供鲁棒性保证。

最近的方法试图训练具有保证的可证明的鲁棒模型,它们依赖于神经网络在训练过程中的鲁棒性验证结果。大多数现有的验证方法都是基于符号区间传播(SIP),通过符号区间传播,区间被符号化地输入到神经网络中,并在层的基础上传播。然而,这些方法要被广泛采用,主要有三个障碍:(i)将验证结果添加到用于训练的损失函数中,由于在验证阶段引入的高估,对神经网络的鲁棒性的改进有限;(ii)由于验证问题本身的高复杂性,它们是耗时的,例如,对于最简单的基于ReLU的全连接前馈神经网络来说,NP-全连接;以及(iii)在网络架构和激活函数方面,验证与特定类型的神经网络相关联。

为了克服上述障碍,我们提出了一种新的、基于抽象的方法来训练经过验证的鲁棒图像分类,其输入是数字区间。关于(i),在将图像的每个像素输入神经网络之前,我们将其抽象为一个区间。通过将区间的下限和上限分别分配给两个输入神经元,将区间数值输入到神经网络。这保证了在该间隔中对像素的所有扰动不会改变分类结果,从而提高了网络的鲁棒性。此外,这在训练阶段没有造成过高的估计。为了解决挑战(ii),我们只使用前向传播和反向传播来训练网络,而没有额外的时间开销。关于(iii),我们将神经网络视为黑盒,因为我们只处理输入层,不改变其他层。因此,由于不知道实际的神经网络架构,我们的方法可以扩展到相当大的神经网络。此外,我们确定了一个关键的超参数,即抽象粒度,它对应于用于训练网络的间隔的大小。我们提出了一种基于梯度下降的算法来细化抽象粒度,以训练更鲁棒的神经网络。

我们在一种名为ABSCERT的工具中实现了我们的方法,并在各种基准上与现有方法一起对其进行评估。实验结果表明,我们的方法将训练的神经网络的验证误差降低了95.64%,此外,它总共实现了602.50倍的加速。最后,它可以扩展到具有高达1.38亿个可训练参数的更大神经网络,并可应用于广泛的神经网络。

贡献 总的来说,我们提供了(i)一种新的、基于抽象的训练方法,用于已验证的鲁棒神经网络;(ii)用于证明训练的神经网络的鲁棒性的伴随黑箱验证方法;(iii)实施我们的方法的工具;以及(iv)在广泛的基准上对我们的方法以及现有方法进行了广泛的评估,这表明了我们的方法取得了可喜的成就。

2.鲁棒的深度神经网络

Huber在更广泛的意义上引入了鲁棒性的概念:(i)模型的效率应该相当好,(ii)应用于输入的小扰动应该只对模型的结果产生轻微影响。Lyu等人已经正式定义了鲁棒性验证问题:定义1(鲁棒性验证)鲁棒性验证旨在保证神经网络对一个集合中的所有输入输出一致的分类结果,该集合通常表示为干净图像。

神经网络鲁棒性验证问题本质上具有很高的复杂性,许多方法依靠符号区间界传播来简化问题,代价是牺牲完整性。图1示例性地比较了区间绑定传播(IBP)和SIP的差异。直观地说,当我们知道每个输入的域时,我们可以通过在整个神经网络中象征性地传播输入来估计输出范围。根据输出范围,我们可以证明/反驳神经网络的鲁棒性。


为了加速传播,非线性激活函数需要使用线性约束进行过度近似,从而使输出范围被高估。网络中更多的隐藏层意味着更大的高估,因为高估是逐层累积的,大幅高估很容易导致验证失败。因此,正在做出许多努力来收紧过度逼近。不幸的是,已经证明存在理论障碍。

3.基于抽象的训练方法

在本节中,我们将介绍用于训练神经网络的基于抽象的方法,我们在第3.1节中定义了训练问题,第3.2节和第3.3节给出了抽象程序和培训程序。在这两个部分中,我们还说明了变化的网络输入如何影响损失函数,这反过来又有助于训练模型的鲁棒性。

3.1制定训练问题

我们解决以下训练问题:

给定图像的训练集和测试集以及扰动距离δ,我们的目标是为集合中的每个图像
x训练一个在B(x,δ)上可证明鲁棒的图像分类器f,而f在测试集上具有较低
的验证误差。

为了将训练间隔馈送到神经网络,输入层中的神经元数量加倍,如图2所示,每个训练间隔的上限和下限被输入到这些神经元。也就是说,输入层中的神经元不对应于像素,而是对应于每个训练区间的上限和下限。映射到相同训练区间的任何扰动区间都将被馈送到具有相同上界和下界的神经网络中,其他训练参数和设置与传统训练过程相同。

3.2.扰动图像的提取

3.2.1从扰动间隔到训练间隔

我们首先介绍了抽象函数φ:Ln In,其中Ln是所有区间向量的集合,In是在其上训练神经网络的区间向量,并且n表示区间向量的大小。x在δ下的范数球B(x,δδ本质上是Ln中的区间向量,我们将元素称为Ln扰动区间向量。

设[ 1,1]为完整输入空间的范围,我们将[-1,1]均匀地划分为大小为di的子区间,并将所有子区间的集合表示为Ii。然后,我们得到In作为所有Ii的笛卡尔乘积,因为我们在In上训练图像分类器,所以我们调用In训练区间向量中的元素,我们使用d来表示整数向量(d1,d2,…,dn),并将其称为抽象粒度。

在我们的抽象过程中,d中的所有值都是相同的,所以我们使用常数d来表示它。由于扰动区间向量是无限的,因此不可能枚举所有的扰动区间向量进行训练。我们将它们抽象并映射到in中的有限数量的训练区间向量上。抽象的目的是通过将无限扰动空间限制到有限的训练空间来简化后续鲁棒性验证,此外,抽象函数是一个元素操作。在这种情况下,我们以区间为例介绍我们的映射函数。

为了确保扰动区间只能映射到唯一的训练区间,我们对映射过程进行了以下约束:我们首先将抽象粒度d限制为大于或等于扰动大小的两倍,为了保证扰动区间与至多两个训练区间具有交集。我们将映射分为三种情况:(1)如果训练区间包含扰动区间,则扰动区间将映射到训练区间;(2) 如果扰动区间与两个训练区间的交集不相等,则扰动区间将映射到覆盖面积较大的训练区间;(3) 如果扰动区间与两个训练区间具有相等的交集,则扰动区间将映射到具有较大值的训练区间。通过这种方式,我们将扰动区间映射到唯一的训练区间上,然后我们可以在这些训练区间上训练神经网络。

算法1展示了我们的抽象函数,首先,我们初始化完整的输入区间和训练区间向量(第1行),然后,我们得到每个大小为d的子区间(第2行)。如果训练区间包含扰动区间,则扰动区间将被映射到训练区间(第7-8行)。当d 2*δ时,扰动区间最多与两个训练区间同时相交δ,设lenr是扰动区间和数值上较大的训练区间的交集的大小(第10行),设lenl是扰动区间和数值上较小的训练区间的交集的大小(第11行),如果lenr lenl,扰动区间将映射到数值上较大的训练区间(第12-13行);否则,它将被映射到数值上较小的训练间隔(第14-15行)。

3.2.2抽象对输入的影响

我们现在解释说,抽象过程导致训练间隔的变化较小,在我们的训练方法中,每个像素的值被归一化为[-1,1],考虑到输入值分布的任意性,我们假设输入值在[-1,1]中均匀分布。我们计算输入的方差,在这种情况下,我们得到的值是实际值的最大似然估计。

我们计算输入值的方差,d表示抽象粒度,I表示图像的训练间隔。注意,在传统方法中,它等效于d=0,而在我们的方法中,d是一个正数。通过这种方式,对于输入图像,其在抽象处理之后的方差为:

在方程1中,训练间隔的方差由上限和下限计算,对于基于抽象的训练神经网络,大的抽象粒度d意味着小的n,因此训练间隔的方差变小,显然,区间的方差小于具体像素值。

3.3间隔时间训练

3.3.1训练方法

当我们得到训练间隔时,超参数设置,如层数、隐藏层中的神经元数量、训练过程中的损失函数等,除了输入层中的神经细胞数量外,都与传统的训练方法相同。

算法2显示了用于训练神经网络的算法的伪代码。训练数据集X,与数据集相标签Y,扰动半径δ,以及抽象粒度d被用作输入。首先,初始化一个神经网络。也就是说,神经网络的可调节参数是随机初始化的(第1行)。对于训练数据集X的每个图像,扰动区间被映射到训练区间(第4行),根据当前可调参数,计算交叉熵损失(第5行),最后,根据交叉熵损失进行反向传播,并更新可调参数的值(第6行)

3.3.2 Smoothing Loss Landscape

我们说明,在训练过程中,输入的小方差会导致平稳的损失。损失景观是损失函数的表征。例如,平滑损失景观意味着在训练损失保持较低的最小值附近的连接区域的大小,在中心显示出凸起的轮廓,而尖锐损失景观在该区域显示出不是凸起的而是混乱的。

我们从理论和实验两个角度研究了损失景观的平滑度,对于分类问题,损失函数通常是交叉熵损失,我们使用y来表示基本事实标签,并使用ξy来表示神经网络的预测。在这种情况下,我们探讨了I和损失函数之间的关系。

其中,c表示类的数量,yi是标签的一个热编码,ytrue是与正确标签相对应的输出值,A和b是神经网络的参数。对于参数空间,平滑损失景观意味着当神经网络的可训练参数的值逐渐偏离最佳值时,损失会随之缓慢增加,换句话说,方程2相对于a和b的一阶偏导数应该是常数或变化较小的值。这两个偏导数是:

在固定A和b的情况下,我们讨论了方程3对于不同训练间隔的值,如果b=0,我们得到一个常数 1/A,显然,在这种情况下,损失是平滑的。如果b 0,我们将导数写成 1/A+b·(I) 1。在我们的方法中,I的方差很小,也就是说,I的值集中在一个固定值周围。因此,导数的值在很小的范围内变化,损失情况更为平稳。对于方程4,max(A·I+b)很大,因为它是与实况标签相对应的值。因此,方程4接近于0,并且损失景观是平滑的,总之,I的小方差导致了平稳的损失格局。例如,我们使用了工具在图3中可视化分别用d=0和d=0.025训练的两个神经网络的损失情况。图3显示,用d=0.025训练的神经网络比用d=0训练的神经网具有更广泛的损失范围,并且损失在每个方向上都更平稳地增加。

3.3.3经过训练的神经网络的鲁棒性

对数值区间的训练保证了映射到同一数值区间的所有扰动区间都具有相同的分类结果。直观地看,如果一个数值区间代表了更具体的值,那么即使这个具体值受到了轻微的扰动,这些扰动值也会很有可能映射到同一个数值区间。因此,根据神经网络对数值区间的分类仍然保持不变。从这个意义上说,我们说扰动被抽象消解了,从而提高了神经网络的鲁棒性。

从理论上讲,我们证明了由于训练中的抽象而产生的平滑损失景观有助于神经网络的鲁棒性。从图3中可以看出,随着参数的变化,由aberert训练出来的DM-small的损失缓慢而均匀地增加,说明在参数变化的各个方向上损失的增长速度都是缓慢的。然而,传统方法训练的神经网络有一个陡峭的斜率,这意味着存在一个损失迅速增加的方向。显然,平滑的损失格局有助于在训练阶段找到全局最优。

此外,在我们的抽象过程中,原始像素首先被扰动到一个扰动区间,然后映射到一个训练区间进行分类。这表明损失是一个常数,因为一张图像的所有扰动图像都被映射到一组固定的训练区间,方程2中的In是不变的。我们基于抽象的训练方法训练的神经网络具有更强的鲁棒性,因为在参数空间和输入空间中损失情况都是平滑的。特别是对于参数空间,模型倾向于以合理有效的方式找到全局最优;对于输入空间,模型对输入扰动不敏感。

4. 形式验证和粒度调优

在本节中,我们将介绍一种基于验证的方法,用于调优抽象粒度以训练健壮的模型。由于In的有限性,验证过程可以采用黑盒的方式进行,既合理又完整。基于验证结果,我们可以调整抽象粒度以获得更精细的训练间隔。

4.1. 黑盒鲁棒性验证

我们提出了一种黑盒验证方法VERIFY(·)来训练神经网络。给定一个神经网络f,一个测试集Xtest, Ytest,一个扰动距离δ和抽象粒度d, VERIFY(·)返回集合上的验证错误。验证过程很简单。首先,对于每个x Xtest,我们使用算法1中相同的抽象函数φ计算B(x, δ)的训练区间向量集合I。然后,我们将I中的每个区间向量馈送到f中,检查分类结果是否与x的ground-truth标签一致,验证误差e为测试集中不一致情况的比率。

由于I的有限性,我们的验证方法既合理又完整:当且仅当f在I中的所有区间向量上返回与x相同的标签时,f在B(x, δ)上是鲁棒的。另一个优点是它将f视为黑盒。因此,我们的验证方法是正交的,并且可扩展到任意模型。

4.2. 抽象粒度调优

当训练后的神经网络验证误差较大时,我们可以通过调整抽象粒度来减小验证误差,并在区间向量的精练集上重新训练模型。我们提出了一种基于梯度下降的算法来探索抽象空间中的最佳d。

算法3显示了调整和再训练的过程,首先,我们的算法初始化抽象粒度d并验证错误错误(第1行)。调优过程重复,直到d < 2δ,即训练区间的大小不小于扰动区间的大小(第2-15行)。然后通过调用基于抽象的训练函数(算法2)(第3行)获得一个神经网络和对训练间隔为d的训练损失,得到神经网络在测试数据集上的验证误差(第4行)。如果神经网络的验证错误更小,我们保存神经网络和抽象粒度(第5-8行)。接下来,得到训练区间(第9行),然后得到训练区间的上界和下界梯度(第10行)。若G 0且G 0,则终止算法(第11-12行);否则,抽象粒度将被更新为更小的粒度(第1314行),当算法终止时,我们得到了验证误差最小的神经网络。

5. 实验

我们已经在一个叫做ABSCERT的工具中实现了我们的训练和验证方法。我们在各种公共基准上评估了与现有方法一起,包括验证误差以及训练和验证时间。

通过与目前的技术水平进行比较,我们的目标是证明ABSCERT可以训练具有较低验证误差的神经网络(实验1),在训练和验证中产生更少的计算开销(实验2),适用于广泛的神经网络架构(实验3),并且可以扩展到更大的模型(实验4)。

5.1. 基准测试和实验设置

竞争对手 我们考虑了三种最先进的可证明的鲁棒性训练方法:losslandscapemmatters、LBP&Ramp和AdvIBP。它们都依赖于线性逼近来训练可证明的鲁棒神经网络,该网络在l 扰动下最小化了最坏情况损失的上界,我们使用预定义的最优超参数来训练不同扰动下的神经网络。

数据集和网络 我们在MNIST、CIFAR-10和ImageNet上进行了实验。对于MNIST和CIFAR-10,我们训练并验证了所有三个卷积神经网络(cnn),即DM-small, DM medium和DM-large,以及两个分别具有三层和五层的全连接神经网络(fnn),批大小设置为128。我们使用交叉熵损失函数和Adam优化器来更新参数。经过一段热身期后,学习率在0和π之间的余弦函数值之后下降,在0和1之间线性增加。对于ImageNet,我们使用了AlexNet, VGG11, Inception V1和ResNet18架构,它们是图像分类竞赛ILSVRC1的获胜者。我们使用与他们最初实验中相同的超参数来训练这些网络。

指标 我们在比较中使用两个指标:(i)验证误差,即未验证为鲁棒性的图像的百分比。我们用(e0 e)/e0来量化精度的提高,其中e和e0分别是由abusert和竞争者训练的神经网络的验证误差;(ii)时间,包括在相同的神经网络架构上使用相同的数据集进行训练和/或验证。我们计算加速速度为t0/t,分别为t和t0的执行时间,作为不同扰动的时间,我们报告平均时间(见表3和表5)。

实验设置 所有在MNIST和CIFAR-10以及AlexNet上的实验都是在一个运行Ubuntu 18.04的工作站上进行的,使用一个NVIDIA GeForce RTX 3090 Ti GPU。所有VGG11、InceptionV1和ResNet18的实验都是在使用NVIDIA GeForce RTX 3090 Ti GPU的Windows11工作站上进行的。

5.2. 实验结果

实验一:有效性 表1显示了DM-small、DM-medium和DM-large的验证误差比较结果。与竞争对手相比, ABSCERT 实现了更低的验证误差。在MNIST上,我们在三种神经网络模型上分别获得了95.12%、92.65%和95.64%的改进,分别优于LLM、LBP和AdvIBP。在CIFAR-10上,我们实现了81.9%的LLM改进,所有的改进都在49%以上。请注意,LBP的公开可用代码不支持CIFAR-10。

另一个观察结果是,随着 δ变得更大。这意味着,在较大的扰动下,由 ABSCERT 训练的模型的验证误差比由竞争方法训练的模型的验证误差增加得更慢,这反映了由脓肿训练的模型比三个竞争者训练的模型更健壮。

对于训练网络的精度,表2显示,在相同扰动下,我们的方法在所有数据集和模型上都达到了比竞争对手更高的精度。而且,下降速度远小于其中一个训练对手的网络。即, ABSCERT 可以更好地抵抗扰动,并且 ABSCERT 训练的模型具有更强的鲁棒性保证。

实验二:效率 表3显示了平均培训和验证时间,在所有数据集和模型上,与竞争对手相比,ABSCERT 消耗的训练时间更少;特别是,与LLM相比,我们的方法在MNIST的DM-large上实现了高达26.43倍的加速。此外,LBP和AdvIBP很难应用于CIFAR10(需要3200次epoch),而ABSCERT 运行平稳(只需要30次epoch)。这表明ABSCERT 的时间(和内存)开销更少。关于验证开销,ABSCERT 实现了高达602.5倍的加速,并且可扩展到在CIFAR-10上训练的大型模型,这主要是因为我们的验证方法将网络视为黑盒子,这要归功于基于抽象的训练方法。

实验三:适用性 我们证明我们的方法适用于具有各种激活函数的cnn和fnn,例如Sigmoid和Tanh。表4显示了通过我们的方法训练的两种类型的神经网络的验证误差。我们观察到在MNIST上训练的神经网络的验证误差。CIFAR-10)数据集均低于14%,比工作中验证的同类基准要小。

实验四:可扩展性 我们证明了我们的方法是可扩展的,可以在ImageNet上训练四个更大的神经网络架构:AlexNet, VGG11, Inception V1和ResNet18。表5显示了已验证的错误和训练时间,可训练参数的数量从1100万到1.38亿不等。与那些具有代表性的大型模型所报告的误差和训练时间相比,我们的方法达到了具有竞争力的性能。值得一提的是,报告的误差是在测试集上计算的,但没有得到验证,因为这些模型太大,而现有的验证方法由于计算复杂度高而无法验证。相比之下,ABSCERT可以验证相当大的网络,因为它的黑箱特征。

6. 相关工作

这项工作受到了早期通过基于间隔的抽象训练和验证健壮模型的工作的启发。

区间神经网络(INNs) 如果一个神经网络的输入、输出或权重集中至少有一个是区间值的,则该神经网络被称为区间神经网络。区间值输入可以捕获数据集的不确定性、不准确性或可变性,因此用于训练不确定系统(如股票市场)的预测模型。yang和Wu提出了一种基于梯度的方法来平滑INNs,以避免训练的振荡。Oala等人最近提出用理论上合理的预测不确定性分数来训练神经网络进行图像重建。这些研究表明,区间值数据的训练可以提高不确定情况下的预测精度,这与本工作中图像分类的鲁棒性改进是一致的。Prabhakar和Afzal提出将正则神经网络转换为过逼近神经网络进行鲁棒性验证,然而,这种转换不可避免地引入了对模型和验证结果的高估,我们的方法通过对区间值数据进行训练,避免了对训练模型的过度逼近。

回环验证训练 已经提出了许多具有鲁棒性保证的神经网络训练方法,它们大多是基于线性松弛或边界传播。基于线性松弛的方法使用线性松弛来获得范数有界扰动内的凸外近似,这导致高时间和内存成本。相比之下,边界传播方法更有效。Gowal等人提出IBP在相对较大的规模上训练可证明的鲁棒神经网络,然而,它产生的约束可能过于松散而无法付诸实践。Zhang等将前向传播中的快速IBP界和后向传播中的基于线性松弛的紧密界CROWN结合起来,改进了IBP。Lee等人也提出了一种基于线性逼近的训练方法,但考虑了另一个重要因素—损失函数的平滑性。然而,这些方法严重依赖于验证过程,因此时间复杂度相对较高。AdvIBP使用FGSM和随机初始化计算对抗损失,使用IBP计算鲁棒损失。然而,AdvIBP获得的验证误差相对较高。由于这种抽象,我们的方法训练的网络具有更强的鲁棒性。

7. 结论

我们提出了一种新颖的,基于抽象的方法,自然地与黑盒验证算法相结合,用于有效地训练可证明的鲁棒图像分类器。实验结果表明,我们的方法在减少验证错误方面优于最先进的鲁棒训练方法,提高了95.64%。此外,由于它的黑盒特性,我们的验证算法更适合和可扩展到具有多达1.38亿个可训练参数的大型神经网络,适用于广泛的神经网络。

展开阅读全文

页面更新:2024-04-01

标签:抽象   图像   神经网络   粒度   向量   误差   区间   模型   损失   方法

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top