Page 422 - 《软件学报》2025年第10期
P. 422
张锦弘 等: 基于视觉特征解耦的无数据依赖模型窃取攻击方法 4819
因此, 经过以上步骤, 我们使用了不同的解码器分别生成查询样本的纹理信息、位置编码和平滑信息, 达到所
生成查询样本的视觉特征解耦.
2.3 通过查询样本进行模型窃取及攻击
在 VFDA 生成查询样本之后, 便可以使用查询样本 X query 查询目标黑盒模型并根据输出来训练本地的代替模
型 F s (·), 完成模型窃取, 如图 2 的第 2 部分所示. 在本文中, 我们考虑了模型窃取过程中的两种情况: 软标签 (soft
label) 场景和硬标签 (hard label) 场景. 在软标签场景中, 我们使用查询样本 X query 查询目标黑盒模型并获得黑盒模
型输出的逻辑向量, 而在硬标签场景中, 我们只能获得黑盒模型输出的硬标签. 在这一过程中, VFDA 的目标为:
( θ ( ) ( ))
D F X query ,F t X query , soft label
s
min ( ) (10)
θ
θ −log(F X query ×1 F t( X query) =argmaxF s( X query) , hard label
s
其中, 1 为指示函数, 当黑盒模型输出的硬标签等于代替模型输出的硬标签时为 1, 反之为 0.
完成模型窃取后, 在攻击阶段使用常见的攻击算法来评估模型窃取的有效性, 在本文中, 我们评估了 3 个经典
[2]
攻击算法 (FGSM 、BIM [24] 和 PGD [25] ) 在模型窃取后的迁移攻击成功率.
2.4 目标函数
本节将用公式表示 VFDA 方法进行模型窃取任务中的上述目标. 在查询样本的生成中, 编码器 Enc(·) 和 3 个
Dec texture (·)、
解码器 Dec mask (·) 和 Dec smooth (·) 的损失函数包含类间多样性损失 L inter-diverse 、类内多样性损失 L intra-diverse
和纹理稀疏损失 L sparse . 为了生成类间多样性样本, 我们使用类间信息熵来指导生成器编码器和解码器. 也就是说,
VFDA X query 作为输入的计算输出之间的熵, 类间损失函数为:
随机设置一批目标标签 y target , 并减少其与代替模型以
∑ B [ ( )]
L inter-diverse = − y target log F s X query (11)
i=1
其中, B 是批次大小. 类间多样性损失函数的目标为扩大生成样本对目标模型预测的信息熵, 从而使生成模型的训
练满足与代替模型对抗博弈的过程.
其次, 为了使我们的查询样本具有更好的类内多样性, 即同属于一个类别的样本之间同样应该具有不同的视
觉特征, 我们对生成平滑信息的解码器进行了类内多样性损失的约束. 类内多样性损失 L intra-diverse 的损失函数为:
B B
∑ ∑ [ ] [ ]
i
j
j
1
L intra-diverse =log j [ i, j] Logit F s (X i query ) ·Logit F s (X query ) where F s (X query ) = F s (X query ) (12)
i
其中, B 是批次大小, Logit 为未经过 Softmax 的代替模型输出. 通过扩大点积计算同一类别不同样本之间的 Logit
向量的距离, 便能扩大同一类别样本之间 Logit 向量的差异, 从而提高查询样本的类内多样性. 当同一类别样本之
间具有类内多样性时, 样本之间 Logit 向量的差异更大. 不具有类内多样性时, 样本之间 Logit 向量的差异更小. 类
内多样性损失函数的目标为扩大属于同一个类别的查询样本之间的 KL 散度, 从而进一步提高样本的多样性.
为了使查询样本更符合真实样本的视觉特征, 我们对解码器 Dec mask (·) 生成查询样本的纹理区域稀疏性进行
了约束, 使查询样本的纹理区域和平滑区域处于一个合理的范围. 纹理稀疏性约束的损失函数为:
L sparse = ∥clip(Dec mask (V))∥ −δ (13)
0
其中, || 为计算绝对值, clip 表示对 Dec mask (V) 的输出进行取整, 输出为仅包含 0 或 1 的矩阵, ∥·∥ 0 表示矩阵的 0 范
数, δ 为控制纹理稀疏度的超参数. 在本文中, 对于 H ×W ×C 大小的图像, 我们设置 δ 的值为 (H ×W)/10.
总的来说, 生成模型的整体损失函数为:
(14)
L G = α×L inter-diverse +β×L intra-diverse +γ ×L sparse
其中, α,β 和 γ 为控制损失平衡的超参数.
通过 3 个解码器生成我们的查询样本后, 下一阶段是将它们输入代替模型 F s (·) 和目标模型 F t (·), 并使它们的
输出差值最小. 模型窃取的损失函数 L kd 为:
B ∑
( ( ) ( ))
L kd = d F s X query ,F t X query (15)
i=1

