CN114077856A - 处理单元、相关方法和数据中心 - Google Patents
处理单元、相关方法和数据中心 Download PDFInfo
- Publication number
- CN114077856A CN114077856A CN202010812969.4A CN202010812969A CN114077856A CN 114077856 A CN114077856 A CN 114077856A CN 202010812969 A CN202010812969 A CN 202010812969A CN 114077856 A CN114077856 A CN 114077856A
- Authority
- CN
- China
- Prior art keywords
- time
- space
- pulse
- spatiotemporal
- temporal
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了一种处理单元、相关方法和数据中心。该处理单元包括:感测层,包括多个感测单元,分别用于将待识别时空事件信号编码成脉冲序列;时空计算核阵列,包括多个时空计算核,分别连接至所述多个感测单元中的至少一部分感测单元,根据所述至少一部分感测单元输出的脉冲序列,产生时空累积结果脉冲;连接层;解码层,包括多个解码单元,每个解码单元分别对应于一种事件分类,所述解码单元通过所述连接层连接到所述多个时空计算核中对应的一部分时空计算核,并根据所述对应的一部分时空计算核输出的时空累积结果脉冲产生输出值,将输出值最大的解码单元对应的事件分类作为识别出的事件分类。本公开实施例减少了时空相关任务处理的计算量,具有通用性。
Description
技术领域
本公开涉及深度学习领域,更具体而言,涉及一种处理单元、相关方法和数据中心。
背景技术
如今,深度学习对广泛的工业应用产生了重大影响。但是,深度学习在处理与时空相关的任务时,计算量很大。时空相关的任务是指基于目标在时间和空间上的综合表现,来对目标的行为进行判定和分类的任务。例如,基于汽车在当前时间之后的一段时间其行驶的路径,判定汽车行驶方向的变化。其与静态的人脸识别等不同。人脸识别等仅需要根据静态的图片识别人脸,不需要考虑人脸在空间和时间上的变化。
当前的主流深度学习在能源或计算资源受限的情况下处理与时空相关的任务(如事件识别)时并不理想。因此,产生了时空神经网络。目前主要提出了三种时空神经网络(SNN):1)基于反向传播(BP)的SNN;2)基于卷积神经网络(CNN)的SNN;3)基于生物的学习行为的SNN。对于基于BP的SNN,虽然推理精度很高,但BP机制决定其计算量大。对于基于CNN的SNN,由于CNN不适合于识别姿势和事件,计算量依然很大。至于基于生物的学习行为的SNN,其利用神经可塑性或依赖于脉冲时序的可塑性(STDP)学习原理,具有出色的训练性能,但在工业上的应用范围有限。
发明内容
有鉴于此,本公开旨在提出一种处理单元及其相关方法,其能在处理与时空相关的任务时减少计算量,且具有通用性。
为了达到这个目的,根据本公开的一方面,本公开提供了一种处理单元,包括:
感测层,包括多个感测单元,分别用于将待识别时空事件信号编码成脉冲序列,所述脉冲序列反映所述待识别时空事件的时间元素和空间元素;
时空计算核阵列,包括多个时空计算核,分别连接至所述多个感测单元中的至少一部分感测单元,根据所述至少一部分感测单元输出的脉冲序列,产生时空累积结果脉冲,所述时空累积结果脉冲反映所述脉冲序列的时空累积结果;
连接层;
解码层,包括多个解码单元,每个解码单元分别对应于一种事件分类,所述解码单元通过所述连接层连接到所述多个时空计算核中对应的一部分时空计算核,并根据所述对应的一部分时空计算核输出的时空累积结果脉冲产生输出值,将输出值最大的解码单元所对应的事件分类作为识别出的事件分类。
可选地,所述时空计算核阵列包括空间神经元和时间神经元,其中,所述空间神经元连接至所述至少一部分感测单元,根据所述至少一部分感测单元输出的脉冲序列,产生空间累积结果脉冲序列,所述空间累积结果脉冲序列反映所述脉冲序列的空间累积结果;所述时间神经元根据所述空间神经元产生的空间累积结果脉冲序列,产生所述时空累积结果脉冲,所述时空累积结果脉冲反映所述空间累积结果脉冲序列的时间累积结果。
可选地,所述连接层中所述解码单元到所述时空计算核的连接关系通过以下方式预先训练:
将所述多个解码单元分别与预定数目个时空计算核连接;
将至少包含每种事件分类的一个时空事件信号样本的集合输入所述处理单元,对于每个时空事件信号样本,确定各解码单元连接的预定数目个时空计算核中输出的有效脉冲数,如果该时空事件信号样本的事件分类所对应的解码单元连接的预定数目个时空计算核中输出的有效脉冲数小于其他解码单元连接的预定数目个时空计算核中输出的有效脉冲数,调整该时空事件信号样本的事件分类所对应的解码单元与时空计算核的连接关系、和该其他解码单元与时空计算核的连接关系,使得该时空事件信号样本的事件分类所对应的解码单元连接的预定数目个时空计算核中输出的有效脉冲数大于该其他解码单元连接的预定数目个时空计算核中输出的有效脉冲数。
可选地,所述将所述多个解码单元分别与预定数目个时空计算核连接,包括:
对于每个解码单元,选取该解码单元所对应的事件分类的多个时空事件信号样本分别输入所述处理单元,分别为每个时空计算核确定对于所述多个时空事件信号样本输出有效脉冲的次数;
将输出有效脉冲的次数从高到低前预定数目的时空计算核连接到该解码单元。
可选地,所述将待识别时空事件信号编码成脉冲序列,包括:
将待识别时空事件信号作为位置和时间的函数,对于特定位置,确定所述特定位置和当前时间下的所述函数值与所述特定位置和当前时间前一周期的时间点下的所述函数值之差;
根据该差与预定差阈值的比较结果,确定特定位置处的脉冲是有效脉冲还是无效脉冲;
将各位置的确定的脉冲合成为所述脉冲序列。
可选地,所述根据所述至少一部分感测单元输出的脉冲序列,产生空间累积结果脉冲序列,包括:
确定在特定时间点所述至少一部分感测单元输出的脉冲为有效脉冲的个数;
如果所述个数大于第一阈值,在特定时间点输出有效脉冲,反之输出无效脉冲;
将各时间点输出的脉冲合成为所述空间累积结果脉冲序列。
可选地,所述根据所述空间神经元产生的空间累积结果脉冲序列,产生所述时空累积结果脉冲,包括:
对所述空间神经元产生的空间累积结果脉冲序列,产生在时间窗口的积分;
如果所述积分值大于第二阈值,则输出有效的时空累积结果脉冲,反之输出无效的时空累积结果脉冲。
可选地,所述根据所述对应的一部分时空计算核输出的时空累积结果脉冲产生输出值,包括:
将所述对应的一部分时空计算核输出的时空累积结果脉冲为有效脉冲的个数,作为输出值。
根据本公开的一方面,提供了一种时空事件识别方法,包括:
将待识别时空事件信号编码成脉冲序列,所述脉冲序列反映所述待识别时空事件的时间元素和空间元素;
根据所述脉冲序列的至少一部分,产生时空累积结果脉冲,所述时空累积结果脉冲反映所述脉冲序列的所述至少一部分的时空累积结果;
让多个解码单元分别根据该解码单元所连接的一部分时空计算核输出的时空累积结果脉冲产生输出值,将输出值最大的解码单元所对应的事件分类作为识别出的事件分类。
可选地,所述根据所述脉冲序列的至少一部分,产生时空累积结果脉冲,包括:
根据所述脉冲序列的至少一部分,产生空间累积结果脉冲序列,所述空间累积结果脉冲序列反映所述脉冲序列的所述至少一部分的空间累积结果;
根据所述空间累积结果脉冲序列,产生所述时空累积结果脉冲,所述时空累积结果脉冲反映所述空间累积结果脉冲序列的时间累积结果。
可选地,所述将待识别时空事件信号编码成脉冲序列,包括:
将待识别时空事件信号作为位置和时间的函数,对于特定位置,确定所述特定位置和当前时间下的所述函数值与所述特定位置和当前时间前一周期的时间点下的所述函数值之差;
根据该差与预定差阈值的比较结果,确定特定位置处的脉冲是有效脉冲还是无效脉冲;
将各位置的确定的脉冲合成为所述脉冲序列。
可选地,所述根据所述脉冲序列的至少一部分,产生空间累积结果脉冲序列,包括:
确定在特定时间点,根据所述脉冲序列的至少一部分确定出的脉冲为有效脉冲的个数;
如果所述个数大于第一阈值,在特定时间点输出有效脉冲,反之输出无效脉冲;
将各时间点输出的脉冲合成为所述空间累积结果脉冲序列。
可选地,所述根据所述空间累积结果脉冲序列,产生所述时空累积结果脉冲,包括:
对所述空间累积结果脉冲序列,产生在时间窗口的积分;
如果所述积分值大于第二阈值,则输出有效的时空累积结果脉冲,反之输出无效的时空累积结果脉冲。
可选地,所述根据该解码单元所连接的一部分时空计算核输出的时空累积结果脉冲产生输出值,包括:将该解码单元所连接的一部分时空计算核输出的时空累积结果脉冲为有效脉冲的个数,作为输出值。
根据本公开的一方面,提供了一种处理单元的配置方法,所述处理单元包括感测层、时空计算核阵列、连接层、解码层,所述时空计算核阵列包含多个时空计算核,所述解码层包括多个解码单元,所述连接层用于将所述多个解码单元连接到所述多个时空计算核,所述方法包括:
将所述多个解码单元分别与所述多个时空计算核中的预定数目个时空计算核连接;
将至少包含每种事件分类的一个时空事件信号样本的集合输入所述处理单元,对于每个时空事件信号样本,确定各解码单元连接的预定数目个时空计算核中输出的有效脉冲数,如果该时空事件信号样本的事件分类所对应的解码单元连接的预定数目个时空计算核中输出的有效脉冲数小于其他解码单元连接的预定数目个时空计算核中输出的有效脉冲数,调整该时空事件信号样本的事件分类所对应的解码单元与时空计算核的连接关系、和与该其他解码单元与时空计算核的连接关系,使得该时空事件信号样本的事件分类所对应的解码单元连接的预定数目个时空计算核中输出的有效脉冲数大于该其他解码单元连接的预定数目个时空计算核中输出的有效脉冲数。
可选地,所述将所述多个解码单元分别与所述多个时空计算核中的预定数目个时空计算核连接,包括:
对于每个解码单元,选取该解码单元所对应的事件分类的多个时空事件信号样本分别输入所述处理单元,分别为每个时空计算核确定对于所述多个时空事件信号样本输出有效脉冲的次数;
将输出有效脉冲的次数从高到低前预定数目的时空计算核连接到该解码单元。
根据本公开的一方面,还提供了一种数据中心,包括多个服务器,所述多个服务器上分布式存储有计算机可读代码,所述计算机可读代码被相应服务器上的处理器执行时,实现如上所述的时空事件识别方法。
本公开实施例提出了一种独特的处理单元结构,它包括感测层、时空计算核阵列、连接层和解码层。感测层将待识别时空事件信号编码成脉冲序列,这个脉冲序列既反映了待识别时空事件的时间元素,又反映了空间元素。时空计算核阵列对感测层输出的脉冲序列进行时间和空间的双重累积,产生时空累积结果脉冲,这个时空累积结果脉冲反映了待识别时空事件在时间和空间上累积出的特性。连接层将解码层中的解码单元连接到时空计算核阵列中的时空计算核。这种连接关系是预先训练出来的。然后,解码层的各解码单元就会依据其连接的时空计算核输出的时空累积结果脉冲产生输出值,依据该输出值进行事件分类。在整个过程中,仅通过对脉冲进行累积,即加法和积分进行运算,不同于现有技术的基于BP和CNN的方法,大大减少了处理时空相关的任务时需要的计算量。同时,对应用范围没有限制。该神经网络结构特别适合基于边缘和终端设备的智能应用。
附图说明
通过参考以下附图对本公开实施例的描述,本公开的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是本公开实施例所应用的数据中心的整体构架图;
图2是根据本公开一个实施例的处理单元的结构图;
图3A-I是根据本公开一个实施例的处理单元配置和实际使用时的应用界面的示意图,其中图3A-G示出了配置时的界面,图3H-I示出了实际使用时的界面。
图4示出了从现实世界抽象出来的3个时空事件的示意图。
图5是图2所示的处理单元各节点输出的脉冲序列的示意图。
图6A-F示出了训练连接层中各时空计算核与各解码单元的连接关系的一个过程示例的图。
图7示出了根据本公开一个实施例的时空事件识别方法的流程图。
图8示出了根据本公开一个实施例的处理单元配置方法的流程图。
具体实施方式
以下基于实施例对本公开进行描述,但是本公开并不仅仅限于这些实施例。在下文对本公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开。为了避免混淆本公开的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
术语解释
在本文中使用以下术语。
处理单元:进行传统数据处理的单元、以及针对在一些专门用途的领域(例如,处理图像、处理深度学习模型的各种运算,等等)效率不高的情况,为了提高在这些专门用途领域中的数据处理速度而设计的单元,其包括了执行传统处理的中央处理单元(CPU)、专用于执行图像处理的图形处理单元(GPU)、专用于深度学习模型的运算处理的神经网络处理单元(NPU、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等多种单元。
时空神经网络:世界在本质上是结构化的。它包括与在空间和时间上彼此相互作用的组分,形成了一个时空结合物。在现实世界中的人类和环境之间的相互作用是具有时空性的。例如,在烹饪的时候人类既和空间,又和时间中多个对象进行交互。同样,人的身体(胳膊,腿等)有单独的功能,但在实际行动中又互相合作。因此,对许多应用来说高阶的时空结构是相当重要的。时空神经网络就是注入了高阶信息的深度学习模型,使得深度学习模型既能充分学习事件中的时间元素,又能充分学习事件中的空间元素。
时空事件:是指现实世界中的目标在时间和空间中的行为表现。现实世界的任何物体可以作为一个目标,例如车辆和人的手。目标在时间轴的一个时间点上位于空间的一个位置,在其它时间点上可能位于空间的其它位置,在不同时间点上位置的变化就形成了在时间和空间中的行为表现,即时空事件。例如,车辆随时间的流逝从北方向转到向西方向行驶,则从北向西行驶则是汽车的一个时空事件。人的手作出各种各样的手势,每个手势在一个时间点手的各部分的相对位置有所变化,因此,手势是手在时间和空间中的一种行为表现,是一种时空事件。
时空事件信号:将抽象的时空事件表达成的信号。时空事件是抽象的,必须表达成时空事件信号才能进行数据处理。例如,对于汽车从北向西方向行驶的时空事件,在每个采样时间点拍摄的汽车的轨迹照片中的每个像素,就是将该时空事件变换成的时空事件信号。对于人手势的时空事件,在每个采样时间点拍摄的人的手势照片中的每个像素,就是将该时空事件变换成的时空事件信号。
编码:将一种信号按照预定规则转换成代码的行为。本公开实施例中,是将时空事件信号按照编码规则转换成脉冲序列,该脉冲序列反映时空事件的时间和空间元素。
脉冲序列:由二进制脉冲组成的序列,即由一系列“1”或“0”的脉冲组成的序列,其中,“1”为有效脉冲,“0”为无效脉冲。
时间和空间元素:由于时空事件是指现实世界中的目标在时间和空间中的行为表现,因此,时空事件在时间和空间上都有表现,在时间上的表现叫做时间元素,在空间上的表现叫做空间元素。对于汽车从北向西方向行驶的时空事件,在一个采样时间点拍摄的汽车的轨迹照片中,某些区域相邻的一些像素会表现出某种共同特点,即空间元素。在多个采样时间点拍摄的轨迹照片间,照片中相同位置的像素又在相邻的照片(或帧)间具有共同特点,即时间元素。
时空计算核阵列:由时空计算核组成的阵列,在阵列中每个行有若干个时空计算核,每个列有若干个时空计算核。
时空计算核:对时空事件的脉冲序列在时间和空间上进行处理,得到脉冲序列在时间和空间上的累积结果的单元。由于反映时空事件的时间和空间元素的脉冲序列过长,为了从中提取有效信息而避免占用太多存储空间,需要将脉冲序列在时间和空间上进行累积,从而得到脉冲序列在时间和空间上共性的一些特征,执行该过程的单元叫做时空计算核。时空计算核包括空间神经元和时间神经元。
空间神经元:对反映所述时空事件的时间和空间元素的脉冲序列进行空间上的累积的单元。在相同的时间点、相邻近的空间位置产生的脉冲往往表现出一些相似的特点,因此,将这些脉冲序列在空间上进行累积,可以反映出这些相似的特点。空间神经元的处理方式一种可以是直接对相同的时间点、相邻近的空间位置产生的脉冲进行累积,另一种是先进行累积,如果累积到预定阈值,则产生有效脉冲“1”,反之则产生无效脉冲“0”。后者有利于节省存储空间,且与预定阈值的比较也能大体反映某一点附近的空间位置产生的有效脉冲的多或少,对信息量不会造成太大损害。
空间累积结果脉冲序列:空间神经元产生的、作为空间神经元累积结果的脉冲序列。
时间神经元:对空间神经元产生的空间累积结果脉冲序列在时间上进行累积的单元。同一空间位置在不同的时间点产生的脉冲往往表现出一些相似的特点,因此,将这些脉冲序列在时间上进行累积,可以反映出这些相似的特点。时间神经元的处理方式一种可以是直接对所述空间神经元产生的空间累积结果脉冲序列进行累积,另一种是先进行累积,如果累积到预定阈值,则产生有效脉冲“1”,反之则产生无效脉冲“0”。后者有利于节省存储空间,且与预定阈值的比较也能大体反映某一时间点附近产生的有效脉冲的多或少,对信息量不会造成太大损害。
时空累积结果脉冲:时间神经元产生的、作为时间神经元累积结果的脉冲。
事件分类:上述时空事件分到的类别。通常时空神经网络处理的与时空相关的任务都是对事件在时间和空间上的综合表现,来对事件分类的任务。因此,通常时空神经网络的处理结果是将事件划分到一个类别中。例如,根据各个拍摄的汽车的轨迹照片,将汽车的行驶事件判定为从北向西方向行驶。
连接层:将解码层的解码单元连接到对应的一部分时空计算核的层。通过配置连接层,能够配置解码单元与时空计算核的连接关系。
本公开实施例的应用场景
本公开可以应用于城市大脑、无人驾驶、语视融合系统、智能家居、芯片化互联网服务器(ISP)和网络互连协议(IP)等。下面重点以城市大脑和无人驾驶为例,描述本公开实施例所应用的场景。然后,会对语视融合系统和智能家居的场景给以简单的介绍。
城市大脑是为城市生活打造的一个数字化界面。市民凭借它触摸城市脉搏、感受城市温度、享受城市服务,城市管理者通过它配置公共资源、作出科学决策、提高治理效能。城市大脑的核心是数据中心。各边缘设备通过物联网接入数据中心,进行数据的集中处理。下面主要以城市的各路口的摄像头定时拍摄各汽车的图片,上传到数据中心进行处理,得到各汽车的行驶事件分类(从北向西行驶,从南向东行驶等)为例,进行说明。
数据中心是全球协作的特定设备网络,用来在互联网网络基础设施上传递、加速、展示、计算、存储数据信息。在今后的发展中,数据中心也将会成为企业竞争的资产。随着数据中心应用的广泛化,人工智能等越来越多地应用到数据中心。而深度学习作为人工智能的重要技术,已经大量应用到数据中心大数据分析运算中。
在传统的大型数据中心,网络结构通常如图1所示,即互连网络模型(hierarchical inter-networking model)。这个模型包含了以下部分:
服务器140:各服务器140是数据中心的处理和存储实体,数据中心中大量数据的处理和存储都是由这些服务器140完成的。
接入交换机130:接入交换机130是用来让服务器140接入到数据中心中的交换机。一台接入交换机130接入多台服务器140。接入交换机130通常位于机架顶部,所以它们也被称为机顶(Top of Rack)交换机,它们物理连接服务器。
汇聚交换机120:每台汇聚交换机120连接多台接入交换机130,同时提供其他的服务,例如防火墙,入侵检测,网络分析等。
核心交换机110:核心交换机110为进出数据中心的包提供高速的转发,为汇聚交换机120提供连接性。整个数据中心的网络分为L3层路由网络和L2层路由网络,核心交换机110为通常为整个数据中心的网络提供一个弹性的L3层路由网络。
通常情况下,汇聚交换机120是L2和L3层路由网络的分界点,汇聚交换机120以下的是L2网络,以上是L3网络。每组汇聚交换机管理一个传送点(POD,Point Of Delivery),每个POD内都是独立的VLAN网络。服务器在POD内迁移不必修改IP地址和默认网关,因为一个POD对应一个L2广播域。
汇聚交换机120和接入交换机130之间通常使用生成树协议(STP,Spanning TreeProtocol)。STP使得对于一个VLAN网络只有一个汇聚层交换机120可用,其他的汇聚交换机120在出现故障时才被使用(上图中的虚线)。也就是说,在汇聚交换机120的层面,做不到水平扩展,因为就算加入多个汇聚交换机120,仍然只有一个在工作。
城市的各路口的摄像头定时拍摄各汽车的图片,上传到图1的数据中心的一个服务器140,该服务器140连同数据中心中其它服务器140进行处理,经过这些服务器140中的处理单元处理,得到各汽车的行驶事件分类(从北向西行驶,从南向东行驶等)。
图3A-G的左上角的图片表示城市路口的摄像头拍摄的汽车从东向西行驶、从东到北行驶、从西向东行驶、从西向北行驶、从北向西行驶、从北向东行驶、从北向南行驶的图像。图3A-G右侧的解码层输出表示本公开实施例的处理单元判定的汽车的行驶事件分类结果(用斜线表示判定的事件分类)。图3A-G中其它的图片在下文的本公开实施例具体描述中会详细讨论。从中看出,根据城市路口的摄像头拍摄的汽车行驶图像,能够通过处理单元判定出汽车的行驶方向。而这些是现有技术的深度学习难于做到的。现有的深度学习对于时空相关的任务不能识别,或能识别但计算量大。另外,图3H示出了将一个拍摄的汽车行驶的实际图像输入本公开实施例配置好的处理单元后处理单元判定的事件分类(从北向东行驶)。图3I示出了将一个拍摄的有多个汽车在不同方向上行驶的实际图像输入本公开实施例配置好的处理单元后时空神经网络判定的识别出的事件分类,其中,有1%的可能性在图像中会有从东向西行驶的汽车,有10%的可能性在图像中会有从东到北行驶的汽车,有100%的可能性在图像中会有从西向东行驶的汽车,有66%的可能性在图像中会有从西向北行驶的汽车,有100%的可能性在图像中会有从北向西行驶的汽车,有88%的可能性在图像中会有从北向东行驶的汽车,有100%的可能性在图像中会有从北向南行驶的汽车。
无人驾驶是上述城市大脑应用的进一步深化。如图3I所示,数据中心的服务器能够根据在城市各个位置拍摄的图像,判定城市各个位置有沿各种行驶方向行驶的汽车的概率后,就能够向各个位置的无人驾驶汽车下发指示信号,指示无人驾驶汽车向哪些方向行驶是安全的,从而达到虽然无人驾驶,但保证安全性的目的。
语视融合系统是这样一种系统,它不仅仅能够按照用户的语音进行反应,还能够结合用户的动作和手势进行反应。例如,语视机器人不仅仅针对人的声音作出反应,还根据人的动作和手势作出反应。例如,人作出“嘘”的动作,则机器人停止说话。人作出向内勾手指头的动作,则机器人向用户的方向移动。但动作和手势是一种时空行为,识别其是一种时空相关的任务。现有的深度学习对于这些任务不能识别,或能识别但计算量大。利用本公开实施例的处理单元,可以高效识别出这些动作和手势,配合人的声音,让机器人作出正确的反应。
本公开实施例还可以应用于智能家居的场景。用户对智能家居设备的控制可以不通过语音,而是通过手势。例如,用户的手作出一个从中心向两边拨开的手势,控制窗帘打开。用户的手作出一个按遥控器的动作,电视机自动打开。现有的深度学习对于这些任务不能识别,或能识别但计算量大。利用本公开实施例的处理单元,可以高效识别用户的这些手势,从而使手势操控智能家居设备成为可能。
本公开的产生背景和大体网络结构
目前,深度学习广泛用于各个领域。但是,在处理与时空相关的任务时,计算量很大。由于这种类型的任务要求网络跨时间和空间两种维度捕获动态信息,因此,当前的主流深度学习在这方面并不理想。特别是,就边缘推理(将深度学习模型部署到边缘端使用以进行推理)而言,边缘端的硬件的计算性能与时空相关任务要求的计算性能的差距正在扩大。为了解决这个问题,提出了时空神经网络(SNN)以处理与时空相关的任务。
时空神经网络(SNN)能够利用定时和事件驱动的行为来触发计算,从而将现实世界中的离散事件编码为脉冲序列,作为沿时间框架的输入,并采用类似于大脑的并行积分过程,对编码得到的脉冲序列进行解释以通过各种神经解码方法(例如脉冲计数解码)来得到推理结果。
目前的SNN有三种:1)基于反向传播(BP)的SNN;2)基于卷积神经网络(CNN)的SNN;3)基于生物的学习行为的SNN。对于基于BP的SNN,提出了一种用于动态N-MNIST数据集分类的时空反向传播(STBP)算法,该算法成功地结合了时域和时域内核,并在全连接架构下实现了98.78%的推理精度。但缺点是由于其基于BP,计算量大。对于基于CNN的SNN,将脉冲神经元配置为用于姿势识别的卷积神经网络(CNN)。通过利用事件驱动的传感器输入,系统计算量有一定减少,在定制的硬件上产生178.8mW的功耗和96.49%的精度,但由于涉及大量卷积运算,这种计算量仍然很大。基于生物的学习行为的SNN利用神经可塑性或依赖于脉冲时序的可塑性(STDP)学习原理。例如,开发了一种基于哺乳动物嗅觉灯泡回路的SNN,用于在线对气味进行分类。提出了一种神经可塑性规则,该规则使用五个周期来学习气味脉冲时序。由于该网络是专为信号分类而设计的,因此开发出的网络具有出色的训练性能,但在工业上的应用范围有限。
本公开实施例提出一种既能减少计算量、又具有通用性的处理单元。如图2所示,它包括感测层141、时空计算核阵列144、连接层145和解码层148。这样的结构实际组成了一种新的时空神经网络。感测层141包括多个感测单元147。解码层148包括多个解码单元146。时空计算核阵列144包括空间神经元143和时间神经元144。
感测层141的各感测单元147将待识别时空事件信号编码成脉冲序列,这个脉冲序列既反映了待识别时空事件的时间元素,又反映了空间元素。时空计算核阵列144对感测层141输出的脉冲序列进行时间和空间的双重累积,产生时空累积结果脉冲,这个时空累积结果脉冲反映了待识别时空事件在时间和空间上累积出的特性。连接层145将解码层148中的解码单元146连接到时空计算核阵列144中的时空计算核。这种连接关系是预先训练出来的。然后,解码层148的各解码单元146就会依据其连接的时空计算核输出的时空累积结果脉冲产生输出值,依据该输出值进行事件分类。在整个过程中,仅通过对脉冲进行累积,即加法和积分进行运算,不同于现有技术的基于BP和CNN的方法,大大减少了需要的计算量。同时,对应用范围没有限制。该神经网络结构特别有利于向边缘和终端设备的部署。
时空事件是指现实世界中的目标在时间和空间中的行为表现。现实世界的任何物体可以作为一个目标,例如车辆和人的手。目标在时间轴的一个时间点上位于空间的一个位置,在其它时间点上可能位于空间的其它位置,在不同时间点上位置的变化就形成了在时间和空间中的行为表现,即时空事件。图4示出了从现实世界归纳出的汽车的三种时空事件,其中事件1表示汽车从北向西行驶,事件2表示汽车从东向南行驶,事件3表示汽车从北向东行驶,其中Fn表示当前采样时间点汽车的位置,Fn-1表示当前采样时间点之前倒数第一个采样时间点汽车的位置,Fn-2表示当前采样时间点之前倒数第二个采样时间点汽车的位置,Fn-3表示当前采样时间点之前倒数第三个采样时间点汽车的位置。事件1-3是从城市的某路口摄像头定时拍摄的图像中归纳出的3个事件。另外,对于语视融合系统来说,机器人从拍摄的用户的连续图片中识别出人手在不同时间点上位置的变化,从而识别出用户作出的动作和手势,这些动作和手势就是时空事件。对于智能家居来说,室内摄像头从拍摄的用户的连续图片中识别出人手在不同时间点上位置的变化,从而识别出手势,即时空事件,并对该时空事件作出反应。
待识别时空事件是要识别其事件分类的时空事件。通常,时空神经网络用于对事件在时间和空间上的综合表现,来将事件划分到一个类别中,即事件分类。例如,根据各个拍摄的汽车的轨迹照片,将汽车的行驶事件判定为从北向西方向行驶。根据拍摄的用户的连续图片中的识别出的人手在不同时间点上的位置的变化,将用户手势判定为“跟我来”。
时空事件信号是将抽象的时空事件表达成的信号。时空事件是抽象的,必须表达成时空事件信号才能进行数据处理。例如,对于汽车从北向西方向行驶的时空事件,在每个采样时间点拍摄的汽车的轨迹照片中的像素,就是将该时空事件变换成的时空事件信号。例如,拍摄的照片每帧是480×320像素,每隔1秒拍摄1帧,一共有连续15秒,拍摄15帧,则这480×320×15个像素值就是时空事件信号。
当待识别时空事件信号是连续采样点采集的图像的像素值时,感测层包括的感测单元数可以与每个采样点采集的图像(每帧)的像素数相等。这样,每个感测单元就可以对应于一个帧内像素位置,专门处理该帧内像素位置的像素值。以上述时空事件信号是480×320×15个像素值为例,由于每帧有480×320=153600个像素,则感测单元有153600个,每个感测单元对应于一个帧内像素位置。
此时,可以将待识别时空事件信号看成位置和时间的函数V(xk,tm),xk代表采集的图像帧的第k个像素位置,例如上述每帧153600个像素位置中的第k个像素位置,tm代表第m个采样时间点,V(xk,tm)就代表待识别时空事件信号在第m个采样时间点采集的帧的第k个像素位置的像素值。这样,待识别时空事件信号就成为了位置和时间的函数V(xk,tm)。然后,对于特定位置,确定所述特定位置xk和当前时间tm下的所述函数值V(xk,tm)与所述特定位置xk和当前时间前一周期tm-Δt的时间点下的所述函数值V(xk,tm-Δt)之差ΔV(xk,tm),即公式1:
ΔV(xk,tm)=V(xk,tm)-V(xk,tm-Δt) 公式1
上述周期长度Δt可以等于采样时间点之间的间隔,例如上述提到的1秒,也可以是采样时间点之间的间隔的整数倍,例如3秒等等。用所述特定位置xk和当前时间tm下的所述函数值V(xk,tm)与所述特定位置xk和当前时间前一周期tm-Δt的时间点下的所述函数值V(xk,tm-Δt)相减,得到的是特定位置xk处的像素值在当前帧相对于之前一个周期的帧的变化。因此,如果在采集的几个连续周期的图像帧的特定位置xk像素值变化很大,说明该位置是一个重点需要关注的位置,因为它在最近的连续几帧中变化很大,很可能反映了待识别时空事件的特点。
然后,根据该差与预定差阈值的比较结果,确定特定位置处的脉冲是有效脉冲还是无效脉冲。例如,按照以下公式确定特定位置处产生的脉冲,即公式2:
上述Ck即预定差阈值,该阈值有可能是随采集的图像帧中的像素位置变化的,即采集的图像帧中每个像素位置对应于一个差阈值,这样,图像帧有多少个像素位置,对应的差阈值就有多少个。这种情况下,Ck表示帧内第k个像素位置对应的预定差阈值。[u]+是符号函数。当u为正数时,[u]+=1。反之,[u]+=0。对于公式2来说,当该差ΔV(xk,tm)大于预定差阈值Ck时,输出在第m个采样时间点特定位置k处的脉冲为1,即输出有效脉冲,反之则输出0,即无效脉冲。将各位置的确定的脉冲合成为所述脉冲序列,例如按照位置的先后顺序,将对应的确定的脉冲合成为脉冲序列。即在脉冲序列中,第k-1个位置的脉冲在第k个位置的脉冲的前一个,第k-2个位置的脉冲在第k-1个位置的脉冲的前一个,等等。
将公式1得到的差与预定差阈值进行比较,从而决定在特定位置处产生有效脉冲还是无效脉冲,是为了避免单纯存储得到的差导致存储空间占用过大。实际上,将公式1得到的差与预定差阈值进行比较,就能够反映采集的几个连续周期的图像帧的特定位置xk像素值变化是否大,从而说明该位置是否是一个重点需要关注的位置。
如图5所示,对于感测单元147来说,假设Δt=1且Ck=10,其针对时间点tn-3,接收到的针对特定像素位置k的V(xk,tm)为20,在时间点时间点tn-3-1,接收到的针对特定像素位置k的V(xk,tm-1)为8,因此,20-8>10,在时间点tn-3产生一个有效脉冲1;针对时间点tn-2,接收到的针对特定像素位置k的V(xk,tm)为18,在时间点时间点tn-2-1,接收到的针对特定像素位置k的V(xk,tm-1)为18,因此,18-18<10,在时间点tn-2产生一个无效脉冲0;同理,在时间点tn-1和tn,也产生无效脉冲0……这样,该感测单元147输出脉冲序列……1000……。
时空计算核阵列142包括多个时空计算核。每个时空计算核包括依次连接的一个空间神经元143和一个时间神经元144。
每个空间神经元143连接至所述至少一部分感测单元147。在图2中,每4个感测单元147的输出连接到一个空间神经元143。在上述感测单元有153600个的例子中,空间神经元143有153600/4=38400个。每个空间神经元143连接的该至少一部分感测单元147是感测采集的图像帧中相邻的像素位置的像素的感测单元147。
每个空间神经元143根据其连接的所述至少一部分感测单元147输出的脉冲序列,产生反映所述脉冲序列的空间累积结果的空间累积结果脉冲序列。在相同的时间点、相邻近的空间位置产生的脉冲往往表现出一些相似的特点,因此,将这些脉冲序列在空间上进行累积,可以反映出这些相似的特点。空间神经元143得到的空间累积结果脉冲序列就是为了反映这些特点。得到空间累积结果脉冲序列的一种方式是直接对相同的时间点、相邻近的空间位置产生的脉冲进行累积,之后将累积结果转换成“1”或“0”的脉冲序列;另一种方式是先对相同的时间点、相邻近的空间位置产生的脉冲进行累积,如果累积到预定阈值,则产生有效脉冲“1”,反之则产生无效脉冲“0”。后者有利于节省存储空间,且与预定阈值的比较也能大体反映某一点附近的空间位置产生的有效脉冲的多或少,对信息量不会造成太大损害,而泛泛地累积并转换成脉冲序列,往往占用更多的脉冲位传达类似信息,存储空间成本高。
在本公开的一个实施例中,确定在特定时间点该空间神经元143连接的所述至少一部分感测单元147输出的脉冲为有效脉冲的个数,即“1”的个数。由于空间神经元143连接的所述至少一部分感测单元147都是感测拍摄的图像中相邻位置的像素变化的感测单元147,如果这些相邻位置上产生的脉冲大多都是1,即有效脉冲,说明这些像素的区域相比于前几帧变化明显,更应该被提取出来作为分析的重要区域。因此,确定该空间神经元143连接的所述至少一部分感测单元147输出的脉冲中有多少是有效脉冲,如果所述个数大于第一阈值,在特定时间点输出有效脉冲,反之输出无效脉冲。然后,将各时间点输出的脉冲合成为所述空间累积结果脉冲序列。空间神经元143的膜电压具有如下公式3:
其中,vs表示空间神经元143的膜电压,表示空间神经元143的膜电压的时间导数,i=1,2,3,……M/α,M为感测单元147的总数,α为感测单元147的数目,M/α即每个空间神经元143连接的感测单元147的数目,si为空间神经元143连接的第i个感测单元147输出的在特定采样时间点的脉冲。因此,由公式3可知,空间神经元143的膜电压实际上是该空间神经元143连接的感测单元147输出的脉冲在时间上的积分结果。如果空间神经元143连接的感测单元147输出的是无效脉冲,则对积分没有影响,因此,确定该空间神经元143连接的所述至少一部分感测单元147输出的脉冲中有多少是有效脉冲,该个数就是积分值。如果所述个数大于第一阈值,在特定时间点输出有效脉冲,反之输出无效脉冲。
如图5所示,一个空间神经元143连接到4个感测单元147,在每个采样时间点接收到4个感测单元147输出的脉冲。例如,在采样时间点tn-3,接收到4个感测单元147输出的脉冲中第1、2、4路是“1”,累积的个数为3,大于第一阈值2,在采样时间点tn-3输出有效脉冲“1”;在采样时间点tn-2,接收到4个感测单元147输出的脉冲中第2-4路是“1”,累积的个数为3,大于第一阈值2,在采样时间点tn-2输出有效脉冲“1”;在采样时间点tn-1,接收到4个感测单元147输出的脉冲中第2-4路是“1”,累积的个数为3,大于第一阈值2,在采样时间点tn-1输出有效脉冲“1”;在采样时间点tn,接收到4个感测单元147输出的脉冲中第2-3路是“1”,累积的个数为2,不大于第一阈值2,在采样时间点tn-1输出有效脉冲“0”。因此,空间神经元143输出……1110……的空间累积结果脉冲序列。
然后,时间神经元144根据空间神经元143产生的空间累积结果脉冲序列,产生反映所述空间累积结果脉冲序列的时间累积结果的所述时空累积结果脉冲。同一空间位置在不同的时间点产生的脉冲往往表现出一些相似的特点,因此,将这些脉冲序列在时间上进行累积,可以反映出这些相似的特点。产生时空累积结果脉冲的一种方式可以是直接对所述空间神经元产生的空间累积结果脉冲序列进行累积,另一种是先进行累积,如果累积到预定阈值,则产生有效脉冲“1”,反之则产生无效脉冲“0”。后者有利于节省存储空间,且与预定阈值的比较也能大体反映某一时间点附近产生的有效脉冲的多或少,对信息量不会造成太大损害。
在本公开的一个实施例中,时间神经元144对与其连接的空间神经元143产生的空间累积结果脉冲序列,产生在时间窗口的积分。如果所述积分值大于第二阈值,则输出有效的时空累积结果脉冲,反之输出无效的时空累积结果脉冲。如果在最近的几个连续的采样时间点上,与时间神经元144连接的空间神经元143产生的空间累积结果脉冲有效脉冲比例很高,很可能说明在这段时间拍摄的图像帧中相应区域的像素值变化明显,更应该被提取出来作为分析的重要区域。通过该积分值与第二阈值的比较,就可以看出在一段时间内相应区域像素值变化是否明显。如果明显,输出有效脉冲,反之输出无效脉冲。
时间神经元144的膜电压具有如下公式4:
其中,vt表示时间神经元144的膜电压,表示时间神经元144的膜电压的时间导数,T为采样时间点的总数,β为时间窗口的长度,表示由空间神经元143生成的脉冲,表示在一个时间窗口内对该时间窗口内各时间采样点由空间神经元143输出的脉冲的积分。如果空间神经元143输出的是无效脉冲,则对积分没有影响,因此,确定该时间窗口内从空间神经元143接收到了多少个有效脉冲,该个数就是积分值。如果所述个数大于第二阈值,输出有效脉冲,反之输出无效脉冲。
如图5所示,设时间窗口为4,即包括4个采样时间点。时间神经元144在采样时间点tn-3接收到的来自空间神经元143的脉冲为“1”,在采样时间点tn-4接收到的来自空间神经元143的脉冲为“0”,在采样时间点tn-5接收到的来自空间神经元143的脉冲为“1”,在采样时间点tn-6接收到的来自空间神经元143的脉冲为“1”,因此,在一个时间窗口对空间神经元143产生的脉冲序列的积分值为3,大于第二阈值,输出有效脉冲“1”,作为时空累积结果脉冲。
每个解码单元146分别对应于一种事件分类。连接层145中预先配置,将每个解码单元146连接到若干个时空计算核。每个解码单元146根据连接到的时空计算核输出的时空累积结果脉冲产生输出值,例如将这些时空累积结果脉冲中的有效脉冲的个数进行累加,作为输出值,将输出值最大的解码单元对应的事件分类作为识别出的事件分类。例如,如图3A-I所示,有7种事件分类,分别是从东向西行驶、从东到北行驶、从西向东行驶、从西向北行驶、从北向西行驶、从北向东行驶、从北向南行驶。与此相对应地,有7个解码单元146,7个解码单元146分别连接有一些时空计算核,根据相应时空计算核输出的时空累积结果脉冲中的有效脉冲个数进行累加,作为输出值。哪个解码单元146得到的输出值最大,就认为对应的事件分类是本公开实施例的处理单元所识别出的事件分类。
在预先配置连接层145中解码单元146到时空计算核的连接关系时,考虑到根据解码单元146的输出值识别事件分类的公平性,将每个解码单元146分别与预定数目个时空计算核连接。例如,每个解码单元146都连接到5个时空计算核。由于事件分类实际上比较的是各解码单元146连接的时空计算核中输出有效脉冲的时空计算核有多少个,因此,让各解码单元146连接的时空计算核数相等,可以让事件分类有一个合理的基础。在下文中将详细描述如何选定预定数目个时空计算核与一个解码单元146连接的具体方式。
在将所述每个解码单元146分别与预定数目个时空计算核连接后,将至少包含每种事件分类的一个时空事件信号样本的集合输入所述处理单元。时空事件信号样本即作为训练样本的时空事件信号。以时空事件信号是在每个采样时间点拍摄的汽车的轨迹照片中的像素为例,时空事件信号样本即在每个采样时间点拍摄的汽车的轨迹照片的样本中的像素。为了全面配置本公开实施例的处理单元,使其能识别所有事件分类,需要保证该集合中每种事件分类的样本至少要有一个。以图3A-I为例,从东向西行驶、从东到北行驶、从西向东行驶、从西向北行驶、从北向西行驶、从北向东行驶、从北向南行驶中的每一种事件分类必须保证有至少一个。对于每个时空事件信号样本,其输入感测层141,经时空计算核输出时空累积结果脉冲。确定各解码单元146连接的预定数目个时空计算核中输出的有效脉冲数。如果该时空事件信号样本的事件分类所对应的解码单元146连接的预定数目个时空计算核中输出的有效脉冲数小于其他解码单元146连接的预定数目个时空计算核中输出的有效脉冲数,调整该时空事件信号样本的事件分类所对应的解码单元连接的时空计算核。
下面以图6A-F为例说明连接层145的具体训练过程。图6A示出了时空计算核阵列142,其中每个圆圈代表一个时空计算核。图6A的时空计算核阵列具有5×4=20个时空计算核。图6B的每一行表示3个解码单元146,分别对应于事件分类1-3,其每一列代表输入每种事件分类的时空事件信号样本后,处理单元实际判定的事件分类。实际判定的时间分类用实心圆表示。在图6B中,第一列表示,当输入事件分类1的时空事件信号样本后,处理单元判定的事件分类就是事件分类1;第二列表示,当输入事件分类2的时空事件信号样本后,处理单元判定的事件分类是事件分类1,但应该是事件分类2(用空心实线圆圈表示);第三列表示,当输入事件分类3的时空事件信号样本后,处理单元判定的事件分类是事件分类2,但应该是事件分类3(用空心实线圆圈表示)。图6A表示了将每个解码单元146与5个时空计算核进行初始连接。用三角形表示该时空计算核与解码单元1连接,用菱形表示该时空计算核与解码单元2连接,用方形表示该时空计算核与解码单元3连接。图6A中,与解码单元1连接的时空计算核有(1,3),(2,3),(3,1),(3,2),(4,1)5个时空计算核;与解码单元2连接的时空计算核有(1,3),(2,3),(3,3),(3,4),(3,5)5个时空计算核;与解码单元3连接的时空计算核有(2,3),(2,4),(3,3),(4,2),(4,3)5个时空计算核,其中横坐标表示时空计算核在时空计算核阵列的行数,纵坐标表示时空计算核在时空计算核阵列的列数。有些时空计算核同时连接到多个解码单元。
当如图6B所示,当输入事件分类1的时空事件信号样本后,确定各解码单元1-3的每一个分别连接的5个时空计算核中输出的有效脉冲数。假设解码单元1连接的5个时空计算核中有5个输出有效脉冲,解码单元2连接的5个时空计算核中有4个输出有效脉冲,解码单元3连接的5个时空计算核中有3个输出有效脉冲,5为最大有效脉冲数,因此判定解码单元1对应的事件分类1是判定的事件分类,正好与输入的时空事件信号样本的事件分类1一致,不作调整。
当输入事件分类2的时空事件信号样本后,确定各解码单元1-3的每一个分别连接的5个时空计算核中输出的有效脉冲数。假设解码单元1连接的5个时空计算核中有5个输出有效脉冲,解码单元2连接的5个时空计算核中有4个输出有效脉冲,解码单元3连接的5个时空计算核中有1个输出有效脉冲,5为最大有效脉冲数,因此判定解码单元1对应的事件分类1是判定的事件分类,与输入的时空事件信号样本的事件分类2不一致,即该时空事件信号样本的事件分类2所对应的解码单元连接的5个时空计算核中输出的有效脉冲数4小于解码单元1连接的5个时空计算核中输出的有效脉冲数5,调整该时空事件信号样本的事件分类2所对应的解码单元2与时空计算核的连接关系、和该解码单元1与时空计算核的连接关系,使得该时空事件信号样本的事件分类2所对应的解码单元2连接的5个时空计算核中输出的有效脉冲数大于该解码单元1连接的5个时空计算核中输出的有效脉冲数。如图6A箭头所示,将时空计算核(2,3)与三个解码单元同时连接改成只与解码单元2-3连接,将时空计算核(1,2)改为与解码单元1连接,修改后的结果如图6C所示。这样,与每个解码单元连接的时空计算核仍然保持5个,而最后解码单元2连接的5个时空计算核中输出的有效脉冲数变成5,而解码单元1连接的5个时空计算核中输出的有效脉冲数变成4,处理单元判定事件分类2,与该样本的事件分类2一致,如图6D所示。
当输入事件分类3的时空事件信号样本后,确定各解码单元1-3的每一个分别连接的5个时空计算核中输出的有效脉冲数。假设解码单元1连接的5个时空计算核中有1个输出有效脉冲,解码单元2连接的5个时空计算核中有4个输出有效脉冲,解码单元3连接的5个时空计算核中有3个输出有效脉冲,4为最大有效脉冲数,因此判定解码单元2对应的事件分类2是判定的事件分类,与输入的时空事件信号样本的事件分类3不一致,即该时空事件信号样本的事件分类3所对应的解码单元连接的5个时空计算核中输出的有效脉冲数3小于解码单元2连接的5个时空计算核中输出的有效脉冲数4,调整该时空事件信号样本的事件分类3所对应的解码单元3与时空计算核的连接关系、和该解码单元2与时空计算核的连接关系,使得该时空事件信号样本的事件分类3所对应的解码单元3连接的5个时空计算核中输出的有效脉冲数大于该解码单元2连接的5个时空计算核中输出的有效脉冲数。如图6C箭头所示,将时空计算核(2,3)与解码单元2-3连接改为只与解码单元3连接,将时空计算核(1,4)改为与解码单元2连接,将时空计算核(3,3)与解码单元2-3连接改为只与解码单元3连接,将时空计算核(4,4)改为与解码单元2连接,修改后的结果如图6E所示。这样,与每个解码单元连接的时空计算核仍然保持5个,而最后解码单元3连接的5个时空计算核中输出的有效脉冲数变成4,而解码单元2连接的5个时空计算核中输出的有效脉冲数变成3,处理单元判定事件分类3,与该样本的事件分类3一致,如图6F所示。完成了训练过程。当完成了训练过程后,将任何待识别时空事件信号输入感测层141,解码单元根据其连接的时空计算核输出的时空累积结果脉冲中的有效脉冲数,产生输出值,输出值最大的解码单元对应的事件分类就是识别出的事件分类。
图3A-G分别示出了输入的汽车从东向西行驶、从东到北行驶、从西向东行驶、从西向北行驶、从北向西行驶、从北向东行驶、从北向南行驶的时空事件信号样本(拍摄的汽车沿上述各种方向分别行驶的图像)、感测层141的输出结果、空间神经元143的输出结果、时间神经元144的输出结果、以及7个解码单元对应的7个事件分类中调整解码单元和时空计算核的连接关系后判定的事件分类结果(用斜线表示判定的事件分类)。图3H示出了将一个拍摄的汽车行驶的实际图像输入本公开实施例配置好的处理单元后处理单元判定的事件分类(从北向东行驶)。图3I示出了将一个拍摄的有多个汽车在不同方向上行驶的实际图像输入本公开实施例配置好的处理单元后处理单元判定的识别出的事件分类。
下面讨论对于每个解码单元146,是如何选定预定数目个时空计算核与其连接的。在一个实施例中,可以对于每个解码单元146,选取该解码单元146对应的事件分类的多个时空事件信号样本分别输入所述处理单元,分别为每个时空计算核确定对于所述多个时空事件信号样本输出有效脉冲的次数。然后,将输出有效脉冲的次数从高到低前预定数目的时空计算核连接到该解码单元。
例如,事件分类有3种,对应的解码单元146也是3个。对于每个解码单元146,构造其对应的事件分类的多个时空事件信号样本(例如对于从北向西行驶的汽车,拍摄多个这样的汽车行驶的图像分别作为多个样本)输入感测层141。对于该事件分类的一个样本,该解码单元146连接的那些时空计算核会各自产生时空累积结果脉冲,要么是有效脉冲,要么是无效脉冲。然后,统计每个时空计算核针对这多个时空事件信号样本产生有效脉冲的次数,该次数一定小于或等于样本数。例如,样本数是100,这100个样本中,有一个时空计算核针对这100个样本中的70个样本产生了有效脉冲,则输出有效脉冲的次数为70。然后,将输出有效脉冲的次数从高到低前预定数目的时空计算核连接到该解码单元。如果一个时空计算核面对同一事件分类的样本集合,产生有效脉冲的次数越多,说明其对于区分该事件分类的作用越大,越应该让其与相应的解码单元连接。该实施例提高了配置处理单元的精确性。
本公开实施例对于每个事件分类,仅利用至少一个正面数据样本(该事件分类下的数据样本)进行训练,降低训练成本。整个训练和推理过程通过加法和积分运算,学习算法的复杂度降低,从而降低推理计算量,降低训练成本。本公开实施例可以在改变网络规模的同时保持相同推理精度,特别适合基于边缘和终端设备的时空神经网络部署。
如图7所示,根据本公开的一个实施例,提供了一种时空事件识别方法,包括:
步骤710、将待识别时空事件信号编码成反映所述待识别时空事件的时间和空间元素的脉冲序列;
步骤720、根据所述脉冲序列的至少一部分,产生反映所述脉冲序列的所述至少一部分的时空累积结果的时空累积结果脉冲;
步骤730、让多个解码单元分别根据该解码单元所连接的一部分时空计算核输出的时空累积结果脉冲产生输出值,将输出值最大的解码单元对应的事件分类作为识别出的事件分类。
可选地,步骤720包括:
根据所述脉冲序列的至少一部分,产生反映所述脉冲序列的所述至少一部分的空间累积结果的空间累积结果脉冲序列;
根据所述空间累积结果脉冲序列,产生反映所述空间累积结果脉冲序列的时间累积结果的所述时空累积结果脉冲。
可选地,步骤710包括:
将待识别时空事件信号作为位置和时间的函数,对于特定位置,确定所述特定位置和当前时间下的所述函数值与所述特定位置和当前时间前一周期的时间点下的所述函数值之差;
根据该差与预定差阈值的比较结果,确定特定位置处的脉冲是有效脉冲还是无效脉冲;
将各位置的确定的脉冲合成为所述脉冲序列。
可选地,所述根据所述脉冲序列的至少一部分,产生反映所述脉冲序列的所述至少一部分的空间累积结果的空间累积结果脉冲序列,包括:
确定在特定时间点,根据所述脉冲序列的至少一部分确定出的脉冲为有效脉冲的个数;
如果所述个数大于第一阈值,在特定时间点输出有效脉冲,反之输出无效脉冲;
将各时间点输出的脉冲合成为所述空间累积结果脉冲序列。
可选地,所述根据所述空间累积结果脉冲序列,产生反映所述空间累积结果脉冲序列的时间累积结果的所述时空累积结果脉冲,包括:
对所述空间累积结果脉冲序列,产生在时间窗口的积分;
如果所述积分值大于第二阈值,则输出有效的时空累积结果脉冲,反之输出无效的时空累积结果脉冲。
可选地,所述根据该解码单元所连接的一部分时空计算核输出的时空累积结果脉冲产生输出值,包括:将该解码单元所连接的一部分时空计算核输出的时空累积结果脉冲为有效脉冲的个数,作为输出值。
该方法实施例的实现细节已经在上文的装置实施例中详细描述。为节约篇幅,故不赘述。
如图8所示,根据本公开的一个实施例,还提供了一种处理单元配置方法,所述处理单元包括感测层、时空计算核阵列、连接层、解码层,所述时空计算核阵列包含多个时空计算核,所述解码层包括多个解码单元,所述连接层用于将所述多个解码单元连接到所述多个时空计算核,所述方法包括:
步骤810、将所述多个解码单元分别与所述多个时空计算核中的预定数目个时空计算核连接;
步骤820、将至少包含每种事件分类的一个时空事件信号样本的集合输入所述处理单元,对于每个时空事件信号样本,确定各解码单元连接的预定数目个时空计算核中输出的有效脉冲数,如果该时空事件信号样本的事件分类所对应的解码单元连接的预定数目个时空计算核中输出的有效脉冲数小于其他解码单元连接的预定数目个时空计算核中输出的有效脉冲数,调整该时空事件信号样本的事件分类所对应的解码单元连接的时空计算核、和该其他解码单元连接的时空计算核,使得该时空事件信号样本的事件分类所对应的解码单元连接的预定数目个时空计算核中输出的有效脉冲数大于该其他解码单元连接的预定数目个时空计算核中输出的有效脉冲数。
可选地,步骤810包括:
对于每个解码单元,选取该解码单元对应的事件分类的多个时空事件信号样本分别输入所述处理单元,分别为每个时空计算核确定对于所述多个时空事件信号样本输出有效脉冲的次数;
将输出有效脉冲的次数从高到低前预定数目的时空计算核连接到该解码单元。
该方法实施例的实现细节已经在上文的装置实施例中详细描述。为节约篇幅,故不赘述。
本公开的商业价值
实验证明,本公开实施例部署的处理单元的实际使用时的处理时间减少到现有时空神经网络的60%,配置时间减少到现有时空神经网络的50%,具有极强的市场前景。
应该理解,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
应该理解,上述对本说明书特定实施例进行了描述。其它实施例在权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
应该理解,本文用单数形式描述或者在附图中仅显示一个的元件并不代表将该元件的数量限于一个。此外,本文中被描述或示出为分开的模块或元件可被组合为单个模块或元件,且本文中被描述或示出为单个的模块或元件可被拆分为多个模块或元件。
还应理解,本文采用的术语和表述方式只是用于描述,本说明书的一个或多个实施例并不应局限于这些术语和表述。使用这些术语和表述并不意味着排除任何示意和描述(或其中部分)的等效特征,应认识到可能存在的各种修改也应包含在权利要求范围内。其他修改、变化和替换也可能存在。相应的,权利要求应视为覆盖所有这些等效物。
Claims (17)
1.一种处理单元,包括:
感测层,包括多个感测单元,分别用于将待识别时空事件信号编码成脉冲序列,所述脉冲序列反映所述待识别时空事件的时间元素和空间元素;
时空计算核阵列,包括多个时空计算核,分别连接至所述多个感测单元中的至少一部分感测单元,根据所述至少一部分感测单元输出的脉冲序列,产生时空累积结果脉冲,所述时空累积结果脉冲反映所述脉冲序列的时空累积结果;
连接层;
解码层,包括多个解码单元,每个解码单元分别对应于一种事件分类,所述解码单元通过所述连接层连接到所述多个时空计算核中对应的一部分时空计算核,并根据所述对应的一部分时空计算核输出的时空累积结果脉冲产生输出值,将输出值最大的解码单元所对应的事件分类作为识别出的事件分类。
2.根据权利要求1所述的处理单元,其中,所述时空计算核阵列包括空间神经元和时间神经元,其中,所述空间神经元连接至所述至少一部分感测单元,根据所述至少一部分感测单元输出的脉冲序列,产生空间累积结果脉冲序列,所述空间累积结果脉冲序列反映所述脉冲序列的空间累积结果;所述时间神经元根据所述空间神经元产生的空间累积结果脉冲序列,产生所述时空累积结果脉冲,所述所述时空累积结果脉冲反映所述空间累积结果脉冲序列的时间累积结果的所述时空累积结果脉冲。
3.根据权利要求1所述的处理单元,其中,所述连接层中所述解码单元到所述时空计算核的连接关系通过以下方式预先训练:
将所述多个解码单元分别与预定数目个时空计算核连接;
将至少包含每种事件分类的一个时空事件信号样本的集合输入所述处理单元,对于每个时空事件信号样本,确定各解码单元连接的预定数目个时空计算核中输出的有效脉冲数,如果该时空事件信号样本的事件分类所对应的解码单元连接的预定数目个时空计算核中输出的有效脉冲数小于其他解码单元连接的预定数目个时空计算核中输出的有效脉冲数,调整该时空事件信号样本的事件分类所对应的解码单元与时空计算核的连接关系、和该其他解码单元与时空计算核的连接关系,使得该时空事件信号样本的事件分类所对应的解码单元连接的预定数目个时空计算核中输出的有效脉冲数大于该其他解码单元连接的预定数目个时空计算核中输出的有效脉冲数。
4.根据权利要求3所述的处理单元,其中,所述将所述多个解码单元分别与预定数目个时空计算核连接,包括:
对于每个解码单元,选取该解码单元所对应的事件分类的多个时空事件信号样本分别输入所述处理单元,分别为每个时空计算核确定对于所述多个时空事件信号样本输出有效脉冲的次数;
将输出有效脉冲的次数从高到低前预定数目的时空计算核连接到该解码单元。
5.根据权利要求1所述的处理单元,其中,所述将待识别时空事件信号编码成反映所述待识别时空事件的时间元素和空间元素的脉冲序列,包括:
将待识别时空事件信号作为位置和时间的函数,对于特定位置,确定所述特定位置和当前时间下的所述函数值与所述特定位置和当前时间前一周期的时间点下的所述函数值之差;
根据该差与预定差阈值的比较结果,确定特定位置处的脉冲是有效脉冲还是无效脉冲;
将各位置的确定的脉冲合成为所述脉冲序列。
6.根据权利要求2所述的处理单元,其中,所述根据所述至少一部分感测单元输出的脉冲序列,产生空间累积结果脉冲序列,包括:
确定在特定时间点所述至少一部分感测单元输出的脉冲为有效脉冲的个数;
如果所述个数大于第一阈值,在特定时间点输出有效脉冲,反之输出无效脉冲;
将各时间点输出的脉冲合成为所述空间累积结果脉冲序列。
7.根据权利要求2所述的处理单元,其中,所述根据所述空间神经元产生的空间累积结果脉冲序列,产生所述时空累积结果脉冲,包括:
对所述空间神经元产生的空间累积结果脉冲序列,产生在时间窗口的积分;
如果所述积分值大于第二阈值,则输出有效的时空累积结果脉冲,反之输出无效的时空累积结果脉冲。
8.根据权利要求1所述的处理单元,其中,所述根据所述对应的一部分时空计算核输出的时空累积结果脉冲产生输出值,包括:
将所述对应的一部分时空计算核输出的时空累积结果脉冲为有效脉冲的个数,作为输出值。
9.一种时空事件识别方法,包括:
将待识别时空事件信号编码成脉冲序列,所述脉冲序列反映所述待识别时空事件的时间元素和空间元素;
根据所述脉冲序列的至少一部分,产生时空累积结果脉冲,所述时空累积结果脉冲反映所述脉冲序列的所述至少一部分的时空累积结果;
让多个解码单元分别根据该解码单元所连接的一部分时空计算核输出的时空累积结果脉冲产生输出值,将输出值最大的解码单元所对应的事件分类作为识别出的事件分类。
10.根据权利要求9所述的方法,其中,所述根据所述脉冲序列的至少一部分,产生时空累积结果脉冲,包括:
根据所述脉冲序列的至少一部分,产生空间累积结果脉冲序列,所述空间累积结果脉冲序列反映所述脉冲序列的所述至少一部分的空间累积结果;
根据所述空间累积结果脉冲序列,产生所述时空累积结果脉冲,所述时空累积结果脉冲反映所述空间累积结果脉冲序列的时间累积结果。
11.根据权利要求9所述的方法,其中,所述将待识别时空事件信号编码成脉冲序列,包括:
将待识别时空事件信号作为位置和时间的函数,对于特定位置,确定所述特定位置和当前时间下的所述函数值与所述特定位置和当前时间前一周期的时间点下的所述函数值之差;
根据该差与预定差阈值的比较结果,确定特定位置处的脉冲是有效脉冲还是无效脉冲;
将各位置的确定的脉冲合成为所述脉冲序列。
12.根据权利要求10所述的方法,其中,所述根据所述脉冲序列的至少一部分,产生空间累积结果脉冲序列,包括:
确定在特定时间点,根据所述脉冲序列的至少一部分确定出的脉冲为有效脉冲的个数;
如果所述个数大于第一阈值,在特定时间点输出有效脉冲,反之输出无效脉冲;
将各时间点输出的脉冲合成为所述空间累积结果脉冲序列。
13.根据权利要求10所述的方法,其中,所述根据所述空间累积结果脉冲序列,产生所述时空累积结果脉冲,包括:
对所述空间累积结果脉冲序列,产生在时间窗口的积分;
如果所述积分值大于第二阈值,则输出有效的时空累积结果脉冲,反之输出无效的时空累积结果脉冲。
14.根据权利要求9所述的方法,其中,所述根据该解码单元所连接的一部分时空计算核输出的时空累积结果脉冲产生输出值,包括:
将该解码单元所连接的一部分时空计算核输出的时空累积结果脉冲为有效脉冲的个数,作为输出值。
15.一种处理单元配置方法,所述处理单元包括感测层、时空计算核阵列、连接层、解码层,所述时空计算核阵列包含多个时空计算核,所述解码层包括多个解码单元,所述连接层用于将所述多个解码单元连接到所述多个时空计算核,所述方法包括:
将所述多个解码单元分别与所述多个时空计算核中的预定数目个时空计算核连接;
将至少包含每种事件分类的一个时空事件信号样本的集合输入所述处理单元,对于每个时空事件信号样本,确定各解码单元连接的预定数目个时空计算核中输出的有效脉冲数,如果该时空事件信号样本的事件分类所对应的解码单元连接的预定数目个时空计算核中输出的有效脉冲数小于其他解码单元连接的预定数目个时空计算核中输出的有效脉冲数,调整该时空事件信号样本的事件分类所对应的解码单元与时空计算核的连接关系、和该其他解码单元与时空计算核的连接关系,使得该时空事件信号样本的事件分类所对应的解码单元连接的预定数目个时空计算核中输出的有效脉冲数大于该其他解码单元连接的预定数目个时空计算核中输出的有效脉冲数。
16.根据权利要求15所述的方法,其中,所述将所述多个解码单元分别与所述多个时空计算核中的预定数目个时空计算核连接,包括:
对于每个解码单元,选取该解码单元所对应的事件分类的多个时空事件信号样本分别输入所述处理单元,分别为每个时空计算核确定对于所述多个时空事件信号样本输出有效脉冲的次数;
将输出有效脉冲的次数从高到低前预定数目的时空计算核连接到该解码单元。
17.一种数据中心,包括多个服务器,所述多个服务器上分布式存储有计算机可读代码,所述计算机可读代码被相应服务器上的处理器执行时,实现根据权利要求9-14中任一个所述的时空事件识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010812969.4A CN114077856A (zh) | 2020-08-13 | 2020-08-13 | 处理单元、相关方法和数据中心 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010812969.4A CN114077856A (zh) | 2020-08-13 | 2020-08-13 | 处理单元、相关方法和数据中心 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114077856A true CN114077856A (zh) | 2022-02-22 |
Family
ID=80280681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010812969.4A Pending CN114077856A (zh) | 2020-08-13 | 2020-08-13 | 处理单元、相关方法和数据中心 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114077856A (zh) |
-
2020
- 2020-08-13 CN CN202010812969.4A patent/CN114077856A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Event-based neuromorphic vision for autonomous driving: A paradigm shift for bio-inspired visual sensing and perception | |
CN108388900B (zh) | 基于多特征融合和时空注意力机制相结合的视频描述方法 | |
Akilan et al. | Video foreground extraction using multi-view receptive field and encoder–decoder DCNN for traffic and surveillance applications | |
CN111985343A (zh) | 一种行为识别深度网络模型的构建方法及行为识别方法 | |
Yu et al. | Remotenet: Efficient relevant motion event detection for large-scale home surveillance videos | |
CN111488932B (zh) | 一种基于帧率感知的自监督视频时-空表征学习方法 | |
Cadena et al. | Pedestrian graph+: A fast pedestrian crossing prediction model based on graph convolutional networks | |
Li et al. | Skeleton graph scattering networks for 3d skeleton-based human motion prediction | |
US11789466B2 (en) | Event camera based navigation control | |
CN115601403A (zh) | 一种基于自注意力机制的事件相机光流估计方法及装置 | |
Zhang et al. | Modeling long-and short-term temporal context for video object detection | |
Li et al. | Self-attention pooling-based long-term temporal network for action recognition | |
Vemprala et al. | Representation learning for event-based visuomotor policies | |
CN111626198A (zh) | 自动驾驶场景下基于Body Pix的行人运动检测方法 | |
CN111401267A (zh) | 基于自学习局部特征表征的视频行人再识别方法及系统 | |
WO2022171590A1 (en) | Method for determining a degradation degree of a captured image, computer program product, computer-readable storage medium as well as assistance system | |
Girisha et al. | Semantic segmentation of uav videos based on temporal smoothness in conditional random fields | |
CN112487874A (zh) | 一种基于事件相机消除背景噪声的方法及系统 | |
CN114077856A (zh) | 处理单元、相关方法和数据中心 | |
CN116246338A (zh) | 一种基于图卷积和Transformer复合神经网络的行为识别方法 | |
CN116702836A (zh) | 交通参与者的轨迹预测方法、装置及相关设备 | |
Du et al. | Ego-motion classification for driving vehicle | |
Shao et al. | Anomaly detection using spatio-temporal context learned by video clip sorting | |
Tripathy et al. | A novel deep architecture for multi-task crowd analysis | |
Su et al. | Convolutions for spatial interaction modeling |
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 |