实施神经网络的激活逻辑的装置及其方法与流程

文档序号:25442737发布日期:2021-06-11 22:02阅读:93来源:国知局
实施神经网络的激活逻辑的装置及其方法与流程

本申请涉及神经网络的技术领域,尤其是涉及一种实施神经网络的激活逻辑的装置及其方法。



背景技术:

在神经网络中实施激活逻辑(activationlogics)的最常用的方法是使用查找表。基本上,在电子装置的神经网络中执行查找表的方法会消耗存储器的许多比特。尤其是,即使与神经网络中的每个神经元共享相同的查找表数值,也会使用激活逻辑的多个多级多路多工器(multi-levelmultiplexer)的输出,以便并行地操作查找表的数值,进而增加了电子装置的硬件部件的负担。因此,有必要减小查找表所占用的存储器的比特大小以解决上述问题。



技术实现要素:

本申请提供了一种实施神经网络的激活逻辑的装置及其方法,以减少神经网络的存储器大小。所述装置被配置为通过在多阶段模式(multi-stagemode)中映射(mapping)神经网络的输入值和输出值来减小地址转换的存储器大小。

基于上述目的,本申请阐述了实施神经网络的激活逻辑的装置。所述装置包含一输入单元、一第一地址转换查找表、一中间存储单元、一第二地址转换查找表、和一输出单元。所述输入单元包含n个比特和n个输入数据值,其中所述n个输入数据值对应存储在所述n个比特中,以及n定义为n1与n2的和,且n、n1、和n2为正整数。所述第一地址转换查找表包含(2^n1)个第一条目,其中所述(2^n1)个第一条目根据所述输入单元的所述n个比特映射到(2^n1)个比特地址,每一所述(2^n1)个第一条目包含(n1-1)个比特和(n1-1)个第一预设值,且所述(n1-1)个第一预设值对应存储在所述(n1-1)个比特中。所述输入单元的所述n个比特的n1个输入数据值映射到所述(n1-1)个第一预设值,且所述(n1-1)个第一预设值存储在所述第一地址转换查找表的所述(2^n1)个第一条目的其中之一。所述中间存储单元耦合到所述输入单元和所述第一地址转换查找表,其中所述中间存储单元包含(n-1)个比特和(n-1)个中间数据值,且所述(n-1)个比特是通过将所述第一地址转换查找表的所述(n1-1)个比特与所述输入单元的n2个比特组合而构成,以及所述(n-1)个中间数据值是通过将所述第一地址转换查找表的所述(n1-1)个第一预设值与所述输入单元的所述n个比特的n2个输入数据值组合而构成。所述第二地址转换查找表包含(2^(n-1))个第二条目,其中所述(2^(n-1))个第二条目根据所述中间存储单元的所述(n-1)个比特映射到(2^(n-1))个比特地址,以及每一所述(2^(n-1))个第二条目包含(n2+1)个比特和(n2+1)个第二预设值,且所述(n2+1)个第二预设值对应存储在所述(n2+1)个比特中。所述中间存储单元的所述(n-1)个比特的所述(n-1)个中间数据值映射到所述(n2+1)个第二预设值,且所述(n2+1)个第二预设值存储在所述第二地址转换查找表的所述(2^(n-1))个第二条目的其中之一。所述输出单元耦合到所述第一地址转换查找表和所述第二地址转换查找表,其中所述输出单元将所述第一地址转换查找表的所述(n1-1)个比特和所述第二地址转换查找表的所述(n2+1)个比特组合,以通过组合所述(n1-1)个第一预设值和所述(n2+1)个第二预设值而输出n个输出数据值。

在一实施例中,所述装置还包含一第一解码器,其耦合至所述输入单元和所述第一地址转换查找表,以及所述第一解码器用于解码所述n个比特的n1个比特以产生2的n1次方个的所述(2^n1)个比特地址。

在一实施例中,所述装置还包含一第二解码器,其耦合至所述中间存储单元和所述第二地址转换查找表,以及所述第二解码器用于解码所述中间存储单元的所述(n-1)个比特以产生2的(n-1)次方个的所述(2^(n-1))个比特地址。

