【技术实现步骤摘要】
一种加速RNN网络的系统、方法及存储介质
本专利技术涉及神经网络
,特别是涉及一种加速RNN网络的系统、方法及存储介质。
技术介绍
RNN(RecurrentNeuralNetwork,循环神经网络)是一种用于处理序列数据的神经网络,是目前深度学习中最有前景的工具之一,广泛应用于语音识别、机器翻译、文本生成等领域。它解决了传统的神经网络不能从数据中共享位置特征的问题。在传统的CNN、DNN等神经网络模型中,从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。这种普通的神经网络对于很多问题无能无力。例如,需要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN被称为循环神经网路,是因为一个序列当前的输出与前面的输出也有关联。具体的表现形式是网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再是无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括前面时刻隐藏层的输出。图1是一个标准的RNN结构图,每个箭头代表做一次变换 ...
【技术保护点】
1.一种加速RNN网络的系统,其特征在于,包括:/n第一缓存,用于在第一状态和第二状态之间循环切换,且在第一状态时,分N路并行输出W
【技术特征摘要】
1.一种加速RNN网络的系统,其特征在于,包括:
第一缓存,用于在第一状态和第二状态之间循环切换,且在第一状态时,分N路并行输出Wx1至WxN,且并行度均为k,在第二状态时,分N路并行输出Wh1至WhN,且并行度均为k;N为≥2的正整数;
第二缓存,用于在第一状态和第二状态之间循环切换,且在第一状态时输出xt,在第二状态时输出ht-1;
向量乘法电路,用于当接收到所述第一缓存输出的Wx1至WxN时,利用N组乘法阵列分别计算Wx1xt至WxNxt,当接收到所述第一缓存输出的Wh1至WhN时,利用N组乘法阵列分别计算Wh1ht-1至WhNht-1;其中,所述向量乘法电路包括N组乘法阵列,每组乘法阵列包括k个乘法单元;
加法电路,用于接收偏置数据缓存发送的b1至bN,并且利用向量缓存实现Wx1xt+Wh1ht-1+b1至WxNxt+WhNht-1+bN的计算;
激活电路,用于根据所述加法电路的输出进行激活操作;
状态更新电路,用于从cell状态缓存中获取ct-1,并根据所述激活电路的输出进行ct以及ht的计算,并在计算出ct之后利用ct更新cell状态缓存中的ct-1,并将ht发送至第二缓存;
所述偏置数据缓存;所述向量缓存;所述cell状态缓存;
其中,Wx1至WxN依次表示第一门至第N门的权重数据矩阵;Wh1至WhN依次表示第一门至第N门的隐状态权重数据矩阵;b1至bN依次表示第一门至第N门的偏置数据;xt表示t时刻的输入数据,ht-1表示t-1时刻的隐状态数据,ht表示t时刻的隐状态数据,ct表示t时刻的cell状态,ct-1表示t-1时刻的cell状态。
2.根据权利要求1所述的加速RNN网络的系统,其特征在于,RNN网络具体为LSTM网络,N=4,包括:
第一缓存,具体用于:在第一状态和第二状态之间循环切换,且在第一状态时,分4路并行输出Wxi,Wxf,Wxo以及Wxc,且并行度均为k,在第二状态时,分4路并行输出Whi,Whf,Who以及Whc,且并行度均为k;
第二缓存,具体用于:在第一状态和第二状态之间循环切换,且在第一状态时,输出xt,在第二状态时,输出ht-1;
向量乘法电路,具体用于:当接收到所述第一缓存输出的Wxi,Wxf,Wxo以及Wxc时,利用4组乘法阵列分别计算Wxixt,Wxfxt,Wxoxt以及Wxcxt,当接收到所述第一缓存输出的Whi,Whf,Who以及Whc时,利用4组乘法阵列分别计算Whiht-1,Whfht-1,Whoht-1以及Whcht-1;其中,所述向量乘法电路包括4组乘法阵列,每组乘法阵列包括k个乘法单元;
加法电路,具体用于:接收偏置数据缓存发送的bi,bf,bo以及bc,并且利用向量缓存实现Wxixt+Whiht-1+bi,Wxfxt+Whfht-1+bf,Wxoxt+Whoht-1+bo,以及Wxcxt+Whcht-1+bc的计算;
激活电路,具体用于:根据所述加法电路的输出进行激活操作,并输出it,ft,ot以及
状态更新电路,具体用于:从cell状态缓存中获取ct-1,并根据所述激活电路的输出进行ct以及ht的计算,并在计算出ct之后利用ct更新cell状态缓存中的ct-1,并将ht发送至第二缓存;
其中,Wxi,Wxf,Wxo以及Wxc依次表示输入门权重数据矩阵,遗忘门权重数据矩阵,输出门权重数据矩阵以及cell门权重数据矩阵;Whi,Whf,Who以及Whc依次表示输入门隐状态权重数据矩阵,遗忘门隐状态权重数据矩阵,输出门隐状态权重数据矩阵以及cell门隐状态权重数据矩阵;bi,bf,bo以及bc依次表示输入门偏置数据,遗忘门偏置数据,输出门偏置数据以及cell门偏置数据;it,ft,ot以及依次表示输入门,遗忘门,输出门以及cell门;xt表示t时刻的输入数据,ht-1表示t-1时刻的隐状态数据,ht表示t时刻的隐状态数据,ct表示t时刻的cell状态,ct-1表示t-1时刻的cell状态。
3.根据权利要求2所述的加速RNN网络的系统,其特征在于,所述向量乘法电路处于第一流水线中,所述加法电路处于第二流水线中,所述激活电路和所述状态更新电路处于第三流水线中,并且所述第一流水线,所述第二流水线以及所述第三流水线并行运行。
4.根据权利要求2所述的加速RNN网络的系统,其特征在于,所述第一缓存包括:
第一存储单元,用于从片外存储中获取目标数量的Wxi,目标数量的Wxf,目标数量的Wxo以及目标数量的Wxc;
第二存储单元,用于从片外存储中获取目标数量的Whi,目标数量的Whf,目标数量的Who以及目标数量的Whc;
分别与所述第一存储单元以及所述第二存储单元连接的第一多路选择器,用于实现第一状态和第二状态的循环切换,并且在第一状态下选择所述第一存储单元进行数据输出,在第二状态下选择所述第二存储单元进行数据输出;
第一存储器,第二存储器,第三存储器以及第四存储器均通过数据分类器与所述第一多路选择器...
【专利技术属性】
技术研发人员:刘海威,董刚,赵雅倩,李仁刚,蒋东东,杨宏斌,梁玲燕,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。