[发明专利]用于神经网络实现的块浮点有效
申请号: | 201780076041.0 | 申请日: | 2017-12-01 |
公开(公告)号: | CN110050256B | 公开(公告)日: | 2023-07-25 |
发明(设计)人: | R·比特纳;A·福林 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F7/483 | 分类号: | G06F7/483;G06F7/544;G06F7/52 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 王英 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 神经网络 实现 浮点 | ||
1.一种方法,包括:
配置电路以执行块浮点运算,所述电路包括神经网络处理器或硬件组件,所述运算包括:
产生多个矩阵或向量的块浮点BFP表示,其中,相应的所述矩阵或向量的至少两个但不是所有元素在所述BFP表示中共用共同指数;
在所述多个矩阵或向量中的两个或更多个矩阵或向量的所述BFP表示上执行数学运算,其产生输出矩阵或向量;
基于所述输出矩阵或向量以及所述共同指数,选择用于所述输出矩阵或向量的至少两个或更多个但不是所有元素的经更新的共同指数;以及
产生经更新的矩阵或向量的BFP表示,经更新的所述矩阵或向量的至少两个但不是所有元素共用所选择的所述经更新的共同指数。
2.根据权利要求1所述的方法,其中所述多个矩阵或向量中的每个矩阵或向量包括无符号的或有符号的尾数的阵列。
3.根据权利要求1所述的方法,其中执行所述数学运算包括:
在针对所述多个矩阵或向量中的第一矩阵或向量的一个或多个尾数和/或指数上执行运算与在针对所述多个矩阵或向量中的第二矩阵或向量的一个或多个尾数和/或指数上执行运算相结合。
4.根据权利要求1所述的方法,其中执行所述数学运算包括:
针对被存储在所述多个矩阵或向量中的第一矩阵或向量中的尾数与被存储在所述多个矩阵或向量中的第二矩阵或向量中的尾数执行脉动阵列矩阵乘法。
5.根据权利要求1所述的方法,其中执行所述数学运算包括:
将偏置向量与所述多个矩阵或向量的乘积相加。
6.根据权利要求1所述的方法,其中执行所述数学运算包括:
对所述多个矩阵或向量的乘积执行附加函数。
7.根据权利要求1所述的方法,其中在所述多个矩阵或向量中的所述两个或更多个矩阵或向量上执行所述数学运算包括:
执行矩阵乘法,并且将针对所述多个矩阵或向量中的第一矩阵或向量的第一共同指数与针对所述多个矩阵或向量中的第二矩阵或向量的第二共同指数相加;
执行矩阵除法,并且从针对所述多个矩阵或向量中的第二矩阵或向量的第二共同指数中减去针对所述多个矩阵或向量中的第一矩阵或向量的第一共同指数;或
执行矩阵加法或减法,并且将所述多个矩阵或向量中的至少一个矩阵或向量的尾数移位。
8.根据权利要求1所述的方法,其中选择经更新的所述共同指数包括:计算针对所述输出矩阵或向量所计算的部分但不是所有输出元素值的平均值、标准偏差和/或方差。
9.根据权利要求1所述的方法,还包括:利用由执行所述数学运算所产生的元素值来更新用于神经网络的节点值。
10.根据权利要求1所述的方法,至少还包括以下中的一项或多项:
使用用于矩阵乘法的平均值,执行所述数学运算;
使用用于共同指数更新的平均值,执行所述选择经更新的所述共同指数;或
使用用于产生矩阵或向量的BFP表示的平均值,执行所述产生经更新的所述矩阵或向量的所述BFP表示。
11.根据权利要求1所述的方法,其中:
所述数学运算包括乘法;并且
执行所述数学运算在不将所述多个矩阵或向量中的两个或更多个矩阵或向量的尾数移位的情况下而被执行。
12.根据权利要求1所述的方法,其中选择经更新的所述共同指数包括:
将针对所述多个矩阵或向量中的第一矩阵或向量的第一共同指数与针对所述多个矩阵或向量中的第二矩阵或向量的第二共同指数相加。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780076041.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于柔性显示设备的控件显示方法及装置
- 下一篇:可执行数据流图的差分