掌桥专利:专业的专利平台
掌桥专利
首页

协同计算系统

文献发布时间:2023-06-19 16:04:54



技术领域

本申请涉及感知技术,具体地,涉及在大规模部署的分布式系统中利用神经网络感知外部事件。

背景技术

在申请号为202110957486.8的中国专利申请中提供了模拟信号路由器,在申请号为202110956226.9的中国专利申请中提供了跨芯片传输模拟信号的模拟信号路由器,在申请号为202110956246.6的中国专利申请中提供了R-SpiNNaker芯片,在申请号为202110957228.X的中国专利申请中提供了R-SpiNNaker系统,在申请号为202110956273.3的中国专利申请中提供了基于R-SpiNNaker系统构建脉冲神经网络,在申请号为202110964601.4的中国专利申请中提供了分布式电容传感器系统,在申请号为202110957229.4的中国专利申请中提供了一种分布式电容传感器系统。这些中国专利申请作为本申请的背景技术,本申请引用其全文,并将其全文合并于此。

分布式系统中包括多个基础硬件单元。本文中将用于同类感知系统以及本申请的多种实施例的基础硬件单元称为“基础感知单元”。基础感知单元是例如现有技术中的R-SpiNNaker芯片,或者其他形式的硬件单元。图1A-图1F给出了基础感知单元的多种例子。

图1A-图1F各自是基础感知单元的结构框图。

在图1A的例子中,基础感知单元包括神经单元与数字路由器。

神经单元包括多个神经元。在一个例子中,神经单元的神经元用于提供SNN(脉冲神经网络)神经元的功能。在又一个例子中,神经单元的神经元用于提供ANN(人工神经网络)神经元的功能。神经单元提供神经元的资源池,其中的神经元可被配置权重以及同其他神经元的连接关系。神经单元是例如处理器核、神经网络芯片或提供神经元资源的芯片。神经单元也可由CPU核中的线程或进程实现。各神经元也可由CPU核中的线程或进程实现。神经元的权重定义了神经元的输入与输出之间的关系。

神经单元同数字路由器耦合。从而神经单元的各个神经元通过数字路由器接收输入和/或传递输出。神经元的输入/输出以数据包形式通过数字路由器传输。数字路由器包括路由表,其描述了从一个神经元接收的数据包被路由到哪个或哪些神经元。

以SNN为例,SNN神经元接收神经脉冲(简称脉冲),并输出脉冲。用例如AER包代表脉冲。SNN神经元收到AER包代表收到脉冲,SNN神经元输出AER(Address-EventRepresentation,地址事件表示)包代表SNN神经元被激活并输出脉冲。SNN神经元从数字路由器接收AER包并向数字路由器输出AER包。用于模拟SNN神经元的计算模型属于现有技术,根据本申请的实施例也利用将来可能出现的SNN神经元模型。

多个SNN神经元组成SNN。在本说明书中,同神经单元相比,SNN具有指定的拓扑结构与有意义的功能,构成SNN的各SNN神经元具有指定的参数或权重。SNN是被创建的。通过配置或编程数字路由器,例如,更新数字路由器的路由表,来利用神经单元的神经元资源创建或调整SNN。从而神经单元的SNN神经元在不同时刻可用于构建不同的SNN。神经单元中也可同时存在多个SNN。在上面列出的现有技术上,将提供SNN神经元的神经单元称为SNN单元。

对于指定的应用或处理功能,SNN的拓扑结构与SNN神经元数量是已知的。例如,指定的功能是从电容传感器采集的电容值中识别用户手指所接近或触摸的多个按键之一。又例如,指定的功能是检测空间中出现异常的物体(例如,泥石流)。

SNN中的SNN神经元具有单向的连接关系。SNN中的SNN神经元接收零个、一个或多个SNN神经元发出的AER包,并向一个SNN神经元输出AER包。根据本申请的实施例,SNN的神经元的连接关系,由数字路由器维护的用于AER包的路由表体现。数字路由器的路由表记录了从一个神经元接收的AER包要被路由或转发到的神经元,或者网络端口。

SNN神经元的输入与输出均由数字路由器处理。物理上,SNN神经元的输出是提供给数字路由器的AER包,而数字路由器根据AER包中携带的产生该AER包的SNN神经元的地址确定要将其转发到的目的神经元。而SNN神经元根据其接收的来自一个或多个SNN神经元的AER包,根据自身的参数确定输出AER包的时机。

可以理解地,对于ANN,ANN神经元之间的连接关系也由数字路由器体现。

基础感知单元还包括多个网络端口。图1A的例子中,展示了4个网络端口(由虚线框矩形表示),数字路由器连接到这4个网络端口,以同其他基础感知单元交换数据包。

在图1B的例子中,基础感知单元包括本地神经单元、共享神经单元与数字路由器。本地神经单元与共享神经单元分别同数字路由器耦合。可选地,本地神经单元与共享神经单元彼此不直接连接。本地神经单元中的神经元需要向共享神经单元的神经元发送数据时,需要先将数据发送给数字路由器,数字路由器再根据路由表的信息,将数据转发给共享神经单元中的神经元。

本地神经单元的神经元仅用于构建本地神经网络,本地神经单元的神经元的输出仅被提供给本地神经单元的其他的神经元,或者仅在作为本地神经网络的输出的情况下本地神经单元的神经元的输出才被提供给其他神经单元或控制部件。本地神经网络的所有神经元都来自同一个基础感知单元的本地神经单元。

设置本地神经单元的目的有两个,第一是进行局部快速决策,例如本地神经单元所在的基础感知单元接触局部高温或局部压力超过高限阈值时,需要感知此类事件并做出底层决策;第二是进行局部底层特征参数提取,例如本地神经单元所在的基础感知单元对已接触或即将接触的外部物体局部材质识别类别,识别外部物体接近的速度、局部接触的三维力矢量、局部接触是否有震动、震动的幅度与频率、局部接触是否有滑动、滑动的方向与速度等。

本地神经单元的多个神经元可构建一个或多个神经网络,所构建的神经网络可进行模块化、标准化的独立学习训练,除其输出层外,本地神经单元的神经元对于共享神经单元或其他基础感知单元是不可见的。换句话说,本地神经单元的神经元中,除了作为神经网络的输出层的神经元外,其他神经元输出的数据不会被数字路由器转发到共享神经单元或其他基础感知单元。

共享神经单元的神经元仅被用于构建共享神经网络。共享神经网络的神经元可由多个基础感知单元各自的共享神经单元的神经元构成。从而一个基础感知单元的共享神经单元的神经元的输出可被提供给其他基础感知单元的共享神经单元的神经元。

在单一基础感知单元应用的场合,共享神经单元也可以通过数字路由器的路由表配置成本地SNN单元。

为了设计与编程模型的简洁,可选地,神经单元内的各神经元之间的数据传递也由数字路由器中转。

在图1C的例子中,基础感知单元包括计算单元、数字路由器与神经单元。计算单元耦合数字路由器。

计算单元用于生成外部提供给神经网络的神经元的输入数据。例如,计算单元将外部输入编码为AER包,并提供给数字路由器。数据路由器将接收的AER包转发给神经单元的一个或多个神经元。

图1D的例子中,同图1C相比,基础感知单元还包括传感器。传感器包括例如ADC(模拟数字转换器)、CDC(电容数字转换器)或其他类型的传感器,用于将从真实世界采集的信号转换为数字量并提供给计算单元。传感器还包括一个或多个模拟信号端口。模拟信号端口是例如基础感知单元的引脚。作为举例,CDC包括激励信号线端口(AEC)与互电容输入信号线端口(ACC)。CDC通过AEC与ACC测量互电容,以及通过ACC测量自电容。

传感器同计算单元耦合。传感器向计算单元提供数字值而无需通过数字路由器中转。计算单元例如将传感器提供的数字值编码为AER包并通过数字路由器转发到神经网络的神经元。

图1E的例子中,基础感知单元包括控制单元、计算单元、NOC、神经单元与可选的执行单元。由NOC(片上网络,Network on Chip)代替了数字路由器。计算单元、控制单元与神经单元通过NOC彼此耦合。可选地,执行单元在基础感知单元外部,基础感知单元的控制单元同执行单元耦合,并驱动执行单元产生动作。

