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

卷积层的映射方法及映射装置、卷积运算方法及运算装置制造方法及图纸

技术编号:34283413 阅读:36 留言:0更新日期:2022-07-24 18:52
一种卷积层的映射方法及映射装置、卷积运算方法及运算装置。该映射方法包括:获取卷积层的维度[K,H,D,N],N为卷积层中的卷积核的个数,K、H、D分别为卷积核的宽度、高度和通道数;将卷积层展开为行高度K

Mapping method and mapping device of convolution layer, convolution operation method and operation device

【技术实现步骤摘要】
卷积层的映射方法及映射装置、卷积运算方法及运算装置


[0001]本公开的实施例涉及一种卷积层的映射方法及映射装置、卷积运算方法及运算装置。

技术介绍

[0002]以忆阻器为代表的具有存算一体功能的新型存储器可在存储的数据上原位实现计算操作,从而消除数据搬移的巨大开销。根据基尔霍夫定律和欧姆定律,存算一体阵列可以并行地完成累乘加计算。由于存算一体阵列的每一列都是一个单独的累乘加计算单元,所以一个存算一体阵列的最大算力等于阵列行数*阵列列数*阵列计算频率。存算一体阵列在模拟域上一步实现矩阵向量乘法运算的特性使其在神经网络的应用中受到了越来越广泛的关注。
[0003]以卷积神经网络(Convolutional Neural Network,CNN)为代表的深度神经网络已广泛应用于图像识别、图像处理等领域。随着神经网络的深度越来越深,所需的卷积层个数也越来越多。卷积层所占用的计算开销,例如在卷积运算过程中的模数转换开销已经成为了系统的主要开销。特别是在神经网络前几层(浅层网络)的卷积计算中,映射到存算一体阵列上的卷积层规模较小,导致存算一体阵列的空间利用率不足,系统整体的计算效率较低,计算开销较大。

技术实现思路

[0004]本公开至少一实施例提供了一种卷积层的映射方法,该映射方法包括:获取所述卷积层的维度[K,H,D,N],其中,N为所述卷积层中的卷积核的个数,K为所述卷积核的宽度,H为所述卷积核的高度,D为所述卷积核的通道数;将所述卷积层展开为行高度K
×
H
×
D、列宽度N的第0矩阵,其中,在所述第0矩阵中的N列分别对应于将N个所述卷积核分别展开的长度为K
×
H
×
D的一维向量;基于所述第0矩阵,创建K

1个变换矩阵,其中,所述K

1个变换矩阵包括第1矩阵到第K

1矩阵,其中,第m矩阵相对于第m

1矩阵的变换包括第m矩阵中的行号=(第m

1矩阵中的行号+K)mod(K
×
H
×
D),m为1到K

1之间的整数;将所述第0矩阵到所述第K

1矩阵映射到存算一体阵列中,其中,所述存算一体阵列包括彼此独立的至少一个子阵列。
[0005]例如,在本公开至少一实施例的卷积层的映射方法中,所述存算一体阵列包括单个子阵列,所述将所述第0矩阵到所述第K

1矩阵映射到所述存算一体阵列中,包括:将所述第0矩阵到所述第K

1矩阵映射到所述单个子阵列中。
[0006]例如,在本公开至少一实施例的卷积层的映射方法中,所述将所述第0矩阵到所述第K

1矩阵映射到所述存算一体阵列中,包括:将所述第0矩阵到所述第K

