[发明专利]面向固定输出范式Winograd卷积的神经网络处理器有效
申请号: | 201811122004.1 | 申请日: | 2018-09-26 |
公开(公告)号: | CN109359730B | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 韩银和;闵丰;许浩博;王颖 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/04;G06N3/08 |
代理公司: | 北京泛华伟业知识产权代理有限公司 11280 | 代理人: | 王勇;李科 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 固定 输出 范式 winograd 卷积 神经网络 处理器 | ||
1.一种面向固定输出范式Winograd卷积的神经网络处理器,其特征在于,包括:
神经元转换模块:包含神经元转换装置,用于通过加减运算执行Winograd卷积中针对神经元矩阵的转换操作V=[BTdB];所述神经元转换装置包括4*4个第一运算单元,每个所述第一运算单元包括取反单元、累加单元、第一选通器和第二选通器,所述取反单元的输出端连接至所述累加单元的输入端,所述第一选通器用于控制将待计算的输入数据传递至所述取反单元的输入端或传递至所述累加单元的输入端,所述第二选通器用于控制将所述累加单元的值进行输出或传递至所述累加单元的输入端,所述累加单元分时接收待计算的输入数据、所述取反单元的输出值或所述累加单元的输出值以利用加减运算实现Winograd卷积中的矩阵转换操作,其中,所述Winograd卷积的输出范式为F(2*2,3*3),2*2表示输出特征图的规模,3*3表示卷积核的规模;
权值转换模块:包含权值矩阵转换装置,用于通过加减和移位计算执行Winograd卷积中针对权值矩阵的转换操作U=[GgGT];所述权值矩阵转换装置包括4*2个第二运算单元,每个所述第二运算单元包括所述第一运算单元和移位单元,所述移位单元的输入端接收待计算的输入数据,所述移位单元的输出端连接至所述第一选通器的输入端;
点乘模块:用于执行矩阵U和V的点乘操作,获得点乘结果矩阵M=U⊙V;
后矩阵转换模块:包含针对点乘结果矩阵的矩阵转换装置,用于通过加减运算执行Winograd卷积中针对点乘结果矩阵的转换操作F=ATMA;所述针对点乘结果矩阵的矩阵转换装置包括4*2个所述第一运算单元;其中,M=[[GgGT]⊙[BTdB]],d表示神经元矩阵,g表示权值矩阵,G、B、A分别表示与权值矩阵g、神经元矩阵d和点乘结果矩阵M对应的转换矩阵,转换矩阵B、G、A分别为:
2.根据权利要求1所述的神经网络处理器,其特征在于,还包括存储器、数据缓存模块和控制模块,所述存储器用于存储已训练好的权值数据、神经元数据和控制指令,所述数据缓存模块用于暂存待处理的权值数据、神经元数据和控制指令,所述控制模块用于根据计算过程控制待处理的权值数据、神经元数据和中间计算结果在各模块之间的传递。
3.根据权利要求2所述的神经网络处理器,其特征在于,还包括:
累加模块:用于接收所述后矩阵转换模块输出的矩阵转换结果以获得相同卷积域内的输出神经元;
激活模块:用于通过非线性激活函数处理不同卷积域的输出神经元;
池化模块:用于对来自于激活模块的输入神经元进行池化操作。
4.根据权利要求1所述的神经网络处理器,其特征在于,所述神经元转换模块通过以下子步骤计算V=[BTdB]:
将神经元矩阵d的第一行减第三行的向量差值作为矩阵C1的第一行,其中C1=BTd;
将神经元矩阵d的第二行与第三行相加的结果作为C1的第二行;
将神经元矩阵d的第三行减第二行的向量差值作为C1的第三行;
将神经元矩阵d的第二行减第四行的向量差值作为C1的第四行;
将矩阵C1的第一列减第三列的向量差值作为矩阵V的第一列;
将矩阵C1的第二列与第三列相加的结果作为矩阵V的第二列;
将矩阵C1的第三列减第二列的向量差值作为矩阵V的第三列;
将矩阵C1的第二列减第四列的向量差值作为矩阵V的第四列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811122004.1/1.html,转载请声明来源钻瓜专利网。