一种卷积运算电路及其运算方法技术

技术编号:31715869 阅读:16 留言:0更新日期:2022-01-01 11:21
本发明专利技术提出一种卷积运算电路及其运算方法,卷积运算电路由PE阵列组成,同时支持矩阵乘法运算和二维卷积运算;当执行矩阵乘法运算时,PE分别接收来自行方向上的左矩阵行输入和来自列方向上的右矩阵列输入,将两者相乘后累加到本地累加寄存器;当执行二维卷积运算时,PE接收来自行方向上的输入特征图输入,将其与内部存储的卷积核权重相乘后与上一行PE输出的部分和进行累加,再向下一行输出累加后的部分和;本发明专利技术在PE内部设置多个权重寄存器,把多通道的卷积核权重折叠式地存储在一列PE内部,在PE阵列的底部设置先进先出存储器,用于存储中间计算结果,避免反复在存储器和PE之间传输权重和中间计算结果,提高运算效率。提高运算效率。提高运算效率。

【技术实现步骤摘要】
一种卷积运算电路及其运算方法


[0001]本专利技术涉及卷积运算
,尤其是一种同时支持矩阵乘法运算和二维卷积运算的卷积运算电路及其运算方法。

技术介绍

[0002]卷积层是卷积神经网络的基础层之一,卷积运算是深度学习领域最主要的运算类型,可占卷积神经网络90%以上的运算量,而在剩余计算中,全连接层的计算又占了很大一部分。全连接层的计算可以视为矩阵乘法计算,因此,深度学习中的绝大部分计算是卷积运算和矩阵乘法计算。
[0003]有一种卷积运算方式是通过im2col运算,将卷积运算转换为矩阵乘法运算,该方式将卷积核展开为矩阵,将输入特征图也转换为矩阵。将卷积核中一个窗口的权重转换为另一个矩阵的一列,所有卷积核的权重组合在一起就形成了新的卷积核矩阵;将输入特征图中的每一个滑动窗口转换为矩阵的一行,所有滑动窗口的数据组合在一起就形成了新的特征图矩阵;卷积核矩阵与特征图矩阵进行矩阵乘法,即得卷积结果。
[0004]若通过软件实现im2col运算,由于同一特征图数据会出现在多个滑动窗口中,造成矩阵中存在大量重复元素,额外占用大量内存和带宽;若通过硬件实现im2col运算,则需要额外设计复杂的硬件电路。针对卷积运算,已有专门的硬件电路予以支持,此类硬件电路通常采用脉动阵列方式,将权重固定在运算单元上,将卷积产生的部分和在运算单元间流动并累加,直至完成所有部分和的累加,在最后一个运算单元上输出卷积结果。
[0005]然而,截至目前,深度学习领域尚未出现能够同时支持矩阵乘法运算和二维卷积运算的电路结构。r/>
技术实现思路

[0006]针对深度学习领域同时支持矩阵乘法运算和二维卷积运算的电路结构的空白,本专利技术提出一种同时支持矩阵乘法运算和二维卷积运算的卷积运算电路及其运算方法。
[0007]本专利技术保护一种卷积运算电路,由m行n列运算单元(PE:Processing Element)组成,同时支持矩阵乘法运算和二维卷积运算;
[0008]当执行矩阵乘法运算时,所述运算单元分别接收来自行方向上的左矩阵行输入和来自列方向上的右矩阵列输入,将两者相乘后累加到本地累加寄存器;
[0009]当执行二维卷积运算时,所述运算单元接收来自行方向上的输入特征图输入,将其与内部存储的卷积核权重相乘后与上一行运算单元输出的部分和进行累加,再向下一行输出累加后的部分和。
[0010]进一步的,所述运算单元主要由乘法器、累加器和权重寄存器构成;所述乘法器的行方向输入侧输入行方向上的输入;所述乘法器的列方向输入侧设置择一选择的两路输入,分别为列方向上的输入和来自所述权重寄存器的卷积核权重输入;所述累加器的部分和输入侧设置择一选择的两路输入,分别为来自本地累加寄存器和上一行运算单元输出的
部分和。
[0011]进一步的,每个运算单元内部设置有多个权重寄存器,权重以滑动窗口大小为单位折叠排列在运算单元上,所述权重寄存器与所述乘法器的列方向输入侧之间设有地址选择控制器,所述地址选择控制器根据地址选择寄存器的值对多个权重寄存器中存储的卷积核权重进行选择,参与卷积运算。
[0012]进一步的,每列运算单元的最后一行运算单元连接有FIFO(First In First Out:先进先出)存储器,FIFO存储器输出连接至第一行运算单元。
[0013]本专利技术还保护上述卷积运算电路的运算方法,当执行矩阵乘法运算时,向运算单元乘法器的行方向输入侧广播输入左矩阵的对应行数据,向运算单元乘法器的列方向输入侧广播输入右矩阵的对应列数据,每个运算单元在每个周期内将行方向和列方向接收到的数据相乘后累加到本地累加寄存器。
[0014]当执行二维卷积运算时,每个卷积核的权重依序存储在运算电路对应列的运算单元权重寄存器中,若卷积核滑动窗口宽为C,高为R,则计算该卷积核在输入特征图矩阵对应行滑动的卷积运算结果时,将卷积核当下执行卷积操作的1

R行输入特征图行数据,依次广播输入运算电路的第1到C行、第C+1到C行、...、第R*C

