ShiftAddAug:无乘法小型神经网络的混合计算增强方法

ShiftAddAug: Augment Multiplication-Free Tiny Neural Network with Hybrid Computation

摘要

本文介绍了一种名为ShiftAddAug的创新方法,旨在增强无乘法的小型神经网络(NN),通过混合计算显著提高其准确性,同时不增加推理开销。ShiftAddAug方法通过将无乘法的小型NN嵌入到一个更大的乘法模型中,并利用乘法部分作为增强来推动目标无乘法模型达到更好的状态。此外,为了解决混合操作符之间的权重差异问题,提出了一种新的权重共享方法。论文还采用了一种两阶段的神经架构搜索策略,以获得更高效的无乘法小型神经网络。实验结果显示,ShiftAddAug在图像分类和语义分割任务中均能显著提升准确性,甚至在某些情况下超过了传统的乘法NN。

原理

ShiftAddAug的核心原理是通过混合计算增强无乘法的小型神经网络。具体来说,该方法将无乘法的小型NN(如ShiftConv或AddConv)嵌入到一个更大的乘法模型中,利用乘法操作来增强无乘法操作的性能。在训练过程中,混合操作符共享权重,但考虑到不同操作符的权重分布差异,提出了一种异构权重共享策略,通过映射函数将权重从一种分布映射到另一种分布,从而解决权重差异问题。此外,通过两阶段的神经架构搜索,从乘法SuperNet中切割出一个深度SubNet,再从中选择一些层形成最终的TargetNet,以满足预设的硬件限制。

流程

ShiftAddAug的工作流程包括以下几个关键步骤:

  1. 嵌入与增强:将无乘法的小型NN嵌入到一个更大的乘法模型中,利用乘法部分作为增强。
  2. 权重共享与映射:通过异构权重共享策略,将乘法模型的权重映射到无乘法模型的权重分布,解决权重差异问题。
  3. 神经架构搜索:采用两阶段的神经架构搜索策略,首先从乘法SuperNet中切割出一个深度SubNet,然后从中选择一些层形成最终的TargetNet。
  4. 训练与优化:在训练过程中,TargetNet和增强的大模型联合训练,通过权重共享和映射,逐步优化无乘法模型的性能。

应用

ShiftAddAug方法在资源受限的平台如边缘设备上具有广泛的应用前景。由于其能够在不增加推理开销的情况下显著提升无乘法小型NN的准确性,因此非常适合于需要高效能和低能耗的场景,如物联网设备、移动设备和嵌入式系统。此外,该方法还可以应用于图像分类、语义分割等多种计算机视觉任务,具有很高的实用价值和市场潜力。