admin管理员组文章数量:1530518
2024年5月17日发(作者:)
二值VGG卷积神经网络加速器优化设计
鄢
(上海工程技术大学电子电气工程学院袁上海201600)
张旭欣袁张嘉袁李新增袁金婕
摘要院基于FPGA的二值卷积神经网络加速器研究大多是针对小尺度的图像输入袁而实际应用主要以YOLO尧VGG
等大尺度的卷积神经网络作为骨干网络遥通过从网络拓扑尧流水线等层面对卷积神经网络硬件进行优化设计袁从而
解决逻辑资源以及性能瓶颈袁实现输入尺度更大尧网络层次更深的二值VGG神经网络加速器遥采用CIFAR-10数据
219.9FPS的识别速度袁验证了优化方法的有效性遥
集对基于FPGA的VGG卷积神经网络加速器优化设计进行验证袁实验结果表明系统实现了81%的识别准确率以及
关键词院优化设计曰二值卷积神经网络曰FPGA加速器
中图分类号院TN402曰TP183文献标识码院ADOI院10.16157/.0258-7998.201207
中文引用格式院张旭欣袁张嘉袁李新增袁等.二值VGG卷积神经网络加速器优化设计[J].电子技术应用袁2021袁47(2)院20-23.
英文引用格式院ZhangXuxin袁ZhangJia袁LiXinzeng袁zationdesignofbinaryVGGconvolutionalneuralnetworkaccel-
erator[J].ApplicationofElectronicTechnique袁2021袁47(2)院20-23.
OptimizationdesignofbinaryVGGconvolutionalneuralnetworkaccelerator
(CollegeofElectronicandElectricalEngineering袁ShanghaiUniversityofEngineeringScience袁Shanghai201600袁China)
Abstract院MostoftheexistingresearchesonacceleratorsofbinaryconvolutionalneuralnetworksbasedonFPGAareaimedat
small-scaleimageinput,whiletheapplicationsmainlytakelarge-scaleconvolutionalneuralnetworkssuchasYOLOandVGGas
dwareofconvolutionalneuralnetworkisoptimizedanddesignedfromthetwoaspectsincludingthenet鄄
worktopologyandpipelinestage,soastosolvethebottleneckoflogicresourcesandimprovetheperformanceofthebinaryVGG
-10datasetresizedto224伊224wasusedtoverifytheoptimizeddesignofVGGconvolutionalneural
mentalresultsshowedthatthesystemachieved81%recognitionaccuracyand219.9
FPSrecognitionspeed袁whichverifiedtheeffectivenessoftheoptimizationmethod.
Keywords院optimizationdesign曰binaryconvolutionalneuralnetwork曰FPGAaccelerator
ZhangXuxin袁ZhangJia袁LiXinzeng袁JinJie
0引言
深度卷积神经网络(ConvolutionalNeuralNetwork袁CNN)
已经成为了当前计算机视觉系统中最有前景的图像分
析方法之一遥
近年来袁随着Binary-Net尧Dorefa-Net尧ABC-Net等
[1-3]
低精度量化神经网络的深入研究袁越来越多的研究集中
加速
[4]
遥基于FPGA的低精度量化神经网络实现主要可
现了流水线化袁每个阶段都可以独立处理输入且可以针
拥有更高的吞吐率和更低的延迟以及内存带宽袁但其逻
辑资源等消耗也相当可观遥因此袁现有的基于流架构实
现的二值神经网络加速器研究大多是针对32伊32尺度
鄢基金项目院国家自然科学基金(61701295袁61801286)
MNIST数据集等小尺度的图像输入遥而实际应用中更多
使用如448伊448尺度的YOLO尧224伊224尺度的VGG等
作为骨干网络袁一方面袁大尺度输入的网络结构参数量
往往较大(以VGG为例袁其参数量大约500MB)袁高端
现CNN加速将是资源瓶颈遥即使采用低精度量化策略袁
FPGA有限的片上内存资源仍捉襟见肘遥另一方面袁虽然
各层运算单元可以得到特定优化袁然而由于网络拓扑结
构限制袁往往各层网络很难实现计算周期的匹配袁从而
造成推断性能难以进一步提高遥针对基于流架构的二值
卷积神经网络加速器设计存在的资源与性能的瓶颈袁本
文以224伊224尺度的VGG-11网络加速器设计为例袁重
点研究了大尺度的二值卷积神经网络硬件加速器设计尧
优化及验证袁主要工作如下院
(1)针对大尺度流架构的二值VGG卷积神经网络加
FPGA的片上内存容量也仅32.1Mb左右袁这对FPGA实
于在FPGA硬件中构建定制的加速器结构袁实现CNN的
分为两类:流架构
[5-6]
和层架构
[7-8]
遥其中袁由于流架构实
对CNN逐层设计并优化相应层的加速运算单元袁因此
速器设计存在的资源与性能瓶颈袁提出了网络模型优化
20要
和流
值VGG
(2)
水线
设
优
卷
计
化
积
并
的
神
优
方
经
化
法
网
了
遥
络加速
224伊
器
224
遥实
尺
验表
度的
明
基
基
于
于
流
FPGA
架构的
平
二
台
实现了81%的准确率袁219.9FPS的识别速度袁相较于同
类型的加速器识别速度最高提升了33倍遥
1二值卷积神经网络加速器
二值卷积神经网络激活与权值均采用符号函数进
行二值化袁如式(1)
w
b
=sign(w)=
嗓
+1
所示院
(1)
其中w为单精度浮
-1
袁
点
袁
w
w
逸0
权
<0
重袁w
b
为二值权重遥在硬件设计
中若
(1)
以
乘
逻辑
法运
0表示
算可
-1
简化
袁逻辑
为Xnor
1表示
运算
1袁
和
则
PopCount
有院
算
[6]
累加
r
运
卷积
遥
运
因此
算袁如
袁对
式
于
(2)
特
所
征
示
图
院
r行c列卷积核大小为(k
c
袁k)的
y
kk
out袁r袁c
=
移移
xnor(w
bb
i=0j=0
i袁j
袁y
r+i袁c+j
)
运算
(2)
过程
二
如
值
图
卷积
1所
神
示
经
遥
网络的批归一化与符号激活函
(2)
数
图1批归一化与激活
若结合归一化与符号激活函数即y=sign(BN(x))袁
可得院
扇
设
设
设
缮
设
设
设
+1袁x逸滋-
茁
y=
酌
姨
滓
圆
+着
设
设
设
-1袁x<滋-
茁
酌
姨
滓
圆
+着
(酌>0)(3)
墒
设
若以逻辑0表示-1袁逻辑1表示1袁则阈值T可转
换为院
T=
1
(ch
in
+滋-
茁
其中x为
2
酌
姨
滓
圆
+着)(4)
前一层卷积层输出袁滋尧滓是批量输入的均值
和方差袁着尧酌尧茁为参数袁ch
in
表示输入通道数遥
PE
综上所述袁二值
加器
)计
进
算
行
流
卷
程
积
如
运
下
算
院输
卷
袁
入
积
再
特
运
经
征
算
阈
图
单
值
与
元
比
权
(
较
值
Processing
器
经
实
过
现
同
批
或
Element
归
门
一
与
化
累
袁
与
激活函数运算袁硬件结构如图2所示遥
卷积层包含了多通道输入与多通道输出遥因此袁单
层计算引擎通常由PE阵列构成袁如图3所示袁计算引
擎从缓冲区读入SIMD通道特征图袁经PE阵列并行计
算得到多个输出到缓冲区遥
基于数据流结构的加速器袁通过层间流控模块袁逐
层将二值卷积计算引擎连接起来袁整体结构如图4所
示袁通过调节各层SIMD与PE参数袁可以实现性能与
图2二值卷积运算单元
图3二值卷积计算引擎
图4数据流架构
逻辑资源的最优化遥
2优化设计
针对二值卷积神经网络加速器存在的资源瓶颈以
及性能瓶颈袁需要从网络拓扑尧流水线运算周期均衡等
多方
参数
(
面
袁
1
往
)
进
由
行
往
于
优
造
硬
化
成
件
设
片
资
计
上
源
院
存
限
储
制
资
尧
源
网
瓶
络
颈
结
袁
构
因
以
此
及
需
大
要
量
首
的
先
网
针
络
对
网络
(
结
2)由
构进
于
行
不
优
同
化
网
遥
期也不同袁因此需要
络
针
层
对
运
流
算
水
量
线
各
进
不
行
相
逐
同
层
袁
的
运
运
算
算
所
优
需
化
周
袁
平衡每层的运算周期遥
2.1网络结构优化
原始VGG-11的网络拓扑中的首个全连接Fc1层
参数量显著高于其余各层袁约占网络整体参数量79%遥
由于其参数量过大袁既造成了片上内存资源瓶颈又导致
计算量过大袁与其余各层计算周期严重不均衡袁使流水
线阻塞造成性能瓶颈遥针对上述问题袁对VGG-11网络
结构
降低
(
的
(
内
1)
瓶
2)
存
对
颈
在卷
占
原
层
用
始
进行
积层
以
浮
优化院
及
点
与
逻
卷
Fc1
辑
积
层
资
VGG-11进行二值化袁以有效
之间
源数
添
量
加
遥
卷积层输出特征图从7伊7池化到1伊
全
1遥
局最大池化层袁将
叶电子技术应用曳2021年第47卷第2期要
21
优化后的二值VGG-11网络拓扑如表1所示袁添加
全局最大池化层(GlobalMaxPool)后袁Fc1层参数量降低
了约49倍袁同时由于对网络进行了二值化袁整体网络参
数所占内存空间从511.3MB降低到3.66MB袁因而有效
地从网络结构层面降低了内存资源瓶颈遥
表1二值VGG-11网络拓扑
名称输入特征图核输出特征图参数
224伊224
MaxPool
Conv1
Input
224
224伊224
伊
伊
3
33
2
伊
/
3224
224
伊
伊
224
224伊3
1728
/
MaxPool
Conv2
112
112
伊
伊
224
112
伊
伊
64
643
伊2
73728
/
Conv356
伊2
伊112
112伊112
伊
伊
64
64
56
MaxPool
Conv456
伊
112
56
伊128
3
伊
3
56
伊
伊
112
56伊
伊
128
128
56
伊294912
/
Conv5
56
伊56
伊
伊
128
2563
伊
2
3
28
伊2
伊3
28
伊
56
56
伊256
589824
28
伊28
伊
伊
256
512
MaxPool
Conv628
伊
56
28
伊
伊
256
3
伊
28
伊2359296
/
Conv7
28
伊3
伊
2
3
14
伊
28
28
伊
伊
512
2359296
Conv8
14
伊
28
512
28
伊512
2
伊3
14
伊14
伊
伊
512
5123
伊
14
伊
14
伊
14
512
14
伊512
2359296
/
Global
MaxPool14
伊3
伊
2
7
伊
伊
14
伊
7伊
伊
512
512
5122359296
/
Fc1
MaxPool7
伊
14
伊
14
伊
7伊
伊
512
5122
伊
3
3
7
伊
伊
2
Fc2
4096
512
Fc3
4096
512
512
/
7
4096
/
/
4
2097152
/
1040960
2.2流水线优化
基于数据流架构示意图如图5所示袁InitiationInterval
为两个任务间的时间间隔袁Latency为整体任务完成的延
迟遥由于采用数据流架构袁网络加速器的吞吐率可以采
用F
clk
/II
max
来进行估算遥计算延迟最慢的网络层会导致任
务间的时间间隔最大为II
max
袁从而决定了网络的吞吐率遥
图5流水线时序图
根据上述分析可知袁消耗时钟周期数最多的计算引
擎会成为整体性能的瓶颈袁从而会造成其他层资源的浪
费和性能的下降遥因此袁针对流水线优化袁需要针对不同
的计算引擎之间进行整体的计算周期均衡袁尽可能地保
证各层的计算周期相近遥
22要
为了有效提高加速器的性能与资源利用率袁本文设
计
SIMD
了不
结构参
配
同
数
置
的
袁
对
A
分
PE
是
类
阵
最
效
列
低
率
参
速
的
数
的
影
配
配
响
置
置
袁表
袁以
袁B尧
2
验
C
中
证不同的PE和
尧D
给
尧
出
E依
的
次
计
增
算阵
加
列
PE以及SIMD袁E是根据调整得到的最好的结果遥
了
表2PE阵列配置
网络层
DE
Conv1
P=8
ABC
S=3
P=32
S=3
P=64
S=3
P=64
S=3
Conv2
S=32
P=8
S=3
P=16
P=16
S=32
P=16
S=64
P=32
S=64
P=64
S=64
Conv3
S=64
P=64
S=64
Conv4
P=16
S=32
P=8P=16
S=32
P=16
S=64
P=32
S=32
P=32
S=32
P=32
S=64
P=64
S=64
P=128
S=64
Conv5
S=32
P=8P=16
P=16
S=32
P=32
S=64
P=64
Conv6
S=32
P=16P=32
S=32
P=32
S=64
P=64P=128
S=64
Conv7
P=4
S=64
P=32
S=64
Conv8
S=32
P=4
S=32
P=8
S
P=8P=16
S=64
P=8
=64
P=32
S=64
Fc1
S=32
P=1
S=32
P=8
S
P=16
S=64
P=1
=64S=64
P=1
S
P=1
=64
Fc2
P=2
S=4
P=1
P=1
S=4
P=1
S=8S
Fc3
P=1
S=8
P=1
S=4
S=16
P=1
=16
S
S=2
P=1
S=8
S=2
P=1
S=8
S=2
P=1
S=4
P=1
=32
S=8
如表3所示袁根据表2中SIMD及PE参数所对应的
各网络层计算周期袁通过尽可能将各网络层运算周期均
衡调整袁从而可以在相应的资源占用率下实现最大化加
速器推断速率遥
表3运算周期
网络层
Conv1
AD
Conv2
366
B
451584
E
Conv3
366
903168
C
Conv4
366
903168
451584
451584
225792
Conv5
366
903168
451584
451584
225792
Conv6
366
903168
451584
225792
Conv7
366
903168
451584
225792
Conv8
366
903168
451584
225792
Fc1
366
903168
451584
225792
Fc2
2
903168
225792
Fc3
131072
32768
131072
32768
131072
32768
65536
32768
16384
32768
8192
3结果
在Ubuntu16.04操作系统下袁基于Pytorch深度学习框
架训练二值VGG-11卷积神经网络袁实验基于CIFAR-10
数据集验证袁将数据集图像尺寸放大到224伊224作为网
络输入袁数据训练利用NVIDIAQuadroP2000GPU实现加
速
ZCU102
遥基于
开
流
发
架
板
构二值VGG-11
硬件系统实现了
加速器硬
81%
件系
的
统
识别
开发
率
基
袁
于
断速率尧资源占用
袁
率
最终
等如表4所示袁最高实现了219.9FPS
推
遥
表4资源利用率对比
结构速率/(FPS)
资源
A
BRAM_18K
FPGA
FF
利用率评估/%
B
1855.7029.50
C
44
96
60.14
63.65
30.22
27.50
LUTURAM
100
32.32
30.21100
E
D
219.9
19874.23
93.31
35.69
35.69100
41.74
46.19
64.8
100
100
络加速
(1)
通过实
器
逐渐
验
的推
增
对
断
加
比
速
PE
可得
率
或
出
袁但
SIMD
如下
会占用
的
结
更
数
论
多
量
院
逻辑资
能提高
源
深
袁
度
反
神
之也
经
可
网
以通
(2)
过降低
比较
推
方
断
案
速
E
率
和
来
方
换
案
取
D
逻辑资
袁除Conv1
源占
卷
用
积
面积
层
的缩
外袁其
减
余
遥
各层均提高了SIMD和PE数量以及缩减了计算周期袁
然而对比实现结果袁可以发现逻辑资源占用率有了大幅
增长袁而推断速度却并没有得到大幅提升遥这验证了针
对于流水线结构的深度卷积神经网络加速器来说袁计算
周期延迟最大的计算引擎对网络整体性能有较大的影响袁
在设计中对
源袁片上
(3)对
内存
比
各
FPGA
层运算单
数量是限制
片上
元
资
计算周期进行均衡尤为重要遥
进
源
一
LUT
步提高
尧FF
神
以
经
及
网络
BRAM
层数
等
以
资
及
提高推断速度的资源瓶颈遥
与国内外相关基于FPGA的VGG网络加速器实现
进行比较袁如表5所示遥通过优化设计袁实现了相较于其
他VGG加速器最高33倍推断加速袁相比基于层架构的
同类型二值VGG网络加速器
[8]
提高了7倍遥
表5基于FPGA的VGG加速器对比
方案平台时钟/MHz帧速/(FPS)功耗/W
文献[8]
文献[9]
Zynq100
文献[10]
Stratix-V
Ultrascale+
120
31.8
文献[11]
150
3.80
22
本文
Virtex-7
ZynqXC7Z045
GSD8
方案
ZynqUltrascale+
VX690t150
4.45
19.10
9.63
100219.9
6.58
4.46
-
4结论
本文通过从网络结构尧流水线均衡等多方面优化设
计袁实现了输入尺度更大的二值VGG-11卷积神经网络
加速器袁并验证了优化方法的有效性袁为更大尺度尧更深
层次的卷积神经网络加速器提供了设计优化思路遥
参考文献
[1]COURBARIAUX
neuralnetworks院training
M袁HUBARA
deep
I
neural
袁SOUDRY
networks
D袁et
with
zed
weights
and
arXiv
activations
院1602.02830
constrained
袁2016.
to+1or-1[J].arXivpreprint
[2]ZHOU
bitwidth
S袁
convolutional
WUY袁NIZ
neural
袁-net
networkswith
院training
lowbitwidth
low
[3]LIN
gradients[J].arXiv
convolutional
X袁ZHAO
neural
C袁PAN
preprint
network[C].Advances
s
arXiv院1606.06160
accurate
in
binary
袁2016.
InformationProcessingSystems.2017院345-353.
Neural
[4]
Electronics
SIMONST袁
袁
LEE
2019
D
袁8(6)
J.A
院
review
661.
ofbinarizedneuralnetworks[J].
[5]GUO
neural
P袁MAH袁CHENR袁院afully
Conference
network
on
accelerator[C].2018
ProgrammableLogic
28thInternational
binarized
(FPL).IEEE袁2018
Field
院51-513.
andApplications
[6]UMUROGLU
Finn
inference[C].Proceedings
院aframework
Y袁FRASER
forfast袁
of
scalable
NJ袁GAMBARDELLA
the2017
binarized
ACM/SIGDA
neural
G
network
袁etal.
2017
International
院65-74.
SymposiumonField-ProgrammableGateArrays袁
[7]LIANGS袁YIN
FPGA[J].Neuron
S袁LIUL袁-BNN
Computing袁
院
2018
binarized
袁275院
neural
1072-
[8]YONEKAWA
1086.
networkon
binarizedconvolutional
H袁NAKAHARA
deepneural
-chip
network
memory
applying
based
normalizationfreetechniqueonanfpga[C].2017IEEE
batch
Workshops(IPDPSW).IEEE
InternationalParallelandDistributed
袁2017院98-105.
ProcessingSymposium
[9]SUDA
optimized
N袁CHANDRAV袁DASIKAG袁hput-
convolutional
OpenCL-based
ACM/SIGDA
neuralnetworks[C].Proceedings
FPGAacceleratorfor
Field-Programmable
of
large-scale
the2016
[10]
Gate
QIU
Arrays
fpga
J
platform
袁WANG
袁2016
International
for
J袁
院
YAO
16-25.
Symposiumon
convolutional
S袁
neural
deeper
network[C].Proceed-
withembedded
ings
Field-Programmable
ofthe2016ACM/SIGDAInternationalSymposiumon
[11]ZHANGC袁WUD袁SUN
Gate
J袁
Arrays
-efficient
袁2016院26-35.
implementation
Proceedingsofthe
ona
CNN
PowerElectronicsand
2016
deeply
Design
International
pipelinedFPGA
袁2016院326-331.
Symposium
cluster[C].
onLow
作者简介院
(收稿日期院2020-12-15)
张旭欣(1995-)袁男袁硕士袁主要研究方向院深度神经网
络尧FPGA遥
张嘉(1997-)袁男袁硕士袁主要研究方向院深度神经网络尧
图像处理遥
金婕(1978-)袁通信作者袁女袁博士袁副教授袁主要研究方
向院视频编解码尧数字信号处理和VLSI袁E-mail院jinjie_pku@
遥
叶电子技术应用曳2021年第47卷第2期要
23
版权声明:本文标题:二值VGG卷积神经网络加速器优化设计 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1715893369a475629.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论