用于操作数字计算机以降低与大向量之间点积相关联的计算复杂度的方法技术

技术编号:19878340 阅读:29 留言:0更新日期:2018-12-22 17:58
本发明专利技术包括一种用于操作数据处理系统以计算对第一向量与第二向量之间的标量积的近似的方法,其中,每个向量由N个分量来表征。所述方法包括:由第三向量代替所述第一向量,所述第三向量是由以下各项表征的金字塔整数向量:N个分量;以及等于所述N个分量的绝对值之和的整数K;以及计算所述第三向量与所述第二向量的标量积,以提供对所述第一向量与所述第二向量之间的所述标量积的所述近似。可以通过K次加法然后一次浮点乘法来执行计算所述第二向量与所述第三向量的所述标量积。

【技术实现步骤摘要】
【国外来华专利技术】用于操作数字计算机以降低与大向量之间点积相关联的计算复杂度的方法相关申请本申请要求于2016年3月29日提交的澳大利亚临时申请2016901146的优先权,所述澳大利亚临时申请通过引用结合在此。
技术介绍
数字信号处理已变得普遍。例如,如低通滤波器、带通滤波器和高通滤波器等信号滤波器现在是通过以下方式来实现的:对模拟信号进行数字化以创建数字值序列,然后通过有限脉冲滤波器对所述数字值序列进行处理,在所述有限脉冲滤波器中,信号值向量与滤波器系数向量的标量积或“点”积提供表示经滤波信号在每个时刻的数字值。两个N分量向量A与B的标量积被定义为其中,Ai和Bi分别是A和B的第i个向量,并且N是每个向量中的分量数。执行此计算时固有的计算工作负荷为N次乘法和N-1次加法。乘法的计算负荷明显大于加法的计算负荷。在整数乘法和加法的简单情况下,乘法通过N次相加和N-1次移位来执行。在浮点数的更复杂情况下,计算负荷甚至更大。因此,当应用需要两个大向量的标量积时,计算工作负荷会对基础滤波器或其他模型施加实际限制。例如,数字滤波器的质量通常随着所涉及的向量的大小而增强。具有50个滤波器系数的带通滤波器的带外抑制明显小于具有500个滤波器系数的滤波器。不幸的是,较大滤波器中固有的计算工作负荷会使得优异的滤波器不具吸引力。类似地,利用基于神经网络的算法的模式识别系统面临执行大量标量积的问题。
技术实现思路
本专利技术包括一种用于操作数据处理系统以计算对第一向量与第二向量之间的标量积的近似的方法,其中,每个向量由N个分量来表征。所述方法包括:由第三向量代替所述第一向量,所述第三向量是由以下各项表征的金字塔整数向量:N个分量;以及等于所述N个分量的绝对值之和的整数K;以及计算所述第三向量与所述第二向量的标量积,以提供对所述第一向量与所述第二向量之间的所述标量积的所述近似。在本专利技术的一方面,计算所述第二向量与所述第三向量的所述标量积包括:将所述第二向量的每个分量加到寄存器中由所述第三向量中所述分量中的相应分量指定的次数,以提供所述第二向量与所述第三向量的所述标量积。在本专利技术的另一方面,所述第二向量由第二向量长度来表征,所述第三向量由第三向量长度来表征,并且针对所述第二向量长度与所述第三向量长度的差来校正所述第二向量与所述第三向量的所述标量积,以提供对所述第一向量与所述第二向量的所述标量积的所述近似。在本专利技术的另一方面,对所述第一向量与所述第二向量的所述标量积的所述近似由所述第一向量与所述第二向量的所述标量积中的允许误差来表征,并且K被选择为具有所述第二向量和所述第三向量的所述标量积与所述第一向量和所述第二向量的所述标量积相差小于所述允许误差的最小值。在一方面,K<N。在本专利技术的另一方面,所述第一向量的所述分量由需要预定位数n的数值表示来表征,并且K<nN。附图说明图1展示了用于计算A与S之间标量积的常规计算硬件。图2展示了用于计算整数分量向量与S的标量积的硬件。图3展示了整数值的分布。图4展示了近似向量的分量的频率分布。图5展示了这些滤波器中每一个的衰减。具体实施方式可以参考简单的带通滤波器来更容易地理解本专利技术提供其优点的方式,所述带通滤波器被实施为计算引擎上的有限响应滤波器,所述计算引擎生成滤波器系数向量与从信号中导出的、具有相同长度的向量的标量积,所述信号已经被数字化以提供表示随时间变化的信号强度的数字值序列。由A=[A1,A2,……,AN]来表示滤波器系数向量。通常,信号由数字值序列Di组成,i=1到ND,其中,ND>>N。可以将信号视为被移位到N个单元长的寄存器中。此寄存器中的值对应于信号向量,S=[S1,S2,……,SN]。在计算了A与S之间的每个标量积之后,寄存器的内容被移位预定数量的单元,并且Di的新值被移位到寄存器中。以这种方式生成的标量积序列形成来自滤波器的输出数字信号。在实时应用中,必须在比生成将要移位到寄存器中的下一组信号值并移位所述寄存器所需时间短的时间内计算标量积。虽然可以通过并行处理来放宽时间约束,但是附加硬件的成本可能会限制可以使用此提升速度选项的程度。本专利技术基于以下观察:在一些感兴趣的情况下,向量A可以由相同长度的近似向量A'来代替,所述近似向量具有两种感兴趣特性。第一,A'与S的标量积是对A与S的标量积的良好近似。第二,A'与S的标量积需要的计算资源明显少于A与S的标量积。在对A进行近似时可以容忍的误差程度取决于正在使用标量积的具体应用。考虑被实施为在通过对某一传感器的输出进行数字化而生成的数字序列上进行运算的有限脉冲响应滤波器的常规数字滤波器。被滤波的信号将具有一定程度的噪声,所述噪声是由于传感器中的噪声以及由模数转换器(ADC)引入的数字化噪声而产生的,所述模数转换器用于将根据时间变化的传感器模拟输出电压转换为数字序列Di。来自滤波器的输出信号由另一个数字序列Fi组成。每个输出序列值是通过形成A与一向量的标量积来获得的,所述向量的分量是输入的数字序列的子序列。例如,输出信号值Fk是通过A与向量[Sk,Sk+1,……,Sk+N-1]的标量积来获得的。输出信号还将具有一定程度的噪声,所述噪声是由输入信号中的噪声产生的。如果A被A'代替,则将会在输出信号中引入附加噪声。如果附加噪声比由输入信号中的噪声产生的噪声小得多,则附加噪声将不会明显改变输出信号的准确度。例如,如果选择A'以使得由对A的近似所引入的附加噪声小于由信号引入的噪声的25%,则所述近似将几乎不会影响输出噪声幅度。一种用于减少由标量积所施加的计算负荷的方法是使用近似向量,其中所述向量的所有分量都是整数。在下面的讨论中,这种向量将被称为整数分量向量。如果输入数据流是整数序列,则可以仅使用整数乘法和加法来计算标量积,这需要的计算资源比实数乘法和加法少得多。如果输入信号是由在不具有非常大的电压差的传感器输出上进行运算的ADC生成的,则输入数据流可以被调整为这样的整数数据流。一种用于为A生成整数分量向量的方法是对A进行缩放,以使得A中的最大分量的绝对值由具有所期望的最大大小的整数来很好地近似。然后将经缩放向量的分量取整为整数。出于本讨论的目的,这种类型的量化方案将被称为标量量化,因为一次一个地对分量进行近似,而不考虑向量的其他分量。虽然这种简单的算法生成了整数分量向量,但从减少由近似引入的噪声或降低计算复杂度的角度来看,所述整数分量向量不一定是最佳整数分量向量。此外,即使在如A'的整数分量向量的情况下,标量积仍然需要N次乘法和N-1次加法。如果信号向量是实数向量,则具有涉及一个整数和一个实数的乘法的计算节省明显较少。本专利技术利用以下观察:在需要标量积的许多现实世界问题中,有待由整数分量向量近似的向量的系数具有特定的统计特性。考虑向量的分量作为具有统计分布的一组数。如果统计分布是拉普拉斯,则可以找到更优的整数分量向量。此外,可以生成具有不同近似误差的多个整数分量向量,并且可以确定针对给定误差提供最佳计算减少的整数分量向量。许多感兴趣的问题涉及分量具有近似拉普拉斯的统计分布的向量A。出于本讨论的目的,假设A的分量具有基本上为拉普拉斯的分布。考虑如上所讨论的那样通过对A进行缩放并对分量进行取整而生成的简本文档来自技高网...

