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 时, 量

