【技术实现步骤摘要】
一种卷积运算电路及其运算方法
[0001]本专利技术涉及卷积运算
,尤其是一种同时支持矩阵乘法运算和二维卷积运算的卷积运算电路及其运算方法。
技术介绍
[0002]卷积层是卷积神经网络的基础层之一,卷积运算是深度学习领域最主要的运算类型,可占卷积神经网络90%以上的运算量,而在剩余计算中,全连接层的计算又占了很大一部分。全连接层的计算可以视为矩阵乘法计算,因此,深度学习中的绝大部分计算是卷积运算和矩阵乘法计算。
[0003]有一种卷积运算方式是通过im2col运算,将卷积运算转换为矩阵乘法运算,该方式将卷积核展开为矩阵,将输入特征图也转换为矩阵。将卷积核中一个窗口的权重转换为另一个矩阵的一列,所有卷积核的权重组合在一起就形成了新的卷积核矩阵;将输入特征图中的每一个滑动窗口转换为矩阵的一行,所有滑动窗口的数据组合在一起就形成了新的特征图矩阵;卷积核矩阵与特征图矩阵进行矩阵乘法,即得卷积结果。
[0004]若通过软件实现im2col运算,由于同一特征图数据会出现在多个滑动窗口中,造成矩阵中存在大量重复元素, ...
【技术保护点】
【技术特征摘要】
1.一种卷积运算电路,其特征在于,由m行n列运算单元PE组成,同时支持矩阵乘法运算和二维卷积运算;当执行矩阵乘法运算时,所述运算单元分别接收来自行方向上的左矩阵行输入和来自列方向上的右矩阵列输入,将两者相乘后累加到本地累加寄存器;当执行二维卷积运算时,所述运算单元接收来自行方向上的输入特征图输入,将其与内部存储的卷积核权重相乘后与上一行运算单元输出的部分和进行累加,再向下一行输出累加后的部分和。2.根据权利要求1所述的卷积运算电路,其特征在于,所述运算单元主要由乘法器、累加器和权重寄存器构成;所述乘法器的行方向输入侧输入行方向上的输入;所述乘法器的列方向输入侧设置择一选择的两路输入,分别为列方向上的输入和来自所述权重寄存器的卷积核权重输入;所述累加器的部分和输入侧设置择一选择的两路输入,分别为来自本地累加寄存器和上一行运算单元输出的部分和。3.根据权利要求2所述的卷积运算电路,其特征在于,每个运算单元内部设置有多个权重寄存器,权重以滑动窗口大小为单位折叠排列在运算单元上,所述权重寄存器设有地址选择控制器,所述地址选择控制器根据地址选择寄存器的值对多个权重寄存器中存储的卷积核权重进行选择,参与卷积运算。4.根据权利要求1
‑
3任意一项所述的卷积运算电路,其特征在于,每列运算单元的最后一行运算单元连接有FIFO存储器,FIFO存储器输出连接至第一行运算单元。5.一种权利要求3所述的卷积运算电路的运算方法,其特征在于,当执行矩阵乘法运算时,向运算单元乘法器的行方向输入侧广播输入左矩阵的对应行数据,向运算单元乘法器的列方向输入侧广播输入右矩阵的对应列数据,每个运算单元在每个周期内将行方向和列方向接收到的数据相乘后累加到本...
【专利技术属性】
技术研发人员:林广栋,陆俊峰,黄光红,顾大晔,
申请(专利权)人:安徽芯纪元科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。