C到R*C行;第i+1行的输入特征图行数据比第i行的输入特征图行数据推迟C个周期输入PE阵列,其中1≤i≤R;每行输入特征图行数据依序输入PE单元,每个周期输入一个数据;每个运算单元在每个周期内将行方向接收到的数据与经过地址选择控制器选择后的卷积核权重相乘后与上一行运算单元输出的部分和进行累加,并向下一行输出累加后的部分和,直至最后一行输出该列的卷积核计算结果。
[0015]进一步的,当卷积核滑动窗口过大,PE阵列的一列PE无法一次放下1个卷积核的全部权重数据时,按照如下方案进行权重分布:
[0016]针对单通道输入的卷积核,将剩余的权重数据重新从PE阵列的第1行依次向下折叠摆放,一次在PE阵列的一列上依次摆放行卷积核的权重,共摆放次,第i次折叠将权重摆放在运算单元内部的第i个权重寄存器中,其中次,第i次折叠将权重摆放在运算单元内部的第i个权重寄存器中,其中将卷积核权重如此排列后,当输入特征图输入PE阵列时,首先输入卷积核沿行方向滑动经过的前行数据,地址选择控制器选择第1个权重寄存器的值参与乘法运算,最后一行输出的是卷积运算的中间结果,在FIFO存储器暂存;前行数据输入完成后,再输入第2个行输入特征图数据,地址选择控制器选择第2个权重寄存器的值参与乘法运算,同时FIFO中暂存的中间结果从第1行输入,参与累加运算;剩余行的输入特征图数据按依此类推的方式输入PE阵列,直至卷积核沿行方向滑动经过的所有行输入特征图数据全部输入完毕,此时FIFO中存储的就是最终的卷积结果。
[0017]针对多通道输入的卷积核,记输入通道数为I,按照单通道输入的卷积核的权重分布方案折叠摆放每一输入通道的卷积核权重;首先摆放第1输入通道的权重,每列仍然摆放行卷积核的权重,摆放次之后,依次向下折叠摆放第2个通道的权重,直至第I个通道的权重,共折叠摆放次;第i次折叠把权重摆放在PE内部第i个权重寄存器中,其中在这种情况下,当输入特征图输入PE阵列时,按下述顺序把输入特征图各通道沿卷积核在行方向上滑动经过的R行数据输入PE阵列。
从第1个通道的参与运算的第1行数据至最后1个通道参与运算的第R行数据,共有I*R行数据参与多通道二维卷积运算,分别记为参与运算的1至I*R行输入特征图数据。首先输入卷积核沿行方向滑动经过的前行数据,地址选择控制器选择第1个权重寄存器的值参与乘法运算,最后一行输出的是卷积运算的中间结果,在FIFO存储器暂存;前行数据输入完成后,再输入第2个行输入特征图数据,地址选择控制器选择第2个权重寄存器的值参与乘法运算,同时FIFO中暂存的中间结果从第1行输入,参与累加运算;剩余行的输入特征图数据按依次类推的方式输入PE阵列,直至卷积核沿行方向滑动经过的所有行输入特征图数据全部输入完毕,此时FIFO中存储的就是最终的卷积结果。
[0018]本专利技术的有益效果:1、既可以高效执行矩阵乘法运算,也可以高效执行二维卷积运算;2、支持常见的多输入通道、多卷积本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种卷积运算电路,其特征在于,由m行n列运算单元PE组成,同时支持矩阵乘法运算和二维卷积运算;当执行矩阵乘法运算时,所述运算单元分别接收来自行方向上的左矩阵行输入和来自列方向上的右矩阵列输入,将两者相乘后累加到本地累加寄存器;当执行二维卷积运算时,所述运算单元接收来自行方向上的输入特征图输入,将其与内部存储的卷积核权重相乘后与上一行运算单元输出的部分和进行累加,再向下一行输出累加后的部分和。2.根据权利要求1所述的卷积运算电路,其特征在于,所述运算单元主要由乘法器、累加器和权重寄存器构成;所述乘法器的行方向输入侧输入行方向上的输入;所述乘法器的列方向输入侧设置择一选择的两路输入,分别为列方向上的输入和来自所述权重寄存器的卷积核权重输入;所述累加器的部分和输入侧设置择一选择的两路输入,分别为来自本地累加寄存器和上一行运算单元输出的部分和。3.根据权利要求2所述的卷积运算电路,其特征在于,每个运算单元内部设置有多个权重寄存器,权重以滑动窗口大小为单位折叠排列在运算单元上,所述权重寄存器设有地址选择控制器,所述地址选择控制器根据地址选择寄存器的值对多个权重寄存器中存储的卷积核权重进行选择,参与卷积运算。4.根据权利要求1

3任意一项所述的卷积运算电路,其特征在于,每列运算单元的最后一行运算单元连接有FIFO存储器,FIFO存储器输出连接至第一行运算单元。5.一种权利要求3所述的卷积运算电路的运算方法,其特征在于,当执行矩阵乘法运算时,向运算单元乘法器的行方向输入侧广播输入左矩阵的对应行数据,向运算单元乘法器的列方向输入侧广播输入右矩阵的对应列数据,每个运算单元在每个周期内将行方向和列方向接收到的数据相乘后累加到本...

【专利技术属性】
技术研发人员:林广栋陆俊峰黄光红顾大晔
申请(专利权)人:安徽芯纪元科技有限公司
类型:发明
国别省市:

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

1