[发明专利]用于执行LSTM运算的装置和方法在审
| 申请号: | 201911175801.0 | 申请日: | 2016-04-29 |
| 公开(公告)号: | CN110929863A | 公开(公告)日: | 2020-03-27 |
| 发明(设计)人: | 郭崎;陈峋宇;陈云霁;陈天石 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
| 主分类号: | G06N3/063 | 分类号: | G06N3/063;G06F9/30 |
| 代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
| 地址: | 100190 北京市海*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 执行 lstm 运算 装置 方法 | ||
1.一种用于执行LSTM运算的装置,包括控制器单元、数据访问单元、互连模块、主运算模块和从运算模块,其中,所述LSTM运算的一个块block包括:输入门、输出门、忘记门和单元cell;所述输入门和所述忘记门,用于控制cell的输出里对于当前时间输入和上一时间cell的权重;所述输出门,用于控制cell的输出;
所述数据访问单元,用于访问外部地址空间,完成数据的加载和存储,读入指令;
所述控制器单元,用于读取指令,将指令译码成控制其他单元或模块行为的微指令,然后将各自的微指令分发至各个单元或模块;
所述互连模块,用于将所述主运算模块的输入向量发送给所述从运算模块,以及将从运算模块的运算结果返回给主运算模块;
所述从运算模块,用于将输入数据进行乘加得到部分和并保存,直到神经元数据全都输入后将所有的部分和通过所述互连模块返回给主运算模块;
所述主运算模块,用于在正向运算时对计算结果进行插值激活。
2.根据权利要求1所述的装置,其特征在于,所述装置还用于执行LSTM单层运算的梯度反向运算;具体包括:
所述装置计算出下一时刻隐层梯度和对应位置的权值相乘相加,加上本层残差和对应权值相乘之和,得到本层输出梯度;让输出梯度和cell激活值对应乘加,缓存在神经元缓存单元最后乘以激活函数导数得到输出门梯度;
所述装置,用于将cell的状态梯度由当前输出梯度乘上当前输出门值和状态激活的导数存入神经元缓存单元,再计算上下一时刻cell的梯度,输入门和忘记门的梯度以及本时刻输出门梯度乘以对应权值都存入神经元缓存单元,最后相加得到单元状态梯度,cell中间值的梯度由当前时刻输入门激活值,cell激活函数导数以及cell状态梯度相乘得到;
所述装置,用于将当前时刻所有cell的状态梯度对应乘以上一时刻cell状态输出相加最后与忘记门导数相乘得到忘记门的梯度;将当前时刻所有cell的状态梯度对应乘以本时刻cell中间值的激活值输出相加,最后与输入门导数相乘得到输入门的梯度。
3.根据权利要求1所述的装置,其特征在于,所述装置还包括:指令存储单元,用于缓存读入的指令。
4.根据权利要求1-3任意一项所述的装置,其特征在于,所述从处理模块包括多个从运算模块,
所述互连模块,将所述主运算模块的输入向量分发给所述从运算模块,以及将从运算模块的运算结果逐级拼接成运算结果返回给主运算模块;所述互连模块包括多个节点构成的二叉树通路;
每个节点将上游的数据同样地发给下游的两个节点,将下游的两个节点返回的数据进行合并,并返回给上游的节点。
5.根据权利要求4所述的装置,其特征在于,
所述主运算模块,还用于在反向运算时,将计算结果进行插值激活并求导得到的导数与梯度相乘。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911175801.0/1.html,转载请声明来源钻瓜专利网。