执行单元是例如马达、开关等,使机械手做出例如缩手避让的动作。由CPU核执行软件来提供控制单元,或由无需运行软件的硬件电路实现控制单元。控制单元接收NOC或数字路由器转发的数据包。转发给控制单元的数据包是AER包或专用于控制单元的数据包。控制单元从接收的数据包提取要实施的动作并驱动执行单元。

图1F的例子中,同图1E相比,基础感知单元还包括多个传感器。图1F的例子中,神经单元又分为本地神经单元与共享神经单元。传感器的输出耦合到计算单元的输出。计算单元将传感器输出的数字量编码为神经网络的神经元可接受的形式(例如AER包),并通过NOC提供给本地神经单元和/或共享神经单元。

图2展示了基础感知单元提供本地神经网络的示意图。

基础感知单元的神经单元的多个神经元被配置为本地神经网络。通过配置多个神经元各自的权重与彼此之间的连接关系,构建本地神经网络。本地神经网络包括例如输入层、中间层与输出层,各层均由本地神经网络的神经元构成。将构成输入层的神经元称为输入层神经元,将构成输出层的神经元称为输出层神经元,将构成中间层的神经元称为中间层神经元。神经元之间的连接关系描述了一个神经元的输出被提供给另一神经元作为其输入。一个神经元的输出可作为多个神经元的输入。一个神经元的输入可来自多个神经元的输出。本地神经网络被训练来感知待感知对象或外部事件。

图3展示了通过基础感知单元感知待感知对象的示意图。

作为举例,待感知对象310具有较小的尺寸,而待感知对象320具有较大的尺寸。由于待感知对象310的尺寸同基础感知单元接近,基础感知单元能较好的识别待感知对象310。基础感知单元由于仅感知了待感知对象320的局部信息,而无法较好识别待感知对象320。

在中国专利申请201710980214.3中,提供了“磁共振前列腺灌注图像的智能诊断恶性肿瘤的方法”,其通过分开独立训练两个神经网络,第一层神经网络对前列腺灌注的定量参数进行训练,第二层神经网络对叠加了疑似病灶像素的二值图进行训练。

在中国专利申请201811220643.1中,提供了基于联合学习身份信息和情感信息的面部表情识别方法,利用人脸识别图像数据库独立训练面部身份信息网络支路,训练完毕后将最后的全连接层去掉,通过神经网络可以提取得到输入图像的身份特征向量;利用面部表情图像数据库训练面部表情信息网络支路,完毕后把全连接层去掉,通过神经网络可以提取得到输入图像的情感特征向量;将身份特征向量和情感特征向量串联在一起得到串联面部特征表达;将融合身份信息和面部信息的串联面部表达特征馈送给全连接层,后续训练仅使用面部表情图像数据库对合并网络进行联合学习和优化。

在从https://arxiv.org/abs/1312.4400可获得的学术论文“Network inNetwwork”中,将多种网络线性堆叠,并对堆叠后的网络整体进行训练。

发明内容

需要提供包括多个基础感知单元的分布式系统来感知具有多种不同特征(例如不同尺寸、数量、材质、速度等)的待感知对象。

用于感知的分布式系统中存在这样的情况,一个传感器无法覆盖一个待感知对象,或一个待感知对象引起多个传感器响应,这时需要将多个传感器的输出信息综合起来,以获取关于待感知对象的多个层次信息。然而,对多个传感器的输出信息的综合处理存在挑战,传感器的数量、种类的变化以及待感知对象的多样性,进一步增加了复杂度。

为了应对上述一种或多种挑战,根据本申请的实施例提供了同类感知系统。同类感知系统包括多个基础感知单元,而多个同类感知系统可被大规模部署,以构成用于感知的分布式系统。从而同类感知系统所包括的基础感知单元的数量不必过大,以在复杂度和处理能力之间寻求适当的权衡。而且,同类感知系统所包括的多个基础感知单元彼此是相同的,以进一步便于大规模生产和部署。同类感知系统所包括的多个基础感知单元彼此相同,体现在多个基础感知单元彼此包括相同类型的传感器以及相同的硬件组成。

在用于感知的分布式系统中常有多种传感器,诸如获取电流、电容、力、温度等不同物理量的传感器。基础感知单元自身,可包括感知相同类型物理量的多个同类传感器,或者包括感知不同类型物理量的多个不同类传感器。即使基础感知单元包括了感知不同类型物理量的多个不同类传感器,属于同一同类感知系统的各个基础感知单元之间所包括的传感器类型彼此相同。例如,一个基础感知单元包括2个电容传感器与4个压力传感器,则其他基础感知单元同样包括2个电容传感器与4个压力传感器。可选地,同类传感器所获取的数据类型、尺寸等描述信息的类型相同。

属于同一同类感知系统的各个基础感知单元彼此包括相同类型的传感器,或者,同一同类感知系统的各个基础感知单元的传感器所感知的物理量的类型对应相同,降低了所采集数据的复杂度,也降低了综合处理这些基础感知单元的输出信息的复杂度,还使得应用于单一基础感知单元的数据处理方法可被通过复制而应用于其他基础感知单元,从而降低了开发与部署的复杂度。

根据本申请实施例的同类感知系统,还采用神经网络处理传感器获取的数据。这些经由同类传感器获取的数据作为对其处理的神经网络的输入信息,被相应的神经网络进行信息加工、识别、预测或控制等,对同类型传感器信息进行信息处理的神经网络其结构(各神经元的权重与神经网络的拓扑结构)也相同。从而进一步便于在多个基础感知单元上部署所训练的神经网络。

根据本申请实施例的同类感知系统,还通过神经网络处理各个基础感知单元的神经网络的输出,以综合处理各个基础感知单元的神经网络所感知的信息,以有利于识别多样性的待感知对象。即使待感知对象的例如尺寸远大于单个基础感知单元,通过综合多个基础感知单元各自感知的信息,来识别出待感知对象。

从而,根据本申请实施例的同类感知系统解决了用于感知的分布式系统的规模部署、规模生产问题。

在工作原理上,基础感知单元获取传感器提供的传感数据并做一定的加工,将获取的信息送入与传感器所在的基础感知单元的算力构成的神经网络的输入层,并经由该神经网络的输出层输出初步的识别、预测、分类结果等。同类感知系统中,各基础感知单元对应的该神经网络的架构、拓扑、权重初始信息等完全相同,这样做的目的是便于大型分布式感知系统的生产和部署,避免每个传感器对应的神经网络各自差异化训练和生产。

为了控制成本,单一基础感知单元的计算资源有限。在有些任务上需要更多的计算资源,例如,需要进行复杂的处理,或者综合多个基础感知单元的感知结果,各基础感知单元的神经网络的感知结果送给一个由这些基础感知单元共享的神经网络(将其称为共享神经网络)进行处理,这需要同类感知系统具有利用各个基础感知单元的计算资源以构建需要具有不同规模的神经网络的能力。

对于一个传感器或一个基础感知单元无法覆盖感知对象整体的情况,其对多个基础感知单元的传感器采集的信息采用多个独立、完整、相同的神经网络分别进行处理,每个这样的独立、完整、相同的神经网络称为一个节点,该节点输出待感知对象的局部计算结果,多个局部计算结果作为另外一个独立、完整的神经网络构成的节点的输入信息,这个接受多个节点输入的独立、完整的神经网络也构成一个节点,这个节点所需的算力资源也来自同类感知系统。

这种以同类感知系统构建分布式网络的方法具有以下优点:

1,解决单个传感器自带算力资源不足的问题;

2,解决单个传感器感知区域覆盖度不够的问题;

3,降低泛在分布式传感器网络中信息传输带宽和传感器网络的计算能耗问题。

协同计算系统要解决的问题是针对地理电子皮肤、机器人电子皮肤这些及类似的大面积分布式泛在触觉感知应用或多摄像头协同感知应用等情况,存在少数传感器及其附属的计算资源无法全面覆盖待测感知区域的问题。对触觉或视觉及其他传感器类似的应用中,只能采用多个传感器覆盖待感知区域的感知方式,传感器及其所拥有的计算资源就构成基本感知单元。存在单个基础感知单元所拥有的计算资源满足不了该传感器获取数据、理解数据、认识数据所需的算力资源问题,或单个基础感知单元无法覆盖待感知对象的情形。在待感知对象为由多个小实体形成的群体的情况下,群体的数量与占据的区域也为对其的感知带来挑战。为了感知具有多样性或复杂性的待感知对象,需要有足够规模的计算资源,这就带来单个基础感知单元获取数据的处理及所需计算资源分配及计算结果或信息的路由传递问题。

