一种卷积运算控制方法、装置、介质和程序产品制造方法及图纸

技术编号:23050437 阅读:24 留言:0更新日期:2020-01-07 14:50
本申请公开了一种卷积运算控制方法、装置、介质和程序产品,该方法包括:将卷积核矩阵A中A′

A convolution operation control method, device, medium and program product

【技术实现步骤摘要】
一种卷积运算控制方法、装置、介质和程序产品
本申请涉及算法计算
,尤其涉及一种卷积运算控制方法、装置、介质和程序产品。
技术介绍
现阶段,在人工智能算法
的主流算法为卷积神经网络算法,具体是指利用卷积核和输入的样本数据进行卷积运算,其特点是输入数据量极大且乘加运算的计算量极大,对于内存带宽要求极高。现有技术中,一般采用具有乘加矩阵结构的乘加器来完成上述卷积运算,利用该乘加器只需要读取少量的数据既可以保证极大量的计算力,又可以重复利用输入的数据,从而减少内存带宽,减少整个卷积运算模块功耗,提高卷积运算的运算速度。但是,专利技术人经过研究发现,现有技术中乘加器的乘加矩阵结构之间数据流动方向单一固定,尤其是针对较大卷积核形成的卷积模板,该卷积模板较大,采用传统数据流动方式,数据的重复利用率较小,完成卷积运算仍然需要读取大量的数据,即,对内存带宽要求仍然较高,且卷积运算的运算速度降低,导致乘加器优化卷积运算程度较低。
技术实现思路
本申请所要解决的技术问题是,提供一种卷积运算控制方法、装置、介质和程序产品,比传统乘加矩阵的数据流向更灵活,极大程度提高数据复用率,不需要重复读取大量数据,减少内存带宽,且提升卷积运算的运算速度,减少整个卷积运算模块功耗,从而乘加器优化卷积运算程度较高。第一方面,本申请实施例提供了一种卷积运算控制方法,利用乘加器实现卷积运算,所述卷积运算所用的卷积核为矩阵A,所述矩阵A包括n×n个滤波器参数aij,1≤i≤n,1≤j≤n,所述乘加器包括乘加矩阵P,所述乘加矩阵P包括an×m个乘加单元prs,每个乘加单元prs与相邻乘加单元prs存在横向、纵向和正斜向连接,1≤r≤an,1≤s≤m,a、n、m、r、s为正整数,n≥2,m≥2,该方法包括:将所述矩阵A中的A′i作为第一参数矩阵输入所述乘加矩阵P中对应的乘加单元pq1并按照蛇形流向输入第一其他乘加单元,其中,q=i,所述A′i=[ai1ai2...ain],所述第一其他乘加单元包括所述乘加矩阵P中除所述乘加单元pq1之外的乘加单元,相同第一参数矩阵蛇形流向中的平行流向之间行数差值为n;将待处理矩阵的第k+c行的数据作为样本数据依次输入乘加单元pbn+c+1,1,c[0,n-1],k=1+bm,b为非负整数,b≤a-1,将第k+d行的数据作为所述样本数据依次输入乘加单元p(b+1)n,d-n+2,d[n,n+m-2],并按照相邻右上角流向输入第二其他乘加单元,所述第二其他乘加单元包括所述乘加矩阵P中除所述乘加单元pbn+c+1,1和所述乘加单元p(b+1)n,d-n+2之外的乘加单元;根据输入或流入所述乘加单元prs的样本数据、输入或流入所述乘加单元prs的第一参数矩阵和乘加器运算规则,进行乘加运算获得卷积运算结果。优选的,所述根据输入或流入所述乘加单元prs的样本数据、输入或流入所述乘加单元prs的第一参数矩阵和乘加器运算规则,进行乘加运算获得卷积运算结果,包括:根据所述输入或流入所述乘加单元prs的样本数据中任意相邻n个数据,确定第二参数矩阵集合;根据所述第一参数矩阵、所述第二参数矩阵集合和乘加器运算规则,进行乘加运算获得卷积运算结果。优选的,还包括:判断所述第一参数矩阵和所述第二参数矩阵集合中的第二参数矩阵是否为非零矩阵;对应地,根据所述第一参数矩阵、所述第二参数矩阵集合和乘加器运算规则,进行乘加运算获得卷积运算结果,具体为:若所述第一参数矩阵为非零矩阵且所述第二参数矩阵集合中存在非零矩阵,则根据所述第一参数矩阵、所述第二参数矩阵集合中的非零矩阵和乘加器运算规则,进行乘加运算获得卷积运算结果。优选的,所述若所述第一参数矩阵为非零矩阵且所述第二参数矩阵集合中存在非零矩阵,则根据所述第一参数矩阵、所述第二参数矩阵集合中的非零矩阵和乘加器运算规则,进行乘加运算获得卷积运算结果,包括:若所述第一参数矩阵为非零矩阵且所述第二参数矩阵集合中存在非零矩阵,确定所述第一参数矩阵和所述非零矩阵的数据中对应的非零数据;根据所述第一参数矩阵、所述非零矩阵中的数据中对应非零数据和乘加器运算规则,进行乘加运算获得卷积运算结果。优选的,所述n为正奇数,所述a=1。第二方面,本申请实施例提供了一种卷积运算控制装置,利用乘加器实现卷积运算,所述卷积运算所用的卷积核为矩阵A,所述矩阵A包括n×n个滤波器参数aij,1≤i≤n,1≤j≤n,所述乘加器包括乘加矩阵P,所述乘加矩阵P包括an×m个乘加单元prs,每个乘加单元prs与相邻乘加单元prs存在横向、纵向和正斜向连接,1≤r≤an,1≤s≤m,a、n、m、r、s为正整数,n≥2,m≥2,该装置包括:第一输入流向单元,用于将所述矩阵A中的A′i作为第一参数矩阵输入所述乘加矩阵P中对应的乘加单元pq1并按照蛇形流向输入第一其他乘加单元,其中,q=i,所述A′i=[ai1ai2...ain],所述第一其他乘加单元包括所述乘加矩阵P中除所述乘加单元pq1之外的乘加单元,相同第一参数矩阵蛇形流向中的平行流向之间行数差值为n;第二输入流向单元,用于将待处理矩阵的第k+c行的数据作为样本数据依次输入乘加单元pbn+c+1,1,c[0,n-1],k=1+bm,b为非负整数,b≤a-1,将第k+d行的数据作为所述样本数据依次输入乘加单元p(b+1)n,d-n+2,d[n,n+m-2],并按照相邻右上角流向输入第二其他乘加单元,所述第二其他乘加单元包括所述乘加矩阵P中除所述乘加单元pbn+c+1,1和所述乘加单元p(b+1)n,d-n+2之外的乘加单元;运算获得单元,用于根据输入或流入所述乘加单元prs的样本数据、输入或流入所述乘加单元prs的第一参数矩阵和乘加器运算规则,进行乘加运算获得卷积运算结果。优选的,所述运算获得单元包括:确定子单元,用于根据所述输入或流入所述乘加单元prs的样本数据中任意相邻n个数据,确定第二参数矩阵集合;运算获得子单元,用于根据所述第一参数矩阵、所述第二参数矩阵集合和乘加器运算规则,进行乘加运算获得卷积运算结果。优选的,所述运算获得单元还包括:判断子单元,用于判断所述第一参数矩阵和所述第二参数矩阵集合中的第二参数矩阵是否为非零矩阵;对应地,所述运算获得子单元具体用于:若所述第一参数矩阵为非零矩阵且所述第二参数矩阵集合中存在非零矩阵,则根据所述第一参数矩阵、所述第二参数矩阵集合中的非零矩阵和乘加器运算规则,进行乘加运算获得卷积运算结果。优选的,所述运算获得子单元包括:确定模块,用于若所述第一参数矩阵为非零矩阵且所述第二参数矩阵集合中存在非零矩阵,确定所述第一参数矩阵和所述非零矩阵的数据中对应的非零数据;运算获得模块,用于根据所述第一参数矩阵、所述非零矩阵中的数据中对应非零数据和乘加器运算规则,进行乘加运算获得卷积运算结果。优选的,所述n为正奇数,所述a=1。第三方面,本申请本文档来自技高网...

