用于归一化函数的数字电路制造技术

技术编号:38877670 阅读:10 留言:0更新日期:2023-09-22 14:10
本公开包括生成二(2)的幂次方的输入值次方的值的数字电路。例如,数字电路可以包括组合逻辑,该组合逻辑接收表示输入值的输入尾数的第一数字位和表示输入值的输入指数的第二数字位。该组合逻辑生成多个输出尾数和多个输出指数,该多个输出尾数和多个输出指数与当输入值为正和负并且当输入指数高于和低于第一值时二(2)的幂次方的输入值次方的近似值相对应。选择电路被配置为接收输出尾数和输出指数。选择电路包括被耦合到输入值的输入指数和输入符号位的选择控制输入以选择输出尾数中的一个输出尾数和一个输出指数。的一个输出尾数和一个输出指数。的一个输出尾数和一个输出指数。

【技术实现步骤摘要】
【国外来华专利技术】用于归一化函数的数字电路

技术介绍

[0001]本公开涉及计算,并且更具体地涉及用于归一化函数的数字电路。
[0002]人工神经网络(在下文中,神经网络)已普遍地在人工智能应用和现代计算中变得越来越重要。在图1中示出了示例神经网络。神经网络100接收与待识别的特征相对应的输入值。输入值乘以权重(用边101表示),并且在节点102中相加在一起(例如,求和)。将激活函数应用于节点102中的结果以生成输出值。将该值跨多个节点和节点的层进行组合以产生与结果相对应的网络输出值。
[0003]这样的系统通过考虑示例来“学习”执行任务,通常不需要利用任务特定的规则进行编程。最初,权重可以是未经训练的。在训练阶段期间,对应的已知结果的输入值由网络处理,并且将网络输出值之间的差异(或者,误差)与已知值进行比较。可以使用被称为反向传播的处理,基于误差来调整权重,其中计算以相反的方向进行(例如,从输出到输入)。训练可以涉及在许多输入样本和对应的已知网络输出值之间连续调整权重。这通常被称为训练阶段。一旦被训练,系统可以接收输入并产生有意义的结果(例如,分类或识别)。这通常被称为推理阶段。
[0004]随着神经网络的普及度越来越高,神经网络被用来解决的问题的复杂度也越来越高。随着问题复的杂度增加,神经网络的规模和计算复杂度也随之增加。神经网络中一个常见且非常耗时的操作是归一化。例如,当激活和权重跨网络的各个节点相乘和求和时,通常会对结果进行归一化。Softmax就是这样的归一化函数的示例。例如,Softmax可以用作神经网络的最后一个激活函数,以将网络的输出归一化为预测输出分类上的概率分布。然而,归一化函数通常需要复杂的数值计算,这可能会减慢网络的速度。本文中所呈现的公开提供了可以更有效地用于归一化函数(和其他应用)的数字电路和处理技术。
[0005]下面在具体实施方式中描述了各个实施例、示例和优点。
附图说明
[0006]本公开的各个实施例通过示例而非限制的方式在附图的图中进行说明。
[0007]图1图示了示例神经网络。
[0008]图2图示了根据实施例的数字电路。
[0009]图3图示了根据另一实施例的数字电路。
[0010]图4图示了根据另一实施例的用于生成2
x
的近似的示例数字电路。
[0011]图5A图示了根据另一实施例的用于生成4
x
的近似的示例数字电路。
[0012]图5B图示了根据另一实施例的用于生成4
x
的近似的另一示例数字电路。
[0013]图6图示了根据实施例的归一化系统。
[0014]图7图示了根据实施例的方法。
[0015]图8图示了根据一些实施例的神经网络处理系统。
具体实施方式
[0016]在以下描述中,处于解释的目的,阐述了许多示例和具体细节,以便提供本公开的全面理解。这样的示例和细节不应被解读为不适当地限制权利要求的要素或作为整体的所要求保护的主题。基于不同权利要求的言语,对于本领域技术人员来说显而易见的是,所要求保护的主题可以单独或组合地包括这些示例中的一些或全部特征,并且还可以包括本文中所所描述的特征和技术的修改和等同物。
[0017]本公开的特征和优点包括接收输入值(例如,浮点数)并产生对应于二(2)的幂次方(例如,2、4、
……
)的输入值x次方的近似值(例如,2
x
、4
x

……
)的输出值的数字电路。正如下面更详细描述的,Softmax函数可以使用这样的函数进行近似。有利的,这样的功能可以在组合数字逻辑中实现,例如,其可能能够在不等待多个时钟周期的情况下生成输出。因此,与其中输出不仅依赖于当前输入,而且还依赖于先前输入(例如,存储数据)的顺序逻辑相反,一些示例实施例可以能够仅基于当前输入来生成输出。这可以产生更快、更低延迟的系统,其例如可以实现Softmax函数的许多近似。
[0018]图2图示了根据实施例的数字电路200。电路200接收以浮点表示的输入值201。输入值(Xi)201包括以数字位表示的输入指数(e
x
)、输入尾数(m
x
)和输入符号位(s
x
)。数字电路200包括组合逻辑210,其接收表示输入尾数m
x
的数字位和表示输入指数e
x
的数字位,并且生成多个输出尾数和多个输出指数250,其对应于二(2)的幂次方的输入值次方的近似值。在一个示例实施例中,组合逻辑210生成输入尾数的多个移位版本,其中输入尾数基于输入指数移位以产生输出尾数和输出指数。有利地,可以跨四个象限生成单独的输出尾数和输出指数,例如,当输入值为正或负以及当输入指数高于或低于第一值时。
[0019]数字电路200还包括选择电路220。选择电路220被配置为接收输出尾数和输出指数250,并且产生一个最终输出尾数251和一个最终输出指数252。因此,本公开的实施例例如可以包括两个或更多个选择电路(诸如,选择电路220中的多路复用器)。选择电路220可以包括耦合到输入值(Xi)的输入指数和输入符号位的选择控制输入。如在此和下面进一步的实施例中所说明的,本公开的特征包括基于输入指数和输入符号位来选择输出尾数中的一个输出尾数作为最终输出尾数251并选择输出指数中的一个输出指数作为最终输出指数252。由于数字电路200实现了二(2)的幂次方的输入值次方的近似值(例如,N
x
,N=2、4、8、16、
……
),因此输出符号位为常数值1,并且可以在例如230处硬连接。因此,数字电路200所生成的输出值(Yi)202也可以是包括指数(e
y
)、尾数(m
y
)与符号位(s
y
)的浮点值。有利地,在一些实施例中,输入值(Xi)流可以非常快速地被转换成输出值(Yi)(例如,在每一个时钟周期内),以便高效地计算Softmax函数的近似。
[0020]图3图示了根据另一实施例的数字电路。本公开的特征和优点包括基于指数来移位输入值的尾数以产生输出尾数和输出指数,然后可以基于输入指数和输入符号位来选择该输出尾数和输出指数。在该示例中,数字电路314接收包括输入符号位、输入指数和输入尾数的输入值312,并且产生大约等于二(2)的幂次方的输入值次方(例如,2
x
、4
x
)的输出值316,该输出值316包括输出符号位、输出指数和输出尾数。数字电路314包括组合逻辑320,其在该示例中包括移位器电路322。例如,多个移位器电路可以在输入尾数和输入指数中接收。本公开的特征和优点包括基于输入指数332来移位输入尾数330,以产生多个输出尾数336和输出指数338,这些输出尾数336和输出指数338耦合到选择电路326和328,以基于输
入符号位334和输入指数332来选择一个输出尾数/指数对作为最终输出。移位器电本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种数字电路,包括:组合逻辑,接收表示输入值的输入尾数的第一数字位和表示输入值的输入指数的第二数字位,所述组合逻辑生成多个输出尾数和多个输出指数,所述多个输出尾数和多个输出指数与当所述输入值为正和负并且当所述输入指数高于和低于第一值时二(2)的幂次方的所述输入值次方的近似值相对应;以及两个或更多个选择电路,被配置为接收所述多个输出尾数和所述多个输出指数,所述选择电路包括被耦合到所述输入值的所述输入指数和输入符号位的选择控制输入以选择所述多个输出尾数中的一个输出尾数和所述多个输出指数中的一个输出指数。2.根据权利要求1所述的数字电路,其中所述组合逻辑基于所述输入指数来生成所述输入尾数的多个移位版本以产生所述多个输出尾数和所述多个输出指数,所述数字电路还包括控制逻辑,所述控制逻辑被配置为接收所述输入指数和所述输入符号位、以及生成对至少一个尾数选择电路和指数选择电路的控制信号。3.根据权利要求1所述的数字电路,其中所述两个或更多个选择电路产生:当所述输入符号位为正并且所述输入指数小于第一值时,第一输出尾数和第一输出指数,所述第一输出尾数包括所述输入尾数的第一移位版本与第一常数之和,所述第一输出指数具有零值;当所述输入符号位为正并且所述输入指数大于所述第一值时,第二输出尾数和第二输出指数,所述第二输出尾数包括所述输入尾数的第二移位版本的模数,所述第二输出指数具有基于所述输入指数而被移位的一(1)与所述输入尾数的所述第二移位版本的整除相加的数字值;当所述输入符号位为负并且所述输入指数小于所述第一值时,第三输出尾数和第三输出指数,所述第三输出尾数包括从第二常数减去所述输入尾数的所述第一移位版本与所述第一常数之和,所述第三输出指数具有负一(

1)值;以及当所述输入符号位为负并且所述输入指数大于所述第一值时,第四输出尾数以及所述第二输出指数的负值减一(1),所述第四输出尾数包括从所述第二常数减去所述输入尾数的所述第二移位版本的模数。4.根据权利要求1所述的数字电路,其中所述组合逻辑包括一个或多个移位器电路,所述一个或多个移位器电路具有被耦合到所述输入尾数的输入以及被耦合到所述输入指数的移位输入,其中所述一个或多个移位器电路产生所述输入尾数的左移位版本和右移位版本。5.根据权利要求4所述的数字电路,其中所述输入尾数的右移位版本被用于形成第一输出尾数和第二输出尾数,并且其中所述输入尾数的左移位版本的较低位被用于形成第三输出尾数和第四输出尾数。6.根据权利要求5所述的数字电路,其中所述输入尾数的所述...

【专利技术属性】
技术研发人员:T
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1