[发明专利]针对神经网络的卷积层与全连接层进行加速的电路结构有效
申请号: | 201810120895.0 | 申请日: | 2018-02-07 |
公开(公告)号: | CN108416434B | 公开(公告)日: | 2021-06-04 |
发明(设计)人: | 韩军;蔡宇杰;曾晓洋 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06N3/063 | 分类号: | G06N3/063 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;陆尤 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 针对 神经网络 卷积 连接 进行 加速 电路 结构 | ||
1.一种针对神经网络的卷积层与全连接层进行加速的电路结构,其特征在于,通过将运算展开的方式使卷积层与全连接层均映射到同一个矩阵运算单元上;并通过对神经网络每一层的特征与权重进行重新排序的方式,来减少因为展开后特征、权重读取地址的不连续而带来的访存性能损失;其电路结构包括特征/权重预取模块、局部缓存、矩阵运算单元、临时数据累加模块以及输出控制模块;其中:
所述特征/权重预取模块,用于从外部存储器中将新的特征以及权重数据取出并放入局部缓存中,同时替换旧的、不再使用的数据;除神经网络的第一层特征外,其余的所有特征、权重均按照一定的方式进行重新排布过,而第一层特征的重新排布也是按照一定的方式重新排布过的,因此特征/权重预取模块不需要实现重新排布的功能;
所述局部缓存用于缓存矩阵运算单元所需的输入数据;
所述矩阵运算单元,用于实现矩阵的运算;在对特征与权重进行重新排列后,卷积层与全连接层的运算均映射为一系列的矩阵运算,这些矩阵运算通过多次调用矩阵运算模块来实现;
所述临时数据累加模块,用于累加矩阵运算模块送出的数据;在多次累加后,将累加的结果即下一层网络的输入特征,送给输出控制模块;
所述输出控制模块,负责将累加后的结果按上述重新排布方式顺序写回外部存储器;
所述特征、权重按照一定的方式进行重新排布,具体流程为:
设对于一个大小为Cin*H*W的输入特征,将其切为H*W个长条,每个长条的长度为Cin;再将这H*W个长条中的数据以顺序地址的形式写入内存中;从低地址开始,第0个长条中的数据存储在0到Cin-1个数据对应的内存空间中,第1个长条中的数据存储在Cin到2*Cin-1个数据对应的内存空间中,以此类推,最后一个长条中的数据存储在(H*W-1)*Cin到Cin*H*W*Cin-1个数据对应的内存空间中;
设卷积核包含Cout个大小为Cin*H*W个子权重矩阵,将每一个子权重矩阵按照输入特征的形式进行排布,即完成对权重内存分布的重新调整。
2.根据权利要求1所述的针对神经网络的卷积层与全连接层进行加速的电路结构,其特征在于,特征/权重预取模块、局部缓存、矩阵运算单元、临时数据累加模块和输出控制模块的调度采用流水线的机制,使每个时钟周期所有的硬件单元都处于工作状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810120895.0/1.html,转载请声明来源钻瓜专利网。