一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用低功率计算硬件生成三维尖峰的制作方法

2022-11-14 15:53:00 来源:中国专利 TAG:

使用低功率计算硬件生成三维尖峰


背景技术:

1.本公开涉及用于机器学习的时序数据(time-series data)的变换,并且更具体地,涉及使用低功率计算硬件生成三维尖峰。
2.诸如原始传感器数据之类的时序数据在被提供给机器学习(ml)算法之前通常被变换成适当的表示。然而该变换可能是计算密集型的,需要相对大量的功率和存储器。以这种方式,执行变换可能不适合于具有低功率计算硬件的ml模块。


技术实现要素:

3.根据一个实施例,一种生成三维(3d)尖峰的方法包括接收包括时序数据的信号,以及生成第一二维(2d)网格。生成第一2d网格包括将时序数据的段(segment)映射到第一2d网格的相应的位置,并且针对第一2d网格的每个位置生成与相应的映射的段对应的尖峰序列(spike train)。该方法还包括生成第二2d网格。生成第二2d网格包括针对第二2d网格的每个位置,对与第一2d网格的位置对应的尖峰序列执行数学运算。该方法还包括生成第三2d网格。生成第三2d网格包括对第二2d网格的位置执行空间滤波。该方法还包括基于第一2d网格、第二2d网格和第三2d网格的组合生成3d网格。该3d网格包括一个或多个3d尖峰。
4.根据一个实施例,计算机处理器包括分段器,其被配置为接收包括时序数据的信号,并且将时序数据的段映射到第一二维(2d)网格的相应的位置。计算机处理器还包括尖峰生成器,其被配置为针对第一2d网格的每个位置生成与相应的映射的段对应的尖峰序列。计算机处理器还包括数学运算器,其被配置为针对第二2d网格的每个位置,对第一2d网格的对应位置的尖峰序列执行数学运算。计算机处理器还包括空间滤波器,其被配置为通过对第二2d网格执行空间滤波生成第三2d网格。计算机处理器还包括3d网格生成器,其被配置为基于第一2d网格、第二2d网格和第三2d网格的组合生成3d网格,其中3d网格包括一个或多个3d尖峰。
5.根据一个实施例,一种方法包括针对第一二维(2d)网格的每个位置,生成与映射到该位置的相应的时序数据的段对应的尖峰序列。该方法还包括针对第二2d网格的每个位置,对第一2d网格的对应位置的尖峰序列执行数学运算。该方法还包括对第二2d网格的位置执行空间滤波以生成第三2d网格。该方法还包括基于第一2d网格、第二2d网格和第三2d网格的组合生成3d网格,其中3d网格包括一个或多个3d尖峰。
附图说明
6.图1是示出根据一个或多个实施例的具有三维(3d)尖峰生成器的示例性系统的框图。
7.图2是示出根据一个或多个实施例的示例性低功率计算设备的示图。
8.图3是根据一个或多个实施例的生成具有一个或多个3d尖峰的3d网格的示例性方法。
9.图4是示出根据一个或多个实施例的生成具有一个或多个3d尖峰的3d网格的示
图。
具体实施方式
10.已经出于说明的目的呈现了对本公开的各种实施例的描述,但是其并非旨在是穷举的或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。本文所使用的术语被选择来最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
11.下面,参考本公开中呈现的实施例。然而,本公开的范围不限于具体描述的实施例。相反,无论是否涉及不同的实施例,以下特征和元件的任何组合都被预期用于实现和实践预期的实施例。此外,尽管本文公开的实施例可以实现优于其他可能的解决方案或现有技术的优点,但是给定实施例是否实现特定优点不限制本公开的范围。因此,以下方面、特征、实施例和优点仅是说明性的,并且不被认为是所附权利要求的元素或限制,除非在权利要求中明确地陈述。同样,对“本发明”的引用不应被解释为对本文所公开的任何发明主题的概括,并且不应被认为是所附权利要求的元素或限制,除非在权利要求中明确记载。
12.本公开的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合软件和硬件方面的实施例的形式,其在本文可以被统称为“电路”、“模块”或“系统”。
13.各种机器学习(ml)算法对时序数据进行操作,时序数据可以首先被变换成适合于特定ml算法的表示。在一些情况下,时序数据被ml算法变换成产生改进的性能的更有辨别力(discriminative)的格式。例如,已经示出了基于拉普拉斯方法将时序数据变换为二维(2d)表示以产生改进的ml性能。然而该变换可能是计算密集型的,需要相对大量的功率和存储器。以这种方式,执行变换可能不适合于具有低功率计算硬件的ml模块。
14.本文的实施例针对使用尖峰序列生成三维(3d)尖峰的功率高效实施方式。在一些实施例中,在多维尖峰域中执行拉普拉斯计算以使用最小计算硬件生成3d尖峰,从而提供与基于数字信号处理器(dsp)的系统相当的准确度和辨别能力,同时需要显著更少的功率和计算资源。
15.在一些实施例中,时序数据被分段成多个段,这些段由2d阵列的电压尖峰(vs)转换器处理。在一些实施例中,使用空间相邻节点来计算2d阵列的每个节点的时空梯度。
16.图1是示出根据一个或多个实施例的具有三维(3d)尖峰生成器的示例性系统100的框图。系统100包括经由网络140与计算设备150通信地耦合的计算设备105。
17.计算设备105包括一个或多个计算机处理器110(也称为“处理器110”)和存储器120。一个或多个处理器110可以以任何适当的形式实施,诸如通用微处理器、控制器、专用集成电路(asic)等。存储器120可以包括针对其大小、相对性能或其他能力而选择的各种计算机可读介质:易失性和/或非易失性介质、可移动和/或不可移动介质等。
18.计算设备105还包括任何合适类型的一个或多个传感器130。在一些实施例中,一个或多个传感器130包括生物计量传感器,诸如心率传感器、血压传感器、运动传感器(例如,惯性测量单元(imu))等。一个或多个传感器130生成可以存储在存储器120中的时序数据125。时序数据125可以具有任何适当的格式,诸如生物计量数据(心率数据、血压数据、步
数数据、爬楼梯数据等)。
19.在一些实施例中,存储器120的大小被设计为在任何特定时间仅存储时序数据125的一部分,例如与时间长度对应。例如,存储器120的大小可以被设计为存储三十分钟、一小时、十二小时等的时序数据125。
20.3d尖峰生成器115接收时序数据125,并且生成一个或多个3d尖峰。通常,与例如一维(1d)尖峰序列相比,一个或多个3d尖峰提供了具有更有辨别力的编码并且具有对空间噪声的更强鲁棒性的时序数据125的表示。在一些实施例中,一个或多个3d尖峰包括3d拉普拉斯尖峰。在一些实施例中,3d尖峰生成器115被实施为一个或多个处理器110中的不同处理器。在其他实施例中,3d尖峰生成器115被实施为一个或多个处理器110内的逻辑,例如硬件和/或固件。
21.计算设备105经由网络140将一个或多个3d尖峰通信传达给计算设备150。计算设备105、150经由相应的通信链路135、145连接到网络140。网络140可以表示用于通信地耦合计算设备105、150的任何合适类型的一个或多个网络。例如,网络140可以包括互联网、局域网(lan)、广域网(wan)和/或无线网络。通信链路135、145中的每一个可以具有任何适当的实施方式,诸如铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。
22.计算设备150包括一个或多个计算机处理器155和存储器160。一个或多个计算机处理器155可以与一个或多个处理器110类似地配置,并且存储器160可以与存储器120类似地配置。存储器160包括对由3d尖峰生成器115生成的一个或多个3d尖峰进行操作的ml算法165。在一些实施例中,ml算法165被实施为由一个或多个计算机处理器155执行的程序代码。这样,3d尖峰生成器115充当ml算法165的预处理器。ml算法165可以是任何合适的类型,诸如监督学习算法、非监督学习算法和强化学习算法。ml算法165的一些非限制性示例包括线性回归、逻辑回归、决策树、支持向量机(svm)、朴素贝叶斯、k-最近邻(knn)、k-均值、随机森林、降维算法和梯度提升算法。
23.因此,所生成的3d尖峰可以与“传统的”机器学习算法和深度学习模型一起使用。对于机器学习算法,诸如svm、k-均值、随机森林、knn、以及诸如长短期记忆(lstm)网络之类的循环神经网络,3d尖峰的各个通道可被级联成线性数据结构并被馈送到用于机器学习的算法中。3d卷积神经网络(3d cnn)表示特别适合于处理3d尖峰的ml算法的一个示例,因为3d cnn使用可以直接处理3d尖峰数据表示而无需任何预处理的3d滤波器。另一种非常适合的机器学习算法是3d cnn和lstm的组合。在那里,骨干3d cnn充当特征提取器以根据3d尖峰产生特征,并且lstm使用这些特征来学习不同时间分辨率的特征中的时间信息。
24.计算设备105、150中的每一个可以具有任何适当的实施方式,诸如桌上型计算设备、移动计算设备(例如,膝上型计算机、智能电话、平板计算机)和可穿戴计算设备(例如,智能手表、智能戒指、智能眼镜、活动监视器)。
25.在一些实施例中,计算设备105相对于计算设备150具有有限的计算资源和/或功耗。例如,计算设备105可以被实施为电池供电的可穿戴计算设备,并且计算设备150可以被实施为具有显著更大的计算资源和/或功耗的桌上型计算设备或移动计算设备。因此,使用有限的硬件在一个或多个处理器110中实施3d尖峰生成器115以及在计算设备150上实施ml算法165,使得能够使用计算设备105的低功率实施方式。
26.尽管ml算法165被描绘为与系统100中的计算设备105分离,但是计算设备105的替代实施方式可以包括ml算法165,例如作为由一个或多个计算机处理器110执行的存储器120中的程序代码。在这样的替代实施方式中,当与基于dsp的实施方式相比时,计算设备105仍可以通过使用3d尖峰生成器115来实现计算资源和/或功率节省。
27.在一个示例性序列中,3d尖峰生成器115从一个或多个传感器130接收包括时序数据125的信号。3d尖峰生成器115生成第一2d网格,其包括将时序数据125的段映射到第一2d网格的相应的位置,并且针对第一2d网格的每个位置,生成与相应的映射的段对应的尖峰序列。3d尖峰生成器115生成第二2d网格,其包括针对第二2d网格的每个位置,对第一2d网格的对应位置的尖峰序列执行数学运算。3d尖峰生成器115生成第三2d网格,其包括对第二2d网格的位置执行空间滤波。3d尖峰生成器115基于第一2d网格、第二2d网格和第三2d网格的组合生成3d网格。3d网格包括一个或多个3d尖峰。
28.因此,一个或多个3d尖峰表示已被打包成3d数据结构并与来自时序数据125的时空梯度组合的1d尖峰序列。时空梯度使用多维网格结构中的空间相邻物来估计,并且表示时序数据125的整体观。下面参考图4描述3d尖峰生成器的示例性的基于硬件的实施方式。
29.图2是示出根据一个或多个实施例的示例性低功率计算设备的图示200。图200中描绘的特征可结合其他实施例使用。例如,可穿戴计算设备205表示图1的计算设备105的一个示例。
30.如图示200中所示,可穿戴计算设备205被实施为智能手表或活动监视器。可穿戴计算设备205包括围绕穿戴者的手腕215延伸的腕带210。腕带210可以包括将可穿戴计算设备205扣紧在手腕215周围的带扣或扣钩。
31.可穿戴计算设备205还包括与腕带210连接的显示器220。显示器220可以使用任何合适的显示技术来实施,诸如液晶显示器(lcd)、有机发光二极管(oled)等。可穿戴计算设备205中包括的(一个或多个)处理器可以接收使用可穿戴计算设备205的一个或多个传感器获取的生物计量数据,并且可以通信传达生物计量数据以使用显示器220来显示。
32.可穿戴计算设备205还包括一个或多个输入设备,诸如由穿戴者按压以导航显示器220、改变使用显示器220显示的信息等的按钮225。
33.在一些实施例中,可穿戴计算设备205的(一个或多个)处理器生成与从一个或多个传感器接收的时序数据对应的一个或多个3d尖峰。可穿戴计算设备205可以使用有线或无线接口将一个或多个3d尖峰通信传达到外部计算设备。
34.图3是根据一个或多个实施例的生成具有一个或多个3d尖峰的3d网格的示例性方法300。方法300可以结合其他实施例使用。例如,方法300可以由图1的3d尖峰生成器115执行。
35.方法300开始于框305,其中3d尖峰生成器接收包括时序数据的信号。在框310,3d尖峰生成器生成第一2d网格。在一些实施例中,生成第一2d网格包括将时序数据的段映射到第一2d网格的位置(框315),并且针对第一2d网格的每个位置,生成与映射的段对应的尖峰序列(框320)。
36.在框325,3d尖峰生成器生成第二2d网格。在一些实施例中,生成第二2d网格包括针对第二2d网格的每个位置,对第一2d网格的对应位置的尖峰序列执行数学运算(框330)。在一些实施例中,数学运算包括拉普拉斯运算,其可以包括计算梯度并对梯度求和。也可以
考虑其他类型的数学运算,例如对尖峰序列执行正弦或余弦运算。
37.在一些实施例中,使用通过时序数据的单次通道(signal pass)而不是多次通过时序数据的循环来执行拉普拉斯运算以确定第二2d网格的每个位置的相邻物信息。这样,3d尖峰生成器可以用更小的存储器来实施(因为需要存储更少的时序数据),并且拉普拉斯运算可以更快地执行。
38.在框335,3d尖峰生成器生成第三2d网格。在一些实施例中,生成第三2d网格包括对第二2d网格的位置执行空间滤波(框340)。空间滤波可以在拉普拉斯运算之后去除高频伪像。
39.在框345,3d尖峰生成器基于第一2d网格、第二2d网格和第三2d网格的组合生成3d网格。在一些实施例中,生成3d网格包括级联第一2d网格、第二2d网格和第三2d网格(框350)。在一些实施例中,生成3d网格包括生成一个或多个3d尖峰(框355)。方法300在框345完成之后结束。
40.图4是示出根据一个或多个实施例的生成具有一个或多个3d尖峰的3d网格的图示400。图示400中描绘的特征可以结合其他实施例使用。例如,图示400表示图1的3d尖峰生成器115的示例性基于硬件的实施方式。
41.在图示400中,在分段器410处接收包括时序数据125的信号405。在一些实施例中,信号405是从传感器接收的。分段器410使用时空窗口生成时序数据125的段415。在一些实施例中,分段器410以规则的间隔将时序数据125分段(例如,时空窗口具有相同大小,并且段415具有相同长度)。在其他实施例中,分段器410以不同间隔将时序数据125分段(例如,时空窗口可以具有不同大小,并且段415可以具有不同长度)。无论时空窗口是相同大小还是不同大小,时序数据125的段415都可以彼此部分重叠或不重叠。分段器410的架构对于固定长度的段和可变长度的段一般可以是相同的。在一些实施例中,通过对参数值的范围进行超参数搜索并选择产生最佳模型性能的参数来确定最佳窗口大小参数和窗口重叠参数。
42.分段器410还将时序数据125的段415映射(或路由)到第一2d网格的相应的位置。第一2d网格可以具有任何适当的大小。在一些实施例中,段415被提供给尖峰生成器420,其针对第一2d网格的每个位置生成与相应的映射的段415对应的尖峰序列。如图所示,尖峰生成器420包括2d阵列的电压尖峰(vs)转换器,并且第一2d网格的每个位置对应于生成相应的尖峰序列的2d阵列的相应的vs转换器。因此,尖峰生成器420在2d空域中生成尖峰序列425。
43.在一些实施例中,3d尖峰生成器包括存储第一2d网格(即,第一2d网格的尖峰序列425)的存储器,并且3d网格生成器从该存储器访问第一2d网格。在一些实施例中,该存储器包括累加器,但是也考虑其他类型的存储器。
44.在一些实施例中,第一2d网格的尖峰序列425可以通过经过滤波器而被平滑。无论尖峰序列425是否被滤波,都使用第一2d网格的尖峰序列425来生成第二2d网格。在一些实施例中,生成第二2d网格包括针对第二2d网格的每个位置,对第一2d网格的对应位置的尖峰列425执行数学运算。数学运算的一些示例包括拉普拉斯运算、正弦或余弦运算等。
45.使用拉普拉斯运算的示例,尖峰序列425被提供给计算空间梯度435的2d差分阵列430,其可以经过路由器和加法器来对所要求的索引上的空间梯度435求和以生成拉普拉斯算子(laplacian)。例如,针对第一2d网格的特定位置,第一维度中的(一个或多个)相邻位
置和第二维度中的(一个或多个)相邻位置被用于计算被求和的第一维度和第二维度中的方向差分。
46.使用空间梯度435生成第三2d网格。在一些实施例中,空间滤波器440从拉普拉斯算子中去除高频伪像以生成第三2d网格(作为滤波后的尖峰序列445)。例如,空间滤波器440可以对第一维度和第二维度中的相邻位置的值求平均以平滑空间梯度435。因此,生成第三2d网格包括对第二2d网格的位置执行空间滤波。
47.3d网格生成器基于第一2d网格、第二2d网格和第三2d网格的组合生成3d网格460。3d网格460包括一个或多个3d尖峰465。在一些实施例中,3d网格生成器级联第一2d网格、第二2d网格和第三2d网格以生成3d网格460。在一些实施例中,3d网格生成器包括3d阵列的vs转换器。3d阵列的相应的vs转换器为3d网格460的相应的位置生成一个或多个3d尖峰465。
48.因此,根据图示400中所示的实施方式,3d尖峰生成器可使用最少的硬件组件来实施,以便以功率高效的方式生成3d尖峰序列(例如,拉普拉斯算子)。为了实现这一点,3d尖峰生成器使用布置在多维网格结构中的阵列的vs转换器。3d尖峰生成器将时序数据分成多个段,在各个vs转换器之间分配段,并使用来自多维网格结构的相邻信息计算3d尖峰的时空梯度。
49.本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本公开的各方面。
50.计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
51.本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如互联网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
52.用于执行本公开的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言(例如,smalltalk、c 等)以及常规的过程式编程语言(例如,“c”编程语言或类似的编程语言)。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独
立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(lan)或广域网(wan),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本公开的各方面。
53.本文参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图来描述本公开的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令实施。
54.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实施流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实施流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
55.计算机可读程序指令还可以加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实施的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实施流程图和/或框图的一个或多个框中指定的功能/动作。
56.附图中的流程图和框图示出了根据本公开的各种实施例的系统、方法和计算机程序产品的可能实施的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所提及的功能可不按图中所提及的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实施。
57.虽然前述内容涉及本公开的实施例,但是在不脱离本公开的基本范围的情况下,可以设计本公开的其他和进一步的实施例,并且本公开的范围由所附权利要求确定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献