具有自适应精度的数值的离散化制造技术

技术编号:24459005 阅读:26 留言:0更新日期:2020-06-10 16:25
编码器,该编码器能与数据存储器连接并且被构造用于将数值存储在数据存储器中,这些数值处在预先给定的最小值与预先给定的最大值之间的值域内,其中编码器包含如下分配规则,该值域根据分配规则被分成多个离散区间,而且其中编码器被构造为:将所要存储的数值放置到正好一个区间中并且输出区间的标志符,其中区间在数值的尺度上不一样宽。用于数值的解码器,这些数值利用根据权利要求1至5中任一项所述的编码器被存储在数据存储器中,该解码器被构造为:根据分配规则,给从数据存储器中调用的离散区间的标志符分配属于区间的固定数值并且输出属于区间的固定数值。具有KNN、编码器和解码器的KI模块。用于制造KI模块的方法。所属的计算机程序。

Discretization of numerical values with adaptive accuracy

【技术实现步骤摘要】
具有自适应精度的数值的离散化
本专利技术涉及用于在数据存储器中存储的数值的离散化,其中精度能针对相应的应用来定制。
技术介绍
人造神经元网络、即KNN通常包括多个具有神经元的层,这些具有神经元的层分别将多个具有权重的输入组合成激活。在一个层中形成的激活或从中通过进一步处理来确定的结果分别被输送给下一个相邻的层,直至KNN完全被经历。权重、激活以及从中确定的结果通常是浮点数(英文“float”)。为了降低用于实现KNN的存储需求而且同时可以使用价格更加便宜的能耗更低的硬件,常常使用如下硬件,该硬件专门用于利用定点数(英文“fixed-point”)或者整数(英文“integer”)来进行计算。接着,这些浮点数被离散化成定点数或者整数。WO2018/158043A1公开了一种用于对在KNN中的数值进行编码的方法,其中最高有效位专门被保留用于对值零的编码。以这种方式可以特别快地检查该值是否为零。
技术实现思路
在本专利技术的范围内,开发了一种用于将数值存储在数据存储器中的编码器,这些数值处在预先给定的最小值与预先给定的最大值之间的值域内。为了该目的,该编码器能与数据存储器连接。该编码器包含如下分配规则,该值域根据该分配规则被分成多个离散区间。在此,区间尤其是被理解为数集,该数集由如下元素组成,这些元素处在预先给定的上限与预先给定的下限之间。因此,分成离散区间包含:针对每个区间都规定上限和下限。该编码器被构造为:将所要存储的数值放置到正好一个区间中并且输出该区间的标志符,其中该输出尤其可以输出到数据存储器上。接着,对数值的存储在数据存储器中体现在被存放在那里的标志符。这意味着:每个数值在数据存储器中只占用与标志符一样多的存储空间。因此,例如如果数值被离散化成256个不同的区间,则需要8位来存储对于这些区间中的每个区间来说明确的标志符。这些区间在数值的尺度上不一样宽。在此,浮点数尤其可以被离散化成定点数或者甚至被离散化成整数。然而,这不是强制必需的。如果整数(例如64位大的“长整数(longinteger)”)被离散化成多个区间,这些区间的标志符占用更少的存储空间(例如22位用于表现65536个区间),则也可以造成存储需求的降低。离散化成区间是对数值的有损的压缩。也就是说,该离散化总是伴随有精度的损失。已经看出:由于区间不一样宽,该精度损失对其中使用这些数值的应用的影响可以明显降低。这基于如下认识:在很多应用中不是所有数值都一样重要。这样,例如在人造神经元网络、即KNN中进行处理时,较高的权重和激活值与较低值相比对最终提供的输出具有强得多的影响。因而合理的是:与较低值相比用更好的精度来映射较高值。尤其是,在较高值之间的精确的差比在较低值之间的差更重要。这确实可以用该编码器来映射。在此,在一个特别有利的设计方案中,离散区间在数值的尺度上的宽度可以随着分别包含在这些区间中的数值的平均值的增加而单调减小。接着,利用在数据存储器中区间的标志符所需的相同数量的位,可以用较低的精度来存储在数值方面较低的数值并且用更好的精度来存储在数值方面较高的数值。例如,离散区间在数值的尺度上的宽度可以随着关于区间和/或关于区间的组的连续下标k指数型地发生变化。这种分配规则描绘了适合于多种应用的数值的在数值方面的大小与重要性之间的相关。例如,如果应用正整数R来规定在0与2R之间的整数值域,则该整数值域应该被离散化成2P(其中P<R)个不同的区间组。在此,所有属于一个区间组的区间分别一样宽,但是属于不同的组的区间不一样宽。接着,例如可以针对每组k将其中该组k开始于的数值的下限UK规定为而将该组结束于的上限Ok规定为其中该上限Ok已经不再应该属于组k。接着,属于组k的区间的数目Nk例如可以被规定为。因此,Nk与不同的区间标志符的数目同义,这些区间标志符被需要用于表现组k中的所有区间。因此,为了映射整个原来的从0至2R的值域,需要个不同的区间标志符。这应以R=10和P=3为数例来阐明。因为2RP=27=128,所以23=8个组中的每个组都涉及到原来的值域的128个数值。对于其中k=1的第一组来说,Nk的公式表明:在下限U1=896与O1=1024(其中1024除外)之间的范围应被分成N1=128个区间。借此,整个值域的128个最高的离散数值在没有精度损失的情况下被映射到区间标志符。对于其中k=2的第二组来说,Nk的公式表明:该组只还应该包含N2=64个区间。因此,在该组(在U2=768与O2=896之间,其中896除外)中的128个数值被压缩到64个区间标志符,而且因此被压缩到二分之一。这一直持续到k=8。对于k=8来说,从U8=0至O8=128(其中128除外)的整个范围被压缩成只还有N8=20=1个唯一的区间,即被压缩到128分之一。对于可以用8位的存储需求来表现的区间来说,总共需要N=255(128+64+32+22+8+4+2+1)个不同的标志符。与此相应地,最初需要10位,以便存储原来的值域的全部1024个离散数值。因此,总共节省了20%的存储空间。尤其是在KNN中,所存储的数值经常是中间结果,稍后应该再一次利用这些中间结果来继续进行计算。为此需要:将被寄存在数据存储器中的区间的标志符重新翻译回可以用来继续进行计算的数值。因而,本专利技术也涉及一种用于如下数值的解码器,这些数值利用所描述的编码器被存储在数据存储器中。该解码器被构造为:根据分配规则,给从数据存储器中调用的离散区间的标志符分配属于该区间的固定数值并且输出属于该区间的固定数值。在此,该解码器例如可以被构造为:给离散区间的至少一个标志符分配属于该区间的数值中的最大值、最小值或者平均值。这些参量至少是原来存储的其最大误差事先已知的数值的近似值。为了在重构时显著降低平均误差,在另一特别有利的设计方案中,该编码器附加地被构造为:针对离散区间中的至少一个离散区间,进行关于该编码器已经将其分配给该离散区间的被输入的数值的概要统计。根据该概要统计,可以得出更有动机的数值,该解码器可以在稍后的重构中将该更有动机的数值分配给该区间的标志符。为了该目的,该编码器尤其可以被构造为:在概要统计的框架内,确定该编码器已经将其分配给该离散区间的那些数值的百分位数(比如第75个百分位数)、平均值和/或中位数。除了区间的标志符之外还对概要统计的存储花费少量额外的存储空间。根据之前所描述的内容,将数值离散化成不一样宽的区间对于实现人造神经元网络、即KNN来说特别有利,因为这里特别是在数值方面较高的数值比在数值方面较低的数值对最终所实现的输出的影响更强烈。因而,本专利技术也涉及一种具有KNN的人工智能模块、即KI模块,该KNN包括多个具有神经元的层。这些神经元分别被构造为:将多个具有权重的输入组合成激活。这些激活可以选择性地直接用作KNN的下一层的输入要不然可以通过可选的非线性处理级被处理成结果,该结果接着又作为输入被输送给下一层。这本文档来自技高网...