1矩阵依序排列映射到所述存算一体阵列中依序排列的部分。
[0007]例如,在本公开至少一实施例的卷积层的映射方法中,所述在所述第0矩阵中的N列分别对应于将N个所述卷积核分别展开的长度为K
×
H
×
D的一维向量,包括:将N个所述卷
积核中的每个按照指定展开方式展开为长度为K
×
H
×
D的一维向量,其中,所述指定展开方式包括:先展开所述卷积核的通道数D,然后展开所述卷积核的高H,最后展开所述卷积核的宽K。
[0008]本公开至少一实施例提供了一种卷积运算方法,该卷积运算方法包括:将用于所述卷积运算的卷积层按照本公开任一实施例所述的映射方法映射到所述存算一体阵列中;以滑动方式从输入特征图获取多个批次的输入数据,其中,在每次滑动中,读取所述输入特征图中对应于所述卷积层的全部输入数据且进行一维展开作为当前批次的输入数据,所述输入特征图的通道数为D,所述卷积运算的卷积步长为1;将所述多个批次的输入数据分别输入到所述存算一体阵列计算,以进行所述卷积运算。
[0009]例如,在本公开至少一实施例的卷积运算方法中,所述以滑动方式从所述输入特征图获取所述多个批次的输入数据,包括:在所述输入特征图的每一行上进行多次水平滑动以从所述输入特征图获取所述多个批次中对应于当前行的输入数据,其中,每次所述水平滑动的滑动步长为K。
[0010]例如,在本公开至少一实施例的卷积运算方法中,所述以滑动方式从所述输入特征图获取所述多个批次的输入数据,包括:将读取的所述输入特征图的输入数据按照与所述卷积核相同的展开方式展开为长度为K
×
H
×
D的一维向量。
[0011]例如,在本公开至少一实施例的卷积运算方法中,所述将所述多个批次的输入数据分别输入到所述存算一体阵列计算,包括:在输入所述多个批次的输入数据时,根据所述卷积核的宽度维度将所述当前批次的输入数据划分为K份,并通过多路复用电路将所述K份每个对应的部分一维向量分时输入到所述存算一体阵列中。
[0012]例如,在本公开至少一实施例的卷积运算方法中,所述通过所述多路复用电路将所述K份每个对应的部分一维向量分时输入到所述存算一体阵列中,包括:在每个分时操作周期中,将所述K份每个对应的部分一维向量作为输入信号输入到所述存算一体阵列中与所述卷积层进行累乘加运算,以同时获得K*N个输出结果。
[0013]例如,在本公开至少一实施例的卷积运算方法中,所述K*N个输出结果包括输出有效值或输出无效值,所述输出有效值被保留,所述输出无效值被舍弃而不计入最终的卷积计算结果中。
[0014]例如,在本公开至少一实施例的卷积运算方法中,所述存算一体阵列包括阵列排布的多个存算一体器件。
[0015]例如,在本公开至少一实施例的卷积运算方法中,所述存算一体器件包括忆阻器、SRAM单元、DRAM单元、PCM单元、或Flash单元。
[0016]本公开至少一实施例提供了一种卷积层的映射装置,包括:存算一体阵列,包括彼此独立的至少一个子阵列;维度获取模块,配置为获取所述卷积层的维度[K,H,D,N],其中,N为所述卷积层中的卷积核的个数,K为所述卷积核的宽度,H为所述卷积核的高度,D为所述卷积核的通道数;卷积展开模块,配置为将所述卷积层展开为行高度K
×
H
×
D、列宽度N的第0矩阵,其中,在所述第0矩阵中的N列分别对应于将N个所述卷积核分别展开的长度为K
×
H
×
D的一维向量;矩阵变换模块,配置为基于所述第0矩阵,创建K

1个变换矩阵,其中,所述K

1个变换矩阵包括第1矩阵到第K

1矩阵,其中,第m矩阵相对于第m

1矩阵的变换包括第m矩阵中的行号=(第m

1矩阵中的行号+K)mod(K
×
H
×
D),m为1到K

1之间的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种卷积层的映射方法,包括:获取所述卷积层的维度[K,H,D,N],其中,N为所述卷积层中的卷积核的个数,K为所述卷积核的宽度,H为所述卷积核的高度,D为所述卷积核的通道数;将所述卷积层展开为行高度K
×
H
×
D、列宽度N的第0矩阵,其中,在所述第0矩阵中的N列分别对应于将N个所述卷积核分别展开的长度为K
×
H
×
D的一维向量;基于所述第0矩阵,创建K

1个变换矩阵,其中,所述K

1个变换矩阵包括第1矩阵到第K

1矩阵,其中,第m矩阵相对于第m

1矩阵的变换包括第m矩阵中的行号=(第m

1矩阵中的行号+K)mod(K
×
H
×
D),m为1到K

1之间的整数;将所述第0矩阵到所述第K

1矩阵映射到存算一体阵列中,其中,所述存算一体阵列包括彼此独立的至少一个子阵列。2.根据权利要求1所述的卷积层的映射方法,其中,所述存算一体阵列包括单个子阵列,所述将所述第0矩阵到所述第K

1矩阵映射到所述存算一体阵列中,包括:将所述第0矩阵到所述第K

1矩阵映射到所述单个子阵列中。3.根据权利要求1所述的卷积层的映射方法,其中,所述将所述第0矩阵到所述第K

1矩阵映射到所述存算一体阵列中,包括:将所述第0矩阵到所述第K

1矩阵依序排列映射到所述存算一体阵列中依序排列的部分。4.根据权利要求1所述的卷积层的映射方法,其中,所述在所述第0矩阵中的N列分别对应于将N个所述卷积核分别展开的长度为K
×
H
×
D的一维向量,包括:将N个所述卷积核中的每个按照指定展开方式展开为长度为K
×
H
×
D的一维向量,其中,所述指定展开方式包括:先展开所述卷积核的通道数D,然后展开所述卷积核的高H,最后展开所述卷积核的宽K。5.一种卷积运算方法,包括:将用于所述卷积运算的卷积层按照权利要求1

4任一项所述的映射方法映射到所述存算一体阵列中;以滑动方式从输入特征图获取多个批次的输入数据,其中,在每次滑动中,读取所述输入特征图中对应于所述卷积层的全部输入数据且进行一维展开作为当前批次的输入数据,所述输入特征图的通道数为D,所述卷积运算的卷积步长为1;将所述多个批次的输入数据分别输入到所述存算一体阵列计算,以进行所述卷积运算。6.根据权利要求5所述的卷积运算方法,其中,所述以滑动方式从所述输入特征图获取所述多个批次的输入数据,包括:在所述输入特征图的每一行上进行多次水平滑动以从所述输入特征图获取所述多个批次中对应于当前行的输入数据,其中,每次所述水平滑动的滑动步长为K。7.根据权利要求5所述的卷积运算方法,其中,所述以滑动方式从所述输入特...

【专利技术属性】
技术研发人员:吴华强党琦王虹波张清天高滨唐建石钱鹤
申请(专利权)人:清华大学
类型:发明
国别省市:

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

1