用于神经网络实现的块浮点的制作方法

文档序号:18235847发布日期:2019-07-24 08:42阅读:来源:国知局

技术特征:

1.一种方法,包括:

配置电路以执行块浮点运算,所述电路包括可重新配置的逻辑器件、数字信号处理器组件或神经网络组件,所述运算包括:

产生多个矩阵或向量的块浮点(BFP)表示,相应的所述矩阵或向量的至少两个元素共用共同指数;

在所述多个矩阵或向量中的两个或更多个矩阵或向量上执行数学运算,产生输出矩阵或向量;

基于所述输出矩阵或向量,选择用于所述输出矩阵或向量的至少两个或更多个元素的经更新的共同指数;以及

产生经更新的矩阵或向量的BFP表示,经更新的所述矩阵或向量的至少两个元素共用共同指数。

2.根据权利要求1所述的方法,其中执行所述数学运算包括:

在针对所述多个矩阵或向量中的第一矩阵或向量的一个或多个尾数和/或指数上执行运算与在针对所述多个矩阵或向量中的第二矩阵或向量的一个或多个尾数和/或指数上执行运算相结合。

3.根据权利要求1或权利要求2所述的方法,其中执行所述数学运算包括:

针对被存储在所述多个矩阵或向量中的第一矩阵或向量中的尾数与被存储在所述多个矩阵或向量中的第二矩阵或向量中的尾数执行脉动阵列矩阵乘法。

4.根据权利要求1至3中任一项所述的方法,其中执行所述数学运算包括:

将偏置向量与所述多个矩阵或向量的乘积相加。

5.根据权利要求1至4中任一项所述的方法,其中执行所述数学运算包括:

对所述多个矩阵或向量的乘积执行附加函数。

6.根据权利要求1至5中任一项所述的方法,其中在所述多个矩阵或向量中的所述两个或更多个矩阵或向量上执行所述数学运算包括:

执行矩阵乘法,并且将针对所述多个矩阵或向量中的第一矩阵或向量的第一共同指数与针对所述多个矩阵或向量中的第二矩阵或向量的第二共同指数相加;

执行矩阵除法,并且从针对所述多个矩阵或向量中的第二矩阵或向量的第二共同指数中减去针对所述多个矩阵或向量中的第一矩阵或向量的第一共同指数;或

执行矩阵加法或减法,并且将所述多个矩阵或向量中的至少一个矩阵或向量的尾数移位。

7.根据权利要求1至6中任一项所述的方法,其中选择经更新的所述共同指数包括:计算针对所述输出矩阵或向量所计算的部分但不是所有输出元素值的平均值、标准偏差和/或方差。

8.根据权利要求1至7中任一项所述的方法,其中选择经更新的所述共同指数基于针对所述输出矩阵或向量的值的置信度区间而被选择。

9.根据权利要求1至8中任一项所述的方法,其中选择经更新的所述共同指数基于针对所述输出矩阵或向量所计算的预定数目的先前输出元素值而被选择。

10.根据权利要求1至9中任一项所述的方法,其中选择经更新的所述共同指数包括:评估由针对所述输出矩阵向量的所选择的经更新的所述共同指数引入的误差。

11.根据权利要求1至10中任一项所述的方法,还包括:利用由执行所述数学运算所产生的元素值来更新用于神经网络的节点值。

12.根据权利要求1至11中任一项所述的方法,其中所述方法还包括:

通过执行表查找来访问经更新的所述共同指数,在所述输出矩阵或向量上执行运算。

13.一种或多种计算机可读存储设备或存储器,其存储计算机可读指令,所述计算机可读指令在由计算机执行时使所述计算机执行权利要求1至12中任一项所述的方法。

14.一种系统,包括:

通用处理单元和存储器,被配置为控制神经网络的运算;以及

一个或多个可编程逻辑器件,包括所述神经网络,所述神经网络的多个节点利用所述可编程逻辑器件通过执行包括以下的运算而被实现:

在多个矩阵或向量中的两个或更多个矩阵或向量上执行数学运算,产生输出矩阵或向量;

基于所述输出矩阵或向量,选择经更新的共同指数并且将经更新的所述共同指数存储在所述可编程逻辑器件可访问的单个存储器位置处;以及

产生经更新的矩阵或向量的BFP表示,经更新的所述矩阵或向量的至少两个元素共用经更新的所述共同指数。

15.根据权利要求14所述的系统,其中由所述可编程逻辑器件执行的所述运算还包括:

将针对所述输出矩阵或向量中的一系列输出矩阵或向量的尾数和/或指数存储在存储器中;

其中选择经更新的所述共同指数基于被存储在所述存储器中的所述尾数和/或指数;以及

其中所述存储器是以下之一:可寻址存储器、寄存器文件、块随机存取存储器(RAM)、FIFO缓冲器或移位寄存器。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1