Page 217 - 《软件学报》2025年第5期
P. 217
王益民 等: 面向卷积神经网络泛化性和健壮性权衡的标签筛选方法 2117
/
k ∑
f ′
f n (x) = e f ′ (x) e i (x) (1)
n
i=1
′
其中, f (x) 为归一化前的输出.
i
… 10 维向量
卷积 多次卷积 全连接 输出
32×32
… … 10
1 024 …
… …
图 2 深度卷积神经网络
之后由损失函数 L(F(x;θ);y) 计算该输出和正确标签 y 的差异值, 用于反向传导更新模型的参数. 目前最常用
的损失函数为交叉熵损失, 具体形式如下:
k ∑
L CE = − y n log f n (x) (2)
n=1
假定 ˆ n 为某一样本的正确类别所代表的索引且 argmaxF(x;θ) = ˆn , 则模型预测该样本正确, 由 L CE 标准训练的
模型能以很低的错误率轻松完成这一任务. 因此, 生成对抗样本的过程便是找到与输入同维度的噪声向量 r, 使该
′
′
(
模型无法正确分类对抗样本 x x = x+r ), 即满足:
s. t. argmaxF(x+r) , argmaxF(x) (3)
min||r|| 2
r
其中, ||r|| 2 为 r 的二阶范数, 即对抗样本和干净样本的欧氏距离.
1.1 对抗样本生成算法
Goodfellow 等人 [10] 提出的 FGSM 算法通过计算损失函数的反向梯度来生成噪声, 使得对抗样本的交叉熵损
失增大, 从而达到欺骗模型的目的, 具体形式为:
r = −ϵ · sign(∇loss (F;y) (x)) (4)
sign(·) 为符号函数, 对一个向量内负值取– 1, 正值取 1. 该算法仅仅利用损失函数即
其中, ϵ 决定添加的噪声强度,
可完成对抗样本的生成, 无需多余的计算步骤, 因此可以快速完成攻击任务. 然而 FGSM 使用 ϵ 值一次性改变噪声
r 的大小进行限制, 使得噪声过于明显, 即忽视了公式 (3) 的约束条件. 为
中每一维的强度, 在优化过程中并没有对
解决这一问题, Madry 等人 [11] 采用多步迭代的 FGSM 算法, 并在每次迭代后将扰动 r 裁剪至固定范围内, 设计出
了 PGD 攻击算法, 即:
r i+1 = clip ϵ (r i +α· sign(∇loss (F;y) (x))) (5)
相比于 FGSM 攻击, PGD 将 α 作为每一步攻击的强度, 用 限制最终噪声的强度, 将 的大小严格控制在 范
ϵ
ϵ
r
围的球域内, 因此在相同的 ϵ 值下, PGD 相较于 FGSM 牺牲较多的时间生成了更微小且更具攻击性的噪声.
DeepFool [12] 是一种基于优化的攻击, 该算法近似得到样本点到决策面的最短距离向量, 采用多步迭代的方式
让样本在添加噪声后移动到决策面的另一侧, 同样生成了有效的对抗样本, 步数是衡量 DeepFool 攻击强度的标
准, 每一步后的新样本 x i 满足: