摘要
卷积神经网络(CNN)已经广泛应用于深度学习应用领域,尤其在耗电量较大的GPU上。而最近有研究表明,设计CNN硬件加速器是一种更高能效的解决方案。但随着深度学习研究的发展,先进的卷积神经网络参数数量不断增多、计算量不断增大,导致神经网络部署时会遇到计算功耗过高与内存大小受限的困难。为了降低计算量,一些研究提出了对CNN权重稀疏化的方法。在CNN训练时随机将网络中小于某一阈值的权重置为零或量化为更少的比特位,在降低权重位宽的同时,网络损失的准确率有限。这意味着设计加速器时可以在计算核心单元和存储器中设置更低的位宽,从而减小硬件开销。然而,由于神经网络计算中的某些关键计算需要更高的计算精度,单一精度的设计策略不可避免地会降低网络准确度。 因此,本文提出了一种基于细粒度混合精度的卷积神经网络硬件加速器架构,它可以同时进行混合精度的计算,并为不同精度要求的运算分配合适的运算单元。该架构可以在不影响网络准确率的前提下,大量减少加速器实现面积并减少能量消耗。同时本文提出了基于该加速器架构的网络重训练方法,可使任意CNN在不损失网络准确率的情况下,提高其在该架构下的计算效率。实验结果表明,与部署该架构前的单精度加速器相比,在FPGA上实现的结构可以减少近一半的权重存储和乘加器面积,同时计算功耗减少17.7%。