【技术保护点】
1.编码器(1),所述编码器能与数据存储器(3)连接并且被构造用于将数值(4)存储在所述数据存储器(3)中,所述数值处在预先给定的最小值(41)与预先给定的最大值(42)之间的值域(43)内,其中所述编码器(1)包含如下分配规则(11),所述值域(43)根据所述分配规则被分成多个离散区间(12a-12d),而且其中所述编码器(1)被构造为:将所要存储的数值(4)放置到正好一个区间(12a-12d)中并且输出所述区间(12a-12d)的标志符(13a-13d),其中所述区间(12a-12d)在所述数值(4)的尺度上不一样宽。/n

【技术特征摘要】
20181130 DE 102018220701.11.编码器(1),所述编码器能与数据存储器(3)连接并且被构造用于将数值(4)存储在所述数据存储器(3)中,所述数值处在预先给定的最小值(41)与预先给定的最大值(42)之间的值域(43)内,其中所述编码器(1)包含如下分配规则(11),所述值域(43)根据所述分配规则被分成多个离散区间(12a-12d),而且其中所述编码器(1)被构造为:将所要存储的数值(4)放置到正好一个区间(12a-12d)中并且输出所述区间(12a-12d)的标志符(13a-13d),其中所述区间(12a-12d)在所述数值(4)的尺度上不一样宽。


