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

2760                                 Journal of Software  软件学报 Vol.31, No.9,  September 2020

         2.2   基于多分支单模型的整体多样性计算
             组合模型在训练过程中,会因为成员之间的信息交互导致各个成员的最终输出表征相似,这一问题在图
         1(d)所示的多分支单模型中表现更为明显.这是因为分支预测之间有共享层,在简单的训练下,分支之间的信息
         交互会比组合模型成员之间的更强.为了使训练出来的各个分支预测不趋同,提升分支之间的整体多样性就显
         得尤为重要.为此,本文设计了基于多分支单模型的整体多样性计算方法,分为 3 个部分.
             •   第 1 部分为确保每个分支的准确率.
             作为可以单独输出的预测,我们要保证分支预测的准确性,准确性的判断一般由交叉熵来衡量.每个分支的
         交叉熵在反向传播过程中都会影响其路径上的参数,而在单个模型中,这些路径存在重叠(这些重叠的部分称为
         共享层),因此会导致共享层的内部参数同时,受多个分支影响.同时,由于各分支的路径长度不一致,因此它们在
         训练中占有的比重也应有所不同.所以,使用一个带权重的组合交叉熵来保证各分支的预测准确率:
                                             Py
                                          L BE ( , ;) θ = ∑ ω  n  ( L p y θ  n , ;) .
                                                    ∈
                                                    nN
         其中,P={p n },n∈N 是所有分支预测的集合;ω n 是各分支的权重,一般由路径长度的比例决定,或者按照实践经验
         重新设定.
             •   第 2 部分为提高预测的置信度.
             在有标签的交叉熵计算中,标签是一个独热码(one-hot vector),所以计算结果省略了非正确标签的信息,而
         最终输出的置信度也是可以评价模型精度的一种度量.香农熵可以对信息量化,熵值越大,表示变量的不确定越
         大,使用其来作为置信度的计算,可以使训练过程考虑到输出的总体分布带来的不确定因素影响.虽然本文改进
         模型的最终输出是均化值,但分支长度的不同依旧需要考虑,所以此阶段的置信度计算对象结合了权重信息:
                                                   1
                                               P =   ∑  ω n p .
                                                *
                                                          n
                                                   N  nN
                                                     ∈
             •   第 3 部分为定义多样性的度量.
             本方法为使整体多样性提升不影响正确标签的分布,采用修改非极大预测分布的策略,非极大预测分布即
         为分支预测分布去除正确标签对应位后剩余的错误分类方向分布情况.将所有分支的非极大预测分布整合,构

         成一个 n−1 维的向量组 M .同样考虑分支长度不一致,各分支在 n−1 空间内的指向在受到相同力量的分离时,
                              \ y

         相对与中心分离的角度会不一致,所以在组合向量组 M 中引入各分支的权重,此处权重可定为与路径长度比
                                                     \ y
         例一致,欲达到最优效果,需要经过角速度的计算获得:
                                         M    \ y  =  ( Fω  1 \ y 1    ,...,ω  n F \ y n    ,...,ω  N F \ y N    ),
                                                     T
                                         L DS  =  log(det(M M    \ y )).
                                                     \ y

                                                                      T
               n
         其中, F 为第 n 个分支应用非极大预测策略后,经 L2 标准化的预测向量; M 是 M 的转置矩阵;det 是矩阵行
                                                                      \ y
                                                                           \ y
               \ y
         列式计算;log 为对数计算.
             最终,对多分支单模型的整体多样性计算为
                                                       *
                                            L ED =L BE +γ⋅H(P )+μ⋅L DS .
         其中:H(⋅)为香农熵计算公式;γ和μ为超参,负责权衡多样性的提高程度和准确率,达到最优.
         2.3   训练过程
             一般的模型训练过程中,只会使用最终输出和训练标签来计算误差.但本文方法给原模型添加了额外分支,
         为了发挥各个分支的作用,还需要将分支预测结果添加到误差计算过程中.针对改进后的模型结构,我们设计了
         算法 1.在模型没有完全拟合或者还没有到达轮数上限时执行以下操作.
             1)   获取各个分支的预测结果,保存到张量 p k 中;
             2)   计算所有分支预测结果的平均值,保存到最终结果 y f 中;
             3)   计算出模型的整体多样性,输入为各分支预测 p k 、已设定的整体多样性超参γ,μ以及每个分支的权重;
   134   135   136   137   138   139   140   141   142   143   144