Convolutional neural networks (CNN) are widely used in resource-constrained devices in IoT applications. In order to reduce the computational complexity and memory footprint, the resource-constrained devices use fixed-point representation. This representation consumes less area and energy in hardware with similar classification accuracy compared to the floating-point ones. However, to employ the low-precision fixed-point representation, various considerations to gain high accuracy are required. Although many quantization and re-training techniques are proposed to improve the inference accuracy, these approaches are time-consuming and require access to the entire dataset. This paper investigates the effect of different fixed-point hardware units on CNN inference accuracy. To this end, we provide a framework called Fixflow to evaluate the effect of fixed-point computations performed at hardware level on CNN classification accuracy. We can employ different fixed-point considerations at the hardware accelerators.This includes rounding methods and adjusting the precision of the fixed-point operation's result. Fixflow can determine the impact of employing different arithmetic units (such as truncated multipliers) on CNN classification accuracy. Moreover, we evaluate the energy and area consumption of these units in hardware accelerators. We perform experiments on two common MNIST and CIFAR-10 datasets. Our results show that employing different methods at the hardware level specially with low-precision, can significantly change the classification accuracy.
翻译:卷积神经网络(CNN)广泛应用于物联网资源受限设备中。为降低计算复杂度与内存占用,资源受限设备采用定点表示。与浮点表示相比,定点表示在硬件上消耗更少的面积与能量,同时保持相近的分类精度。然而,要采用低精度定点表示,需考虑多种因素以实现高精度。尽管现有多种量化与重训练技术可提升推理精度,但这些方法耗时且需访问完整数据集。本文研究不同定点硬件单元对CNN推理精度的影响。为此,我们提出名为Fixflow的框架,用于评估硬件层面定点计算对CNN分类精度的影响。该框架可在硬件加速器中应用不同定点策略,包括舍入方式与定点运算结果精度调节。Fixflow可判断采用不同算术单元(如截断乘法器)对CNN分类精度的影响。此外,我们还评估了这些单元在硬件加速器中的能耗与面积消耗。我们在两个通用数据集MNIST和CIFAR-10上进行实验,结果表明:在硬件层面采用不同方法,尤其使用低精度时,会显著改变分类精度。