CN114840173A - 一种混合概率逻辑的计算方法和装置 - Google Patents
一种混合概率逻辑的计算方法和装置 Download PDFInfo
- Publication number
- CN114840173A CN114840173A CN202210374924.2A CN202210374924A CN114840173A CN 114840173 A CN114840173 A CN 114840173A CN 202210374924 A CN202210374924 A CN 202210374924A CN 114840173 A CN114840173 A CN 114840173A
- Authority
- CN
- China
- Prior art keywords
- probability
- bit
- binary
- mixed
- coded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 claims description 17
- YGGXZTQSGNFKPJ-UHFFFAOYSA-N methyl 2-naphthalen-1-ylacetate Chemical compound C1=CC=C2C(CC(=O)OC)=CC=CC2=C1 YGGXZTQSGNFKPJ-UHFFFAOYSA-N 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 abstract description 69
- 238000006243 chemical reaction Methods 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000004927 fusion Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/70—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using stochastic pulse trains, i.e. randomly occurring pulses the average pulse rates of which represent numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/84—Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请公开了一种混合概率逻辑(概率与二进制逻辑)的计算方法和装置。该方法实现了在传统概率计算(Stochastic Computing)基础上融合二进制逻辑编码功能,从而实现了概率‑二进制混合计算所述概率‑二进制混合计算的技术,包括其数理逻辑基础、混合计算的加减乘除基础四则运算、概率‑二进制转换结构和复杂多项式拟合计算的方法和装置。本申请方案解决了传统概率计算计算时延大、无精确计算以及计算效率低下等问题。该概率‑二进制混合计算方法实现了与二进制数字逻辑和电路相当的计算效率、精度和功能。
Description
技术领域
本发明涉及数字逻辑、人工智能和集成电路领域,尤其涉及一种概率计算与二进制逻辑混合的数字逻辑计算方法和处理装置。
背景技术
二进制数或布尔逻辑,是现代数字电路、信号系统等的数理基础。二进制逻辑的每个函数根据一个或者更多的输入,用一个逻辑算法来计算输出值。该算法根据输入所取真和假的组合来决定输出真或假(1真0假,或反之)。概率(或称“随机”)逻辑是通过基于概率数表示来实现的,即逻辑高电平在累积脉冲时间时开启(或称“发火”)的概率,它是一种在数字域中进行的伪模拟量的计算方法。
概率计算是一种多应用于数值计算、数字电路和数字通信等领域的数字计算方法。相比于传统的二进制数的加、减、乘、除、平方等运算,概率数计算在片上硬件资源消耗方面有着巨大的优势。在高位二进制数计算中所需要的乘法器、加法器等都需要较大的电路面积开销。但使用概率数取代二进制数进行加、乘运算时往往只需要一个选择器或逻辑门就可以实现概率脉冲串加乘法运算,大大降低了运算所需的片上逻辑资源,因此,非常适用于计算开销大且功耗要求苛刻的类脑计算工程应用领域。
传统的概率计算方法中,概率数乘法器只需要一个与门(单极型概率数)或者一个同或门(双极型概率数)就可以实现。虽然这种实现方法对于概率数脉冲串本身的计算是精确的(在输入序列互不相关的情况下),但是由于经典随机数生成器(SNG:stochasticnumber generator)产生的概率数脉冲串本质上是一个伯努利序列,满足二项分布,用计数器的方法将其转换成的二进制数与原二进制数之间就会有误差。要实现较精确的计算就需要较长的序列长度来支撑,而且二进制数每增加1-bit,为保证相同精度就需要将概率数脉冲串长度增加一倍,这就极大地增加了计算所需的周期数,也就是计算时延长。
发明内容
本发明提出混合概率逻辑的计算方法和装置,基于传统概率(随机)计算的脉冲串基础上融合二进制逻辑编码功能,从而实现了概率-二进制混合计算。
所述概率-二进制混合计算的技术,包括其数理逻辑基础、混合计算的加减乘除基础四则运算、概率-二进制转换结构和复杂多项式拟合计算的方法和装置。
本发明提出以下技术方案:
一方面,本申请提出一种混合概率逻辑的计算方法,包括以下步骤:
将位宽为n的待编码二进制数d的值分解为2的幂级数,以M个位宽小于n的二进制数d0,d1,...,dM-1的值为系数,即:d=20d0+21d1+...+2M-1dM-1;
将所述M个位宽小于n的二进制数分别与随机数序列比较,得到M个概率脉冲串s0(i),s1(i),…,sM-1(i),其中i是概率脉冲序号;
所述M个概率脉冲串按对应的幂次从大到小排列为一个M-bit并行输出的概率脉冲串组合,即混合流,作为所述待编码二进制数d的编码;
其中每一个并行M-bit概率脉冲表示一个多比特二进制数,以多个所述多比特二进制数的均值作为所述混合流的均值,用于表示所述待编码二进制数d的值。
进一步地,将两个二进制数a,b分别编码为相互独立的混合流sa(i),sb(i);
令两个混合流中概率脉冲的序号相同的多比特二进制数逐一相乘,得到新的混合流sc(i)=sa(i)sb(i);用所述新的混合流的均值来表示两个二进制数a,b的乘积;
或者,令两个混合流中概率脉冲的序号相同的多比特二进制数逐一相加,得到新的混合流sd(i)=sa(i)+sb(i);用所述新的混合流的均值来表示两个二进制数a,b的和;
或者,令两个混合流中概率脉冲的序号相同的多比特二进制数逐一相除,得到新的混合流sc(i)=sa(i)/sb(i);用所述新的混合流的均值来表示两个二进制数a,b相除的结果。
第二方面,本申请还提出一种混合概率逻辑装置(A型转换器),用于实现本申请第一方面实施例所述的方法,包含输入端、随机数发生器、比较器、输出端;
输入端,用于位宽为n的待编码二进制数d分解为M个位宽小于n的二进制数d0,d1,...,dM-1,满足d=20d0+21d1+...+2M-1dM-1;
随机数发生器,用于生成M个随机数序列;
比较器,用于所述M个位宽小于n的二进制数分别与所述随机数序列比较,得到M个概率脉冲串s0(i),s1(i),...,sM-1(i),其中i是概率脉冲序号;
输出端,用于所述M个概率脉冲串按对应的幂次从大到小排列为一个M-bit并行输出的概率脉冲串组合,即混合流,作为所述待编码二进制数d的编码。
优选地,所述M个位宽小于n的二进制数,位宽相同;或者,所述二进制数d0,d1,...,dM-1中的至少2个位宽不同。
优选地,所述比较器包含单比特比较器,用于位宽为1的二进制数;所述单比特比较器由反向器和或非门构成,一条输入信号连接输入的二进制数据,另一条输入信号连接随机数发生器。
第三方面,本申请还提出一种混合概率逻辑的计算方法,包含以下步骤:
位宽为M的第一待编码二进制数A和位宽为n的第二待编码二进制数F,用所述第二待编码二进制数F与n-bit随机数序列比较产生概率脉冲串f(i);用所述第一待编码二进制数A对概率脉冲串f(i)中的每一个比特进行加权获得M个概率脉冲串,即s0(i),s1(i),s2(i)和sM-1(i);其中i是概率脉冲序号;
所述M个概率脉冲串按对应的第一待编码二进制数A的比特位顺序排列为一个M-bit并行输出的概率脉冲串组合,即混合流,作为所述第一待编码二进制数A和第二待编码二进制数的混合编码;
其中每一个并行M-bit概率脉冲表示一个多比特二进制数,以多个所述多比特二进制数的均值作为所述混合流的均值,用于表示所述第一待编码二进制数A和所述第二待编码二进制数F的乘积。
第四方面,本申请还提出一种混合概率逻辑装置(B型转换器),用于实现本申请第三方面实施例所述的方法,包含第一输入端、第二输入端、比较器、加权器、输出端;
第一输入端,用于输入位宽为M的第一待编码二进制数A;
第二输入端,用于输入位宽为n的第二待编码二进制数F;
比较器,用于所述第二待编码二进制数F与n-bit随机数序列比较产生概率脉冲串f(i);
加权器,用于所述第一待编码二进制数A对概率脉冲串f(i)中的每一个比特进行加权获得M个概率脉冲串,即s0(i),s1(i),s2(i)和sM-1(i);其中i是概率脉冲序号;
输出端,用于所述M个概率脉冲串按对应的第一待编码二进制数A的比特位顺序排列为一个M-bit并行输出的概率脉冲串组合,即混合流,作为所述第一待编码二进制数A和第二待编码二进制数的混合编码。
优选地,所述n-bit随机数序列使用线性伪随机序列产生器LFSR,长度为2n,且[0,2n-1]中的每个数字都在随机数序列中出现一次。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
实现了在传统概率(随机)计算(Stochastic Computing)基础上融合二进制逻辑编码功能,从而实现了概率-二进制混合计算(hybrid SC logic)。本发明的目的是解决传统概率(随机)计算的长时延、无精确计算等问题,本方法实现了低时延、高速和高精度的概率计算实现方法,完全改善了传统概率计算的计算方法,解决了概率计算中高精度与高速计算矛盾的问题。
通过A型转换器,二进制数被编码为混合流时与编码为概率脉冲串相比,长度缩减为1/2M-1,具体见附图1~5所示;与此同时,所述概率计算的类型B转换器还具备精确乘法器计算电路功能,乘法器计算时延长与二进制位宽成正比,对于并行M-bit脉冲流,计算结果精确值比传统概率计算提高到1/2M的计算时延,具体见附图6~8所示;
本发明所提的概率混合逻辑计算方法适用于各种数值逻辑计算、数字电路和数字编码等,包括不限于如多项式拟合、矩阵计算、神经网络、深度学习和通信编码、图像、信号处理等。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为混合流编码处理过程;
图2(a)为混合概率计算乘法单元的运算流程,以2-bit混合流输入为例;
图2(b)为混合概率计算乘法单元的实施例1,以2-bit混合流输入为例;
图2(c)为混合概率计算乘法单元的实施例2,以2-bit混合流输入为例;
图3为两个多比特脉冲流加法的逻辑门组合方法;
图4为两个多比特脉冲流除法的逻辑门组合方法;
图5(a)为A型混合概率计算编码单元实施例1,并行2-bit混合流
图5(b)为A型混合概率计算编码单元实施例2,并行3-bit混合流
图5(c)为A型混合概率计算编码单元实施例3,并行5-bit混合流
图6为B型混合概率计算编码单元的实施例;
图7为使用B型构造多项式计算;
图8为概率-二进制混合逻辑计算的精确乘法器计算过程举例。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚明白,下面将结合附图对本发明的具体实施方式做详细说明。其中公式结构和装置以框图形式示出,而非详细示出,以避免模糊本发明。
本发明提出的混合概率逻辑,指概率与二进制的混合逻辑,涉及概率(随机)逻辑和二进制计算混合的计算机制和系统,并且更具体地讲,涉及基于传统概率(随机)计算的脉冲串基础上融合二进制逻辑编码功能,从而实现了概率-二进制混合计算。技术方案包括其数理逻辑基础、混合计算的加减乘除基础四则运算、概率-二进制转换结构和复杂多项式拟合计算等;
本申请中的计算,是指信号处理;所述计算方法是指信号处理方法。例如:所述的混合概率逻辑计算方法是指通过电路或计算机程序实施的混合概率逻辑处理方法。
以下结合附图,详细说明本申请各实施例提供的技术方案。
布尔数字逻辑计算是目前硬件计算体系中的基础,无论是数字电路、信号处理还是计算机体系架构都是基于此而进行的数字计算。而概率(随机)逻辑计算则与上述二进制布尔逻辑计算完全不同,具体细节如下,
如图1所示,本申请提出一种混合概率逻辑计算方法,包括以下步骤:
步骤101、将待编码二进制数d的值分解为以M个短位宽二进制数d0,d1,...,dM-1为系数的2的幂级数,分解前后的二进制数满足如下关系,d=20d0+21d1+...+2M-1dM-1。
步骤102、将M个短位宽二进制数分别编码为M个概率脉冲串s0(i),s1(i),...,sM-1(i),
将M个短位宽二进制数分别编码为M个概率脉冲串时,一个例子是将M个短位宽二进制数分别与k-bit随机数序列比较,得到M个概率脉冲串s0(i),s1(i),...,sM-1(i),其中k大于或等于d0~dM-1的位宽最大值。
步骤103、根据M个概率脉冲串对应的幂次大小,顺序排列,得到一个M-bit并行输出的概率脉冲串组合。其中每一个并行M-bit概率脉冲表示一个M-bit二进制数。
将多个概率脉冲串并行组合,其中每一个并行多比特概率脉冲表示一个二进制数(本申请称为多比特二进制数),将这种新的数据表示形式称作混合流。
步骤104、以多个所述多比特二进制数的均值作为所述混合流的均值,表示所述待编码二进制数d的值。
例如,M个并行概率脉冲串构成的混合流,如果记录混合流中的每一个M-bit二进制数并计算它们的均值,所得均值与待编码二进制数d近似成正比关系,即混合流的期望值与二进制数d成正比。与单个概率脉冲串类似,使用混合流表示二进制数d时,混合流的长度越长,表示精度越高。
还需要说明的是,由于本申请的混合流在物理上是一组表示数据的脉冲信号,因此,本申请的混合概率逻辑计算方法运用在数字电路中,构成了一种概率脉冲计算混合流生成方法。本申请的混合概率逻辑装置,即是一种实现概率脉冲计算的混合流生成装置。
图1中还对比了混合流编码和概率脉冲串编码生成方式。现有技术的概率脉冲串生成方法,将n-bit二进制数d,与n-bit的均匀分布随机数序列逐个进行比较,若二进制数大于随机数输出1,否则输出0,根据比较结果可分别得到一串由0或1组成的概率脉冲串(Stochastic Bitstream)S,则概率脉冲串高电平“1”的概率是P(S)=d/2n。可以看到,混合流编码通过并行输出的方式与概率脉冲串编码相比,处理时序的长度显著缩短(为1/2M-1),因此会显著缩短电路处理时间。
图2(a)~(c)包括两个多比特脉冲流乘法运算的实施例与逻辑表达式。在处理两个二进制数a,b的乘法运算时,将其分别编码为相互独立的混合流,并使两混合流中的每一个数逐一相乘,两个混合流的乘积是通过组合逻辑门实现,其运算过程可用sc(i)=sa(i)·sb(i),(i=1,2,...,N)表示,即令混合流中每一个数对应逐一执行二进制逻辑的乘法运算,以得到新的混合流输出。这一运算过程中混合流将遵循概率统计理论中有关期望的乘积规律,E[Sc]=E[SaSb]=E[Sa]E[Sb],实现了成混合流期望值的乘法运算。图2中显示了当混合流为2比特流时,进行概率乘法计算的具体流程与两种电路结构示例,2比特流Sa的均值等于16/8,Sb的均值是11/8,其二比特乘积结果Sc的均值是22/8=E[Sa]E[Sb],与各自期望的计算理论值一致。为简化表示,图2(a)中,所使用的2比特混合流乘法器,其输入为2个2比特混合流Sa,Sb;输出为1个4比特混合流Sc。为简化表示,其输入、输出混合流中的每一个多比特二进制数用十进制值表示。当用门电路实现2比特乘法器时,结构如图2(b)~(c)所示;2比特混合流的乘法运算逻辑关系的表达式也表示在图2(b)~(c)中。
图3为两个多比特脉冲流加法的逻辑门组合方法。在处理两个二进制数a,b的加法运算时,将其先编码为混合流,并使两混合流中的每一个数逐一相加。输出混合流遵循期望的加法关系,E[Sd]=E[Sa+Sb]=E[Sa]+E[Sb],即完成混合流的加法运算。与乘法器同理,当随机变量的脉冲串是多比特脉冲流时,两个脉冲流相加即通过复合逻辑门实现。图3中的混合概率计算加法单元是以2-bit混合流输入为例。这里2比特流Sa的均值等于15/8,Sb的均值是13/8,其二比特流加法结果Sd的均值是28/8=E[Sa]+E[Sb],与数学期望的计算理论值也是一致的。
图4为两个多比特脉冲流除法的逻辑门组合方法。在处理两个二进制数a,b的除法运算时,将其先编码为混合流,两个混合流的除法运算是乘法的逆运算。输出混合流遵循期望的运算关系,E[Sc]E[Sb]=E[Sa],即E[Sc]=E[Sa]/E[Sb],完成混合流的除法运算。电路结构包括乘法器和一个累加计数器,其计算精度与脉冲串累计长度成正相关。
对于一个n-bit二进制数转换成M比特混合流的编码电路,称作A型编码单元。分解后的短位宽二进制数与随机数发生器(RNG)比较产生M个概率脉冲串,即s0(i),s1(i),...,sM-1(i)。对于一个n-bit二进制数x转换成混合流,即基于附图1的混合流编码方法,我们给出了一些A型编码单元实施例,具体见附图5(a)~(c)。
作为A型编码单元的混合概率逻辑装置,用于生成混合流,包含:
输入端,用于位宽为n的待编码二进制数d分解为M个位宽小于n的二进制数d0,d1,...,dM-1,满足d=20d0+21d1+...+2M-1dM-1;
随机数发生器,用于生成M个随机数序列;
比较器,用于所述M个位宽小于n的二进制数分别与所述随机数序列比较,得到M个概率脉冲串s0(i),s1(i),...,sM-1(i),其中i是概率脉冲序号;
输出端,用于所述M个概率脉冲串按对应的幂次从大到小排列为一个M-bit并行输出的概率脉冲串组合,即混合流,作为所述待编码二进制数d的编码。
优选地,所述M个位宽小于n的二进制数,位宽相同;或者,所述二进制数d0,d1,...,dM-1中的至少2个位宽不同。
作为A型编码单元的一种实施例,如果短位宽数的低位有连续的0,可以同步减小随机数和短位宽数的位宽,按照低位连续的0的数量减少。比如(1000)和4比特随机数比较,可以缩减成(1)和1比特随机数比较。具体电路结构见附图5(a),二进制数x的低(n-1)-bit,x0~xn-2与(n-1)-bit随机数发生器(RNG)比较产生20加权概率脉冲串s0(i),最高比特xn-1与1-bit RNG比较产生21加权的概率脉冲串s1(i)。;
其中的单比特比较器由反向器和或非门构成,一条输入信号连接输入的二进制数据,另一条输入信号连接随机数发生器。此外我们还给出了另外两种分组方式的电路结构,将6-bit二进制数编码为3-bit、5-bit混合流,具体见附图5(b)、5(c)。
作为A型编码单元的第二个实施例,图5(b)将5-bit二进制数x分解为三个4-bit二进制数的2的幂级数加权,x=[x500x2]222+[x400x1]221+[x300x0]220,分别与4-bitRNG比较得到3-bit混合流,E[S]=x/24,E[S]表示混合流的期望值。
作为A型编码单元的第三个实施例,图5(c)将5-bit二进制数x分解为三个2-bit二进制数的2的幂级数加权,x=[x5x4]224+0×23+[x3x2]222+0×21+[x1x0]220,分别与2-bit RNG比较得到5-bit混合流,其中s3(i)=s1(i)=0,E[S]=x/22。
另一方面,为实现乘法运算,本申请还提出另一种混合概率逻辑计算方法,对位宽为M的第一待编码二进制数A和位宽为n的第二待编码二进制数F进行混合编码,包含以下步骤:
步骤201、用所述第二待编码二进制数F与n-bit随机数序列比较产生概率脉冲串f(i);
步骤202、用所述第一待编码二进制数A对概率脉冲串f(i)中的每一个比特进行加权获得M个概率脉冲串,即s0(i),s1(i),s2(i)和sM-1(i);其中i是概率脉冲序号;
步骤203、所述M个概率脉冲串按对应的第一待编码二进制数A的比特位顺序排列为一个M-bit并行输出的概率脉冲串组合,即混合流,作为所述第一待编码二进制数A和第二待编码二进制数F的混合编码;
步骤204、将所述混合流中每一个并行M-bit概率脉冲表示一个多比特二进制数,以多个所述多比特二进制数的均值作为所述混合流的均值,用于表示所述第一待编码二进制数A和所述第二待编码二进制数F的乘积。
为实施步骤201~204的方法,我们给出另一种编码电路单元,称作B型编码单元,如图6所示,实现两个二进制数(分别为n-bit与M-bit)转换成多比特概率脉冲流电路。一种混合概率逻辑装置,用于生成混合流,包含相连接的概率脉冲串编码电路与加权电路两个模块,输出混合流的期望遵循基本数理关系,E[S]=A·E[F]=A·F/2n;其中概率脉冲串编码电路包含第一输入端、第二输入端、比较器;加权电路包含加权器、输出端。
第一输入端,用于输入位宽为M的第一待编码二进制数A;
第二输入端,用于输入位宽为n的第二待编码二进制数F;
比较器,用于所述第二待编码二进制数F与n-bit随机数序列比较产生概率脉冲串f(i);
加权器,用于所述第一待编码二进制数A对概率脉冲串f(i)中的每一个比特进行加权获得M个概率脉冲串,即s0(i),s1(i),s2(i)和sM-1(i);其中i是概率脉冲序号;
输出端,用于所述M个概率脉冲串按对应的第一待编码二进制数A的比特位顺序排列为一个M-bit并行输出的概率脉冲串组合,即混合流,作为所述第一待编码二进制数A和第二待编码二进制数的混合编码。
如图7,基于混合概率计算的二次多项式计算,本方法中,多项式采用了z=x2+y2-2x+xy以满足乘累加和自相乘等不同计算条件。当B型编码单元完成混合概率流编码时,它也同时完成了一次乘法运算。因此,当实现多项式的第一次乘法时,BN–SB(B型)可用作乘法器,该乘法器使用两个二进制输入来输出概率流。这种特殊用法的优点在操作二次多项式时更加突出,因为二次多项式在每个单项式中只有一次乘法。当处理图7所示的二次多项式时,z=x2+y2-2x+xy,x和y是M位数据。二进制运算需要四个M位乘法器和三个2M位加法器,而本方案的混合概率计算电路只需要四个BN–SB转换器和三个M位加法器即可实现其乘累加计算。可以理解,当用于计算x2时,将两个x分别输入第一输入端和第二输入端;当用于计算y2时,将两个y分别输入第一输入端和第二输入端;当用于计算xy时,将x、y分别输入第一输入端和第二输入端;当计算2x时,将2、x分别输入第一输入端和第二输入端,最后,将多个转换器的输出端数据相加。
为了达到相同的计算精度,混合逻辑计算的脉冲流长度比传统单比特流低。当将n位二进制数x转换为(M+1)-bit概率脉冲流时,对于(M+1)个位流中的各个位流,具有(n-M)比特的精度,也即脉冲串长度是N=2n-M-1就足以表示x。然而,对于传统的SC,需要单比特概率脉冲流达到N=2n-1的长度。
对于所提出的混合逻辑脉冲流,当M=0时,混合逻辑流就是经典概率计算。这是一种硬件占用率最低但延迟最长的极端情况。当M=n-1时,混合逻辑流转换为二进制数。这是另一种具有最佳延迟和最大硬件占用的极端情况。通过这种混合逻辑,可以权衡延迟和硬件占用,而不是选择两种极端情况。
与此同时,所述混合概率计算的精确乘法器计算电路结构,即使用类型B实现乘法运算,其特征还在于,乘法器计算时延长与混合流位宽成负相关,对于M-bit脉冲流,得到精确计算结果所需时延降低为传统概率计算的1/2M。类型B转换器,其输出多比特混合流所对应的数值为两个输入二进制数A、F的乘积。转换过程中,误差仅来源于概率脉冲串f(i)的编码,另一个二进制数A对概率脉冲串的加权并不会产生误差。在f(i)的编码过程中,如果使用n-bit伪随机数序列,如LFSR,其周期等于2n,且[0,2n-1]中的每个数字都将在随机数序列中出现一次。因此当f(i)的长度为2n时,f(i)的编码不存在误差,此时类型B转换器将输出精确的混合流,即可以达到精确的概率计算乘法功能。例如图8一个应用类型B编码电路进行精确乘法运算的举例,两输入数据均为3-bit二进制数据。在f(i)的编码过程中,使用了3-bit伪随机数序列,其周期等于8,且[0,7]中的每个数字都在随机数序列中出现了一次。因此当f(i)的长度为8时,f(i)的编码不存在误差,可精确地表示数值(5/8),此时类型B转换器将输出精确的多比特脉冲流,表示两个输入的乘积(15/8),即实现了精确的概率计算乘法功能。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包含一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种混合概率逻辑的计算方法,其特征在于,包括以下步骤:
将位宽为n的待编码二进制数d的值分解为2的幂级数,以M个位宽小于n的二进制数d0,d1,...,dM-1的值为系数,即:d=20d0+21d1+...+2M-1dM-1;
将所述M个位宽小于n的二进制数分别与随机数序列比较,得到M个概率脉冲串s0(i),s1(i),…,sM-1(i),其中i是概率脉冲序号;
所述M个概率脉冲串按对应的幂次从大到小排列为一个M-bit并行输出的概率脉冲串组合,即混合流,作为所述待编码二进制数d的编码;
其中每一个并行M-bit概率脉冲表示一个多比特二进制数,以多个所述多比特二进制数的均值作为所述混合流的均值,用于表示所述待编码二进制数d的值。
2.如权利要求1所述的一种混合概率逻辑的计算方法,其特征在于,包含以下步骤:
将两个二进制数a,b分别编码为相互独立的混合流sa(i),sb(i);
令两个混合流中概率脉冲的序号相同的多比特二进制数逐一相乘,得到新的混合流sc(i)=sa(i)sb(i);
用所述新的混合流的均值来表示两个二进制数a,b的乘积。
3.如权利要求1所述的一种混合概率逻辑的计算方法,其特征在于,包含以下步骤:
将两个二进制数a,b分别编码为相互独立的混合流sa(i),sb(i);
令两个混合流中概率脉冲的序号相同的多比特二进制数逐一相加,得到新的混合流sd(i)=sa(i)+sb(i);
用所述新的混合流的均值来表示两个二进制数a,b的和。
4.如权利要求1所述的一种混合概率逻辑的计算方法,其特征在于,
将两个二进制数a,b分别编码为相互独立的混合流sa(i),sb(i);
令两个混合流中概率脉冲的序号相同的多比特二进制数逐一相除,得到新的混合流sc(i)=sa(i)/sb(i);
用所述新的混合流的均值来表示两个二进制数a,b相除的结果。
5.一种混合概率逻辑装置,用于实现权利要求1所述的方法,其特征在于,包含输入端、随机数发生器、比较器、输出端;
输入端,用于位宽为n的待编码二进制数d分解为M个位宽小于n的二进制数d0,d1,...,dM-1,满足d=20d0+21d1+...+2M-1dM-1;
随机数发生器,用于生成M个随机数序列;
比较器,用于所述M个位宽小于n的二进制数分别与所述随机数序列比较,得到M个概率脉冲串s0(i),s1(i),...,sM-1(i),其中i是概率脉冲序号;
输出端,用于所述M个概率脉冲串按对应的幂次从大到小排列为一个M-bit并行输出的概率脉冲串组合,即混合流,作为所述待编码二进制数d的编码。
6.如权利要求5所述混合概率逻辑装置,其特征在于,
所述M个位宽小于n的二进制数,位宽相同;
或者,
所述二进制数d0,d1,...,dM-1中的至少2个位宽不同。
7.如权利要求6所述的混合概率逻辑装置,其特征在于,
所述比较器包含单比特比较器,用于位宽为1的二进制数;
所述单比特比较器由反向器和或非门构成,一条输入信号连接输入的二进制数据,另一条输入信号连接随机数发生器。
8.一种混合概率逻辑的计算方法,其特征在于,包含以下步骤:
位宽为M的第一待编码二进制数A和位宽为n的第二待编码二进制数F,用所述第二待编码二进制数F与n-bit随机数序列比较产生概率脉冲串f(i);用所述第一待编码二进制数A对概率脉冲串f(i)中的每一个比特进行加权获得M个概率脉冲串,即s0(i),s1(i),s2(i)和sM-1(i);其中i是概率脉冲序号;
所述M个概率脉冲串按对应的第一待编码二进制数A的比特位顺序排列为一个M-bit并行输出的概率脉冲串组合,即混合流,作为所述第一待编码二进制数A和第二待编码二进制数的混合编码;
其中每一个并行M-bit概率脉冲表示一个多比特二进制数,以多个所述多比特二进制数的均值作为所述混合流的均值,用于表示所述第一待编码二进制数A和所述第二待编码二进制数F的乘积。
9.一种混合概率逻辑装置,用于实现权利要求8所述的方法,其特征在于,包含第一输入端、第二输入端、比较器、加权器、输出端;
第一输入端,用于输入位宽为M的第一待编码二进制数A;
第二输入端,用于输入位宽为n的第二待编码二进制数F;
比较器,用于所述第二待编码二进制数F与n-bit随机数序列比较产生概率脉冲串f(i);
加权器,用于所述第一待编码二进制数A对概率脉冲串f(i)中的每一个比特进行加权获得M个概率脉冲串,即s0(i),s1(i),s2(i)和sM-1(i);其中i是概率脉冲序号;
输出端,用于所述M个概率脉冲串按对应的第一待编码二进制数A的比特位顺序排列为一个M-bit并行输出的概率脉冲串组合,即混合流,作为所述第一待编码二进制数A和第二待编码二进制数的混合编码。
10.如权利要求9所述混合概率逻辑装置,其特征在于,
所述n-bit随机数序列使用线性伪随机序列产生器LFSR,长度为2n,且[0,2n-1]中的每个数字都在随机数序列中出现一次。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210374924.2A CN114840173A (zh) | 2022-04-11 | 2022-04-11 | 一种混合概率逻辑的计算方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210374924.2A CN114840173A (zh) | 2022-04-11 | 2022-04-11 | 一种混合概率逻辑的计算方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114840173A true CN114840173A (zh) | 2022-08-02 |
Family
ID=82564475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210374924.2A Pending CN114840173A (zh) | 2022-04-11 | 2022-04-11 | 一种混合概率逻辑的计算方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114840173A (zh) |
-
2022
- 2022-04-11 CN CN202210374924.2A patent/CN114840173A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI783295B (zh) | 乘法器及乘法運算方法 | |
Alaghi et al. | Survey of stochastic computing | |
CN110377267B (zh) | 一种基于概率计算集中序列的有符号数的加/减法器 | |
CN1503938A (zh) | 乘法逻辑电路 | |
CN111488133B (zh) | 高基数近似布斯编码方法和混合基数布斯编码近似乘法器 | |
US11275563B2 (en) | Low-discrepancy deterministic bit-stream processing using Sobol sequences | |
Zhang et al. | When sorting network meets parallel bitstreams: A fault-tolerant parallel ternary neural network accelerator based on stochastic computing | |
CN114499538A (zh) | 多比特输入数据编码方法、装置、电子设备及存储介质 | |
Zhang et al. | Parallel hybrid stochastic-binary-based neural network accelerators | |
CN115145536A (zh) | 一种低位宽输入-低位宽输出的加法器树单元及近似乘加方法 | |
Premkumar et al. | Improved memoryless RNS forward converter based on the periodicity of residues | |
KR102340412B1 (ko) | 스토캐스틱 연산을 위한 로그-양자화된 곱셈 및 누적기와 이를 포함하는 가속기 | |
CN114840173A (zh) | 一种混合概率逻辑的计算方法和装置 | |
Rafiq et al. | An efficient architecture of modified booth multiplier using hybrid adder | |
WO1999031573A1 (fr) | Procede et circuit semi-conducteur pour effectuer des operations arithmetiques | |
Dakhole et al. | Multi-digit quaternary adder on programmable device: Design & verification | |
CN110705196A (zh) | 一种基于随机计算的无误差加法器 | |
CN111666063B (zh) | 一种基于随机计算的增函数实现装置 | |
Anantharaman et al. | Hardware implementation analysis of min-sum decoders | |
CN115526131A (zh) | 多级编码近似计算Tanh函数的方法及装置 | |
CN110837624A (zh) | 一种针对sigmoid函数的近似计算装置 | |
Yao et al. | Hardware simplification to the delta path in a MASH 111 delta–sigma modulator | |
US11475288B2 (en) | Sorting networks using unary processing | |
CN113031917B (zh) | 一种高速概率计算乘法器和计算方法 | |
Tsai et al. | TCBNN: Error-Correctable Ternary-Coded Binarized Neural Network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |