Adder neural network (AdderNet) is a new kind of deep model that replaces the original massive multiplications in convolutions by additions while preserving the high performance. Since the hardware complexity of additions is much lower than that of multiplications, the overall energy consumption is thus reduced significantly. To further optimize the hardware overhead of using AdderNet, this paper studies the winograd algorithm, which is a widely used fast algorithm for accelerating convolution and saving the computational costs. Unfortunately, the conventional Winograd algorithm cannot be directly applied to AdderNets since the distributive law in multiplication is not valid for the l1-norm. Therefore, we replace the element-wise multiplication in the Winograd equation by additions and then develop a new set of transform matrixes that can enhance the representation ability of output features to maintain the performance. Moreover, we propose the l2-to-l1 training strategy to mitigate the negative impacts caused by formal inconsistency. Experimental results on both FPGA and benchmarks show that the new method can further reduce the energy consumption without affecting the accuracy of the original AdderNet.
翻译:添加神经网络( AdderNet) 是一种新型的深层模型, 以附加来取代变异中最初的大规模倍增, 同时保持高性能 。 由于添加的硬件复杂性大大低于乘数, 总体能源消耗量因此大大降低 。 为了进一步优化使用 AdderNet 的硬件间接费用, 本文研究 winograd 算法, 这是一种广泛使用的快速算法, 用于加速变异并节省计算成本 。 不幸的是, 传统的 Winograd 算法无法直接适用于 aderNet, 因为乘法的乘法对 1- Norm 无效 。 因此, 我们用添加来取代 维诺格勒 等式的元素性倍增, 然后开发一套新的变异矩阵, 能够提高输出特性的表达能力以保持性能 。 此外, 我们提议 l2-to- l1 培训策略, 以减轻形式不一致造成的消极影响 。 FPGA 和 基准的实验结果显示, 新的方法可以进一步降低能源消耗, 而不影响 原始 AdderNet 的准确性 。