论文链接:https://arxiv.org/abs/2103.00363v1
代码链接:
摘要:移动设备中广泛使用的微小神经网络(TNN)容易受到对抗性攻击,对TNN鲁棒性的更先进研究需求也越来越大。
本文关注于如何在不损失模型精度的情况下提升TNN的鲁棒性。为了在对抗精度adversarail accuracy,干净精度clean accuracy,和模型尺寸间达到平衡,本文提出了TAM-NAS算法,一种微小的对抗性多目标一次性网络架构搜索方法。
由于微型神经网络的脆弱性,迫切需要系统地研究如何设计鲁棒的微型神经网络(TNN)。众所周知,深度神经网络很容易受到对输入数据引入微妙扰动的攻击。为了防御攻击,当前的研究观察了 ResNet 作为骨干网络时模型的容量与其对抗鲁棒性之间的关系。事实证明,添加更多的神经网络参数可以大大提高模型的弹性。尽管微型神经网络在移动应用中得到广泛使用,但很少有研究集中在提高 TNN 的鲁棒性上。 通常,它们的大小为 10 K 到 2 M。 因此,我们研究的主要目标是重新设计 TNN 架构以增强其鲁棒性。
设计神经网络架构是增强对抗性示例鲁棒性的一种有前景的方法。 先前的一些研究已经说明了神经结构对于对抗鲁棒性的重要性。 Huang等人全面考察网络宽度和深度对鲁棒性的影响;Liu等人使用多目标NAS搜索鲁棒的神经网络结构。然而,它们中的大多数并不以所需的 FLOP 计数为目标,也没有解决微小的架构设计问题。我们假设微型网络设计本身具有抗对抗能力。 因此,我们工作的目的是研究最佳权衡架构,并提出紧凑、弹性网络架构的设计原则。
为了确定具有对抗精度、干净精度和模型大小的最佳微型神经网络架构,我们采用多目标架构搜索算法来找到最佳的权衡架构设计。目前大多数工作都采用对抗性训练来提高模型的鲁棒性。 然而,大多数人只关心增强弹性,而忽略了干净精度的降低。 因此,我们采用基于多目标方法的 NAS来寻找对抗精度、干净精度和模式大小之间权衡解决方案的最佳架构。 在我们的工作中,我们主要解决基于ShuffleNetV2架构、Xception块、SE层、NonLocal块及其变体的权衡问题。
本文的贡献如下:
对抗训练是抵御对抗攻击中最流行的防御机制,其使用clean and adversarial图像用于训练。源于博弈论,[10]将对抗学习的最大最小问题重建为纳什均衡问题。基于博弈论的优化方法可以在不损伤对抗精度的前提下减少计算代价。[11]验证了对抗精度和干净精度间的平衡信息。[22]和[23]设计了一个代理损失函数减少干净图像和对抗性图像之间的差异。[3]总结出增加神经网络的容量可能增强其抵御对抗攻击的能力。众所周知的是,部署在电子设备上的大部分网络都非常小,因为能耗和存储限制。因此,我们旨在弄清楚什么样的小型神经网络对对抗干扰有很好的抵御性。
白盒攻击假设对手了解目标模型的详细信息,包括模型架构、超参数、梯度和训练数据。和分别表示对抗样本和干净样本;指的是对的损失函数的梯度。
Fast Fradient Sign Method (FGSM). one-step且non-target攻击,其生成通过添加沿着每个像素梯度方向的干扰生成对抗样本。生成的对抗样本可表达如下:
Projected Gradient Descent (PGD). PGD攻击结合随机初始化和多步攻击,是最强的对抗之一。生成的对抗样本可表达如下:
神经架构搜索旨在使用机器学习技术自动设计神经网络。代表性的搜索算法包括进化计算,强化学习,和基于梯度的方法。在one-shot NAS中,作者构建了一个超网可以容纳任何可能的网络架构;[31]训练了一个超网一次,然后在搜索过程中可以通过权重贡献对不同的子网估计适应度值。但是,大部分都使用了单目标优化算法搜索,不适配于trade-off问题。为了解决多目标优化问题,使用NSGA-II算法作为我们的搜索算法。最近,几篇论文探索了网络宽度和深度对鲁棒性的影响。此外,Huang等人提出了一个鲁棒残差块和一个compound scaling rule去观察网络宽度和深度的影响。相反地,TAM-NAS更多关注于微型网络的抵抗攻击能力。
TAM-NAS包括4步。
下图展示了整体框架:
使用DAG表示超网空间,定义为,是超网的权重。一个子网表示为,其中是这个子网的权重。是的先验分布。是在对抗训练样本上的对抗训练损失。对TAM-NAS影响最大的因素是从超网中继承的权重体现的性能应该高度可信。可被表达为下式:
训练完超往后,下一步是找到一个最优帕累托子网,优化目标是:对抗误差、干净误差、模型尺寸。下图展示了多目标one-shot NAS的流程:
三种类型的blocks
只搜索每个block的中间通道数,包括Pure Tiny blocks、Pure Robust Blocks、Tiny Robust Blocks。启发式地,中间通道数的减少不会导致对抗性精度和干净精度的恶化,这非常适合于神经网络的性能与其模型大小之间的平衡。具体地,图4展示了如何将一个通道选择器添加在Pure Tiny blocks、Pure Robust Blocks、Tiny Robust Blocks的内部。通道选择器比例从0变化到2,间隔为0.2。
我们的超网采样策略是首先对选择块进行采样,然后在超网的warm-up训练完成后联合对选择块和选择通道进行采样。 我们发现,当我们一开始对块选择和通道选择进行联合采样时,我们的超网收敛具有挑战性。 我们提前建立一个参数表以加快采样过程。 我们将提供有关块采样和通道采样的更多详细信息。
我们在 CIFAR10 和 SVHN 数据集上研究了许多网络架构,我们的试点研究表明,微小的超网大小范围为 1.5 到 4M。 在块采样阶段,我们仅搜索超网架构的块选择,并设置超网参数数量范围从 1.823 到 2.375M 的约束。 在所有实验中,我们在块采样阶段对超级网络进行 500 个 epoch 的训练,并每 20 个 epoch 采样一个新的架构。
在块采样阶段之后,超网联合搜索块和通道选择。 我们将此阶段称为块和通道联合采样。 我们设置另一个约束,即此阶段超网参数的数量应在 1.61 到 2.37M 之间。 在所有实验中,我们在块和通道联合采样阶段对超级网络进行 500 个 epoch 的训练,并每 20 个 epoch 采样一个新的架构。
我们的目标是探索网络架构对其对抗对抗攻击的鲁棒性的影响。因此,聚焦于由界定的白盒对抗攻击。PGD对抗训练是计算昂贵且难以收敛的。本文根据[21,23]并采用TRADES-YOPO-m-n
算法加速对抗训练,描述如下:
该损失函数减少了在分类任务下对抗和非对抗样本间的代沟,i.e.,让分类边界更加平滑。YOPO-m-n采取了来自Pontryagain's maximum原则的思想去近似反馈过程。YOPO的一个假设是对抗刚绕只影响第一层的权重,TRADES-YOPO-m-n执行n次梯度下降并更新第一层的权重,对每个数据迭代运行m次。Zhang等人认为m x n应该比攻击次数更大,所以TRADES-YOPO-m-n的效果话不错。本文中,如果想要用PGD攻击10次,这里m=5,n=3。在一张V100上每个epoch的训练时间是2.5分钟。
使用NSGA-II。
为了解决通道维度不匹配的问题,为卷积核预分配权重矩阵,i.e., max_output_channel, max_input_channel, and kernel_size. 最大通道维度是原始维度的2倍。交叉后,对当前batch的权重矩阵的维度不变,然而,我们只保留当前输入和输出通道的权重矩阵的值[:c_out,:c_in,:]。 而且,权重矩阵中其他通道的值被强制为零。 在这种情况下,我们不仅解决了通道维度不一致问题,还实现了通道交叉和变异。 此外,我们必须将非本地块移出 stride-2 层的搜索空间,因为非本地块无法出现在新子网的 stride-2 层中,因为 非局部块的输出特征图无法与 stride-1 层的输入大小匹配。
变异算子是从搜索空间中重新分配子网的每个块或通道选择器比率。 如果随机概率大于预定义的变异概率,就会触发变异算子。 我们的块编码方案是从0到21。包含非本地层的块是从12到21。除了stride-2层之外,大多数块可以在每一层中任意变异。 因为非局部块无法出现在新子网的 stride-2 层中,因为非局部块的输出特征图的大小无法与 stride-1 层的输入大小匹配。 为了增强群体的多样性并禁止创建完全不同的网络架构,我们将突变概率设置为0.1,这意味着子网有10%的机会改变块或通道数。
完成多目标搜索后,我们获得一组非支配架构。 一般来说,在非受控前端有两种方法来处理每个搜索到的子网。 一种是从超网继承权重并对其进行微调,另一种是从头开始训练每个子网。 我们还使用 TRADES-YOPO-m-n 作为我们的对抗训练算法。