Page 484 - 《软件学报》2025年第10期
P. 484
韩凯 等: 用于二值神经网络的加宽和收缩机制 4881
the binary ResNet-18 achieves a top-1 accuracy of 70% on the ImageNet dataset.
Key words: neural network; model quantization; image classification; object detection
深度神经网络, 尤其是卷积神经网络, 在各种计算机视觉应用中获得了优异的性能, 如图像分类 [1−3] 和目标检
测 [4,5] 、语义分割 [6,7] 等任务. 部署在移动设备上的应用具有低时延、更好的隐私和离线操作等优势. 然而, 由于高
内存和计算成本, 在资源受限的移动设备上部署深度学习模型具有很大挑战性. 出于这一需求, 研究人员提出了许
多模型压缩和加速方法, 以提高学习的深度模型的适用性, 包括剪枝 [8] 、量化 [9−11] 、知识蒸馏 [12] 和轻量化模型 [13,14]
等方法.
模型量化 [10,15] 是最广泛使用的模型压缩方法之一. 为了降低深度神经网络的复杂性, 最近涌现了许多量化权
重或激活值的工作. 其中, 权重和激活量化为+1 或−1 的二值神经网络 [10] 具有许多优点. 与非二值网络相比, 二值
网络需要更小的内存, 并用逻辑运算如 XNOR 和 POPCOUNT 取代大多数浮点运算, 这提高了工作效率, 大大减少
了推理时的内存大小和计算量.
尽管很多方法已经做出了诸多改进, 通过调整二值神经网络的结构 (如改变激活函数和批归一化的顺序 [16] )
和添加更多的正则化 [17] 来提高二值神经网络的性能. 事实上, 大多数二值神经网络的算法都可以被视为二值化特
征嵌入任务, 其中二值化特征和原始全精度特征的维数完全相同. 如果原始特征没有明显的冗余, 那么特征在二值
空间中的表示能力肯定会低于特征在原始空间中的表示能力. 因此, 我们有必要将二值化卷积核的数量增加到合
适的量, 以获得具有相同表示能力的二值化特征.
为此, 我们首先提供了两个实验来展示二值化特征的表示能力. 首先, 为了通过二值化特征来发现深度特征的
内在表示, 我们使用正交变换将给定全精度神经网络中的特征投影到高维二值空间中, 以此保持住它们的成对欧
几里得距离不变. 然后, 通过学习的选择掩码来识别原始特征中的冗余. 基于所获得的紧凑二值化特征, 我们以可
接受的卷积核数量增量重新配置神经网络. 在基准数据集上的实验表明, 使用所提出的方法建立的二值神经网络
能够实现与全精度基准模型相似的性能, 并且具有显著较低的内存占用和计算量.
1 模型压缩相关工作
本文通过使用更多的特征来解决量化网络的极限表示能力问题. 先前的研究主要集中在设计新的网络架构或
新的量化函数以及找到量化值的最佳分布. 在本节中, 我们将回顾现有的建立紧凑模型的方法, 包括模型量化、剪
枝和知识蒸馏.
1.1 模型量化
神经网络一般使用 FP32 的数值格式进行训练和存储, 我们称其为全精度神经网络. 模型量化将神经网络的权
值或激活值量化为更低比特的离散值, 减少存储和计算量, 同时在量化过程中保持高精度 (达到或接近全精度神经
网络在测评时的准确程度). 在 Deep compression 方法 [18] 中, 使用剪枝、量化和霍夫曼编码来压缩模型. DoReFa-
[9]
Net 提出使用不同的位宽量化权重、激活和梯度. 梯度通过基于全精度权重的平均绝对值的自定义形式进行近
似. BinaryConnect [19] 将权值 W 替换为 Sign(W), 直接优化网络的整体损失函数, 并在后向过程中用硬双曲正切函数
逼近 Sign 函数来避免零梯度问题.
二值神经网络是一种极致的量化方法, 它将神经网络的权值和激活值都量化成单比特的数值, 从而将神经网
络的计算转化为逻辑运算, 大幅降低存储和提升计算效率. BinaryNet [10] 在二值化过程中为权重添加比例因子帮助
优化. XNOR-Net [20] 提出将实值缩放因子添加到二值化卷积的每个输出通道. Bi-Real Net [21] 通过插入恒等映射方式
将真实激活连接到二值卷积的输出上 (在量化函数之前), 以增强表示能力. ABC-Net [22] 和二值集成方法 [23] 在每层
使用更多的卷积运算来提高精度. 尽管这些工作已经取得了很大的进展, 但低比特量化网络, 特别是二值神经网络
的性能仍然比全精度网络差得多.
1.2 模型剪枝和结构优化
网络修剪是一种压缩和加速神经网络的有效技术, 能够在存储和计算资源有限的硬件设备上更高效地部署网

