神经注意力蒸馏NAD

作者篇名会议时间页码
Yige Li Xixiang Lyu Nodens Koren Lingjuan Lyu Bo Li Xingjun MaNeural Attention Distillation: Erasing Backdoor Triggers from Deep Neural NetworksICLR:International Conference on Learning Representations2021/2/2619

创新与方案

提出了一种新的后门清除方法——神经注意力蒸馏(NAD),用于DNNs的后门防御。其灵感来源于知识蒸馏[1]与神经注意力转移[2]。NAD是一个蒸馏引导的微调过程,具体来说是通过一个微调的教师网络来指导在一小部分干净的训练数据上对后门的学生网络进行微调,从而使学生网络的中间层注意力与教师网络的注意力完全一致。
在这里插入图片描述

图1:后门擦除技术的管道。(a)标准的微调过程,(b)我们提出的NAD方法,以及(c)我们以ResNet(He等人,2016)为例的NAD框架。NAD按照两步程序消除后门触发。1)通过用干净的训练数据子集微调后门网络来获得教师网络,然后2)通过神经注意力提炼过程来联合教师和学生。注意力表征是在每个残差组之后计算的,NAD蒸馏损失是以教师和学生网络的注意力表征来定义的。

主要问题:找到适当的注意力表征来进行提炼。

注意力函数:

A s u m ( F l ) = ∑ i = 1 C ∣ F i l ∣ ; A s u m p ( F l ) = ∑ i = 1 C ∣ F i l ∣ p ; A m e a n p ( F l ) = 1 C ∑ i = 1 C ∣ F i l ∣ p (1) A_{sum}(F^l) = \sum^C_{i=1} |F^l_i|; A^p_{sum}(F^l) = \sum^C_{i=1}|F^l_i|^p; A^p_{mean}(F^l) = \frac{1}{C} \sum^C_{i=1}|F^l_i|^p\tag{1} Asum(Fl)=i=1CFil;Asump(Fl)=i=1CFilp;Ameanp(Fl)=C1i=1CFilp(1)

(1) 其中 F i l F^l_i Fil是第i个通道的激活图,|-|是绝对值函数,p>1, A : R C × H × W → R H × W A:R^{C×H×W}→R^{H×W} ARC×H×WRH×W是一个注意力算子,它将激活图映射到一个注意力表示。直观地说, A s u m A_{sum} Asum反映了所有的激活区域,包括良性神经元和后门的的神经元。 A s u m p A^p_{sum} Asump A s u m A_{sum} Asum的一个广义版本,它将被后门的神经元和良性神经元之间的差异放大了一个p的数量级。换句话说,p越大,具有最高神经元激活的部分的权重就越大。通过取所有激活区域的平均值, A m e a n A_{mean} Amean通过取所有激活区域的平均值,使后门的神经元的激活中心与良性神经元的激活中心一致。这是在实验中对这三种注意力表征进行的经验性解释。

注意力蒸馏损失 在整个蒸馏过程中,教师网络保持固定。网络第l层的蒸馏损失是以教师和学生的注意力图谱来定义的。

L N A D ( F T l , F S l ) = ∣ ∣ A ( F T l ) ∣ ∣ A ( F T l ) ∣ ∣ 2 − A ( F S l ) ∣ ∣ A ( F S l ) ∣ ∣ 2 ∣ ∣ 2 (2) \mathcal L_{NAD}(F^l_T, F^l_S)= \bigg|\bigg|\frac{A(F^l_T)}{||A(F^l_T)||_2} -\frac{A(F^l_S)}{||A(F^l_S)||_2}\bigg|\bigg|_2 \tag{2} LNAD(FTl,FSl)=A(FTl)2A(FTl)A(FSl)2A(FSl)2(2)

其中 ∣ ∣ ⋅ ∣ ∣ 2 ||·||_2 2是L2范数。

总体损失
整体训练损失是交叉熵(CE)损失和所有K个残余组的神经元注意力蒸馏(NAD)损失之和的组合:

L t o t a l = E ( x , y ) ∼ D [ L C E    ( F S ( x ) , y ) + β ∑ i = 1 K   L N A D     ( F T l    ( x ) , F S l ( x ) ) ] (3) \mathcal L_{total}= \mathbb E_{(x,y)∼D[\mathcal L_{CE\,\,}(F_S(x), y) + β\sum^K_{i=1}\,\mathcal L_{NAD\,\,\,}(F^l_T\,\,(x), F^l_S(x))]}\tag{3} Ltotal=E(x,y)D[LCE(FS(x),y)+βi=1KLNAD(FTl(x),FSl(x))](3)

其中 L C E ( − ) L_{CE}(-) LCE()衡量学生网络的分类误差,D是用于微调的清洁数据子集,l是残差组的索引,β是控制注意力蒸馏强度的超参数。

创新优势

之前的后门清除方法:之前的后门清除方法中,虽然都能减轻后门攻击,但都存在着一些问题,如灾难性遗忘、计算成本高等,且都可以被最新的攻击方法所绕过。

NAD:是迄今为止对各种后门攻击最全面和有效的防御方法,此外,作者还提议使用注意力图作为评估后门防御机制性能的一个直观表示。

