论文部分内容阅读
卷积神经网络在图像分类领域应用越来越广泛,网络规模逐渐增大,有限的乘法器资源和片上存储空间难以满足卷积网络计算高并行性和日益增多的浮点数权重存储需求。二值卷积神经网络是一种量化的卷积神经网络,权重量化为+1或-1使得卷积计算时可以避免乘法运算,并且二值化权重使用1 bit表示,有效降低了权重参数存储空间需求。本文重点研究二值卷积神经网络及其加速器VLSI架构的设计,充分利用二值卷积神经网络的特性,设计低功耗、高并行、高能效二值卷积网络加速器,完成逻辑综合、布局布线以及板级验证。本文主要工作如下:(1)设计了一种二值编码激活函数,在前向传播过程中使用同或和比较运算替换中间BN层的乘法运算,从而减少了乘法运算次数,同时在全二值卷积层将中间特征图数据量化为整数,降低了中间特征图存储需求。(2)基于二值图片输入,设计了一种BNET-6网络加速器,使用脉动数据流和层间流水线提高计算并行度。使用二值编码激活函数,中间特征图存储减少72%。在 120 MHz 时,FPS 为 23080@28×28,推理 MNIST 测试集精度降低 0.13%。根据在VC707 FPGA芯片上的实现结果,片上功耗为0.67 W,GOPS/W为332.3,与完成MNIST图片推理且较先进的二值网络加速器相比,GOPS/W提升11%。(3)基于浮点图片输入,设计了一种BNET-12网络加速器,使用层间流水线提高计算并行度。使用二值编码激活函数使得中间特征图存储减少50%,使用层间流水线结构使得中间特征图存储进一步减少48%。在120 MHz时,FPS为9230@3×32×32,推理SVHN测试集精度降低0.17%,推理Cifar10测试集精度降低0.56%。根据在VC707 FPGA芯片上的实现结果,片上功耗为4.9 W,FPS/W为1883.7,与完成Cifar10图片推理且较先进的二值网络加速器相比,FPS/W提升1.5倍。(4)设计了一种包含7×22可重构脉动阵列的BNET-5网络加速器,可以配置完成7×7、5×5、3×3卷积和全连接计算。使用二值编码激活函数使得中间特征图存储减少71%。在120 MHz时,FPS为6700@28×28,推理MNIST测试集精度无损失。根据在VC707 FPGA芯片上的实现结果,片上功耗为0.51 W,GOPS/W为41.0,FPS/W为13100,与完成MNIST图片推理且网络参数规模接近的16 bits定点卷积网络加速器相比,FPS/W提升5.5倍。