[发明专利]一种循环神经网络的加速计算方法、系统及相关装置在审
申请号: | 202010476888.1 | 申请日: | 2020-05-29 |
公开(公告)号: | CN111723906A | 公开(公告)日: | 2020-09-29 |
发明(设计)人: | 董刚;赵雅倩;李仁刚;杨宏斌;刘海威;蒋东东 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 高勇 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 循环 神经网络 加速 计算方法 系统 相关 装置 | ||
本申请提供一种循环神经网络的加速计算方法,包括:获取所述循环神经网络的参数矩阵乘式;对所述参数矩阵乘式中的乘数和被乘数进行分割,得到二维矩阵;将所述二维矩阵按照预设顺序输入至三维脉动阵列;根据所述三维脉动阵列确定所述参数矩阵乘式的输出结果。本申请大大缩短了大尺寸矩阵相乘的计算时间,缩减了计算所需的硬件资源。本申请还提供一种循环神经网络的加速计算系统、计算机可读存储介质和终端,具有上述有益效果。
技术领域
本申请涉及深度学习领域,特别涉及一种循环神经网络的加速计算方法、系统及相关装置。
背景技术
循环神经网络(Recurrent Neural Network,简称RNN)是一类以序列数据为输入,在序列的演进方向进行递归且所有节点(循环单元)按链式连接的递归神经网络。对循环神经网络的研究始于二十世纪80-90年代,并在二十一世纪初发展为深度学习算法之一,其中双向循环神经网络(Bidirectional RNN,Bi-RNN)、门控循环单元网络(Gated RecurrentUnit networks,GRU)和长短期记忆网络(Long Short-Term Memory networks,LSTM)是常见的循环神经网络。
在循环神经网络的计算过程中,其网络参数通常以矩阵形式存在,即运算过程涉及大量矩阵相乘运算,但一旦矩阵的行列数较长时,将极大的占用系统硬件资源,同时不利于深度学习算法运行,降低了深度学习效率。
因此,如何提高循环神经网络的计算效率是本领域技术人员亟需解决的技术问题。
发明内容
本申请的目的是提供一种循环神经网络的加速计算方法、加速计算系统、计算机可读存储介质和终端,能够提高循环神经网络的计算效率。
为解决上述技术问题,本申请提供一种循环神经网络的加速计算方法,具体技术方案如下:
获取所述循环神经网络的参数矩阵乘式;
对所述参数矩阵乘式中的乘数和被乘数进行分割,得到二维矩阵;
将所述二维矩阵按照预设顺序输入至三维脉动阵列;
根据所述三维脉动阵列确定所述参数矩阵乘式的输出结果。
可选的,对所述参数矩阵乘式中的乘数和被乘数进行分割,得到二维矩阵包括:
利用预设计算单元分别对所述参数矩阵乘式中的乘数和被乘数分割,得到二维矩阵。
可选的,利用预设计算单元分别对所述参数矩阵乘式中的乘数和被乘数分割,得到二维矩阵包括:
利用预设计算单元对所述参数矩阵乘式中被乘数长度为M的行向量分割成的二维矩阵;所述被乘数为N×M的矩阵;
利用预设计算单元对所述参数矩阵乘式中乘数长度为M的列向量分割成的二维矩阵;所述乘数为M×N的矩阵;
其中,预设计算单元k为所述三维脉动阵列中每行或每列的计算单元数据。
可选的,根据所述三维脉动阵列确定所述参数矩阵乘式的输出结果包括:
调用FPGA的寄存器转换级电路运行所述三维脉动阵列,计算得到所述参数矩阵乘式的输出结果。
可选的,所述三维脉动阵列的计算单元总数为k*k*N。
本申请还提供一种循环神经网络的加速计算系统,包括:
获取模块,用于获取所述循环神经网络的参数矩阵乘式;
矩阵向量乘模块,用于对所述参数矩阵乘式中的乘数和被乘数进行分割,得到二维矩阵;将所述二维矩阵按照预设顺序输入至三维脉动阵列;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010476888.1/2.html,转载请声明来源钻瓜专利网。