一种卷积神经网络数据流切片尺寸的优化方法技术

技术编号:37809661 阅读:9 留言:0更新日期:2023-06-09 09:39
本发明专利技术涉及一种卷积神经网络数据流切片尺寸的优化方法,属于数据传输技术领域。通过采用“计算通信比”模型为指定的加速器平台,在一定量的片上存储空间约束条件下,分析设计最适合其的切片数据流尺寸,使所部署的卷积神经网络模型能够发挥出平台最大理论算力,避免因卷积神经网络大量并行计算所造成的密集片外数据交互,所需峰值传输带宽超出片外存储器最大有效带宽,推理性能受到内存墙瓶颈限制等一系列问题。本发明专利技术具有适应性广、易于实现等优点,能够有效的提升卷积神经网络加速器的推理速度,减少由数据传输所带来的系统延迟,由此来解决密集计算类应用的工程实践中内存墙限制问题。制问题。制问题。

【技术实现步骤摘要】
一种卷积神经网络数据流切片尺寸的优化方法


[0001]本专利技术属于数据传输
,涉及一种卷积神经网络数据流切片尺寸的优化方法。

技术介绍

[0002]近年来,卷积神经网络在图像识别,对象检测,自然语言处理等方面的应用取得了显著的优势,为了进一步提升卷积神经网络的推理精准度,主流的做法倾向于加深卷积神经网络的卷积层深度与加大卷积核的尺寸以扩大模型的计算量,然而,这使得此类网络模型难以在边缘端设备上部署,不仅因为边缘端设备通常运算资源较少,难以快速完成推理过程,不满足大多数应用场景中的“实时性”要求,而且边缘端设备通常内部存储空间较少,难以缓冲大量计算所带来的大规模中间计算结果。
[0003]针对大尺寸卷积神经网络模型难以在边缘端设备部署的问题,有研究人员提出轻量化网络模型的概念,这其中,可分离卷积及神经网络如MobileNet系列,ShuffleNet系列等,在无人机避障,扫地机器人路线识别等移动计算应用场景中受到了大量的关注与应用。与常规的卷积神经网络不同,可分离卷积神经网络将常规的一层网络运算拆分为逐点卷积与深度卷积,此举可以有效的降低卷积神经网络模型的计算量。
[0004]图1展示了常规卷积一层内的层中的卷积操作,其主要由输入特征图,过滤器权重和输出特征图三个部分组成,他们都是由通道数
×
行数
×
列数组成的三维矩阵,其中输入特征的尺寸为N
×
H
×
W,它通过与尺寸为N
×
KH
×
KW的M个过滤器权重相卷积,得到尺寸为M
×
R
×
C的输出特征图,实际上,输入的行列坐标与输出的行坐标r,列坐标c,过滤器权重的卷积步幅和过滤器权重行列坐标存在相互一一对应的关系,可以用下式来表示:
[0005]h=r
×
S+kh
[0006]w=c
×
S+kw
[0007]输入与输出矩阵中的每一个元素,我们称其为一个特征,过滤器权重中的每一个元素,我们称其为一个权重,其中,h和w分别代表输入特征的行和列坐标,r和c分别代表输出特征行和列坐标,S代表过滤器权重滑动步长,kh和kw代表过滤器权重的行和列坐标。一个单独的卷积执行的过程具体可以分为以下三个步骤:
[0008]1)一个过滤器权重按照固定的滑动步长(通常小于卷积核尺寸),与所有输入特征相乘,每一次乘操作,一共可以得到N
×
KH
×
KW个乘积。
[0009]2)在每一个过滤器权重的通道内,把KH
×
KW个输入特征与权重的乘积相累加,一共可得到N个部分和。
[0010]3)在过滤器权重通道方向上,累加之前所得到的N个部分和,得到一个通道上的输出特征结果。
[0011]这便是单个通道上输出特征的计算过程。实际上,输入矩阵和过滤器权重拥有相同的通道数,并且过滤器权重的数量与输出矩阵的通道数也相同,因此,卷积的操作行为可以通过下式描述:
[0012][0013][0014]0≤m<M,0≤n<N,0≤i<KH,
[0015]0≤j<KW,0≤r<R,0≤c<C
[0016]OF
m
(r,c)代表了输入特征中的一个特征,其中,m代表通道的索引,r和c分别代表了元素的行列坐标。在表示方法上,输入特征与输出特征是相似的。而对于它代表过滤器权重中的一个权重,n代表的是一个过滤器权重的通道索引,kh和kw分别代表了行列坐标,而m代表了这是哪一个过滤器权重。
[0017]常规卷积神经网络在图像处理中的地位已然毋庸置疑。卷积运算具备强大的特征提取能力、相比全连接又消耗更少的参数,应用在图像这样的二维结构数据中有着先天优势。然而受限于目前移动端设备硬件条件,显著降低神经网络的运算量依旧是网络结构优化的目标之一。可分离卷积就是降低卷积运算参数量的一种典型方法,MobileNet就是运用此思想所诞生的一种模型,如图2所示,它的核心思想是将一个完整的卷积运算分解为两步进行,分别为深度卷积与逐点卷积。
[0018]深度卷积在一个卷积层内一共包括N个过滤器权重,等同于输入通道的数量,但是每个过滤器权重的尺寸为1
×
KH
×
KW,因此深度卷积运算对输入特征的每个通道独立进行卷积运算后就结束了,并没有在通道的方向上进行累加,输出特征与输入特征的通道数相同。因此需要增加另外一步操作来有效的利用相同空间位置上的信息,即接下来的逐点卷积。
[0019]逐点卷积的运算与常规卷积运算非常相似,一个卷积层内共有M个过滤器权重,区别在于过滤器权重的尺寸为N
×1×
1,N为上一层的输出特征通道的数量。得益于逐点卷积的过滤器权重形状,计算结果会在通道的方向上进行累加,得到尺寸为M
×
R
×
C的输出特征,类比图1,通过将一层的常规卷积拆分为深度卷积和逐点卷积,可以得到相同的输出特征。
[0020]分离卷积主要通过减少权重数量,来降低网络的计算量。在卷积步幅为1的情况下,输人与输出的行列数量相同,则假设输入特征的尺寸为N
×
R
×
C,输出特征的尺寸为M
×
R
×
C,M个过滤器权重的尺寸为N
×
KH
×
KW,则基于常规卷积(RegularConvolution,RC)的卷积神经网络模型其权重数量W
RC
与运算量O
RC
为:
[0021]W
RC
=KH
×
KW
×
N
×
M
[0022]O
RC
=R
×
C
×
KH
×
KW
×
N
×
M
[0023]基于可分离卷积(Separable Convolution,SC)的卷积神经网络模型其权重数量W
SC
与运算量O
SC
为:
[0024]W
SC
=W
DW
+W
PW
=N
×
(KH
×
KW+M)
[0025]O
SC
=O
DW
+O
PW
=R
×
C
×
N
×
(KH
×
KW+M)
[0026]根据上式,可得常规卷积与可分离卷积的权重参数的比例R
W
为:
[0027][0028]同样,常规卷积与可分离卷积的计算数的比例R
O
为:
[0029][0030]由上式可知,相比较于常规卷积,可分离卷积显著的减少权重数据量与计本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种卷积神经网络数据流切片尺寸的优化方法,其特征在于:该方法包括:S1:利用平台计算强度模型为加速器进行性能建模,得到其计算强度阈值I
t
与计算墙CB的上限;S2:构建卷积神经网络模型切片尺寸与理论性能模型,得到不同切片尺寸Tn,Tm组合与理论算力TP之间的关系;S3:结合平台计算强度模型与切片尺寸与理论性能模型,在加速器平台计算资源与存储容量的约束下,以平台计算强度阈值I
t
作为评价基准,若一个卷积神经网络数据流切片尺寸的组合,在能够发挥出其部属的加速器平台的最大算力的同时,具有最小的缓冲存储空间消耗量,则该切片尺寸的被认为是最佳设计。2.根据权利要求1所述的一种卷积神经网络数据流切片尺寸的优化方法,其特征在于:所述S1具体为:根据所选加速器部署平台的运算能力与存储容量,利用所提出的平台计算强度模型进行计算分析,得到该运算平台的性能特点后,得到其计算强度阈值I
t
;根据所提出的切片尺寸与理论性能模型,得到不同切片规格下的理论性能分布情况与网络模型计算强度I
m
;根据所得到的平台计算强度阈值I
t
与网络模型计算强度I
m
,根据平台计算强度模型与切片尺寸与理论性能模型,推测出该切片规格下的卷积神经网络部署在指定计算平台上的实际性能,并对网络模型的切片尺寸进行优化,选择出最适配的切片尺寸规格以发挥出计算平台全部性能,避免算力与存储容量的浪费。3.根据权利要求2所述的一种卷积神经网络数据流切片尺寸的优化方法,其特征在于:所述S2具体为:分析平台计算强度阈值I
t
与网络模型计算强度I
m
,构建平台计算强度模型与切片尺寸与理论性能模型的具体过程为:根据存储器传输带宽计算公式,即:Bandwidth=Core_frp
×
Bus_bitwidth
×
Mult_factor/8bits得到存储器的传输带宽上限,此上限即为加速器平台的内存墙MB,而计算墙CB同样决定着加速器的性能特点,其计算方式为:CB=f
DSP
×
N
DSP
×
2其中f
DSP
代表目标平台的数字信号处理单元DSP的运行频率,而N
DSP
为DSP的数量;根据内存墙MB与计算墙CB,利用下式求得计算平台计算强度阈值I
t
:其代表计算平台内存墙与计算墙的分界点,当网络模型计算强度I
m
小于平台计算强度阈值I
t
时,表示此卷积神经网络模型的单位计算操作需要过多的内存交换,将导致加速器系统陷于计算平台的内存墙瓶颈区内,无法发挥出平台的全部算力;反之当网络模型计算强度I
m
大于平台计算强度阈值I
t
时,表示此模型的计算效率足够高,能够发挥出计算平台的全部算力;卷积神经网络网络模型部署在指定计算平台的实际性能AP用下式来描述:
此模型即为平台计算强度模型;对于平台计算强度阈值I
t
,其由加速器平台的传输带宽与峰...

【专利技术属性】
技术研发人员:张红升甘济章刘挺张宇轩黄奎印鑫
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1