2.根据权利要求1所述的编码器(1),其中所述离散区间(12a-12d)在所述数值(4)的尺度上的宽度(14a-14d)随着分别包含在所述区间(12a-12d)中的数值(4)的平均值的增加而单调减小。


3.根据权利要求1至2中任一项所述的编码器(1),其中所述离散区间(12a-12d)在所述数值(4)的尺度上的宽度(14a-14d)随着关于区间(12a-12d)和/或关于区间(12a-12d)的组的下标k指数型地发生变化。


4.根据权利要求1至3中任一项所述的编码器(1),所述编码器附加地被构造为:针对所述离散区间(12a-12d)中的至少一个离散区间,进行关于所述编码器(1)已经将其分配给所述离散区间(12a-12d)的被输入的数值(4)的概要统计(15a-15d)。


5.根据权利要求4所述的编码器(1),所述编码器被构造为:在所述概要统计(15a-15d)的框架内,确定所述编码器(1)已经将其分配给所述离散区间(12a-12d)的数值(4)的百分位数、平均值和/或中位数。


6.用于数值(4)的解码器(2),所述数值利用根据权利要求1至5中任一项所述的编码器(1)被存储在数据存储器(3)中,所述解码器被构造为:根据分配规则(21),给从所述数据存储器(3)中调用的离散区间(12a-12d)的标志符(13a-13d)分配属于所述区间(12a-12d)的固定数值(22a-22d)并且输出属于所述区间(12a-12d)的固定数值(22a-22d)。


7.根据权利要求6所述的解码器(2),所述解码器被构造为:给离散区间(12a-12d)的至少一个标志符(13a-13d)分配属于所述区间(12a-12d)的数值(4)中的最大值、最小值或者平均值。


8.根据权利要求6至7中任一项所述的解码器(2),所述解码器被构造为:给离散区间(12a-12d)的至少一个标志符(13a-13d)分配通过根据权利要求4至5中任一项所述的编码器(1)利用所述概要统计(15a-15d)来确定的数值(22a-22d)。


9.人工智能模块、即KI模块(5),所述KI...

【专利技术属性】
技术研发人员:JM克勒RM克勒
申请(专利权)人:罗伯特·博世有限公司
类型:发明
国别省市:德国;DE

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

1