待感知区域内待感知对象的运动变化及待感知对象所占区域的大小的多样性,还为计算资源的利用率提出挑战。待感知区域内可能同时存在不构成群体的多个待感知对象,或者感知的目的不在于感知群体而是各个待感知对象的个体。也存在一些相对简单容易识别的待感知对象,识别此类待感知对象仅需少数的资源即可完成。动态分配感知所需计算资源有助于节约计算资源;多传感器的存在及待感知对象运动变化会引起感知区域的动态协同和/或计算资源的动态划分需求;多个传感器覆盖的广大区域的信息提取、压缩、概括是现实应用的需求,由于传感器数量多、传感器感知范围内事件的发生数量多,对多传感器信息的综合、压缩、概括描述就成为这种用于感知的分布式系统降低通信带宽的必然需求。

诸如SpiNNaker的大型分布式神经网络有助于解决复杂问题。但随着神经网络规模的增加,神经网络的神经元数量增加,进而导致神经元之间的连接数、神经元之间的通信量呈几何级数增长,并且使得计算资源、通信资源被快速耗尽。因而,单个神经网络的规模受到了限制而无法随待解决问题复杂性的增加而相应的增大。需要在用于感知的分布式系统中提供新型的神经网络系统的结构,以解决上述一种或多种问题。

总之,在每个传感器、节点、基础感知单元都具有一定计算资源情况下且在没有固定或指定的计算中心的情况下,协同计算系统解决多种、多个传感器分布式泛在布置在待感知区域时,待感知事件具有多样性和复杂性时,待感知事件频繁发生时,分布式智能计算系统硬件节点计算资源的优化配置与动态分配,以及降低分布式计算系统信息传递量的需求,通过这些优化配置从计算/通信角度降低用于感知的分布式系统的计算能耗、提高信息传递的效率。

根据本申请的一方面,提供同类感知系统,包括一个或多个基础感知单元与共享神经网络;基础感知单元提供本地神经网络;所述一个或多个基础感知单元的本地神经网络的输出都耦合到所述共享神经网络的输入;所述共享神经网络的输出作为所述同类感知系统的输出;所述一个或多个基础感知单元的本地神经网络,各自包括独立的输入层与独立的输出层;以及所述共享神经网络包括独立的输入层与独立的输出层。

根据本申请的又一方面,提供协同计算系统,包括属于至少两个不同层级的多个神经网络;所述多个神经网络的至少一个神经网络属于所述两个不同层级的较低层级,所述多个神经网络的至少另一个神经网络属于所述两个不同层级的较高层级;一个或多个属于所述两个不同层级的较低层级的神经网络的输出耦合到属于所述两个不同层级的较高层级的神经网络的输入;所述多个神经网络各自包括独立的输入层与独立的输出层。

根据本申请的又一方面,提供协同计算系统,包括一个或多个神经网络;所述一个或多个神经网络各自包括独立的输入层与独立的输出层;所述一个或多个神经网络各自由一个或多个基础感知单元的共享神经单元的神经元所构成;基础感知单元还包括私有神经单元;所述一个或多个神经网络的神经元不包括来自所述一个或多个基础感知单元的私有神经单元的神经元;所述一个或多个基础感知单元的私有神经单元的神经元构成的神经网络的输出耦合到所述一个或多个神经网络的至少一个的输入。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1A是基础感知单元的结构框图。

图1B是又一种基础感知单元的结构框图。

图1C是又一种基础感知单元的结构框图。

图1D是又一种基础感知单元的结构框图。

图1E是又一种基础感知单元的结构框图。

图1F是又一种基础感知单元的结构框图。

图2展示了基础感知单元提供本地神经网络的示意图。

图3展示了通过基础感知单元感知待感知对象的示意图。

图4A展示了根据本申请实施例的同类感知系统的示意图。

图4B展示了根据本申请又一实施例的同类感知系统的示意图。

图5A展示了根据本申请实施例的同类感知系统的工作原理与数据流动方式。

图5B与图5C各自展示了根据本申请实施例的同类感知系统的本地神经网络与共享神经网络的连接方式。

图6A与6B分别展示了根据本申请实施例的同类感知系统处理待感知对象的示意图。

图7展示了根据本申请实施例的同类感知系统的工作原理。

图8展示了根据本申请又一实施例的同类感知系统处理待感知对象的示意图。

图9展示了根据本申请实施例的包括多个同类感知系统的分布式系统的示意图。

图10A展示了根据本申请实施例的协同计算系统。

图10B展示了根据本申请又一实施例的协同计算系统。

图11A给出了协同计算系统中节点间跨级连接的示例。

图11B给出了协同计算系统中节点间平级连接关系的示例。

图12给出了协同计算系统中节点间平级与跨级连接关系所适用的应用场景。

图13A展示了协同计算系统中反层级连接关系示例。

图13B与13C给出了协同计算系统中节点间反层级连接关系所适用的应用场景。

图14展示了根据本申请实施例的协同计算系统中节点的神经网络所需计算资源的构成。

图15展示了根据本申请又一实施例的协同计算系统中节点的神经网络所需计算资源由基础感知单元中的共享神经单元构成的情形。

图16展示了根据本申请实施例的协同计算系统运行时的一个实例。

图17A、图17B分别给出了协同计算系统、传感器与待感知对象位置关系的工作实例。

图18A和图18B展示了待感知对象运动时协同计算系统的动态构建的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图4A展示了根据本申请实施例的同类感知系统的示意图。

同类感知系统包括多个基础感知单元。每个基础感知单元包括本地神经单元与共享神经单元。本地神经单元的计算资源(神经元)用于构建本地神经网络。一个或多个基础感知单元的共享神经单元的计算资源用于构建共享神经网络。本地神经网络仅包括来自单一基础感知单元的本地神经单元的计算资源。共享神经网络可包括来自一个或多个基础感知单元的共享神经单元的计算资源。图4A的例子中,示出了基础感知单元包括一个本地神经单元与一个共享神经单元,可以理解地,基础感知单元可包括其他数量的本地神经单元/共享神经单元。

从而,基础感知单元具有由自身的本地神经单元的计算资源所构建的本地神经网络,将其称为基础感知单元的本地神经网络。基础感知单元的本地神经网络用于处理该基础感知单元自身的一个或多个传感器所采集的数据。

本地神经网络与共享神经网络各自是完整的神经网络,各自包括由自身独占的输入层、中间层与输出层,也称为独立的输入层、独立的中间层与独立的输出层。从而本地神经网络与共享神经网络各自可被独立训练。即使本地神经单元/共享神经网络各自的神经元构建了多个神经网络,属于一个神经网络的输入层/中间层/输出层的神经元不会再作为其他神经网络的神经元。一个神经网络的中间层/输出层,也不会服务于其他神经网络,不会处理或接收来自其他神经网络的神经元的输出。一个神经网络的输入层/中间层,也不会服务于其他神经网络,不会向其他神经网络的神经提供输出。

本地神经网络与共享神经网络各自可被独立训练的意义还在于,根据本申请实施例的各神经网络的输入/输出都有明确的物理意义。例如,本地神经网络的输入是来自传感器的数据或物理量,而其输出是对传感器数据的识别结果(例如出现某种物体),从而当本地神经网络的输出作为共享神经网络的输入时,共享神经网络的输入也有明确的物理意义,以及相应地,共享神经网络的输出也有明确的物理意义。各神经网络的输入与输出都有明确的物理意义,使得各神经网络可被独立训练,因为明确的物理意义是人工/机器可表达的,从而可以线下生成各神经网络的训练样本,而无需依赖于其他神经网络的输入。在图4A的例子中,对于共享神经网络,即使不存在本地神经网络,也能生成用于共享神经网络的训练数据,因为共享神经网络的输入与输出都具有明确的物理意义。现有技术中虽然也存在层次化的神经网络,但其后级神经网络的训练数据依赖于前级神经网络的输出,从而对各级神经网络需要联合训练,并导致训练过程的复杂度增加。

本地神经网络输出对对象的识别结果,而不是处理待感知对象得到的不具有明确物理意义的特征向量,这也是本申请的神经网络区别于现有技术的神经网络的重要特征。

