Page 313 - 《软件学报》2026年第7期
P. 313

2998                                                       软件学报  2026  年第  37  卷第  7  期


                 布样本的最大和最小边界.         ω 2  设定了一个权重上限     (最大边界). 在训练过程中, |cos(epoch)|会随    epoch  变化, 但其

                 值不会超过    ω 2 . 如  ω 2 = 0.7, 无论|cos(epoch)|如何变化, 原始样本损失权重最大就是   0.7. 这就限制了原始样本损失
                 在总损失中占比的上限, 防止模型过度依赖原始样本学习, 避免在对抗训练中过于注重原始精度而忽视鲁棒性提
                 升. 如果没有这个限制, 模型可能会在原始样本上过度拟合, 过于注重原始数据的分类精度, 而忽略了对对抗样本
                 或其他复杂情况的学习, 导致模型的泛化能力和鲁棒性不足平衡学习. 此外, 确保在训练的不同阶段, 原始样本损
                 失在总损失中的占比不会过高, 从而为代理分布样本损失等其他部分留出合理的比重, 使模型能够平衡地学习不
                                            ω 2 = 0.3, 那么代理分布样本损失权重最小为         0.3. 这保证了在训练过程中, 代理
                 同方面的特征, 提升综合性能. 设置
                 分布样本损失在总损失中始终有一定占比, 使模型不会完全忽略代理分布样本                          (包含对抗样本相关特性) 的学习,
                                          ω 3  保证鲁棒性学习, 可以稳定训练过程, 使模型在训练过程中对代理分布样本的
                 有助于提升模型的鲁棒性. 限制
                 学习保持一定的稳定性. 避免因为权重过小而导致在某些训练阶段对代理分布样本的学习不足, 进而影响模型整
                 体的训练效果和性能提升. 在简单数据集上, 对抗样本与原始样本分布差异显著, 若固定高比例对抗样本参与训
                                                                           ω 3  设置为  0.3  的合理性. 公式  (13) 是
                 练, 易导致模型过度适应对抗扰动, 产生鲁棒过拟合. 实验结果也表明了将
                 PBAT  的基础损失公式, 公式     (14) 是针对简单数据集上解决鲁棒过拟合的优化版本. 实验部分未特别说明时, 默认
                 使用公式   (13); 仅在  MNIST  数据集上为解决鲁棒过拟合, 才启用公式          (14).
                    最后, 具体的训练过程如算法         1  的流程所示, 输入是待加固的原始模型与原始样本集合                 X, 输出是训练后得到
                 的, 获得了新的决策边界的模型参数文件. 轮次训练方法考虑了模型在训练过程中可能出现的鲁棒过拟合问题. 例
                 如, 在简单数据集     (如  MNIST) 上, PGD  攻击下产生的对抗样本与原始样本在高维空间分布差异大, 容易导致模型
                 出现鲁棒过拟合. PBAT     调整损失函数, 利用      cos(·) 函数特性平衡比例. 随着训练轮数        epoch  的变化, 通过调整相关
                 参数来控制模型对不同样本的学习程度. 在训练初期, 模型可能更多地学习原始数据, 随着训练进行, 逐渐增加对
                 代理分布样本的学习.
                 算法  1. PBAT.
                                        f θ , 原始样本集合  X;
                 输入: 待加固的神经网络模型
                 输出: 训练后得到的, 获得了新的决策边界的模型参数文件.

                                                    ,
                 1. 初始化模型参数    θ, 设置超参数    λ i (i = 1,2,3) ω i , 学习率  η
                 2. for  epoch = 1,2,...,N  do
                                    m
                 3.  for   batch B ⊂ X{x i ,y i }   do
                                    i=1
                 4.   for  i = 1,2,...,m do
                                    ′
                 5.    生成对抗样本      x ← pgd_generation(x i );
                                    i
                 6.    通过   G  生成代理分布样本      ˜ x i ← gan_generation(x );
                                                             ′
                                                             i
                 7.     L cln = cross_entropy( f θ (x i ),y i ));
                 8.     L adv = cross_entropy( f θ (x ),y i ));
                                          ′
                                          i
                 9.     L proxy = cross_entropy( f θ (˜x i ),y i ));
                                                                        ∑ m
                 10.     反向传播, 使用自适应学习率优化器          Adam  更新参数   θ ← θ −η   ∇ θ (λ 1 L cln +λ 2 L adv +λ 3 L proxy )/m;
                                                                          i=1
                 11.   end for
                 12.  end for
                 13. end for
                  3   实 验

                    为了验证    PBAT  方法的有效性, 在多个数据集上进行了实验. 实验结果表明, 通过概率模型分析数据样本并基
                 于样本分布构建多样性数据, 可以显著提高智能模型鲁棒性, 并适用于不同任务领域.
   308   309   310   311   312   313   314   315   316   317   318