在一实施例中,在所述输入单元中,所述n个比特的n1个比特定义为所述n1个输入数据值的多个高比特,以及所述n2个比特定义为所述n2个输入数据值的多个低比特。

在一实施例中,所述第二地址转换查找表的每一所述(2^(n-1))个第二条目的所述(n2+1)个比特包含一比特,且所述比特定义为所述(n1-1)个第一预设值和所述(n2+1)个第二预设值的组合的饱和点的指标比特。

在一实施例中,在所述输出单元中,所述(n1-1)个比特设置在所述饱和点的所述比特和所述(n2+1)个比特之间。

在一实施例中,所述中间存储单元的所述(n-1)个比特定义为n1个中间数据值的多个高比特,以及所述中间存储单元的所述n2个比特定义为所述输入单元的所述n2个输入数据值的多个高比特。

在一实施例中,所述第一地址转换查找表的(2^n1)个比特和所述(n1-1)个比特的乘积与所述第二地址转换查找表的(2^(n-1))个比特和所述(n2+1)个比特的乘积的内存大小总和小于(2^n)个比特和所述n个比特的乘积的内存大小总和。

在一实施例中,所述第一地址转换查找表的所述(2^n1)个比特和所述(n1-1)个比特的所述乘积小于所述第二地址转换查找表的所述(2^(n-1))个比特和所述(n2+1)个比特的所述乘积。

在一实施例中,所述输入单元的所述n个比特进一步包含一符号位。

在一实施例中,所述符号位为一负符号位,以及所述n个比特的所述n个输入数据值以二补数表示。

在一实施例中,本申请提供一种实施神经网络的激活逻辑的装置。所述装置包含一输入单元、一第一地址转换查找表、一中间存储单元、和一第二地址转换查找表。所述输入单元包含n个比特和n个输入数据值,其中所述n个输入数据值对应存储在所述n个比特中,以及n定义为n1与n2的和,且n、n1、和n2为正整数。所述第一地址转换查找表包含(2^n1)个第一条目,其中所述(2^n1)个第一条目根据所述输入单元的所述n个比特映射到(2^n1)个比特地址,每一所述(2^n1)个第一条目包含(n1-1)个比特和(n1-1)个第一预设值,且所述(n1-1)个第一预设值对应存储在所述(n1-1)个比特中。所述输入单元的所述n个比特的n1个输入数据值映射到所述(n1-1)个第一预设值,且所述(n1-1)个第一预设值存储在所述第一地址转换查找表的所述(2^n1)个第一条目的其中之一。所述中间存储单元耦合到所述输入单元和所述第一地址转换查找表,其中所述中间存储单元包含(n-1)个比特和(n-1)个中间数据值,且所述(n-1)个比特是通过将所述第一地址转换查找表的所述(n1-1)个比特与所述输入单元的n2个比特组合而构成,以及所述(n-1)个中间数据值是通过将所述第一地址转换查找表的所述(n1-1)个第一预设值与所述输入单元的所述n个比特的n2个输入数据值组合而构成。所述第二地址转换查找表包含(2^(n-1))个第二条目,其中所述(2^(n-1))个第二条目根据所述中间存储单元的所述(n-1)个比特映射到(2^(n-1))个比特地址,以及每一所述(2^(n-1))个第二条目包含(n2+1)个比特和(n2+1)个第二预设值,且所述(n2+1)个第二预设值对应存储在所述(n2+1)个比特中。所述中间存储单元的所述(n-1)个比特的所述(n-1)个中间数据值映射到所述(n2+1)个第二预设值,且所述(n2+1)个第二预设值存储在所述第二地址转换查找表的所述(2^(n-1))个第二条目的其中之一。所述输出单元耦合到所述第一地址转换查找表和所述第二地址转换查找表。所述第二地址转换查找表组合所述(n1-1)个第一预设值和所述(n2+1)个第二预设值而输出n个输出数据值。

基于上述目的,本申请阐述了实施神经网络的激活逻辑的方法。所述方法包含:

一输入单元输入n个输入数据值至n个比特,其中所述n个输入数据值对应存储在所述n个比特中,以及n定义为n1与n2的和,且n、n1、和n2为正整数;

