The rising demand for networked embedded systems with machine intelligence has been a catalyst for sustained attempts by the research community to implement Convolutional Neural Networks (CNN) based inferencing on embedded resource-limited devices. Redesigning a CNN by removing costly multiplication operations has already shown promising results in terms of reducing inference energy usage. This paper proposes a new method for replacing multiplications in a CNN by table look-ups. Unlike existing methods that completely modify the CNN operations, the proposed methodology preserves the semantics of the major CNN operations. Conforming to the existing mechanism of the CNN layer operations ensures that the reliability of a standard CNN is preserved. It is shown that the proposed multiplication-free CNN, based on a single activation codebook, can achieve 4.7x, 5.6x, and 3.5x reduction in energy per inference in an FPGA implementation of MNIST-LeNet-5, CIFAR10-VGG-11, and Tiny ImageNet-ResNet-18 respectively. Our results show that the DietCNN approach significantly improves the resource consumption and latency of deep inference for smaller models, often used in embedded systems. Our code is available at: https://github.com/swadeykgp/DietCNN
翻译:摘要:随着具有机器智能的网络嵌入式系统需求日益增长,研究界持续致力于在资源受限的嵌入式设备上实现基于卷积神经网络(CNN)的推理。通过移除高成本乘法运算来重新设计CNN,已在降低推理能耗方面展现出可喜成果。本文提出一种新方法,通过查表操作替换CNN中的乘法运算。与完全修改CNN运算的现有方法不同,本方法保留了主要CNN运算的语义。通过遵循现有CNN层运算机制,确保了标准CNN的可靠性得以保持。实验表明,基于单一激活码本的无乘法CNN,在FPGA实现的MNIST-LeNet-5、CIFAR10-VGG-11和Tiny ImageNet-ResNet-18上,每次推理能耗分别降低4.7倍、5.6倍和3.5倍。结果表明,DietCNN方法显著改善了嵌入式系统中常用小模型的资源消耗与推理延迟。我们的代码开源地址为:https://github.com/swadeykgp/DietCNN