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