[发明专利]训练深度神经网络时的利用压缩权重的直接计算在审
申请号: | 202080029838.7 | 申请日: | 2020-03-30 |
公开(公告)号: | CN114008630A | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 奚锦文;B·普蒂佩迪 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063;G06N3/08 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 马明月 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 训练 深度 神经网络 利用 压缩 权重 直接 计算 | ||
1.一种用于生成针对深度神经网络(“DNN”)层的至少一部分的激活结果的激活结果生成系统,包括:
一个或多个处理器;以及
所述一个或多个处理器可访问的一个或多个存储器设备,所述一个或多个存储器设备存储用于由所述一个或多个处理器执行的软件组件,所述软件组件包括:
部分总和生成组件,被配置为:
接收权重矩阵和输入矩阵的压缩表示,所述输入矩阵具有输入元素,所述输入元素是到所述DNN层的至少一部分的输入值,以及
生成多个部分总和,每个部分总和包括所述输入矩阵中与所述压缩表示中所包括的公共权重值集的公共权重值相对应的输入值的总和;
乘积生成组件,被配置为基于所述多个部分总和与所述公共权重值集来生成乘积集;以及
激活结果生成组件,被配置为通过对所述乘积集的乘积求和来生成所述激活结果。
2.根据权利要求1所述的激活结果生成系统,其中所述部分总和生成组件还被配置为:通过接收矩心索引矩阵和矩心表来接收权重矩阵和输入矩阵的压缩表示,所述矩心索引矩阵包括包含矩心索引值的多个条目,每个矩心索引值包括对所述矩心表的索引,并且所述矩心表包括作为所述公共权重值的多个矩心值。
3.根据权利要求2所述的激活结果生成系统,其中所述部分总和生成组件还被配置为通过以下方式生成每个部分总和来生成多个部分总和:
选择所述矩心值的矩心索引值,以及
对所述输入矩阵中的、在所述矩心索引矩阵中具有包含所选择的所述矩心索引值的对应条目的所述输入元素求和。
4.根据权利要求3所述的激活结果生成系统,其中所述乘积生成组件还被配置为:通过将所述多个部分总和的每个部分总和乘以具有被选择用于所述部分总和的生成的所述矩心索引值的所述矩心表中的所述矩心值,以基于所述多个部分总和与所述公共权重值集来生成乘积集。
5.根据权利要求1所述的激活结果生成系统,其中所述激活结果是所述DNN的下一层的输入。
6.根据权利要求1所述的激活结果生成系统,其中所述激活结果用于反向传播所述DNN的输出误差的度量。
7.根据权利要求1所述的激活结果生成系统,其中所述激活结果用于确定针对所述DNN的梯度矩阵。
8.一种用于生成针对深度神经网络(“DNN”)层的至少一部分的激活结果的方法,包括:
接收权重矩阵和输入矩阵的压缩表示,所述输入矩阵具有输入元素,所述输入元素是所述DNN层的至少一部分的输入值;
生成多个部分总和,每个部分总和包括所述输入矩阵中与所述压缩表示中所包括的公共权重值集的公共权重值相对应的输入值的总和;
基于所述多个部分总和与所述公共权重值集来生成乘积集;以及
通过对所述乘积集的乘积求和来生成所述激活结果。
9.根据权利要求8所述的方法,其中接收权重矩阵和输入矩阵的压缩表示包括:
接收矩心索引矩阵和矩心表,所述矩心索引矩阵包括包含矩心索引值的多个条目,每个矩心索引值包括对所述矩心表的索引,并且所述矩心表包括作为所述公共权重值的多个矩心值。
10.根据权利要求9所述的方法,其中生成多个部分总和包括:
通过以下方式生成每个部分总和:
选择所述矩心值的矩心索引值,以及
对所述输入矩阵中的、在所述矩心索引矩阵中具有包含所选择的所述矩心索引值的对应条目的所述输入元素求和。
11.根据权利要求8所述的方法,其中基于所述多个部分总和与所述公共权重值集来所述生成乘积集包括:
将所述多个部分总和的每个部分总和乘以具有被选择用于所述部分总和的生成的所述矩心索引值的所述矩心表中的所述矩心值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202080029838.7/1.html,转载请声明来源钻瓜专利网。