Page 95 - 《软件学报》2024年第4期
P. 95

周植  等:  面向开集识别的稳健测试时适应方法                                                         1673


         数γ, β进行更新,  有效地规避了未见类样本对开集识别模型分类已见类别能力的负面影响.
             具体来说,  我们首先基于测试时增广技术与基于熵的不确定性度量,  提出了一种对协变量分布偏移更稳
         健的样本不确定性度量指标 Unc(x):
                                                     1
                                                       P
                                      Unc () =x  max  K ∑  f  ( (); )A x  θ k                 (4)
                                                1 k≤  P  p= 1
                                                 ≤
         其中,  超参数 P 控制测试时增广次数.  增加数据增广次数 P, Unc(x)的稳健性提升,  但 OTA 方法的时间开销也
         随之增加.  当 P 设置为 1 时,  不确定性度量指标 Unc(x)近似退化为不使用测试时增广技术的版本.  在本文实验
         中,  OTA 方法的超参数 P 被设置为 6,  以兼顾 Unc(x)的稳健性与模型的时间开销.  函数 A(x)是数据增广函数,
         为样本 x 生成一个相似却不同的增广版本 x′.  既有工作               [37] 表明,  测试时增广技术能够显著增加模型对于协变
         量分布偏移的稳健性.  本文所提不确定性度量 Unc(x)首先将模型对样本 x 的 P 种不同增广版本的预测结果以
         平均的方式集成      [38,39] ,  然后利用最大 Logit 分数(max logit score, MLS) [13] 度量样本 x 的不确定性.
             基于 Unc(x), OTA 方法进一步筛选得到的已见类样本集合 D              t Kn  为
                                               |
                                       D t Kn  =  {x x i  ∈  D ∧  t  Unc ()≥x i  α }          (5)
                                              i
         其中,  α为筛选置信已见类别样本的阈值.  α越大,  集合 D            t Kn  内的已见类样本越纯净,  但已见类样本的数量随之
         降低.  得益于本文所提不确定性度量 Unc(x)的稳健性,  当超参数α在一定范围内变化时, OTA 方法的性能相对
         稳健.  本文在第 4.5 节的实验结果也证明了这一现象.
             得到置信的已见类样本集合 D          t Kn  后,  我们利用 D t Kn  中的样本更新批标准化层中统计信息 µ       c , σ  2 c  与可学习
         参数γ, β.  具体来说,  针对统计信息 µ      c , σ  c 2  ,  我们使用基于动量的更新方式:
                                           1
                                                      −
                                       µ =  c  η BL ∑ r b , , c l  +  (1 η )µ old
                                              , bl                                           (6)
                                      
                                       σ =  2  η  1  ∑ (r  −  µ  2  (1 ησ 2
                                                            −
                                                              )
                                                      ˆ ) +
                                        c  BL  , bl  b , , c l  c  old
                                      
         其中,  µ  old  , σ  2 old  分别表示特征表示均值与方差在更新前的值, η是控制动量更新时新旧参数值的混合比例的超
         参数,  r 表示集合 D   t Kn  内样本的特征表示向量.  在 OTA 方法中,  η根据批标准化层          [36] 内的默认值被设置为 0.1.
         针对可学习参数γ, β,  我们仅利用 D       t Kn  内的样本计算公式(3)中的熵最小化损失,  并利用梯度下降算法更新γ, β.
         3.2   开集熵损失
             OTA 方法使用自适应熵损失,  有效地防止未见类样本对估计统计信息 µ                     c , σ  2 c  与更新参数γ,  β的负面影响,
         提升了开集识别模型面对协变量偏移时分类已见类别的能力.  然而,  D                      t Kn 中仅包含测试样本集合 D t 中有限的

         置信已见类样本,  忽略了大量未见类样本,  使得模型的开集识别性能无法达到最优.  因此,  我们引入一个轻量
         级的开集识别模块,  帮助 OTA 方法筛选置信的未见类样本,  并结合本文所提的开集熵损失进一步强化模型识
         别未见类样本的能力.
                                                          2K
                                                                                                i
             具体来说,  轻量级的开集识别模块为 g(x;θ):→[0,1] ,  其输出一个长度为 K 的二维向量[g(x;θ) ,
                i
         1−g(x;θ) ],  表示当前样本属于或不属于第 i 个已见类别的概率.  由于开集识别模块 g(x;θ)与模型 f(x;θ)共享特
         征表示提取器, g(x;θ)不会为模型训练与推理带来沉重负担,  其参数量仅为 2FK.  其中, F 为共享特征表示的维
         度.  在训练阶段, OTA 方法使用经典的一对多损失优化 ova (x,y)           [40] 开集识别模块 g(x;θ):
                                                                    j
                                                   y
                                    ova (x,y)=−log(g(x;θ) )−min j≠y log(1−g(x;θ) )           (7)
                                                   y
              ova (x, y)使样本 x 属于真实类别 y 的概率 g(x;θ) 升高,  使样本 x 不属于其他类别 j, j≠y 概率的最小值也升
                                                                   y
         高.  在测试阶段,  如果样本 x 属于已见类别 y,  那么其对应类别概率 g(x;θ) 较大;  如果样本 x 属于未见类别,  那
                                     k
         么属于所有已见类别的概率 g(x;θ) , 1≤k≤K 都较小.
             在测试阶段, OTA 方法首先利用所提开集识别模块 g(x;θ)找到置信的未见类样本.  我们定义样本属于未见
   90   91   92   93   94   95   96   97   98   99   100