根据本申请实施例的各神经网络彼此是独立且完整的神经网络。这意味着,本地神经网络410与本地神经网络420之间无需存在连接关系。从而即使本地神经网络410内部的各层神经元之间是全连接的,而本地神经网络410的输入层/中间层神经元,仅同本地神经网络410内部的神经元存在连接,而同本地神经网络420或其他神经网络的神经元不存在连接,本地神经网络410同其他神经网络的连接,仅存在于本地神经网络410的输出层神经元与其他神经网络的输入层神经元之间。通过消除分属不同神经网络的神经元之间的连接,极大降低了不同神经网络的神经元之间的连接数量(规模),使得实现大规模的分布式系统成为可能。从而,随着网络规模的增加,神经元之间的连接数量不会几何级数增长,使得网络中由神经元之间的信息传递引起的通信量都可承受。

作为对比,中国专利申请201710980214.3的方案中虽然也提及了独立训练两个神经网络,但其实质上是ResNet模型所提供的残差学习的实例。其第二层神经网络的输入包括残差学习所需要的原始输入x(前列腺二值图)与第一层神经网络的输出F(x)(疑似病灶像素),因而其第二层神经网络的训练并非独立的,而是依赖于第一层神经网络的输出以及原始输入,从而在没有第一层网络的输出的情况下,第二层神经网络无法进行训练。换句话说,对其两层神经网络的训练实质上是一起而非独立进行的。在本申请实施例中,各神经网络的训练可以不依赖于其他神经网路的输出即可完成,也不依赖于原始数据。具体地,对图4A中的共享神经网络的训练,可不依赖于传感器的传感数据,共享神经网络的训练样本可以不包括传感器的传感数据。另一方面,中国专利申请201710980214.3的方案中,对第一层神经网络对前列腺二值图进行处理,且仅对前列腺二值图进行处理,其输入的前列腺二值图相当于单一的传感器的传感数据,而本申请的本地神经网络处理多个/多种传感器的传感数据。本申请实施例的基础感知单元以及由基础感知单元提供资源形成神经网络,也同该现有技术有本质区别。

依然作为对比,中国专利申请201811220643.1的方案中,面部身份信息网络支路与面部表情信息网络支路被训练后去掉了全连接层,两个支路各自提供的输出是输入图像的身份特征向量与输入图像的情感特征向量(而非具有物理意义的结果),并将两种特征向量作为面部特征表达再提供给全连接层。由于其连个支路被去掉了全连接层,因而其不再是完整的神经网络。其将特征向量作为后续全连接层的输入。而神经网络输出的特征向量不同于根据本申请实施例的有明确物理意义的数据。具有明确的物理意义意味着其具有可被人理解且同所感知对象或事件关联的含义,从而可通过解析、枚举等方式生成,从而可以无需借助神经网络输出的方式来生成训练样本,进而实现对根据本申请实施例的神经网络的独立训练。中国专利申请201811220643.1的方案中,两个制度的神经网络是不完整的,其全连接层被去掉,并将两个神经网络内部的特征向量提供给另一个全连接层。而本申请的实施例中,各个神经网络都是完整的,各自是包含输入层、中间层(隐藏层)和输出层的独立完整神经网络,各神经网络的输入层/中间层/隐藏层仅为神经网络自身所用,而不会同其他神经网络共享或共用。

在图4A的例子中,示出的两个本地神经网络(410与420)是相同的,其具有相同的拓扑结构(相同的神经元数量、以及相同的神经元连接关系),以及其对应的神经元具有相同的权重。从而经训练的一个本地神经网络的参数可被应用于构建另一个本地神经网络,而无需为每个本地神经网络重复训练。

共享神经网络同本地神经网络的拓扑结构/权重可以相同或不同。在共享神经网络同本地神经网络不同时,共享神经网络需要被独立训练,或者通过独立的训练来获得共享神经网络所需的参数。

图4A的例子中,两个本地神经网络的输出都被提供给共享神经网络,并作为共享神经网络的输入。从而共享神经网络得以综合两个本地神经网络的处理结果,并输出自身的处理结果,作为例如图4A的同类感知系统对待感知对象的感知结果。

共享神经网络的各个神经元可以由两个基础感知单元的任何一个的共享神经单元提供。为了支持在两个共享感知单元各自的神经元之间通信以构建共享神经网络的神经元之间的连接,两个基础感知单元通过网络连接(未示出),从而一个神经元输出的数据或数据包通过网络被提供给另一个神经元。可选地,为了易于开发,即使属于相同基础感知单元的共享神经单元(和/或本地神经单元)的神经元之间,也通过网络连接。从而每个神经元具有在网络中的唯一标识(称为神经元地址)。例如,在神经元输出的数据包中携带源神经元地址与目的神经元地址,来分别表达发出该数据包的神经元与接收该数据包的神经元,基础感知单元的数字路由器依据神经元地址来完成从发出数据包的神经元(源神经元)到目的神经元(接收数据包的神经元)之间的数据包投递。

源神经元地址与目的神经元地址,也表达了本地/共享神经网络中,两个神经元的连接关系。训练好的本地/共享神经网络中的各神经元具有其所连接的神经元。本地或共享神经网络(统称为神经网络)内的所有神经元的连接关系,构成了神经网络的拓扑结构。

在根据本申请实施例的同类感知系统中,本地神经网络的仅输出层神经元同共享神经网络的神经元连接,本地神经网络的输入层/中间层神经元仅连接到该本地神经网络的神经元。以便于同类感知系统的开发与构建,也避免了本地神经网络的神经元发出的数据包被投递到其所属基础感知单元外部,从而限制了同类感知系统的网络中的数据量,也降低了在神经元之间数据包所传输的距离,以限制同类感知系统的功耗。

同类感知系统的各基础感知单元各自具有自身在世界空间中的物理位置。从而各自邻近或适于感知待感知对象的某个局部特征。从而各基础感知单元各自具有不同的物理位置,从而各自提供了对待感知对象的不同局部特征的识别。通过共享神经网络处理由各个本地神经网络提供的对待感知对象的局部特征的识别结果,促进共享神经网络得到待感知对象的整体识别结果,或相对于基础感知单元所感知的更全面的识别结果,从而有利于更准确的识别待感知对象。

可以理解地,同类感知系统可包括其他数量的基础感知单元,以适应例如不同尺寸的待感知对象。而同类感知系统的共享神经网络又屏蔽了具有不同数量基础感知单元的同类感知系统之间的差异,便于更上层以统一的方式处理多种或不同同类感知系统的感知结果。

各基础感知单元通过有线的点对点网络和/或无线网络彼此耦合。基础感知单元通过点对点接口或共享介质网络(例如,以太网或无线网络)互连,从而各基础感知单元都可为共享神经网络提供神经元。

图4B展示了根据本申请又一实施例的同类感知系统的示意图。

在图4B的例子中,同类感知系统包括3个基础感知单元。每个基础感知单元包括自身的本地神经网络。3个基础感知单元各自的共享神经单元为同类感知系统的共享神经网络提供资源(神经元)。3个基础感知单元各自的本地神经网络的输出被提供给共享神经网络,作为共享神经网络的输入。共享神经网络的输出代表了同类感知系统对待感知对象的感知结果。

可选地,同类感知系统还作为预制件来提供,以便于部署。预制件具有指定的外形,占有一定的空间范围,并集成或容纳了例如图4B的同类感知系统的3个基础感知单元。从而在存在多个同类感知系统时,各同类感知系统的空间位置不重叠。属于同一个同类感知系统的各基础感知单元彼此邻近,其间的距离例如小于其基础感知单元到其他同类感知系统的基础感知单元之间的距离。可选地,预制件提供多个基础感知单元,这些基础感知单元可被配置来构成多个同类感知系统,从而这些同类感知系统的空间位置重叠。

图5A展示了根据本申请实施例的同类感知系统的工作原理与数据流动方式。

参看图5A,同类感知系统的每个基础感知单元包括例如一个本地神经网络与一个或多个传感器。基础感知单元的传感器获取(通过CDC、ADC等获取)的传感数据被提供给本地神经网络的输入层作为其输入进行处理。同类感知系统的各个基础感知单元的本地神经网络的处理结果又作为同类感知系统中的共享神经网络的输入层信息从而由共享神经网络进行进一步处理,并经由共享神经网络的输出层给出处理结果信息。其中共享神经网络是包含输入层、隐藏层、输出层的有一个独立、完整的神经网络。

