文献标识码:A
DOI:10.16157/j.issn.0258-7998.201207
中文引用格式:张旭欣,张嘉,李新增,等. 二值VGG卷积神经网络加速器优化设计[J].电子技术应用,2021,47(2):20-23.
英文引用格式:Zhang Xuxin,Zhang Jia,Li Xinzeng,et al. Optimization design of binary VGG convolutional neural network accelerator[J]. Application of Electronic Technique,2021,47(2):20-23.
0 引言
深度卷积神经网络(Convolutional Neural Network,CNN)已经成为了当前计算机视觉系统中最有前景的图像分析方法之一。
近年来,随着Binary-Net、Dorefa-Net、ABC-Net等[1-3]低精度量化神经网络的深入研究,越来越多的研究集中于在FPGA硬件中构建定制的加速器结构,实现CNN的加速[4]。基于FPGA的低精度量化神经网络实现主要可分为两类:流架构[5-6]和层架构[7-8]。其中,由于流架构实现了流水线化,每个阶段都可以独立处理输入且可以针对CNN逐层设计并优化相应层的加速运算单元,因此拥有更高的吞吐率和更低的延迟以及内存带宽,但其逻辑资源等消耗也相当可观。因此,现有的基于流架构实现的二值神经网络加速器研究大多是针对32×32尺度MNIST数据集等小尺度的图像输入。而实际应用中更多使用如448×448尺度的YOLO、224×224尺度的VGG等作为骨干网络,一方面,大尺度输入的网络结构参数量往往较大(以VGG为例,其参数量大约500 MB),高端FPGA的片上内存容量也仅32.1 Mb左右,这对FPGA实现CNN加速将是资源瓶颈。即使采用低精度量化策略,FPGA有限的片上内存资源仍捉襟见肘。另一方面,虽然各层运算单元可以得到特定优化,然而由于网络拓扑结构限制,往往各层网络很难实现计算周期的匹配,从而造成推断性能难以进一步提高。针对基于流架构的二值卷积神经网络加速器设计存在的资源与性能的瓶颈,本文以224×224尺度的VGG-11网络加速器设计为例,重点研究了大尺度的二值卷积神经网络硬件加速器设计、优化及验证,主要工作如下:
(1)针对大尺度流架构的二值VGG卷积神经网络加速器设计存在的资源与性能瓶颈,提出了网络模型优化和流水线优化的方法。
(2)设计并优化了224×224尺度的基于流架构的二值VGG卷积神经网络加速器。实验表明基于FPGA平台实现了81%的准确率,219.9 FPS的识别速度,相较于同类型的加速器识别速度最高提升了33倍。
本文详细内容请下载:http://www.chinaaet.com/resource/share/2000003365
作者信息:
张旭欣,张 嘉,李新增,金 婕
(上海工程技术大学 电子电气工程学院,上海201600)