一第一地址转换查找表根据所述输入单元的所述n个比特将(2^n1)个第一条目映射到(2^n1)个比特地址,其中每一所述(2^n1)个第一条目包含(n1-1)个比特和(n1-1)个第一预设值,且所述(n1-1)个第一预设值对应存储在所述(n1-1)个比特中,以及所述输入单元的所述n个比特的n1个输入数据值映射到所述(n1-1)个第一预设值,且所述(n1-1)个第一预设值存储在所述第一地址转换查找表的所述(2^n1)个第一条目的其中之一;

一中间存储单元组合所述第一地址转换查找表的所述(n1-1)个比特与所述输入单元的n2个比特;

所述中间存储单元组合所述第一地址转换查找表的所述(n1-1)个第一预设值与所述输入单元的所述n个比特的n2个输入数据值;

一第二地址转换查找表根据所述中间存储单元的所述(n-1)个比特将(2^(n-1))个第二条目映射到(2^(n-1))个比特地址;其中每一所述(2^(n-1))个第二条目包含(n2+1)个比特和(n2+1)个第二预设值,且所述(n2+1)个第二预设值对应存储在所述(n2+1)个比特中;

所述第二地址转换查找表将所述中间存储单元的所述(n-1)个比特的(n-1)个中间数据值映射到所述(n2+1)个第二预设值,其中所述(n2+1)个第二预设值存储在所述第二地址转换查找表的所述(2^(n-1))个第二条目的其中之一;以及

一输出单元组合所述第一地址转换查找表的所述(n1-1)个比特和所述第二地址转换查找表的所述(n2+1)个比特,以通过组合所述(n1-1)个第一预设值和所述(n2+1)个第二预设值而输出n个输出数据值。

本申请提供了一种实施神经网络的激活逻辑的装置及其方法,以减少神经网络的存储器大小。所述装置被配置为通过多阶段模式中映射神经网络的输入值和输出值来减小地址转换的存储器大小,使得当执行神经网络的激活逻辑时,通过减少查找表的存储器大小来映射输入数据值和输出数据值。

附图说明

以下实施例参考附图,用于举例说明在合适的计算机环境中本申请的具体实施例。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。

图1是根据本申请的一实施例的使用地址转换查找表实施神经网络的激活逻辑的装置的方块示意图。

图2是根据本申请的一实施例的比特配置的数字系统和多个数据范围的示意图。

图3是根据本申请的一实施例的具有半范围操作的地址转换查找表的映射配置的示意图。

图4是根据本申请的一实施例的使用地址转换查找表的两个激活器的方块示意图。

图5是根据本申请的一实施例的使用地址转换查找表来实现神经网络的激活逻辑的方法的流程图。

具体实施方式

以下实施例参考附图,用于举例说明在合适的计算机环境中本申请的具体实施例。应当注意,示例性描述的实施例用于描述和理解本申请,但是本申请不限于此。本示例中提到的方向术语(如上侧、下侧、前侧、后侧、左侧、右侧、内侧、外侧、和侧面)仅供参考。因此,方向术语仅用于描述和理解本申请而不是限制本申请。在图中,相同的附图标记用于表示具有相似结构的元件。

图1是根据本申请的一实施例的使用地址转换查找表实施神经网络的激活逻辑的装置的方块示意图。装置包括输入单元100、第一解码器102、第一地址转换查找表104、中间存储单元106、第二解码器108、第二地址转换查找表110、和输出单元112。在一个实施例中,输入单元100、第一解码器102、第一地址转换查找表104、中间存储单元106、第二解码器108、第二地址转换查找表110、以及输出单元112可以由电路、寄存器、或逻辑组件来实现。神经网络可以是软件的应用程序或硬件的电路。

如图1所示,第一解码器102将输入单元100耦合到第一地址转换查找表104。中间存储单元106将第一地址转换查找表104耦合到第二解码器108并且耦合到输入单元100。第一地址转换查找表104耦合到输出单元112。第二地址转换查找表110将第二解码器108耦合到输出单元112。