可选地,传感器的输出经过处理后再提供给本地神经网络的输入层,以满足本地神经网络的输入格式或时机的需求。依然可选地,基础感知单元的计算单元对传感器的输出做处理。计算单元还通过例如基于先验知识的的数据处理方法处理传感器的输出,或者将传感器的输出直接馈入本地神经网络的输入层。

图5A展示了3个基础感知单元(对应3个本地神经网络)构成的同类感知系统。依然可选地,同类感知系统可包括其他数量的基础感知单元。

图5B与图5C各自展示了根据本申请实施例的同类感知系统的本地神经网络与共享神经网络的连接方式。

本地神经网络与共享神经网络各自包括完整、独立的输入层、中间层与输出层。本地神经网络输出层神经元的输出可经过进一步信息处理或者直接输出到对应的共享神经网络的输入层神经元,并作为其输入,其中每个本地神经网络与每个共享神经网络均包含完整的输入层、中间层(隐藏层)和输出层,并可被独立训练。本地神经网络的输入层神经元的输入来自其所属基础感知单元的一个或多个传感器或计算单元。本地神经网络的中间层或输出层神经元的输入来自本地神经网络的一个或多个神经元。共享神经网络的输入层神经元的输入来其所属同类感知系统的各个基础感知单元的本地神经网络的输出层神经元。共享神经网络的中间层或输出层神经元的输入来自共享神经网络的一个或多个神经元。由于共享神经网络的神经元可由其所属同类感知系统的任何基础感知单元的共享神经单元提供,因而,共享神经网络的神经元之间的数据传输可能发生在耦合各个基础感知单元的网络上。因而共享神经网络工作时,在网络上产生数据传输,消耗了网络带宽与能量。而本地神经网络的神经元之间的数据传输发生在基础感知单元内部,不在网络上产生数据量,不消耗网络带宽。属于某个本地神经网络的所有神经元都来自该本地神经网络所属的基础感知单元,而不会来自其所属同类感知系统的其他基础感知单元。从而某个基础感知单元的本地神经单元提供的神经元通常仅连接到该基础感知单元的本地神经单元的神经元,仅少数作为本地神经网络的输出层的神经元才可能连接到其他基础感知单元的共享神经单元的神经元,从而极大地限制了本地神经网络的神经元所连接的目的神经元的范围,从而目的神经元地址的取值空间较小,可以用较短的比特序列来表达,进而降低了数据路由器的开销。进一步地,还限制了本地神经网络的规模和复杂度,从而对本地神经网络的训练变得简单。

在用于感知的分布式系统中包括多个同类感知系统的情况,或者存在一个或多个基础感知单元不属于某同类感知系统的情况下,同类感知系统的共享神经网络的神经元仅来自该同类感知系统所包括的基础感知单元的共享神经单元,从而便于同类感知系统的复制与部署。

图5C给出了传感器的输出信息与本地神经网络的连接方式。在图5C的例子中,基础感知单元分别包括2个传感器。图5C的左下的本地神经网络所属的基础感知单元包括传感器1与传感器2,而右下的本地神经网络所属的基础感知单元包括传感器3与传感器4。作为举例,传感器1与传感器2,同传感器3与传感器4的类型对应相同(例如,传感器1与传感器3都是电容传感器,而传感器2与传感器4都是压力传感器)。从而图5C中的两个本地神经网络可具有相同的初始网络参数(神经元权重与网络拓扑结构)。通过在研发阶段训练单一的本地神经网络,而在生产或部署阶段将所训练的该神经网络的参数配置到同类感知系统的各个本地神经网络,使得各个本地神经网络都可工作。进一步地,各本地神经网络在工作中可能发生演进,使得各本地神经网络的参数不再相同。

在可选的实施方式中,同一个基础感知系统中本地神经网络的输入层信息不仅可以来自其自身传感器获取的环境信息,也可来自同类感知系统中的其他基础感知单元的传感器获取的数据。通过网络在同类感知系统的各基础感知单元之间路由或传输传感器获取的数据,和/或通过模拟路由器在各基础感知单元之间路由或传输要采集的模拟信号。在申请号为202110964601.4与202110957229.4的中国专利申请中提供了模拟信号路由器的例子。可以理解地,根据本申请的实施例,还可利用其他的现有或将来出现的模拟信号路由器。可选地,本地神经网络无需意识到传感器为其提供的输入来自其所属基础感知单元或其他基础感知单元。

图6A与6B分别展示了根据本申请实施例的同类感知系统处理待感知对象的示意图。

如图6A所示,同类感知系统包括4个基础感知单元。每个基础感知单元具有自己所在的位置,从而通过部署4个基础感知单元,使得同类感知单元能覆盖更大的面积或三维空间范围,进而通过不同位置的传感器采集待感知对象在不同位置或待感知对象的不同部分所产生的对物理量的影响。在图6A的例子中,待感知对象的尺寸较大,呈四角星形,并出现在4个基础感知单元所围成的矩形的内部。4个基础感知单元的传感器各自采集数据,并提供给各自的本地神经网络处理。4个基础感知单元的本地神经网络的处理结果提供给同类感知系统的共享神经网络,共享神经网络根据4个本地神经网络的输出产生自己的输出。由于单个基础感知单元的传感器邻近待感知对象的局部,从其采集的数据中一般无法识别该感知对象的全貌,而由本地神经网络输出对其局部特征的识别结果。共享神经网络依据4个本地神经网络各自识别的待感知对象的局部特征的识别结果,整体上识别该待感知对象。

在图6A的例子中,基础感知单元包括单一的神经单元。神经单元的部分资源被用来构建其所在基础感知单元的本地神经网络,而其他部分资源被用来构建同类感知系统的共享神经网络。

在图6B的例子中,基础感知单元包括本地神经单元与共享神经单元。本地神经网络的神经元仅由其所属基础感知单元的本地神经单元提供。共享神经网络所需的神经单元由4个基础感知单元的一个或多个基础感知单元的共享神经单元提供,共享神经网络构建所需的共享神经单元可不必来自感知到带感知对象的基础感知单元,也可以来自其它的基础感知单元。

图7展示了根据本申请实施例的同类感知系统的工作原理。

一个待感知对象的完整信息可划分为若干个部分(例如A、B、C、D……,各部分可相交或不相交)。各个部分可以是待感知对象物理的组成部分,如汽车的各个部件,人的手、脚、头、驱赶等等。例如:A、B、C、D是卡车的四个轮子,E(未示出)是卡车底盘)。这些信息分别被一个或多个基础感知单元的传感器获取,各个基础感知单元的本地神经网络(独立完整的本地神经网络NA、NB、NC、ND……)对感知到的信息分别进行处理获得对各个部分的感知结果(例如A部分是否汽车轮子的判断、E部分是否车身底盘的判断等)。这些本地神经网络(NA、NB、NC、ND……)的感知结果又作为共享神经网络NS(包含输入层、隐藏层、输出层)的输入。共享神经网络NS对来自各个本地神经网络NA、NB、NC与ND的感知结果(输出)进行处理,得到待感知对象整体(A∪B∪C∪D∪……)的感知结果(例如通过A部分、B部分、C部分与D部分是否都是轮子、E部分是否是底盘的判断结果,给出待感知对象整体是否卡车的判断)。以图7为例,处理待感知对象的各部分(A、B、C、D)的各本地神经网络具有相同的初始参数,并作为单一的神经网络被训练,然后将具有相同参数(神经元权重/网络拓扑结构)的本地神经网络随基础感知单元分别部署在各个区域来得到本地神经网络(NA、NB、NC、ND……)。可选地,各个本地神经网络也不必相同,但每一个本地神经网络均可独立训练和实施推断(感知其邻近物体)。

由于A、B、C、D……各部分有明确的物理意义,例如,轮子、地盘、手,从而各本地神经网络可被独立训练来学习如何感知这些部分。进一步地,共享神经网络NS的感知目标(例如卡车、人)与来自各本地神经网络的输出(是车轮、是地盘或者是手等)也有明确的物理意义,从而共享神经网络也可被独立训练来学习如何感知待感知对象。可选地,对本地神经网络之一的训练结果(训练好的网络参数)可被复制到其他本地神经网络,以简化训练和部署过程。训练好的本地神经网络的网络参数可以不同于共享神经网络。

图8展示了根据本申请又一实施例的同类感知系统处理待感知对象的示意图。