攻击与防御实验

设置6种最先进的后门攻击:1)BadNets 2)木马攻击,3)混合攻击,4)清洁标签攻击(CL),5)正弦信号攻击(SIG),以及6)反射攻击(Refool)

防御比较使用:1)标准微调,2)精细修剪,3)模式连接修复(MCR)使用相同的5%的清洁训练数据。

表1:使用攻击成功率(ASR)和分类准确性(ACC)评估4种后门防御方法对6种后门攻击的性能。偏差表示与基线(即无防御)相比,ASR/ACC的变化百分比。Refool的实验是在GTSRB上进行的,而所有其他实验是在CIFAR-10上进行的。最好的结果用粗体表示。
在这里插入图片描述

注意力图直观表示后门消除过程
在这里插入图片描述

图3:通过不同的防御方法在WRN-16-1的每个残余组学到的注意力图的可视化,用于BadNets(左)或CL(右)的后门图像(见附录A)。我们的NAD方法在深层(如第3组)表现出了更有效的擦除效果。

其他工作

  1. 不同比例的清洁数据下的有效性
    在这里插入图片描述

图2:4种后门擦除方法在不同可用干净数据百分比下的性能。这些图显示了所有6次攻击的平均ASR(左)和ACC(右)。NAD使用20%的干净数据将ASR显著降低到接近0%。

  1. 不同注意力函数的情况下的表现 A s u m 2 A^2_{sum} Asum2取得了最好的整体结果。

  2. 比较了注意力蒸馏与特征蒸馏之间的差异:注意力蒸馏更具优势。一是整合,因为注意力算子计算不同通道的激活图的总和(或平均值)(见公式1)。因此,它可以提供一个整体触发效应的综合测量。相反,如果我们直接使用原始激活值,触发效应可能会分散到不同的通道。二是正则化。由于其整合效应,注意图包含了后门触发的神经元和良性神经元的激活信息。这一点很重要,因为后门神经元可以从注意图中获得额外的梯度信息,即使它们没有被干净的数据激活。此外,注意图的维度比特征图低。这使得基于注意力图的正则化(对齐)比基于特征图的正则化更容易被优化。

  3. 参数β的影响:探讨了参数β对ASR和ACC的影响,越高攻击成功率越低,但是模型性能也会下降。

  4. 教师-学生组合的影响
    在这里插入图片描述

图4:CIFAR-10上4种蒸馏组合的比较。B、B-F和C分别代表后门模型、微调后门模型和在干净子集上训练的模型。
  1. 教师选择的影响
    在这里插入图片描述
图5:教师接受各种百分比的清洁CIFAR-10数据训练后的NAD表现。
  1. 不同教师架构的有效性
    表2:我们采用不同教师体系结构的NAD在CIFAR10上对抗不良网络的有效性。ASR:攻击成功率;ACC:干净的精确度。第一栏突出了教师和学生网络之间的架构差异。最好的结果是粗体
    在这里插入图片描述

不足

以文章来看,并没有什么明显的不足之处。

阅读感想

这篇文章将注意力机制与知识蒸馏结合,在语义上消除后门,并且从多个角度探讨教师模型在不同架构、选择、不同注意力函数下的后门防御效果,因此可以引出不同的教师模型选择策略和优化策略(如注意力机制)可以提升蒸馏后门防御的效果,因此是否还有比注意力机制更优的策略和更好的教师模型是一个值得探讨的问题。

03-19
### NAD in IT Context In the context of information technology and specifically within neural networks or deep learning frameworks, **NAD** can stand for different terms depending on its application domain. Based on provided references: One possible interpretation arises from the mention of SAE-NAD capturing geographical dependencies via a neighbor-aware auto-encoder while failing to incorporate geographical convenience[^2]. Here, **NAD** refers to **Neighbor-Aware Auto-Encoder**, where this technique focuses on encoding spatial relationships between data points using an architecture sensitive to neighboring elements. Another plausible meaning might relate more broadly across other areas such as normalization techniques like Batch Normalization (BN), Layer Normalization (LN). However no explicit definition aligning directly with these was found among your citations yet still worth noting due relevance when discussing architectures involving layers transformations including defining linear ones mentioned elsewhere under attention mechanisms discussions.[^3] Finally considering broader usage patterns outside direct machine learning constructs but relevant nonetheless especially given urban planning datasets referencing Toronto neighborhoods count example; here another potential candidate emerges albeit less likely unless specified otherwise would involve Network Address Translation(NAT)-like processes adapted into specialized forms perhaps termed similarly sounding acronyms serving analogous purposes tailored towards specific computational needs rather than traditional networking paradigms alone.[^4]. ```python class NeighborAwareAutoEncoder(nn.Module): def __init__(self, input_dim, hidden_dim): super(NeighborAwareAutoEncoder, self).__init__() self.encoder = nn.Linear(input_dim, hidden_dim) self.decoder = nn.Linear(hidden_dim, input_dim) def forward(self, x_neighbors): encoded = torch.relu(self.encoder(x_neighbors)) decoded = self.decoder(encoded) return decoded ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值