在图1中,输入单元100包括n个比特和n个输入数据值。n个输入数据值相应存储在n个比特中。n被定义为n1与n2的和,并且n、n1、和n2是正整数。如图1所示,在一个实施例中,n是8,n1是4,并且n2是3,但不限于上述比特数。在另一个实施例中,n可以大于8比特(例如,16比特)。第一地址转换查找表104包括(2^n1)个第一条目。(2^n1)个第一条目基于输入单元100的n个比特映射到(2^n1)个比特地址。每一第一条目包括(n1-1)个比特和(n1-1)个第一预设值。(n1-1)个第一预设值相应地存储在(n1-1)个比特中,其中输入单元112的n个比特的n1个输入数据值被映射到(n1-1)个第一预设值。(n1-1)个第一预设值存储在第一地址转换查找表104的(2^n1)个第一条目的其中之一。

如图1所示,中间存储单元106耦合到输入单元100和第一地址转换查找表104。中间存储单元106包括(n-1)个比特。(n-1)个比特是通过将第一地址转换查找表104的(n1-1)个比特与输入单元104的n2个比特组合而构成。中间存储单元106包括(n-1)个中间数据值。(n-1)个中间数据值是通过将第一地址转换查找表104的(n1-1)个第一预设值与输入单元100的n个比特的n2个输入数据值组合而构成。第二地址转换查找表110包括(2^(n-1))个第二条目。(2^(n-1))个第二条目基于中间存储单元106的(n-1)个比特映射到(2^(n-1))个比特地址。(2^(n-1))个第二条目中的每一个包括(n2+1)个比特和(n2+1)个第二预设值。(n2+1)个第二预设值对应存储在(n2+1)个比特中。中间存储单元106的(n-1)个比特的(n-1)个中间数据值被映射到(n2+1)个第二预设值。(n2+1)个第二预设值存储第二地址转换查找表110的(2^(n-1))个第二条目的其中之一。

在图1中,输出单元112耦合到第一地址转换查找表104和第二地址转换查找表110。输出单元112用于组合第一地址转换查找表104的(n1-1)个比特与第二地址转换查找表110的(n2+1)个比特,以通过组合(n1-1)个第一预设值和(n2+1)个第二预设值而输出n个输出数据值。

在一实施例中,第一解码器102耦合到输入单元100和第一地址转换查找表104,并且被配置为解码n个比特的n1个比特以用于生成2的n1次方个的(2^n1)个比特地址。例如,如果n1是4,对应于16个第一条目,则(2^n1)个比特地址在0到15的范围内。在一实施例中,第二解码器108耦合到中间存储单元106和第二地址转换查找表110,并且被配置为解码中间存储单元106的(n-1)个比特以用于生成2的(n-1)次方个的(2^(n-1))个比特地址。

在一实施例中,n个比特的n1个比特被定义为输入单元100的n1个输入数据值的高比特,并且n2个比特被定义为输入单元100的n2个输入数据值的低比特。

在一实施例中,第二地址转换查找表的每一(2^(n-1))个第二条目的(n2+1)个比特包含一比特,且所述比特定义为(n1-1)个第一预设值和(n2+1)个第二预设值的组合的饱和点的指标比特。在一实施例中,在输出单元112中,(n1-1)个比特设置在饱和点的所述比特和(n2+1)个比特之间。

在一实施例中,中间存储单元106的(n-1)个比特被定义为n1个中间数据值的高比特,并且中间存储单元106的n2个比特被定义为输入单元100的n2个输入数据值的高比特。

在一实施例中,第一地址转换查找表104的(2^n1)个比特和(n1-1)个比特的乘积与第二地址转换查找表110的(2^(n-1))个比特和(n2+1)个比特的乘积的内存大小总和小于(2^n)个比特和n个比特的乘积的内存大小总和。

在一实施例中,输入单元100的n个比特进一步包含一符号位。当符号位为一负符号位时,n个比特的n个输入数据值以二补数表示。

在本申请的实施例中,实施神经网络的激活逻辑的装置被配置为在多阶段模式(例如,第一阶段模式和第二阶段模式)中映射(mapping)神经网络的输入数据值和输出数据值来减小地址转换的存储器大小。举例来说,第一地址转换查找表104被定义为第一阶段模式,并且第二地址转换查找表110通过第一地址转换查找表104和第二解码器108被耦合到第一地址转换查找表104,使得当执行神经网络的激活逻辑时,通过减小查找表的存储器大小来映射输入数据值和输出数据值。

