[论文解读] Distillation Guided Residual Learning for Binary Convolutional Neural Networks
该论文提出了一种用于二值卷积神经网络(BCNNs)的蒸馏引导残差学习(DGRL)方法,通过来自全精度CNN的逐块知识蒸馏来最小化特征图残差并提升训练效果。每一块引入一个轻量级的Squeeze-and-Interaction(SI)快捷分支,以仅10%的参数开销建模残差特征,最终在ImageNet上实现了60.45%的top-1准确率,优于当前最先进的BCNN方法,同时保持了高效率。
It is challenging to bridge the performance gap between Binary CNN (BCNN) and Floating point CNN (FCNN). We observe that, this performance gap leads to substantial residuals between intermediate feature maps of BCNN and FCNN. To minimize the performance gap, we enforce BCNN to produce similar intermediate feature maps with the ones of FCNN. This training strategy, i.e., optimizing each binary convolutional block with block-wise distillation loss derived from FCNN, leads to a more effective optimization to BCNN. It also motivates us to update the binary convolutional block architecture to facilitate the optimization of block-wise distillation loss. Specifically, a lightweight shortcut branch is inserted into each binary convolutional block to complement residuals at each block. Benefited from its Squeeze-and-Interaction (SI) structure, this shortcut branch introduces a fraction of parameters, e.g., 10\% overheads, but effectively complements the residuals. Extensive experiments on ImageNet demonstrate the superior performance of our method in both classification efficiency and accuracy, e.g., BCNN trained with our methods achieves the accuracy of 60.45\% on ImageNet.
研究动机与目标
- 为缩小二值卷积神经网络(BCNNs)与全精度卷积神经网络(FCNNs)之间的性能差距,该差距源于中间特征图中显著的残差。
- 提升BCNN的训练效率与优化稳定性,该问题受二值权重和激活带来的梯度消失与量化误差的制约。
- 在不显著增加计算成本的前提下,通过引入一个轻量级快捷分支来增强BCNN的模型容量,以建模残差特征。
- 开发一种训练策略,利用全精度网络在块级别上的监督信号,而非仅用于初始化,以更有效地指导BCNN的优化。
- 在保持高推理效率与低内存占用的前提下,实现BCNN的最先进准确率。
提出的方法
- 通过训练每个二值卷积块,使其与预训练全精度CNN中对应块的中间特征图相匹配,实现逐块知识蒸馏。
- 在每个二值块中插入一个Squeeze-and-Interaction(SI)快捷分支,其中压缩模块降低通道维度,交互模块通过学习到的权重恢复原始特征图。
- SI分支采用可学习的、与块相关的通道压缩比率,以最小的参数开销自适应地建模残差特征。
- 训练过程交替更新用于推理的二值权重和用于反向传播的全精度参数,且在每个块上应用蒸馏损失。
- 采用端到端训练,损失函数由最终输出的交叉熵损失和中间特征的逐块蒸馏损失共同构成。
- 训练后通过剪枝SI快捷分支中的低权重通道实现模型压缩,显著降低FLOPs与模型大小,且准确率下降可忽略。
实验结果
研究问题
- RQ1通过最小化中间特征图残差,来自全精度CNN的逐块知识蒸馏是否能显著缩小BCNN与FCNN之间的性能差距?
- RQ2在计算成本不显著增加的前提下,每块引入一个轻量级Squeeze-and-Interaction(SI)快捷分支是否能有效提升BCNN的表征能力?
- RQ3与仅使用FCNN初始化的标准BCNN训练方法相比,所提出的蒸馏引导训练策略在准确率与收敛性方面表现如何?
- RQ4考虑到SI快捷分支的参数开销极小,其对推理速度与模型效率有何影响?
- RQ5所提出方法是否能在保持低FLOPs与低内存占用的前提下,实现ImageNet上BCNN的最先进准确率,相较于现有方法?
主要发现
- DGRL在ImageNet上实现了60.45%的top-1准确率,优于之前最先进方法CI-BCNN(59.9%),提升0.55%。
- 仅使用逐块蒸馏损失,即可使基线BinaryResNetE18准确率提升1.40%,证明其在优化中的有效性。
- 在基线基础上增加SI快捷分支后,准确率进一步提升1.73%,表明其在建模残差特征方面的重要作用。
- SI快捷分支仅增加12.9%的FLOPs与5.7%的模型大小,由于并行计算,推理速度几乎不变。
- 与全精度ResNet18相比,该方法在CIFAR-10上实现40倍的FLOPs减少与29倍的内存减少,仅损失0.58%准确率。
- 对SI快捷分支通道进行训练后剪枝,可进一步降低开销,同时保持60.23%的准确率,验证了设计的高效性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。