图8给出了一种同类感知系统的构成方式。同图6B展示的同类感知系统的实施例相比,图8的同类感知系统的基础感知单元还包括多个(2个)传感器。以及除了同类感知系统所包括的4个基础感知单元,图8的例子中还包括不属于同类感知系统的基础感知单元(左下角的基础感知单元)。

图8的同类感知系统的基础感知单元中本地神经网络的输入信息可来自一个或多个基础感知单元的传感器,提供这些传感器的基础感知单元可以属于或不属于该同类感知系统。在一个例子中,构成同类感知系统的共享神经网络的神经元都来自属于该同类感知系统的基础感知单元的共享神经单元。可选地,构成共享神经网络的神经元的一部分或全部也可来自不属于该同类感知系统的其它基础感知单元的共享神经单元。

依然可选地,同类感知系统工作中,一些基础感知单元可能没有感知到待感知对象的信息,但这不影响这些基础感知单元的本地神经网络向同类感知系统的共享神经网络提供处理结果,也不影响这些基础感知单元的共享神经单元向共享神经网络提供神经元,甚至不影响这些基础感知单元的传感器或传感器的部分组件(例如电容极板)向其他基础感知单元的本地神经网络/传感器提供信息。

图9展示了根据本申请实施例的包括多个同类感知系统的分布式系统的示意图。

图9的用于感知的分布式系统的例子中,包括多个基础感知单元。图9中的多个基础感知单元在空间上构成阵列。当待感知对象出现在该分布式系统覆盖的范围内,待感知对象的位置和各基础感知单元的位置,对应了各基础感知单元的传感器采集的不同数据。一个或多个待感知对象处于该基础感知单元阵列的感知范围内,覆盖不同待感知对象的基础感知单元数量可以相同也可以不同。

该基础感知单元阵列中可包括多个相同或不同的同类感知系统。

图9中,左上角给出了由两个基础感知单元构成同类感知系统910的例子,即用两个基础感知单元构建同类感知系统来感知特定的待感知对象。图9中右中部分给出了由四个基础感知单元构成的同类感知系统920的例子。与同类感知系统910相比,同类感知系统920包括四个基础感知单元,并更加适合对较大尺寸的待感知对象进行感知。依次类推,由多个基础感知单元构成的阵列,可以根据待感知对象特征的不同,构建不同数量规模的同类感知系统。这些同类感知系统中每个基础感知单元都具有本地神经单元和共享神经单元,这些神经单元可用来构建基础感知单元的本地神经网络和所需要的共享神经网络。

由于待感知对象的多样性、复杂性,待感知区域的覆盖范围广阔,在对计算资源、通信资源的大规模需求与基础感知单元的成本与有限资源之间存在矛盾。

根据本申请的实施例,提供了协同计算系统。协同计算系统解决用于感知的分布式系统的多种、多个传感器(每个传感器覆盖的感知区域有限、每个传感器节点拥有的计算资源有限)分布式泛在布置在待测区域时,待监测事件频繁发生时,分布式系统硬件节点计算资源的优化配置、动态分配以及降低分布式计算系统信息传递量的需求,通过这些优化配置从计算角度降低分布式感知系统、分布式计算系统的计算能耗、提高信息传递的效率。

图10A展示了根据本申请实施例的协同计算系统。

协同计算系统是由多个神经网络形成的神经网络系统。协同计算系统中的各个神经网络由基础感知单元提供的计算资源构建起来的独立、完整的神经网络。每个神经网络各自拥有属于自身的独立的输入层、输出层与中间层,并且可被独立训练以得到自身的网络参数。协同计算系统的多个神经网络彼此连接,形成例如树形结构,每个神经网络称为树形结构的节点。协同系统计算系统的各神经网络之间的连接,不同于单个神经网络内部的神经元之间的连接。各神经网络之间的连接,是神经网络的输出层神经元到另一神经网络的输入层神经元之间的连接。为了描述清楚的目的,将一对连接的两个神经网络分别称为源神经网络与宿神经网络,源神经网络的输出由其输出层神经元产生,并作为宿神经网络的输入,宿神经网络的输入由其输入层神经元接收。在基础感知单元的路由表中配置了从源神经网络的输出层神经元到宿神经网络的输入层神经元的路由信息,从而源神经网络的输出层神经元的输出在协同计算系统中被传递给宿神经元的输入层神经元。

协同计算系统的树形结构,按照节点在树形结构中的位置,例如节点在树形结构中的深度和/或与树形结构的高度可以将节点划分为不同的层级。图10A中,展示了层级L1、L2与L3。越小的数字代表越低的层级。层级的高低反映了神经网络距离树形结构的最下层的距离远近(这里将树形结构的根节点称为树形结构的最上层)。图10A的例子中,L1层是树形结构的最下层,而L2层是中间层,L3层是树形结构的最上层(根节点)。作为举例,低层级的神经网络的输出耦合到高层级的神经网络的输入。

可以理解地,树形结构可具有不同的层级与不同的形状。在树状结构退化为仅包括1个神经网络时,是例如同类感知系统的共享神经网络。

协同计算系统的每个节点是独立的神经网络,各神经网络包含完整的输入层、中间层与输出层,并可被独立训练。同时,每个节点还具有这样的特征:1)单一节点可以接受一个或多个节点的输出,从而该一个或多个节点作为该单一节点的输入节点,该单一节点自身的输出也可作为其自身的输入;2)单一节点整体只有一个输出,但这一个输出可以作为多个节点的输入,当这个单一节点输出给多个节点时,收到信息的多个节点获得的关于这个单一节点的输出信息是相同的。

根据本申请实施例的协同计算系统的树形结构不必是数学意义上严格的树形结构,而是用于模拟智慧生物的层次化神经系统。诸如人类的神经系统包括外周神经系统与中枢神经系统,中枢神经系统又包括脑和脊髓,从而人类的神经系统呈现出类似树状结构的层次性。但神经系统的关系又是复杂的。

图10B展示了根据本申请又一实施例的协同计算系统。

图10B的协同计算系统,同图10A相比,包括更多的层级(L1、L2、L3与L4层级),而且,其L1层级的神经网络1020的输出同时提供给L2层级的2个神经网络(神经网络1022与神经网络1024)。这种连接关系同通常意义的树形结构不同。根据本申请实施例的协同计算系统,其树形结构的节点的连接关系可以是灵活多样,并根据应用的特点而设置。

返回参看图10A,图10A所展示的协同计算系统一个实例为:手掌的每个手指的三个指节分别布置三个传感器及三个小型神经网络(这三个小型神经网络属于L1级,这三个小型神经网络分别对三个指节的传感器的输出进行计算),L1级神经网络对三个指节的传感器的输出处理得到的感知结果(例如指节弯曲的角度,或者有外界物体邻近该指节)通过L2级的神经网络整合为一个手指的整体触觉感知结果,两个手指的触觉感知结果(由2对应这2个手指的两个L2级神经网络分别提供)作为一个触觉动作(例如抚摸)的感觉结果,这个结果由L3级神经网络感知得到。

续上例说明,图10B所展示的协同计算系统一个实例为:图10B中,L2级最左边节点的输出是例如食指的感知结果,L2级中间节点(神经网络1022)的输出是食指与大拇指中间部分的感知结果,L2级右边的节点(1024)的输出是拇指的感觉结果。由于食指和拇指在抓握过程中紧密耦合,食指与拇指中间区域的结果既需要与食指进行联合信息计算,也需要与拇指指节的信息进行联合计算,并进而获取食指、拇指的联合抓取动作的触觉感知识别。

图11A给出了协同计算系统中节点间跨层级连接的示例。图11B给出了协同计算系统中节点间平级连接的示例。

图11A的协同计算系统中,L1层的最左侧节点的输出被跨层级直接提供给L3层级的最左侧节点,而L1层的节点(神经网络1120)的输出被跨层级直接提供给L4层级的节点(神经网络1140)。L3层级的该最左侧节点还接收来自L2层级的两个节点的输出,L4层级的根节点(神经网络1120)还接收来自L3层级的两个节点的输出。

图11B的协同计算系统中,L2层级的中间两个节点之间存在平级连接,其左侧的节点的输出提供给右侧节点;在L3层级的两个节点之间存在平级连接,其左侧的节点的输出提供给右侧节点。