图2是根据本申请的一实施例的比特配置的数字系统和多个数据范围的示意图。q(1.0)201被定义为2比特带有符号的整数,其没有分数比特(例如,从-2到1)。q(1.2)202被定义为4比特带有符号的定点(fixed-point)有理数,其具有2分数比特(例如,从-2到1.75)。q(1.6)203被定义为8比特带有符号的定点有理数,其具有6分数比特(例如,从-2到1.984)。执行激活逻辑后,数字系统相同且实际数据值在-1和+1之间压缩。举例来说,q(1.6)被定义为8比特带有符号的定点有理数且具有6分数比特(例如,从-2到1.984),以及激活逻辑的实际输出数据值被转换为-1到1的范围(如参考符号204所示)。相似地,在二补数的数字系统中,激活器的输入和输出分数与q(1.6)相同。

图3是根据本申请的一实施例的具有半范围操作的地址转换查找表的映射配置的示意图。参考图1和图3,输入单元100的n1个比特(例如,4个比特)的n1个输入数据值包括从0到2的第一范围300。第一地址转换查找表104的16个第一条基于输入单元100的4比特而映射到16个比特地址。举例来说,如果n1是4,对应于16个第一条目,则(2^n1)个比特地址在0到15的范围之间。具体地,第一地址转换查找表104的16个第一条目(即,16个第一预设值)使用16个第一条目中的每一个的3个比特而粗略地映射到中间存储单元106。

在图1和图3中,第二地址转换查找表110的64个条第二条目基于中间存储单元106的6个比特而映射到64个比特地址。举例来说,如果n是7,对应于64个第一条目,则(2^(n-1))个比特地址在0到63的范围内。具体地,第二地址转换查找表110的64个第二条目(即,64个第二预设值)除了指标比特“m”之外,使用64个第二条目中的每一个的3个比特精确地映射到输出单元112。输出单元112的n个比特(例如,7个比特)的n个输出数据值包括从0到1的第二范围302。

在图1和图3中,对应于从0到2的第一范围300的第一地址转换查找表104映射到对应于从0到1的第二范围302的第二地址转换查找表110,使得输入单元100的n个输出数据值由0到1来表示。最大数据值由指标比特确定。当输入单元100的n个输出数据值由-1到1来表示时,根据输出单元112处的符号位使用符号位的二补数。

图4是根据本申请的一实施例的使用地址转换查找表的两个激活器的方块示意图。每个激活器件由实施激活逻辑的装置来实现(如图1所示的第一多路多工器电路400和第二多路多工器电路400)。此外,当连接到行缓冲器401的输入单元100的n个比特还包括符号位时,第一多路多工器电路400设置在输入单元100、第一地址转换查找表104、和第二地址转换查找表110之间。第二多路多工器电路402设置在输出单元112和输出缓冲器404之间。

图5是根据本申请的一实施例的使用地址转换查找表来实现神经网络的激活逻辑的方法的流程图。方法包含以下步骤。

在步骤s500中,输入单元输入n个输入数据值至n个比特。所述n个输入数据值对应存储在n个比特中,以及n定义为n1与n2的和,且n、n1、和n2为正整数。在一实施例中,第一解码器解码n个比特的n1个比特以产生2的n1次方个的(2^n1)个比特地址。

在步骤s502中,第一地址转换查找表根据输入单元的n个比特将(2^n1)个第一条目映射到(2^n1)个比特地址。每一(2^n1)个第一条目包含(n1-1)个比特和(n1-1)个第一预设值,且(n1-1)个第一预设值对应存储在所述(n1-1)个比特中,以及输入单元的n个比特的n1个输入数据值映射到(n1-1)个第一预设值。(n1-1)个第一预设值存储在第一地址转换查找表的(2^n1)个第一条目的其中之一。

在步骤s504中,中间存储单元组合第一地址转换查找表的(n1-1)个比特与输入单元的n2个比特。