【技术保护点】
1.一种卷积运算控制方法,其特征在于,利用乘加器实现卷积运算,所述卷积运算所用的卷积核为矩阵A,所述矩阵A包括n×n个滤波器参数a

【技术特征摘要】
1.一种卷积运算控制方法,其特征在于,利用乘加器实现卷积运算,所述卷积运算所用的卷积核为矩阵A,所述矩阵A包括n×n个滤波器参数aij,1≤i≤n,1≤j≤n,所述乘加器包括乘加矩阵P,所述乘加矩阵P包括an×m个乘加单元prs,每个乘加单元prs与相邻乘加单元prs存在横向、纵向和正斜向连接,1≤r≤an,1≤s≤m,a、n、m、r、s为正整数,n≥2,m≥2,所述方法包括:
将所述矩阵A中的Ai′作为第一参数矩阵输入所述乘加矩阵P中对应的乘加单元pq1并按照蛇形流向输入第一其他乘加单元,其中,q=i,所述Ai′=[ai1ai2...ain],所述第一其他乘加单元包括所述乘加矩阵P中除所述乘加单元pq1之外的乘加单元,相同第一参数矩阵蛇形流向中的平行流向之间行数差值为n;
将待处理矩阵的第k+c行的数据作为样本数据依次输入乘加单元pbn+c+1,1,c[0,n-1],k=1+bm,b为非负整数,b≤a-1,将第k+d行的数据作为所述样本数据依次输入乘加单元p(b+1)n,d-n+2,d[n,n+m-2],并按照相邻右上角流向输入第二其他乘加单元,所述第二其他乘加单元包括所述乘加矩阵P中除所述乘加单元pbn+c+1,1和所述乘加单元p(b+1)n,d-n+2之外的乘加单元;
根据输入或流入所述乘加单元prs的样本数据、输入或流入所述乘加单元prs的第一参数矩阵和乘加器运算规则,进行乘加运算获得卷积运算结果。


