This article presents design techniques proposed for efficient hardware implementation of feedforward artificial neural networks (ANNs) under parallel and time-multiplexed architectures. To reduce their design complexity, after the weights of ANN are determined in a training phase, we introduce a technique to find the minimum quantization value used to convert the floating-point weight values to integers. For each design architecture, we also propose an algorithm that tunes the integer weights to reduce the hardware complexity avoiding a loss in the hardware accuracy. Furthermore, the multiplications of constant weights by input variables are implemented under the shift-adds architecture using the fewest number of addition/subtraction operations found by prominent previously proposed algorithms. Finally, we introduce a computer-aided design (CAD) tool, called SIMURG, that can describe an ANN design in hardware automatically based on the ANN structure and the solutions of proposed design techniques and algorithms. Experimental results indicate that the tuning techniques can significantly reduce the ANN hardware complexity under a design architecture and the multiplierless design of ANN can lead to a significant reduction in area and energy consumption, increasing the latency slightly.
翻译:为了降低设计复杂性,在培训阶段确定ANN的重量后,我们引入了一种技术,以找到将浮动点重量值转换成整数的最小量化值。对于每一个设计结构,我们还提出一种算法,调整整数重量,以减少硬件复杂性,避免硬件精确度损失。此外,输入变量的常数重量乘数在转换结构下采用最少量的附加/增量操作,而以前提议的显赫算法发现,这些变数在变数结构下使用最少量的增加/减量操作。最后,我们引入了一个计算机辅助设计工具,称为SIMURG,该工具可以根据ANN结构和拟议设计技术和算法的解决方案自动描述硬件中的ANN设计。实验结果表明,调制技术可以大大降低设计结构下ANN的硬件复杂性,而ANN的无倍性设计可以导致地区和能源消耗量的大幅下降,从而略微增加。