在步骤s506中,中间存储单元组合第一地址转换查找表的(n1-1)个第一预设值与输入单元的n个比特的n2个输入数据值。

在步骤s508中,第二地址转换查找表根据中间存储单元的(n-1)个比特将(2^(n-1))个第二条目映射到(2^(n-1))个比特地址。每一(2^(n-1))个第二条目包含(n2+1)个比特和(n2+1)个第二预设值,且(n2+1)个第二预设值对应存储在(n2+1)个比特中。在一实施例中,第二解码器将所述中间存储单元的(n-1)个比特解码以产生2的(n-1)次方个的(2^(n-1))个比特地址。

在步骤s510中,第二地址转换查找表将中间存储单元的(n-1)个比特的(n-1)个中间数据值映射到(n2+1)个第二预设值。(n2+1)个第二预设值存储在第二地址转换查找表的(2^(n-1))个第二条目的其中之一。

在步骤s512中,输出单元组合第一地址转换查找表的(n1-1)个比特和第二地址转换查找表的(n2+1)个比特,以通过组合(n1-1)个第一预设值和(n2+1)个第二预设值而输出n个输出数据值。

在一实施例中,n个比特的n1个比特定义为n1个输入数据值的高比特,以及n2个比特定义为n2个输入数据值的低比特。

在一实施例中,第二地址转换查找表的每一(2^(n-1))个第二条目的(n2+1)个比特包含一比特,且所述比特定义为(n1-1)个第一预设值和(n2+1)个第二预设值的组合的饱和点的指标比特。

在一实施例中,在输出单元中,(n1-1)个比特设置在所述饱和点的所述比特和(n2+1)个比特之间。

在一实施例中,中间存储单元的(n-1)个比特定义为n1个中间数据值的高比特,以及中间存储单元的n2个比特定义为输入单元的n2个输入数据值的高比特。

在一实施例中,第一地址转换查找表的(2^n1)个比特和(n1-1)个比特的乘积与第二地址转换查找表的(2^(n-1))个比特和(n2+1)个比特的乘积的内存大小总和小于(2^n)个比特和n个比特的乘积的内存大小总和。

在一实施例中,第一地址转换查找表的(2^n1)个比特和(n1-1)个比特的乘积小于第二地址转换查找表的(2^(n-1))个比特和(n2+1)个比特的乘积。

在一实施例中,输入单元的n个比特进一步包含一符号位。

在一实施例中,当符号位为一负符号位时,n个比特的n个输入数据值以二补数表示。

在一实施例中,实施神经网络的激活逻辑的装置包括处理器和存储器,其中存储器被配置为存储可执行程序指令,并且处理器被配置为执行包含上述步骤s500到步骤s512的可执行程序指令。

在本说明书的描述中,参考术语“一个实施例”,“某些实施例”,“示例性实施例”,“一些实施例”,“示例”,“特定示例”或“一些示例”等的描述意指结合所述实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本申请中,对上述术语的示意性表述不必须针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在本申请的任何的一个或多个实施例或示例中以合适的方式结合。本申请的实施例所公开的方法的动作可以直接由硬件的解码处理器体现并且由硬件的解码处理器直接执行,或者通过解码处理器中的硬件和软件代码的组合来直接实现。软件代码可以存储在由随机存取存储器、闪存、只读存储器、可编程只读存储器、电可擦除可编程存储器、和寄存器所组成的组合中选择的存储媒体中。处理器读取存储器中的信息(例如,指令),并结合硬件完成上述方法的动作。

根据以上描述,本申请提供了一种实施神经网络的激活逻辑的装置及其方法,用以减少神经网络的存储器大小。所述装置被配置为通过多阶段模式中映射神经网络的输入值和输出值来减小地址转换的存储器大小,使得当执行神经网络的激活逻辑时,通过减少查找表的存储器大小来映射输入数据值和输出数据值。

本领域的技术人员所理解的,本说明的前述优选实施例是说明性的而非用来限制本申请。它们目的在涵盖各种修改和类似的安排,包括在本申请的精神和范围内,其范围应当被赋予最广泛的解释,以包含所有这些修改和类似结构。

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