【技术保护点】
1.一种用于操作数据处理系统以计算对由N个分量表征的第一向量与第二向量之间的标量积的近似的方法,每个分量由绝对值来表征,所述方法包括:由第三向量代替所述第一向量,所述第三向量是由以下各项表征的金字塔整数向量:N个分量,所述金字塔整数向量的每个分量由绝对值来表征;以及等于所述N个分量的所述绝对值之和的整数K;以及计算所述第三向量与所述第二向量的标量积,以提供对所述第一向量与所述第二向量之间的所述标量积的所述近似。

【技术特征摘要】
【国外来华专利技术】2016.03.29 AU 20169011461.一种用于操作数据处理系统以计算对由N个分量表征的第一向量与第二向量之间的标量积的近似的方法,每个分量由绝对值来表征,所述方法包括:由第三向量代替所述第一向量,所述第三向量是由以下各项表征的金字塔整数向量:N个分量,所述金字塔整数向量的每个分量由绝对值来表征;以及等于所述N个分量的所述绝对值之和的整数K;以及计算所述第三向量与所述第二向量的标量积,以提供对所述第一向量与所述第二向量之间的所述标量积的所述近似。2.如权利要求1所述的方法,其中,计算所述第二向量与所述第三向量的所述标量积包括:将所述第二向量的每个分量加到寄存器中由所述第三向量中所述分量中的相应分量指定的次数,以提供所述第二向量与所述第三向量的所述标...

【专利技术属性】
技术研发人员:文森索·利古奥里
申请(专利权)人:奥深逻辑私人有限公司
类型:发明
国别省市:澳大利亚,AU

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

1