在本申请的说明书的上下文中,将具有平级连接、跨级连接、反层级连接(从高层级到低层级的连接)以及从源节点(源神经网络)到宿节点(宿神经网络)的一对多连接的节点层级结构,都称为树形结构。

图12给出了协同计算系统中节点间平级与跨级连接关系所适用的应用场景。

作为一个例子,也参看图12,其中各框代表了协同计算系统的树形结构的节点,左手掌、右手掌指的是协同计算系统树状结构的叶子节点(最底层节点)所代表的独立完整神经网络输出表示的触觉意义,越靠近协同计算系统根节点(最上层节点)的神经网络的计算结果表示的身体部位的范围越大,例如左手臂包含左手掌,左胳膊包含左手臂进而包括以及左手掌,包含左肩的左边部位包括左胳膊(进而包括左手臂,而左手臂包括左手掌),依次类推;根节点神经网络的输出表示双臂的触觉感知结果。

在一些动作中,左手会触摸到自身(例如手指触摸手掌),或摸右手,或左手拿个锤子对右手掌、右手臂等部位进行锤击(例如养生锤),会导致左手和右手触觉信息的融合(由树形结构的节点间的平级连接来反应这种信息传递关系)、或左手和右手臂的触觉信息融合(由树形结构的节点间的跨级连接来反应这种信息传递关系)。或左手手持养生锤,锤击右手臂,锤击右胳膊等部位;此时右手其它部位可以有触觉信息输入,也可以没有触觉信息输入;左手的触感信息作为相应的输入信息给同级节点、或高一级节点的神经网络,这两个信息的联合可以更好的判断锤击引起的触觉信息;同时左手也可以抓握左肩,或持锤敲击左肩,这种节点的跨级连接,可以更好的表征触觉信息发生的偶然性和关联性。平级连接、跨级连接并不局限于图12的实例。

图13A展示了协同计算系统中反层级连接关系示例。图13B与图13C给出了协同计算系统中节点间反层级连接关系所适用的应用场景。

在该示例中,协同计算系统中不仅具有跨级向上的节点间连接关系,而且具有跨级向下输出计算结果的节点间连接关系。例如,图13A的例子中,L3层级的最左侧节点的输出被提供给L1层级的最左侧节点,而L4层级的根节点的输出被提供给L2层级最右侧的节点。

如图13B左图所示,在机器手手部应用中,在t1时刻手部对应抓握小球的动作,此时,如图13C的上半部分所示,食指、中指、掌心等及整个手掌对应的触觉信息处理神经网络均有信息的输入和输出,手掌的神经网络(例如,图13A的根节点)给出判断此时手部握住的是球。

下一时刻t2,如图13B右图所示,手部动作变为指尖顶起旋转的小球。此时,如图13C下半部分所示,对应的神经网络仅食指处的节点(神经网络)具有信息输入和输出,由于食指指尖对应的神经网络只能判断出指尖旋转的感觉,但不能判断出旋转的是什么,但t1时刻神经网络的结果(根节点)作为t1时刻食指处的神经网络(根节点的下级节点)的输入信息,两个时刻的信息联合可以判断出来食指指尖旋转的是球体。

通过上面的多个例子可以理解,在分布式的感知应用中,待感知对象与应用场景具有多样性。根据本申请实施例的协同计算系统,除了组合多个独立且完整的神经网络,进一步通过对多样性的神经网络系统的结构的支持,来适用于多样性的感知应用。根据本申请实施例的协同计算系统,还在于提供构建多样性的神经网络系统的能力。从而在不同的应用场景,或者相同应用场景中而待感知对象不同或变化时,依然能有效实现对待感知对象的感知。

构建协同计算系统还需要为其提供硬件资源。根据本申请的实施例,基础感知单元为协同计算系统提供计算资源。为协同计算系统提供计算资源的基础感知单元,不受协同计算系统所处理的待感知事件的位置限制,也不受采集待感知事件相关数据的传感器所属的基础感知单元的限制,而可以利用用于感知的分布式系统中的任意基础感知单元的资源。然而,可以理解地,用邻近待感知事件的基础感知单元为协同计算系统提供计算资源,将有助于降低神经网络的神经元的输入/输出数据在网络上传输的距离,并降低对网络带宽和能量的消耗,也有助于降低数据传输的延时。

图14展示了根据本申请实施例的协同计算系统中节点的神经网络所需计算资源的构成。

协同计算系统中各个节点的神经网络所需的计算资源(神经元)均来自基础感知单元的神经单元。协同计算系统中一个节点的神经网络的神经元可来自一个或多个基础感知单元的神经单元,一个基础感知单元的神经单元的神经元可同时分配给协同计算系统中的一个或多个节点。这种分配一般采取就近的原则分配:即协同计算系统中节点的神经元通常来源于邻近该节点所感知的待感知对象的空间位置或待感知事件的发生地的一个或多个基础感知单元。这个发生地由一个或多个基础感知单元根据感知事件定义。进一步地,还充分利用分布式系统中的闲置的计算资源(空闲的基础感知单元、基础感知单元中神经单元中未被分配使用的神经元等),并避开忙碌状态的计算资源(神经单元中已被分配来构建神经网络的神经元)。

为感知待感知对象,基础感知单元的传感器采集因待感知对象所引起的信号或信号变化,并将采集的传感数据直接或经处理后提供给神经网络。该传感器所属的基础感知单元同为处理该待感知对象的协同计算系统提供神经元的基础感知单元可以是相同或不同的基础感知单元。由例如基础感知单元的计算单元处理传感数据。

参看图14,协同计算系统包括三个层级(L1、L2与L3)的神经网络,4个基础感知单元(1410、1420、1430与1440)的神经单元为该协同计算系统的神经网络提供计算资源(神经元)。在根据本申请实施例的用于感知的分布式系统中,基础感知单元通过点对点接口或共享介质网络(例如,以太网或无线网络)互连,从而任意基础感知单元可为任意神经网络提供神经元。作为举例,神经单元1410为神经网络1412、1414与1416提供神经元。在图14中,基础感知单元到神经网络之间的虚线表示基础感知单元为该神经网络提供神经元,而神经网络之间的带箭头实线表示神经网络之间的数据传输关系,箭头的前端指示宿神经网络而尾端指示源神经网络。

继续参看图14,神经单元1420为神经网络1412、1422与1424提供神经元;神经单元1430为神经网络1414、1432与1434提供神经元;神经单元1440为神经网络1434、1442与1444提供神经元。还注意到构成同一神经网络的神经元可由一个、两个或其他数量的基础感知单元的神经单元提供。

基础感知单元还为神经元之间的数据传输提供路由,以在网络中将来自一个基础感知单元的神经单元的神经元路由到该神经单元的其他神经元或其他基础感知单元的神经单元的神经元。现有技术中已经存在在神经元之间路由所传输数据的方式。

图15展示了根据本申请又一实施例的协同计算系统中节点的神经网络所需计算资源由基础感知单元中的共享神经单元构成的情形。

在图15的例子中,同图14相比,基础感知单元包括本地神经单元与共享神经单元以及控制单元。基础感知单元的本地神经单元用于为本地神经网络提供计算资源(神经元)。也参看本申请的图4A到图9,结合同类感知系统的实施例,描述了基础感知单元提供的本地神经网络。

在图15的例子中,这些本地神经网络构成协同计算系统的L0层级。L0层级节点的输出信息作为协同计算系统中L1级或其他层级的节点的输入信息或部分输入信息。依次类推,协同计算系统的神经网络之间的连接关系或数据传递关系定义了协同计算系统的层级,包括L1、L2、L3……LN级等。通常情况下,更低层级的神经网络的输出数据被作为更高层级的神经网络的输入数据。如前面已经介绍地,在协同计算系统中,也存在逆层级连接、平级连接、跨级连接等关系。

在可选的例子中,同类感知系统的共享神经网络作为协同计算系统的L0层级,而同类感知系统的本地神经网络不作为协同计算系统的一部分。

继续参看图15,协同计算系统中L1、L2与L3级节点的神经网络所需的计算资源(神经元)均来自基础感知单元中的共享神经单元。这也体现了区分本地神经单元与共享神经单元的目的。本地神经单元专用于为本地神经网络提供神经元,从而本地神经网络的神经元之间的数据传输仅限于其所属基础感知单元内部,以减少泄露到分布式系统的网络中的数据量,减少对网络带宽的占用,也为本地神经网络预留的足够的计算资源,防止因共享神经网络或协同计算系统所需的资源而导致基础感知单元内部的基本处理无法被完成的情况。而用专门的共享神经单元为共享神经网络/协同计算系统提供资源,也简化了协同计算系统/同类感知系统的构建中对所使用资源的描述的复杂度。

