Page 488 - 《软件学报》2025年第10期
P. 488

韩凯 等: 用于二值神经网络的加宽和收缩机制                                                          4885


                 进行再训练或微调以获得较高的精度.
                    知识蒸馏是一种提升模型精度的方法, 在这种方法中, 一个小模型                     (学生模型) 被训练来模仿一个预训练的、
                 更大的模型    (教师模型). 在蒸馏过程中, 通过最小化损失函数将知识从教师模型传递给学生模型, 损失函数的目标
                 是教师模型预测的类别概率分布. 将教师模型和学生模型的                     Softmax  之前的输出   (即  logits) 分别记为  o T  和  ,
                                                                                                      o S
                 Softmax 之后的输出表示为     p T = Softmax(o T )  和  p S = Softmax(o S ). 知识蒸馏损失函数可表示为:

                                                                     τ
                                                                   τ
                                                  L KD = H(y, p S )+µH(p , p )                       (11)
                                                                   T  S
                                                                                       τ
                                                                                   τ
                 其中,  H(·,·) 是交叉熵损失, y 是独热码标签向量,       µ 是平衡这两个项的超参数. 此外,         p  和  p  是教师模型和学生模
                                                                                   T   S
                 型的软化后预测:

                                                               (  )
                                                      τ         o T
                                                     p = Softmax
                                                     
                                                      T
                                                                τ
                                                                                                    (12)
                                                               (  )
                                                                o S
                                                       τ
                                                      p = Softmax
                                                     
                                                       S
                                                                 τ
                 其中,  τ 为温度系数. 我们利用知识蒸馏来提高紧凑模型的精度. 教师模型可以是全精度模型, 也可以是加宽后的
                 二值网络.
                    现有的神经网络要么是加宽来提升精度              [39] , 要么是收缩来减少参数量或计算量        [8,24,25] , 我们的方法首次提出通
                 过先加宽再收缩的机制来优化二值神经网络结构. 在加宽和收缩机制的具体实现中, 首先我们提出逐层二值特征
                 宽度求解方法, 然后引入端到端学习的网络宽度优化方法, 前者可以保证逐层的最优解, 后者可以更快速地求解整
                 网的结构. 通过我们所提出的加宽和收缩机制得到的二值神经网络, 能够在保证精度的同时最小化参数量和计
                 算量.
                  4   实验分析
                    在本节中, 我们将在多个图像分类基准数据集和一个目标检测任务上进行实验, 验证所提出的量化方法的有
                 效性. 我们对实验结果进行详细的分析, 以进一步帮助了解所提出的方法的好处.
                  4.1   实验数据集
                    为了验证所提出的量化方法的有效性, 我们在多个基准视觉数据集上进行了实验, 包括                                CIFAR-10  [40] 、
                 CIFAR-100 [40] 、ImageNet ILSVRC 2012  数据集  [37] 和  PASCAL VOC0712  目标检测基准  [41] . 表  1  给出了数据集所对
                 应的详细信息.

                                                      表 1 实验数据集

                              类型             数据集            训练集数量         验证集数量         类别数
                                            CIFAR-10          60 000       10 000        10
                            图像分类            CIFAR-100         60 000       10 000        100
                                        ImageNet ILSVRC 2012  1.2M          50k         1 000
                            目标检测         PASCAL VOC0712       16 500        4 952        20

                    我们首先利用      CIFAR-10  数据集分析所提出方法的特性, 该数据集由属于              10  种类别的  60 000  彩色图像组成,
                 其中有   50 000  张训练图像和  10 000  张验证图像. CIFAR-100  数据集具有相同数量的图像和训练集验证集数量, 只
                 是它有   100  类. CIFAR-10  和  CIFAR-100  采用了一种常用的数据增强方案, 包括随机裁剪和镜像. ImageNet 是一个
                 大规模的图像数据集, 它包含了          1 000  类的  1.2M  张训练图像和  50k  张验证图像. 在训练过程中采用了常用的数据
                 预处理策略, 包括随机裁剪和翻转. 我们还在             PASCAL VOC0712  数据集上进行了目标检测实验. 按照通常的做法,
                 我们在训练集     (16 500  张图像) 上训练模型, 并使用    4 952  张图像的验证集进行评估.

                  4.2   训练设定及基准模型
                    我们对每个     n  比特量化网络在{1, 2, 3, 4, 5, 8}范围内的一个或几个宽度上进行了加宽实验. 当宽度为               1  时, 量
   483   484   485   486   487   488   489   490   491   492   493