Skip to main content
QUICK REVIEW

[论文解读] BoolNet: Minimizing The Energy Consumption of Binary Neural Networks

Nianhui Guo, Joseph Bethge|arXiv (Cornell University)|Jun 13, 2021
Advanced Neural Network Applications参考文献 43被引用 12
一句话总结

BoolNet 提出了一种新颖的二值神经网络架构,通过用二进制运算和布尔逻辑替代大多数32位组件(如32位批量归一化、恒等残差连接和32位特征图),实现了能效的显著提升。与Bi-RealNet相比,其能量消耗降低了4.6倍,同时在ImageNet上实现了1.2%更高的top-1准确率。

ABSTRACT

Recent works on Binary Neural Networks (BNNs) have made promising progress in narrowing the accuracy gap of BNNs to their 32-bit counterparts. However, the accuracy gains are often based on specialized model designs using additional 32-bit components. Furthermore, almost all previous BNNs use 32-bit for feature maps and the shortcuts enclosing the corresponding binary convolution blocks, which helps to effectively maintain the accuracy, but is not friendly to hardware accelerators with limited memory, energy, and computing resources. Thus, we raise the following question: How can accuracy and energy consumption be balanced in a BNN network design? We extensively study this fundamental problem in this work and propose a novel BNN architecture without most commonly used 32-bit components: extit{BoolNet}. Experimental results on ImageNet demonstrate that BoolNet can achieve 4.6x energy reduction coupled with 1.2\% higher accuracy than the commonly used BNN architecture Bi-RealNet. Code and trained models are available at: https://github.com/hpi-xnor/BoolNet.

研究动机与目标

  • 为解决二值神经网络(BNNs)中准确率与硬件效率之间的不平衡问题,特别是由高能耗的32位组件引起的瓶颈。
  • 研究32位层(如批量归一化、缩放和32位残差连接)对BNN中能量消耗和硬件效率的影响。
  • 设计一种32位组件最少的BNN架构,以在不损失准确率的前提下提升能效。
  • 开发一种多切片策略,以缓解因特征图和残差连接二值化导致的表征能力损失。
  • 证明仅理论FLOPs不足以反映实际效率,内存访问和硬件能量成本是关键影响因素。

提出的方法

  • 通过将残差连接的原点从批量归一化转移到Sign函数,将32位特征图和恒等残差连接替换为1位二进制特征图。
  • 使用布尔逻辑运算(XNOR和位计数)替代32位加法进行特征图聚合,从而消除加法运算的MAdds开销。
  • 执行无损变换,将批量归一化层融合进Sign函数,消除推理过程中BN的计算和内存开销。
  • 移除或替换32位运算(如PReLU、平均池化和二值下采样卷积)为二值或基于逻辑的替代方案。
  • 引入多切片策略,将特征图划分为多个二进制切片,实现在保持二进制计算的同时提升表征丰富性。
  • 采用硬件加速器仿真评估能量消耗,重点关注DRAM访问和组件级能量成本。

实验结果

研究问题

  • RQ132位组件(如批量归一化、缩放和32位残差连接)如何影响BNN的能量消耗和硬件效率?
  • RQ2是否能够设计一种BNN,在仅使用极少32位组件并实现全二进制信息流的前提下,仍保持高准确率?
  • RQ3用二进制或布尔逻辑运算替代32位运算,对能效和准确率的影响如何?
  • RQ4多切片策略如何缓解因特征图和残差连接二值化导致的准确率下降?
  • RQ5理论FLOP计数在多大程度上能反映BNN的实际能量消耗,特别是在内存访问主导能量消耗的情况下?

主要发现

  • 与Bi-RealNet相比,BoolNet将能量消耗降低了4.6倍,在ImageNet推理中仅需0.84 mJ。
  • 尽管仅使用1位特征图,BoolNet在ImageNet上仍实现了57.6%的top-1准确率,比Bi-RealNet的56.4%高出1.2%。
  • 32位PReLU和Int8批量归一化的能量消耗分别为二值卷积的26%和50%,凸显了其低效性。
  • 在BoolNet的最后阶段引入空洞卷积,可使准确率提升2%(达到59.6%),同时相比Bi-RealNet将能量消耗降低3.3倍。
  • 采用k=4的多切片策略相比完全二进制基线,将准确率下降减少了6.2%,在保持极低32位组件数量的同时维持了高性能。
  • 硬件仿真结果表明,DRAM访问主导了能量消耗,而BoolNet极小的内存占用显著降低了DRAM访问次数和能量消耗。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。