此外,协同计算系统中L0级、L1级或任意级节点的输出信息均可作为基础感知单元中控制单元的输入信息,用于控制单元进行必要的计算操作。

图15的例子中,基础感知单元的控制单元驱动基础感知单元的外部的执行机构,以产生对外部世界或待感知对象的物理作用,例如,弯曲某个手指。从而本地神经网络与控制单元的组合可模拟一些低层级的神经反射活动,例如,手指接触到火焰或被针扎而产生的下意识的躲避动作。参看图15,左下角的本地神经网络的输出还耦合到其所属基础感知单元的控制单元,从而该本地神经网络感知的结果可被直接提供给该控制单元,由控制单元驱动执行机构产生动作。将本地神经网络的输出与控制单元在基础感知单元内部直接耦合,最大程度地降低了控制信号或控制命令传输到执行机构延迟,有助于加快基于感知结果的反应或应对速度。

图16展示了根据本申请实施例的协同计算系统运行时的一个实例。

待感知对象存在多样性,且出现的时间也不确定。因而在用于感知的分布式系统中,不是任何时间、任意基础感知单元的传感器都能采集到有意义的信号。在图16的实例中,作为举例,待感知对象出现在邻近最右侧基础感知单元的空间区域,并且仅由阴影标记的本地神经网络1610与神经网络(1620与1630)处于工作状态。进一步地,本地神经网络(L0级节点)首先处于工作状态,其运行结果作为事件信息激发或使能神经网络1620(L1级节点)的工作、并进一步激发神经网络(1630)L2级节点的工作。运行的节点中神经网络所需的计算资源来自基础感知单元中的神经单元。进一步地,未处于工作状态的神经网络或本地神经网络可处于休眠状态以降低整体的功耗。依然进一步地,未处于工作状态的神经网络或本地神经网络的计算资源(神经元)可以被释放或再被分配,这些计算资源可被用于其他场合。例如,未被利用的共享神经单元的神经元被用于构建其他协同计算系统。依然可以理解地,在图16的例子中,神经网络(1620、1630与1640)构成了一个协同计算系统,而被激活或使能的神经网络(1620与1630)也构成了一个协同计算系统,只要其能有效完成对待感知对象的感知。依然可选地,尝试激活神经网络(1620与1630)构成的协同计算系统来处理待感知对象,若无法完成感知则再尝试激活神经网络(1620、1630与1640)构成的协同计算系统。

图17A、图17B分别给出了协同计算系统、传感器与待感知对象位置关系的工作实例。

应用中,多个基础感知单元构成基础感知单元阵列。图17A的例子中,基础感知单元包括共享神经单元与传感器。待感知对象出现在图17A的基础感知单元阵列的右侧。基础感知单元1710与1720的一个或多个传感器感知到其空间位置附近的待感知对象引起的传感数据,这些传感数据作为协同计算系统中一个节点(神经网络1750)的输入信息,且构建该神经网络1750的计算资源由基础感知单元1710、1720与1730的共享神经单元提供。在基础感知单元阵列中,基础感知单元1710、1720与1730在空间位置上是相邻的。由基础感知单元1710、1720与1730来为神经网络1750提供计算资源,来处理图17A的例子中的待感知对象是有利的,因为该待感知对象的传感数据来自基础感知单元1710与1720的传感器,这样构建的协同计算系统,使得传感器产生的数据能被更快(经过更少的数字路由器或网络传输距离)提供给神经网络的计算资源。而且,产生传感数据的传感器所属的基础感知单元(1710与1720)与为神经网络1750提供计算资源的基础感知单元(1710、1720与1730)不必完全相同,甚至可以完全不同。从而在距离传感器较近的共享神经单元的计算资源不足时,也能找到由一个或多个神经网络构成的协同计算系统来完成对待感知对象的处理。

图17B给出的是多个传感器获得的待感知对象的传感数据传递到更远一点处的基础感知单元中共享神经单元构建的协同计算系统节点中作为输入信息。

参看图17B,基础感知单元1710与1720的传感器针对待感知对象产生传感数据。传感数据被提供给神经网络1755处理。神经网络1755的神经元由基础感知单元1715、1730与1725提供。基础感知单元1715、1730与1725的物理位置同待感知对象相对较远(同基础感知单元1710与1720到待感知对象的距离相比)。虽然,较远的距离导致了更长的数据传输时间与功耗,但在一些情况下,这是有利的,例如,待感知对象较快速地从邻近基础感知单元1715的位置移动到邻近基础感知单元1710的位置。由于重新构建神经网络需要额外的时间,因而用已经存在的神经网络1755有利于迅速对移动后的待感知对象作出识别。

图18A和图18B展示了待感知对象运动时协同计算系统的动态构建的示意图。

在图18A中,基础感知单元包括本地神经单元、共享神经单元、控制单元与传感器。本地神经单元的神经元构成本地神经网络(未示出)。传感器采集的传感数据被提供给本地神经网络,本地神经网络的输出被提供给协同计算系统。为了简单的目的,图18A中,仅示出了包括神经网络1850的协同计算系统。

基础感知单元1810与1820的传感器采集待感知对象1800的传感数据。由基础感知单元1810与1820的共享神经单元为神经网络1850提供神经元。基础感知单元1810与1820的空间位置在待感知对象1800附近。

作为举例,神经网络1850基于待感知对象1800的物理特征(例如,运动速度与方向),给出待感知对象1800运动路径的预测;预测出待感知对象运动1800的下一个位置在图18A中由待感知对象1800’所指示的位置。

继续参看图18B,对于待感知对象1800’,如果还用前面时刻由图18A所展示的基础感知单元1810与1820的共享神经单元来构建的协同计算系统的神经网络进行处理,那么新位置处关于待感知对象1800’的传感数据(由基础感知单元1815与1825的传感器采集)需要传输到之前的位置(基础感知单元1810与1820的共享神经单元提供的神经元),会造成额外的数据通信,占用额外的网络带宽资源并增加功耗与数据传输延迟。

而根据本申请的实施例,根据图18A所示的对待感知对象1800’运动位置预测或基础感知单元(1815与1825)对待感知对象事件1800’的感知,在待感知对象事件1800’新位置处利用该新位置附近的基础感知单元(1815、1825与1818)的共享神经单元重新构建协同计算系统中的计算节点(神经网络1855)。从而基础感知单元(1815与1825)的传输器采集的传感数据经其所属的基础感知单元的本地神经网络处理后提供给神经网络1855,可使传感数据就近输入处理待感知对象1800’的神经网络1855中,避免了额外的基础感知单元间的数据传输,从而降低协同计算系统的通信能耗和通信量。

根据本申请的实施例,即使属于协同计算系统的一部分,协同计算系统中的一个或多个神经网络能够独立工作来感知待感知对象或处理对其的输入,而不依赖于协同计算系统中的所有神经网络共同工作。从而协同计算系统中的一个或多个神经网络可被根据需要而使能或创建。被使能或创建的神经网络是例如协同计算系统的部分而非整体。在一个例子中,被使能或创建的是单一的神经网络。可选地,在分布式系统中,多个协同计算系统(每个协同计算系统为组织为树形结构的多个神经网络)同时存在,而一个或一些协同计算系统被使用,而其他协同计算系统则处于休眠状态。

根据本申请的实施例,使能协同计算系统或者使能协同计算系统的神经网络,指的是协同计算系统中的某个特定节点(神经网络)中的各神经元已经确定,且已分配给节点,各神经元的权重、神经元之间的连接关系以及可选的节点之间的连接关系已配置完毕,但当前处于诸如休眠的低功耗状态,未在进行计算或处理,或者作为处于就绪状态但尚未被调度执行(对于例如由进程或线程实现的神经元),通过使能操作,使协同计算系统整体或部分节点被唤醒、进入工作状态或被调度执行;或者由于协同计算系统中的事件信息和/或数据流传递到该节点的输入端,该协同计算系统整体或部分节点被隐式地使能,使得该构建好的神经网络进入工作状态或计算状态。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

技术分类

06120114693756