当前位置: 首页 > 专利查询>中山大学专利>正文

一种ResNet加速器残差块的数据流优化方法技术

技术编号:34291253 阅读:95 留言:0更新日期:2022-07-27 09:32
本发明专利技术公开一种ResNet加速器残差块的数据流优化方法,通过优化残差块中卷积处理模块的计算顺序能够推迟支路上的卷积处理模块的数据输出时间,从而减少残差块中支路与主干通路输出数据之间的时间差,同时,将主干通路上的卷积处理模块中失效的数据传输到支路的卷积处理模块的数据缓存器中,以避免在主干通路和支路的卷积处理模块中存储相同的输入数据,从而优化存储资源的开销。从而优化存储资源的开销。从而优化存储资源的开销。

【技术实现步骤摘要】
一种ResNet加速器残差块的数据流优化方法


[0001]本专利技术涉及电子信息以及深度学习
,更具体地,涉及一种ResNet加速器残差块的数据流优化方法。

技术介绍

[0002]卷积神经网络(CNN)算法在人工智能领域中应用最为广泛的算法,广泛应用于安防、自动驾驶、计算机视觉等领域。CNN本质上是一个多层感知机,其成功的原因关键在于它所采用的局部连接和共享权值的方式,一方面减少了的权值的数量使得网络易于优化,另一方面降低了过拟合的风险。CNN是神经网络中的一种,它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。该优点在网络的输入是多维图像时表现的更为明显,使图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建过程。
[0003]但是,卷积神经网络在达到了非常高的精度的同时,也需要更多的计算资源与内存资源,也导致许多基于卷积神经网络的应用都必须依赖于大型服务器。在资源受限的嵌入式平台,应用卷积神经网络等深度学习技术已经大势所趋。卷积神经网络中通常包含着大量的可以并行计算的卷积层,所以对卷积层进行硬件加速器设计是未来必然的发展方向。
[0004]不同于VGG16等具有简单直连的网络结构,ResNet是由多个残差块堆叠而成。残差块所包含的shortcut connection结构,对逐层流水线式系统架构设计产生了新的挑战。
[0005]从数据流的角度来看,进入残差块的数据需要经过两个不同的支路汇入瓶颈单元以实现点加操作,然而两个支路不均衡的计算量会导致数据无法同时达到瓶颈单元。因此,较早达到的数据需要缓存在瓶颈单元中,并等待较晚到达的数据以实现数据对齐。显然,数据在不同支路的传输时间差越大,瓶颈单元就需要越多的存储资源来对齐不同支路的数据。
[0006]现有技术公开了一种权重稀疏神经网络芯片的数据流方法,包括:步骤S1:针对卷积核稀疏度随输入变化的特点,设计适应稀疏度变化的串行计算的内层循环方案;步骤S2:针对卷积核稀疏度不同可能导致的计算单元间不同步的问题,设计并行计算的方案;步骤S3:为优化输入及输出缓存,设计串行计算的外层循环方案。所述并行计算方案为在一个时钟周期内并行的运算;串行计算的内层循环方案为数个连续时钟周期内使用怎样的数据顺序进行计算,一个内层循环会完成一个卷积kernel的计算;串行计算的外层循环方案由若干内层循环构成,不同的卷积kernel依据预设顺序进行计算;数据流整体由多个串行计算的外层循环构成,外层循坏由若干个内层循环构成,内层循环每一个时钟周期的计算方式由并行计算的方案决定。该方案同样存在不同支路的数据输出时间差的问题。

技术实现思路

