[发明专利]通过跳过处理操作来减少神经网络处理器中的功耗有效
申请号: | 201880025480.3 | 申请日: | 2018-04-16 |
公开(公告)号: | CN110546611B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | A·A·安巴德卡;C·B·麦克布赖德;G·彼得;L·M·瓦尔;K·D·塞多拉;B·博布罗夫 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F12/02 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 赵林琳 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通过 跳过 处理 操作 减少 神经网络 处理器 中的 功耗 | ||
1.一种神经网络模块,包括:
多个神经元;
组分区器和调度器;以及
存储器设备,所述存储器设备存储:
第一缓冲区,所述第一缓冲区存储用于由所述神经网络模块中的所述多个神经元处理的第一数据,以及
第二缓冲区,所述第二缓冲区存储用于由所述神经网络模块中的所述多个神经元处理的第二数据,其中所述第一缓冲区中的所述第一数据和所述第二缓冲区中的所述第二数据被组织成对应的行和列,
其中所述多个神经元被配置为同时处理所述第一数据和所述第二数据,从而每个时钟周期所述列中的一个或多个列被选择用于处理,并且
其中所述组分区器和调度器被配置为:
确定所述第一缓冲区的整列中的所述第一数据是否包括预定值或值的范围,
如果所述第一缓冲区的所述整列中的所述第一数据包括所述预定值或值的范围,则使得所述多个神经元跳过对所述第一数据和所述第二数据的处理,
确定所述二缓冲区的所述整列中的所述第二数据是否包括所述预定值或值的范围,以及
确定所述二缓冲区的所述整列中的所述第二数据包括所述预定值或值的范围,使得所述多个神经元跳过所述第一数据和所述第二数据的处理。
2.根据权利要求1所述的神经网络模块,其中所述预定值包括零、值的范围、或者高于或低于阈值的值。
3.根据权利要求1所述的神经网络模块,其中所述第一缓冲区中的所述第一数据包括到神经网络的输入数据。
4.根据权利要求1所述的神经网络模块,其中所述第二缓冲区中的所述第二数据包括与神经网络相关联的权重。
5.根据权利要求1所述的神经网络模块,其中所述多个神经元使用ReLu(y=max(x,0))作为用于神经网络的激活函数。
6.根据权利要求1所述的神经网络模块,其中所述预定值或值的范围是用户可定义的。
7.一种神经网络模块,包括:
多个神经元;
组分区器和调度器;以及
存储器设备,所述存储器设备存储:
第一缓冲区,所述第一缓冲区存储用于由所述神经网络模块中的所述多个神经元处理的第一数据,所述第一数据包括到神经网络的输入数据,
第二缓冲区,所述第二缓冲区存储用于由所述神经网络模块中的所述多个神经元处理的第二数据,所述第二数据包括针对所述神经网络的权重数据,
其中所述第一缓冲区中的所述第一数据和所述第二缓冲区中的所述第二数据被组织成对应的行和列;
其中所述多个神经元被配置为同时处理所述第一数据和所述第二数据,从而每个时钟周期所述列中的一个或多个列被选择用于处理,并且
其中所述组分区器和调度器被配置为:
确定所述第一缓冲区中的整列中的所述第一数据是否包括预定值或值的范围,
如果所述第一缓冲区的所述整列中的所述第一数据数据包括所述预定值或值的范围,跳过对所述第一缓冲区中的所述第一数据的处理,
确定所述第二缓冲区的整列中的所述第二数据是否包括所述预定值或值的范围,以及
如果所述第二缓冲区的所述整列中的所述第二数据包括所述预定值或值的范围,则跳过对所述第二缓冲区中的所述第二数据的处理。
8.根据权利要求7所述的神经网络模块,其中所述预定值包括零、值的范围、或者高于或低于阈值的值。
9.根据权利要求7所述的神经网络模块,其中所述多个神经元使用ReLu(y=max(x,0))作为用于神经网络的激活函数。
10.根据权利要求7所述的神经网络模块,其中所述预定值或值的范围是用户可定义的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880025480.3/1.html,转载请声明来源钻瓜专利网。