Neural Polarizer: A Lightweight and Effective Backdoor Defense via Purifying Poisoned Features (NIPS 2023)
一句话概述本文内容:通过把一个polarizer(由1个卷积层和一个batchnorm层组成)插入到模型中间,然后设计损失函数,经过双层优化,最终实现对后门的清除。(需要一定数量的干净数据)
polarizer需要满足三个属性:
- 和模型结构的兼容性
- 过滤中毒样本中的触发器特征
- 维持中毒样本和正常样本中的良性特征
属性1可以通过模型结构直接对polarizer的结构进行对应地调整。属性2和3建模为一个双层优化问题来解决。
Methodology
损失函数设计
(1)过滤中毒样本中的触发器特征
关键在于削弱触发器和目标标签之间的联系,损失函数如下:
L a s r ( x , y , Δ , T ; θ ) = − log ( 1 − s T ( x Δ ; θ ) ) \mathcal{L}_{asr}(x,y,\Delta,T;\boldsymbol{\theta})=-\log(1-s_T(\boldsymbol{x}_\Delta;\boldsymbol{\theta})) Lasr(x,y,Δ,T;θ)=−log(1−sT(xΔ;θ))
其中, s T ( x Δ ; θ ) s_T(\boldsymbol{x}_\Delta;\theta) sT(xΔ;θ)是插入构造的polarizer后的新模型的softmax函数,用于输出中毒样本到目标标签的概率。降低 L a s r \mathcal{L}_{asr} Lasr可以实现对后门攻击成功率的降低。
(2)维持中毒样本中的良性特征
这里作者采用了对抗训练的思路,使用了Improving adversarial robustness requires revisiting misclassified examples(ICLR 2020)这篇文章的一个增强交叉熵损失(boosted cross entropy)函数来净化中毒样本
L b c e ( x , y , Δ ; θ ) = − log ( s y ( x Δ ; θ ) ) − log ( 1 − max k ≠ y s k ( x Δ ; θ ) ) \mathcal{L}_{bce}(x,y,\Delta;\boldsymbol{\theta})=-\log(s_y(x_\Delta;\boldsymbol{\theta}))-\log\left(1-\max_{k\neq y}s_k(\boldsymbol{x}_\Delta;\boldsymbol{\theta})\right) Lbce(x,y,Δ;θ)=−log(sy(xΔ;θ))−log(1−maxk=ysk(xΔ;θ))
第一项是常见的CE Loss,第二项是一个margin loss,用于增大分类器的决策间隔。
(3)维持良性样本中的良性特征
使用常见的交叉熵损失
L b n ( x , y ; θ ) = L C E ( f ^ θ ( x ) , y ) \mathcal{L}_{bn}(x,y;\boldsymbol{\theta})=\mathcal{L}_{\mathrm{CE}}(\hat{f}_{\boldsymbol{\theta}}(\boldsymbol{x}),y) Lbn(x,y;θ)=LCE(f^θ(x),y)
近似和优化
目标标签和触发器的近似
防御者无法获得目标标签 T T T和触发器 Δ \Delta Δ,所以采取近似的方法。
(1)目标标签的近似
采用特定与样本的动态策略: T ≈ y ′ = arg max k ≠ y f ^ k ( x ; θ ) T\approx y'=\arg\max_{k\neq y}\hat{f}_k(\boldsymbol{x};\boldsymbol{\theta}) T≈y′=argmaxk=yf^k(x;θ)
这种策略的2个优点:①预测的目标标签能够生成有针对性的对抗性扰动,这在后面的内容中分析得出:有针对性的对抗性扰动比无针对性的对抗性扰动更能替代未知的触发因素。②样本特定目标标签预测适用于 all2one(一个触发器,一个目标类)和 all2all(每个类都是目标类)攻击设置
(2)触发器的近似
其中,
∥
⋅
∥
p
\|\cdot\|_p
∥⋅∥p是p范数,
ρ
\rho
ρ是扰动预算
这个式子表示添加扰动后的样本所预测得到的标签和目标标签之间损失值最小时,也就是最可能接近正确的后门样本的情况,这个时候所添加的扰动可以近似认为是触发器。
双层优化
将上述2中近似的函数替换到损失函数中,得到最后的优化目标函数为:
min θ 1 N ∑ i = 1 N λ 1 L b n ( x i , y i ; θ ) + λ 2 L a s r ( x i , y i , δ i ∗ , y i ′ ; θ ) + λ 3 L b c c ( x i , y i , δ i ∗ ; θ ) , s . t . δ i ∗ = arg min ∥ δ i ∥ p ≤ ρ L C E ( f ^ θ ( x i + δ i ) , y i ′ ) , y i ′ = arg max k i ≠ y i f ^ k i ( x i ; θ ) , i = 1 , … , N \min_{\theta}\frac{1}{N}\sum_{i=1}^{N}\lambda_{1}\mathcal{L}_{bn}(x_{i},y_{i};\theta)+\lambda_{2}\mathcal{L}_{asr}(x_{i},y_{i},\delta_{i}^{*},y_{i}^{\prime};\theta)+\lambda_{3}\mathcal{L}_{bcc}(x_{i},y_{i},\delta_{i}^{*};\theta),\\\mathrm{s.t.\;\;\;\;}\delta_{i}^{*}=\arg\min_{\|\boldsymbol{\delta}_{i}\|_{p}\leq\rho}\mathcal{L}_{\mathrm{CE}}\left(\hat{f}_{\boldsymbol{\theta}}(\boldsymbol{x}_{i}+\boldsymbol{\delta}_{i}),y_{i}^{\prime}\right), y_{i}^{\prime}=\arg\max_{k_{i}\neq y_{i}}\hat{f}_{k_{i}}(\boldsymbol{x}_{i};\boldsymbol{\theta}),i=1,\ldots,N minθN1∑i=1Nλ1Lbn(xi,yi;θ)+λ2Lasr(xi,yi,δi∗,yi′;θ)+λ3Lbcc(xi,yi,δi∗;θ),s.t.δi∗=argmin∥δi∥p≤ρLCE(f^θ(xi+δi),yi′),yi′=argmaxki=yif^ki(xi;θ),i=1,…,N
变种
(1)目标标签 T T T已知
触发器近似更改为: Δ ≈ δ i ∗ = arg min ∥ δ i ∥ p ≤ ρ L C E ( f ( x i + δ i ) , T ) \Delta \approx \delta_{i}^{*} = \operatorname{arg}\operatorname*{min}_{\|\boldsymbol{\delta}_{i}\|_{p}\leq\rho}\mathcal{L}_{\mathrm{CE}} (f(\boldsymbol{x}_{i}+\boldsymbol{\delta}_{i}),T) Δ≈δi∗=argmin∥δi∥p≤ρLCE(f(xi+δi),T)
(2)通过有针对性的通用对抗性扰动近似触发器
参考文章Exploring targeted universal adversarial perturbations to end-to-end ASR models(Interspeech 2021)。使用通用扰动作为触发器。
优化算法
(1)内部最小化
通过 y i ′ = arg max k i ≠ y i f ^ k i ( x i ; θ ) y_{i}^{\prime} = \arg\max_{k_{i}\neq y_{i}} \hat{f}_{k_{i}}(x_{i};\theta) yi′=argmaxki=yif^ki(xi;θ)来估计目标标签,然后使用PGD算法生成扰动作为近似的触发器。
(2)外部最小化
通过随机梯度下降SGD更新polarizer的参数,给定每批样本的近似目标标签和触发。
总的算法伪代码如下图所示:
至此介绍完了本文所提的方法。
实验部分的指标可以学习一个Defense Effectiveness Rating (DER),用来评估防御效果
D E R = [ max ( 0 , Δ A S R ) − max ( 0 , Δ A C C ) + 1 ] / 2 \mathrm{DER}=[\max(0,\Delta\mathrm{ASR})-\max(0,\Delta\mathrm{ACC})+1]/2 DER=[max(0,ΔASR)−max(0,ΔACC)+1]/2