[0007]本专利技术提供一种ResNet加速器残差块的数据流优化方法,用以解决现有残差块中
不同支路并发数据流输出时间差所导致的数据重复存储的问题。
[0008]为解决上述技术问题,本专利技术的技术方案如下:
[0009]一种ResNet加速器残差块的数据流优化方法,所述ResNet加速器包括若干残差块,所述若干残差块依次连接,包括:
[0010]残差块每隔ΔT个时钟周期,接收来自上一个残差块的输出数据,所述残差块包括主干通路、支路和瓶颈单元;
[0011]残差块将接收到的数据存储在残差块主干通路中的第一个卷积处理单元中,经残差块主干通路中的若干卷积处理单元处理后送入瓶颈单元中;
[0012]等下一个ΔT个时钟周期后新的数据到来前,再把存储在残差块主干通路中的第一个卷积处理单元中的数据传输至残差块支路中处理后,送入瓶颈单元中;
[0013]瓶颈单元的输出即为残差块的输出并输出至下一个残差块中。
[0014]优选地,所述残差块接收的数据是以输入特征图行数据为单位。
[0015]优选地,所述残差块的主干通路包括3个卷积处理单元,所述主干通路的3个卷积处理单元依次连接,所述主干通路的3个卷积处理单元中最后一个卷积处理单元的输出与瓶颈单元连接。
[0016]优选地,所述卷积处理单元均包括卷积数据缓存器和运算单元,所述卷积数据缓存器用于存储当前输入特征图的行数据,所述运算单元根据所述卷积数据缓存器存储的输入特征图的行数据,进行卷积运算,运算时间为ΔT。
[0017]优选地,所述瓶颈单元包括数据缓存器,所述数据缓存器用于存储残差块的主干通路和支路的输出行数据。
[0018]优选地,所述残差块的支路为直连支路,直连支路的输出数据等于输入数据,所述支路的输出与瓶颈单元连接。
[0019]优选地,等下一个ΔT个时钟周期后新的数据到来前,通过将残差块主干通路中第一个卷积处理单元的卷积数据缓存器与瓶颈单元的数据缓存器切换,实现将行数据送入瓶颈单元中。
[0020]优选地,所述的ResNet加速器残差块的数据流优化方法,其特征在于,所述残差块的支路包括支路卷积处理单元,所述支路卷积处理单元的输入数据为存储在残差块主干通路中的第一个卷积处理单元中的数据。
[0021]优选地,等下一个ΔT个时钟周期后新的数据到来前,通过将残差块主干通路中第一个卷积处理单元的卷积数据缓存器与支路卷积处理单元的数据缓存器切换,实现将行数据送入支路卷积处理单元中。
[0022]一种ResNet加速器,所述ResNet加速器包括残差块,所述残差块的数据流运用上述所述的数据流优化方法。
[0023]与现有技术相比,本专利技术技术方案的有益效果是:
[0024]本专利技术通过优化残差块不同支路的执行顺序,通过减少不同支路数据到达瓶颈单元的时间差来优化瓶颈单元的存储资源使用量。
附图说明
[0025]图1为本专利技术的方法流程示意图。
[0026]图2为实施例提供的现有的第一类残差块的支路执行顺序示意图。
[0027]图3为实施例提供的优化后的第一类残差块的支路执行顺序示意图。
[0028]图4为实施例提供的现有的第二类残差块的支路执行顺序示意图。
[0029]图5为实施例提供的优化后的第二类残差块的支路执行顺序示意图。
具体实施方式
[0030]附图仅用于示例性说明,不能理解为对本专利的限制;
[0031]为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
[0032]对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0033]下面结合附图和实施例对本专利技术的技术方案做进一步的说明。
[0034]实施例1
[0035]本实施例提供一种ResNet加速器残差块的数据流优化方法,所述ResNet加速器包括若干残差块,所述若干残差块依次连接,如图1所示,包括:
[0036]残差块每隔ΔT个时钟周期,接收来自上一个残差块的输出数据,所述残差块包括主干通路、支路和瓶颈单元;
[0037]残差块将接收到的数据存储在残差块主干通路中的第一个卷积处理单元中,经残差本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种ResNet加速器残差块的数据流优化方法,所述ResNet加速器包括若干残差块,所述若干残差块依次连接,其特征在于,包括:残差块每隔ΔT个时钟周期,接收来自上一个残差块的输出数据,所述残差块包括主干通路、支路和瓶颈单元;残差块将接收到的数据存储在残差块主干通路中的第一个卷积处理单元中,经残差块主干通路中的若干卷积处理单元处理后送入瓶颈单元中;等下一个ΔT个时钟周期后新的数据到来前,再把存储在残差块主干通路中的第一个卷积处理单元中的数据传输至残差块支路中处理后,送入瓶颈单元中;瓶颈单元的输出即为残差块的输出并输出至下一个残差块中。2.根据权利要求1所述的ResNet加速器残差块的数据流优化方法,其特征在于,所述残差块接收的数据是以输入特征图行数据为单位。3.根据权利要求1所述的ResNet加速器残差块的数据流优化方法,其特征在于,所述残差块的主干通路包括3个卷积处理单元,所述主干通路的3个卷积处理单元依次连接,所述主干通路的3个卷积处理单元中最后一个卷积处理单元的输出与瓶颈单元连接。4.根据权利要求3所述的ResNet加速器残差块的数据流优化方法,其特征在于,所述卷积处理单元均包括卷积数据缓存器和运算单元,所述卷积数据缓存器用于存储当前输入特征图的行数据,所述运算单元根据所述卷积数据缓存器存储的输入特征图的行数据,进行卷积运算,运算时间为ΔT。5.根据权利要求4所述的R...

【专利技术属性】
技术研发人员:黄以华向德昊罗聪慧
申请(专利权)人:中山大学
类型:发明
国别省市:

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

1