[发明专利]基于神经网络计算的方法和装置有效
申请号: | 202010019645.5 | 申请日: | 2020-01-08 |
公开(公告)号: | CN111259675B | 公开(公告)日: | 2023-09-19 |
发明(设计)人: | 刘托 | 申请(专利权)人: | 北京小米松果电子有限公司 |
主分类号: | G06F40/58 | 分类号: | G06F40/58;G06N3/0442 |
代理公司: | 北京钲霖知识产权代理有限公司 11722 | 代理人: | 李英艳;李志新 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 神经网络 计算 方法 装置 | ||
本公开是关于一种基于神经网络计算的方法及装置,其中,方法包括:对预设神经网络模型进行解析,得到预设神经网络模型的网络结构中节点之间的依赖关系;根据依赖关系,确定至少一个目标隐藏层节点;为每个目标隐藏层节点配置对应的状态缓存张量;在通过预设神经网络模型进行语音翻译时,将每个目标隐藏层节点的隐藏层状态保存至对应的状态缓存张量中;通过与目标隐藏层节点存在依赖关系的其他节点,从对应的状态缓存张量中读取隐藏层状态。通过本公开,能够更加灵活的解决带有时序或上下文依赖的模型的高效计算问题,使得这类模型的计算更加高效。
技术领域
本公开涉及数据处理技术领域,尤其涉及一种基于神经网络计算的方法和装置。
背景技术
在人工智能领域,随着深度神经网络的发展,越来越多形式的神经网络被使用,例如语音翻译中经常使用基于时间时序或上下文关系的神经网络进行翻译。
其中,各种形式的基于时间序列或上下文关系的神经网络,如RNN(RecurrentNeural Network,循环神经网络),LSTM(Long Short-Term Memory,长短期记忆网络),GRU(Gated Recurrent Unit)等的使用越来越多。针对这类神经网络,目前,其推理框架基本采用时域Cell的方案。时域Cell的方案通过将前面时刻的隐层输出作为当前时刻该Cell的输入节点添加到网络中,这样可以定义和处理RNN、LSTM或GRU等这类依赖时序或上下文信息的模型。但是,采用时域Cell的方案,很多RNN或LSTM的模型很难部署在移动端设备或嵌入式设备商,并且其模型推理过程耗时久,计算效率低,无法达到最有性能。
发明内容
为克服相关技术中存在的问题,本公开提供一种基于神经网络计算的方法和装置,从而解决带有时序或上下文依赖的神经网络模型的高效计算问题。
根据本公开实施例的第一方面,提供一种基于神经网络计算的方法,包括:
对预设神经网络模型进行解析,得到所述预设神经网络模型的网络结构中节点之间的依赖关系;
根据所述依赖关系,确定至少一个目标隐藏层节点;
为每个所述目标隐藏层节点配置对应的状态缓存张量;
在通过所述预设神经网络模型进行语音翻译时,将每个所述目标隐藏层节点的隐藏层状态保存至对应的状态缓存张量中;
通过与所述目标隐藏层节点存在依赖关系的其他节点,从所述对应的状态缓存张量中读取所述隐藏层状态。
在一个实施例中,所述根据所述依赖关系,确定至少一个目标隐藏层节点,包括:
根据节点之间的依赖关系,确定依赖节点,以及所述依赖节点所依赖的被依赖节点;
在所述被依赖节点中,确定时序先于所述依赖节点时序的至少一个被依赖节点;
将所述至少一个被依赖节点作为目标隐藏层节点。
在一个实施例中,所述方法还包括:
确定每个依赖节点需要依赖的目标隐藏层节点,以及每个所述依赖节点所依赖的目标隐藏层节点的目标时刻;
所述将每个所述目标隐藏层节点的隐藏层状态保存至对应的状态缓存张量中,包括:
将所述每个目标隐藏层节点的目标时刻的目标隐藏层状态保存至对应的状态缓存张量中。
在一个实施例中,在为每个所述目标隐藏层节点配置对应的状态缓存张量之后,还包括:
根据所述预设神经网络模型的网络结构和节点之间的依赖关系,计算每个所述状态缓存张量的更新时间、缓存机制中的至少一项;
根据每个状态缓存张量的更新时间更新状态缓存张量中的状态;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京小米松果电子有限公司,未经北京小米松果电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010019645.5/2.html,转载请声明来源钻瓜专利网。