Page 140 - 《软件学报》2020年第9期
P. 140

韦璠 等:利用特征融合和整体多样性提升单模型鲁棒性                                                        2761


             4)   使用 y f 和训练标签 y 计算交叉熵,以提高模型的预测准确率;
             5)   累加 L ED 和 L CE 作为模型此次推理的误差,并求出模型所有训练参数的梯度;
             6)   依据计算出的梯度,使用优化器更新模型参数.
             7)   当前训练轮数的值属于预先设定的修改学习率轮数集 Q 时,将学习率降低为上一阶段的十分之一.
             算法 1.  基于多分支单模型的训练算法.
             输入:训练数据 X,训练标签 Y,批量大小 m,出口数量 K,优化器参数α,轮数上限 N,需要修改学习率的轮数集
         Q,整体多样性超参γ,μ,ω;
             输出:分类器 C.
             1   While θ has not converged and n<N do:
             2      p k ←F k (θ,x),k∈K  //获取分支预测结果
             3      y f ←average(p 1 ,…,p K )    //对各分支结果做平均计算
             4      L ED ←L ED (y,p 1 ,…,p K )    //计算整体多样性
             5      L CE ←L CE (y,y f )  //计算交叉熵
             6      g θ ←∇ θ (L ED +L CE )  //计算训练参数梯度
             7      θ←Optimizer(g θ ,θ,α)    //更新模型参数
             8      If n in Q:
             9         α←α/10          //降低学习率
             10 End while

         3    实   验

             为了验证本方法对单模型鲁棒性提高的有效性及可用性,需要回答如下几个问题.
             •   问题 1:本方法是否能够提升模型的防御能力?即:改进后的模型在受到攻击的情况下是否能够比以前
                的模型得到更好的分类正确率?防御能力是否只是针对某种特定攻击方式有效?
             •   问题 2:本方法会否损害原模型的分类效果?即,改进后的模型是否仍能对原始的干净样本正确分类?
             •   问题 3:本方法中,对分支的特征融合以及在训练过程中加入的整体多样性正则项是否必须同时满足?
             •   问题 4:本方法是否能与其他的模型防御方法组合使用,并且不会影响防御效果?
         3.1   实验设计
             为了回答以上 4 个问题,我们进行了如下设计.
             •   首先构造要对比的模型.
             根据问题 1 和问题 2,只需要对比初始原模型(记为 B 模型)和使用本文方法改造后的模型(记为 F+D 模型);
         为了回答问题 3,需要额外设计只使用了特征融合的模型(记为 F 模型)和只使用了整体多样性的模型(记为 D 模
         型);为了回答问题 4,我们选择了一种常用的模型防御方法——对抗训练,它有助于使神经网络的函数从接近线
         性变化转化为局部近似恒定,从而可以灵活地捕获到训练数据中的线性趋势,同时学习抵抗局部扰动,是一种广
         泛使用的模型防御能力再提升方法.实验需要对比只使用本文方法改造后的模型(记为 F+D 模型)和综合使用
         本文方法与对抗训练的模型(记为 AdvT+F+D 模型).这些模型的具体构造方式如下:B 模型选择了 Resnet-32 模
         型,不对其做任何改动;F 模型是对 B 模型加入了额外分支和分支之间的特征金字塔,但在训练过程中不考虑分
         支的整体多样性;D 模型是在 B 模型中加入分支,并在训练过程中加入分支的整体多样性正则项,但不添加分支
         之间的特征融合部分;F+D 模型则是综合以上两种方法,对原模型加入额外分支出口以及分支间的特征融合,同
         时在训练过程中使用整体多样性的正则项;AdvT+F+D 模型是在 F+D 模型的基础上,综合使用对抗训练而得到
         的模型.
             •   其次,选择攻击方式以及对应的参数.
             白盒攻击是在攻击者已知分类器的全部信息,包括训练数据、模型结构和权重的情况下,生成对抗样本攻
   135   136   137   138   139   140   141   142   143   144   145