2.根据权利要求1所述的方法,其特征在于,所述根据输入或流入所述乘加单元prs的样本数据、输入或流入所述乘加单元prs的第一参数矩阵和乘加器运算规则,进行乘加运算获得卷积运算结果,包括:
根据所述输入或流入所述乘加单元prs的样本数据中任意相邻n个数据,确定第二参数矩阵集合;
根据所述第一参数矩阵、所述第二参数矩阵集合和乘加器运算规则,进行乘加运算获得卷积运算结果。


3.根据权利要求2所述的方法,其特征在于,还包括:
判断所述第一参数矩阵和所述第二参数矩阵集合中的第二参数矩阵是否为非零矩阵;
对应地,根据所述第一参数矩阵、所述第二参数矩阵集合和乘加器运算规则,进行乘加运算获得卷积运算结果,具体为:
若所述第一参数矩阵为非零矩阵且所述第二参数矩阵集合中存在非零矩阵,则根据所述第一参数矩阵、所述第二参数矩阵集合中的非零矩阵和乘加器运算规则,进行乘加运算获得卷积运算结果。


4.根据权利要求3所述的方法,其特征在于,所述若所述第一参数矩阵为非零矩阵且所述第二参数矩阵集合中存在非零矩阵,则根据所述第一参数矩阵、所述第二参数矩阵集合中的非零矩阵和乘加器运算规则,进行乘加运算获得卷积运算结果,包括:
若所述第一参数矩阵为非零矩阵且所述第二参数矩阵集合中存在非零矩阵,确定所述第一参数矩阵和所述非零矩阵的数据中对应的非零数据;
根据所述第一参数矩阵、所述非零矩阵中的数据中对应非零数据和乘加器运算规则,进行乘加运算获得卷积运算结果。


5.根据权利要求1所述的方法,其特征在于,所述n为正奇数,所述a=1。


6.一种卷积运算控制装置,其特征在于,...

【专利技术属性】
技术研发人员:苗准王旭杨桦
申请(专利权)人:合一智芯科技北京有限公司
类型:发明
国别省市:北京;11

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

1