[发明专利]一种在计算系统中实现卷积运算的方法及计算系统有效
申请号: | 202110616140.1 | 申请日: | 2021-06-03 |
公开(公告)号: | CN113344183B | 公开(公告)日: | 2022-09-30 |
发明(设计)人: | 李颖 | 申请(专利权)人: | 沐曦集成电路(上海)有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/08;G06F17/15;G06F17/16 |
代理公司: | 上海双诚知识产权代理事务所(普通合伙) 31423 | 代理人: | 方玉 |
地址: | 201204 上海市浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 计算 系统 实现 卷积 运算 方法 | ||
1.一种在计算系统中实现卷积运算的方法,其中,所述计算系统中的寄存器被配置为多个计算单元,每个计算单元被配置为同时完成一个或多个乘法运算并将乘法运算的结果相加得到每个计算单元的计算结果,其特征在于,包括:
对于一维卷积操作:
将卷积核数据的m个元素固定于计算单元中,使输入数据的n个元素按时钟周期依次滑动进入计算单元,其中,m、n为自然数且m≤n;
在每个时钟周期,使卷积核数据的m个元素分别一一对应于输入数据的n个元素中的m个数据,使卷积核数据的m个元素与滑动到计算单元中对应位置上的输入数据的对应的m个元素分别进行乘法运算并将乘积相加,存为当前时钟周期的计算结果;
依次输出每个时钟周期的计算结果,得到n-m+1个计算结果,作为输出数据的n-m+1个元素,
对于二维卷积操作:
将计算单元组成计算单元阵列;
对于m行m列的卷积核矩阵和nr行nc列的输入矩阵,输出矩阵为nr-m+1行nc-m+1列的矩阵,nr、nc为自然数且m≤nr,m≤nc;
使卷积核矩阵的m行元素的每一行分别与输入矩阵的第i到i+m行元素中的对应一行进行m次一维卷积操作,得到m个数据行,每个数据行有nc-m+1个元素,将m个数据行上的对应元素累加,得到输出矩阵的第i行的nc-m+1个元素,其中i=1, 2, ..., nr-m+1;
按时钟周期,卷积核矩阵的行在计算单元阵列上的一个方向上复用,输入矩阵的行沿计算单元阵列的对角线传播,计算单元阵列中各个计算单元的计算结果沿计算单元阵列上的另一个方向传播累加。
2.根据权利要求1所述的方法,其特征在于,
对于二维卷积操作:
所述计算单元阵列为m行(nr-m+1)列的计算单元阵列,其中第i列计算单元用于得到输出矩阵的第i行的运算。
3.根据权利要求2所述的方法,其特征在于,
对于二维卷积操作:
卷积核矩阵的m行分别对应于计算单元阵列的m行,按时钟周期横向复用,与输入矩阵的相应行进行一维卷积操作;
输入矩阵从第i行起至第i+m-1行,按时钟周期,依次进入计算单元阵列的第i列中的m个计算单元;
计算单元阵列的第i列中的m个计算单元将每个时钟周期的计算结果按时钟周期依次纵向传播到相邻的下一计算单元,从而在同一列的纵向上最后一个计算单元按时钟周期依次输出得到输出矩阵第i行的nc-m+1个元素。
4.根据权利要求1所述的方法,其特征在于,nr = nc。
5.根据权利要求1所述的方法,其特征在于,在人工神经网络中,卷积核数据为网络权重数据,输入数据为输入特征图数据,输出数据为输出特征图数据。
6.根据权利要求1所述的方法,其特征在于,在人工神经网络中,卷积核矩阵为网络权重矩阵,输入矩阵为输入特征图矩阵,输出矩阵为输出特征图矩阵。
7.根据权利要求1所述的方法,其特征在于,对于超过二维的卷积,固定部分维度,一次只改变一个维度,由此合成多维卷积运算结果。
8.根据权利要求7所述的方法,其特征在于,不同的输入矩阵复用相同的卷积核矩阵,分别得到针对不同的输入矩阵的输出矩阵片段,按输入矩阵顺序衔接成最终的输出矩阵。
9.根据权利要求7所述的方法,其特征在于,不同的卷积核矩阵复用相同的输入矩阵,分别得到针对不同的卷积核矩阵的输出矩阵片段,按卷积核矩阵的组合方式拼凑成最终的输出矩阵。
10.根据权利要求7所述的方法,其特征在于,对于来自不同通道的输入矩阵和卷积核矩阵,分别得到针对不同通道的输出矩阵片段,将不同通道的输出矩阵片段累加得到最终的输出矩阵。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于沐曦集成电路(上海)有限公司,未经沐曦集成电路(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110616140.1/1.html,转载请声明来源钻瓜专利网。