目标函数:PI-FGSM的目标是在满足 L ∞ L_{\infty} L∞ 范数束缚(即对抗扰动的最大幅度不超过 ϵ \epsilon ϵ)的条件下,最大化替换模型的交叉熵丧失,以生成能够成功诱骗目标模型的对抗样本。
梯度盘算与放大:在每次迭代中,盘算当前对抗样本 x t a d v x_t^{adv} xtadv 关于丧失函数 J J J 的梯度 ∇ x J ( x t a d v , y ) \nabla_x J(x_t^{adv}, y) ∇xJ(xtadv,y),并将步长设置为 ϵ T × β \frac{\epsilon}{T} \times \beta Tϵ×β(其中 T T T 为总迭代次数, β \beta β 为放大因子),对梯度举行放大,以增加扰动的幅度,进步攻击的有效性。
投影核与噪声重用:引入特殊的匀称投影核 W p W_p Wp,当累积放大噪声 a t a_t at 的 L ∞ L_{\infty} L∞ 范数超过阈值 ϵ \epsilon ϵ 时,通过投影核将超出部分的噪声投影到周围区域,生成“可行方向”的噪声,同时重用这部分噪声,增加噪声斑块的聚集程度,以更好地匹配图像中判别区域的聚集特性,进步对抗样本的转移性。
算法流程
初始化累积放大噪声 a 0 a_0 a0 和裁剪噪声 C C C 为0,设置初始对抗样本 x 0 a d v = x c l e a n x_0^{adv}=x^{clean} x0adv=xclean。
对于 t = 0 t = 0 t=0 到 T − 1 T - 1 T−1:
盘算梯度 ∇ x J ( x t a d v , y ) \nabla_x J(x_t^{adv}, y) ∇xJ(xtadv,y)。
更新累积放大噪声 a t + 1 = a t + β ⋅ ϵ T ⋅ s i g n ( ∇ x J ( x t a d v , y ) ) a_{t + 1}=a_t+\beta \cdot \frac{\epsilon}{T} \cdot sign(\nabla_x J(x_t^{adv}, y)) at+1=at+β⋅Tϵ⋅sign(∇xJ(xtadv,y))。
如果 ∥ a t + 1 ∥ ∞ ≥ ϵ \|a_{t + 1}\|_{\infty} \geq \epsilon ∥at+1∥∞≥ϵ,则盘算裁剪噪声 C = c l i p ( ∣ a t + 1 ∣ − ϵ , 0 , ∞ ) ⋅ s i g n ( a t + 1 ) C = clip(|a_{t + 1}|-\epsilon, 0, \infty) \cdot sign(a_{t + 1}) C=clip(∣at+1∣−ϵ,0,∞)⋅sign(at+1),并更新 a t + 1 = a t + 1 + γ ⋅ s i g n ( W p ∗ C ) a_{t + 1}=a_{t + 1}+\gamma \cdot sign(W_p * C) at+1=at+1+γ⋅sign(Wp∗C)(其中 γ \gamma γ 为投影因子);否则 C = 0 C = 0 C=0。
更新对抗样本 x t + 1 a d v = C l i p x c l e a n , ϵ { x t a d v + β ⋅ ϵ T ⋅ s i g n ( ∇ x J ( x t a d v , y ) ) + γ ⋅ s i g n ( W p ∗ C ) } x_{t + 1}^{adv}=Clip_{x^{clean}, \epsilon}\{x_t^{adv}+\beta \cdot \frac{\epsilon}{T} \cdot sign(\nabla_x J(x_t^{adv}, y))+\gamma \cdot sign(W_p * C)\} xt+1adv=Clipxclean,ϵ{xtadv+β⋅Tϵ⋅sign(∇xJ(xtadv,y))+γ⋅sign(Wp∗C)},并将其裁剪到 [ − 1 , 1 ] [-1, 1] [−1,1] 范围内。
返回终极的对抗样本 x a d v = x T a d v x^{adv}=x_T^{adv} xadv=xTadv。