CN115997217A - 使用神经网络对传感器数据进行边缘处理以减少通信网络上的数据流量 - Google Patents
使用神经网络对传感器数据进行边缘处理以减少通信网络上的数据流量 Download PDFInfo
- Publication number
- CN115997217A CN115997217A CN202180049364.7A CN202180049364A CN115997217A CN 115997217 A CN115997217 A CN 115997217A CN 202180049364 A CN202180049364 A CN 202180049364A CN 115997217 A CN115997217 A CN 115997217A
- Authority
- CN
- China
- Prior art keywords
- computing device
- data
- processing
- ann
- sensor data
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 213
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 176
- 238000004891 communication Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 97
- 230000008569 process Effects 0.000 claims abstract description 50
- 210000002569 neuron Anatomy 0.000 claims description 121
- 230000015654 memory Effects 0.000 claims description 58
- 239000013598 vector Substances 0.000 claims description 21
- 230000009471 action Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 7
- 238000013459 approach Methods 0.000 abstract description 4
- 230000004913 activation Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 238000003860 storage Methods 0.000 description 8
- 230000001413 cellular effect Effects 0.000 description 6
- 238000012549 training Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 230000000946 synaptic effect Effects 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000004313 glare Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- 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
-
- 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/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/83—Admission control; Resource allocation based on usage prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Medical Informatics (AREA)
- Neurology (AREA)
- Traffic Control Systems (AREA)
- Image Analysis (AREA)
Abstract
与使用神经网络对传感器数据进行边缘处理以减少去往和/或来自服务器的网络流量有关的方法、系统和设备。在一种方法中,云端服务器使用人工神经网络(ANN)处理来自车辆的传感器数据。所述ANN具有若干层。基于分析从所述车辆接收的所述传感器数据的至少一个特性和/或与处理所述传感器数据相关联的上下文,所述云端服务器确定发送ANN的所述层中的一或多者以用于在所述车辆自身上进行边缘处理。在其它情况下,云端服务器决定将所述一或多个层发送到位于所述车辆与所述云端服务器之间的通信路径上的边缘服务器装置。所述边缘处理减少网络数据流量。
Description
相关申请
本申请主张2020年7月29日提交且标题为“使用神经网络对传感器数据进行边缘处理以减少通信网络上的数据流量(EDGE PROCESSING OF SENSOR DATA USING A NEURALNETWK TO REDUCE DATA TRAFFIC ON A COMMUNICATION NETWORK)”的第16/942,317号美国专利申请的优先权,所述美国专利申请的全部公开内容特此以引用的方式并入本文中。
技术领域
本文中所公开的至少一些实施例大体上涉及神经网络处理装置,且更具体地说,但不限于使用神经网络对传感器数据进行边缘处理以减少数据流量。
背景技术
自主驾驶技术领域的最新发展允许计算系统至少在一些状况下操作机动车辆的控制元件而无需车辆的人类操作者的辅助。
例如,传感器(例如,相机和雷达)可安装在机动车辆上以检测在车道上行驶的车辆的周围环境的状况。在具有或不具有来自车辆的操作人员的任何输入的情况下,安装在车辆上的计算系统分析传感器输入以标识状况并生成用于车辆的方向和/或速度的自主调整的控制信号或命令。
在一些布置中,当计算系统辨识出其中计算系统可能无法继续以安全方式操作车辆的情境时,计算系统对车辆的人类操作者发出警报并且请求人类操作者接管对车辆的控制并进行手动驾驶,而不是让计算系统自主驾驶车辆。
自主驾驶和/或高级驾驶辅助系统(ADAS)可以使用用于标识在传感器输入中捕获的事件和/或对象的人工神经网络(ANN)。传感器输入的实例包含来自数码相机、光达、雷达、超声声纳等的图像。
一般来说,人工神经网络(ANN)使用神经元网络来处理到所述网络的输入,并生成来自所述网络的输出。例如,网络中的每个神经元接收一组输入。到神经元的一些输入可以是网络中的某些神经元的输出;并且到神经元的一些输入可以是提供到神经网络的输入。所述网络中的神经元当中的输入/输出关系表示所述网络中的神经元连接性。
例如,每个神经元可分别针对其输入具有偏置、激活函数和一组突触权重。激活函数可呈阶跃函数、线性函数、对数S型(log-sigmoid)函数等形式。网络中的不同神经元可具有不同激活函数。ANN的输入与输出之间的关系一般来说是由ANN模型定义的,所述ANN模型包含表示网络中的神经元的连接性的数据,以及每个神经元的偏置、激活函数和突触权重。
例如,可基于相机输入生成到ANN网络的输入;并且来自ANN网络的输出可以是例如事件或对象等项目的标识。
附图说明
在附图的图中以实例而非限制的方式说明实施例,在附图中,相似的参考标号指示类似的元件。
图1说明根据一个实施例的使用边缘处理来减少网络上的数据流量的数据处理系统。
图2说明根据一个实施例的确定在车辆上对ANN的一部分执行处理以减少数据流量的计算装置。
图3说明根据一个实施例的与车辆分离且用于处理来自车辆的数据以减少数据流量的计算装置。
图4展示根据一个实施例的使用车辆的计算装置实施的处理传感器数据的方法。
图5展示根据一个实施例的由计算装置使用从另一计算装置接收的ANN的一部分来处理传感器数据的方法。
图6展示根据一个实施例的处理来自车辆的传感器的传感器数据的方法。
具体实施方式
以下公开内容描述用于使用神经网络的一部分对传感器数据进行边缘处理(例如,在车辆或边缘服务器处进行处理)以减少去往远程计算装置(例如,云端服务器)的数据流量的各种实施例。本文中的至少一些实施例涉及使用位于车辆中的计算装置(例如,神经网络处理器)处理传感器数据。使用从远程计算装置接收的人工神经网络(ANN)的一部分执行所述处理,所述远程计算装置使用ANN的其它部分执行进一步处理。在一个实例中,所述车辆为自主车辆(例如,汽车、船、飞机或无人机)。
在先前方法中,移动装置(例如,自主车辆)可存储和/或生成需要在云端或(例如,远离车辆定位的)其它服务器中处理的传感器数据。例如,自主车辆具有被配置成辨识相机图像中捕获的对象和/或对所述对象进行分类的ANN。此类图像可以上载到云端或其它服务器以用于进行处理、训练等。云端或服务器中的处理通常是经由人工神经元的多个层执行的。在由一或多个层处理图像之后,所述层的输出可能会比图像自身的输出小得多。
然而,发送用于供云端或服务器处的ANN的层处理的图像数据需要发送大型数据文件或图像数据流(例如,来自车辆的相机的图像流)。例如,这会增加收集数据的车辆与远程云端服务器之间的网络(例如,蜂窝式或其它无线网络)上的数据流量。这因为需要大量带宽来传送图像或其它传感器数据而显著降低网络的性能。这也可能会使移动装置消耗过多的电池电力,所述消耗对某些较小的移动装置来说可能是限制性的。
本公开的各种实施例提供针对上述技术问题中的一或多者的技术解决方案。在一个实施例中,云端服务器使用ANN处理来自车辆的传感器数据。所述ANN具有若干层。在一些情况下,基于分析从车辆接收的传感器数据的性质(例如,数据的类型或特性)和/或与与处理传感器数据相关联的上下文相关联的其它因素(例如,归因于去往云端服务器或来自云端服务器的数据流量的带宽消耗,和/或车辆正操作的环境(例如,白天、夜晚和/或雾或雨)),云端服务器决定发送ANN的层中的一或多者以用于在车辆自身处进行边缘处理。在其它情况下,云端服务器决定将一或多个层发送到位于车辆与云端服务器之间的边缘服务器装置。通过针对更靠近车辆(或待由ANN处理的其它数据源)的一或多个层推送处理,可以减少联网系统的一或多个网络上的数据流量。
在一个实施例中,ANN包含存储于存储器中的计算装置上的神经元的网络。神经元的一个层生成输出作为神经元的下一层的输入。每个神经元采用一或多个输入以生成输出。在一个实例中,神经元的一个层可被视为一个ANN,并且神经元的另一层可被视为另一ANN。然后,连接层为一个组合的ANN。可将神经元层的计算调配成包含使矩阵倍增以用于生成输出向量的输入向量。在一些情况下,此矩阵运算可基于一或多个ANN加速器的硬件加速能力而分解为较小矩阵运算。
在一个实施例中,鉴于上文,计算装置被配置成跨多个装置(例如,云端、边缘服务器、车辆、移动装置等)智能地分割具有多个层的ANN的计算。例如,车辆使传感器生成第一输入向量。第一输入向量将乘以神经元的第一层的矩阵以生成神经元的第二层的第一输出向量。最初,所有层在云端/服务器中。如果云端/服务器确定边缘服务器(而不是云端/服务器)处理第一层是有利的,则将第一层的模型推送到边缘服务器,使得云端/服务器得到来自边缘服务器的第一输出向量,而不是来自车辆或边缘服务器的第一输入向量。
在一个实施例中,云端/服务器监视其ANN以确定可将一或多个层中的哪一者推送到被配置在从移动装置到云端/服务器的通信路径上的一或多个边缘服务器。当通过ANN的推送层进行的处理足够时,原始图像不必上载到云端/服务器。否则,可以进一步将原始图像从边缘服务器上载到云端/服务器以供进一步处理,如在某些情况下可能需要的。
在一个实施例中,云端/服务器处的ANN可估计在ANN层被推送到车辆或边缘服务器以用于在网络中更靠近图像的数据源进行处理的情况下,边缘服务器在使用云端/服务器所指定的一或多个ANN层进行处理之后上载图像的概率。在一个实施例中,云端/服务器基于平衡在边缘服务器处进行处理的成本和益处与将层推送到边缘服务器所需的数据流量以及在处理结果不足时上载边缘服务器的处理结果和原始图像两者的数据流量,将处理推送到边缘服务器。
在一个实施例中,ANN的一或多个部分由服务器选择且被推送到车辆。在一个实例中,所述部分中的每一者为ANN的层。在一个实例中,所述部分中的每一者为ANN的神经元模型的数据的一部分。
在一个实施例中,联网系统(例如,提供车辆与蜂窝式基站和/或服务器之间的无线和/或有线通信路径的网络)包含至少一个处理装置(例如,云端服务器的CPU),以及含有被配置成指示所述至少一个处理装置执行方法的指令的存储器。所述方法包含:经由网络从计算装置(例如,位于车辆中的存储器装置的控制器)接收数据,其中所接收数据使用人工神经网络(ANN)进行处理,ANN包括用于处理所述数据的神经元模型,并且计算装置从处理从车辆的至少一个感测装置(例如,车辆的相机)获得的传感器数据提供所述数据;将神经元模型的第一部分发送到计算装置,其中第一部分基于与处理传感器数据相关联的预测数据流量而选择,预测数据流量包含去往计算装置的数据流量或来自计算装置的数据流量中的至少一者;从计算装置接收中间结果,其中计算装置基于使用第一部分处理传感器数据(例如,来自使用ANN的第一层处理传感器数据的输出)而提供中间结果;以及通过使用神经元模型的第二部分处理中间结果来提供输出(例如,中间结果被输入到ANN的第二层)。
在一个实例中,所述输出用于控制车辆的系统。在一个实例中,云端服务器将输出发送到车辆以引起对车辆的控制动作。在一个实例中,受控系统可以是车辆的可电子控制的引擎、转向、制动或其它组件。
在一个实施例中,一组传感器被配置在车辆上,并且边缘服务器可在车辆上或基站中(例如,5G基站中或经由局域网连接到基站),且边缘服务器与云端服务器通信。传感器数据去往边缘服务器,然后去往云端服务器。边缘服务器和云端服务器由网络分离,且一起工作以使用ANN处理传感器数据。云端服务器处来自ANN的输出可或可不回到提供输入传感器数据的车辆。
在一个实例中,层为人工神经元集合,并且中间结果为下载到边缘服务器的层中的人工神经元的输出。人工神经元为指定神经元的行为和/或其状态的数据集。在一个实例中,标识可被推送到边缘服务器的ANN的层(例如,发现将ANN切割成两个部分的改进或最优方式,使得作为第一层的部分可被推送到边缘服务器以得到改进或最优结果)。
图1说明根据一个实施例的使用对数据(例如,传感器或其它数据)的边缘处理来减少网络上的数据流量(例如,例如车辆的移动装置与云端之间的使用无线网络的数据流量,其中数据流量与对移动装置所收集的传感器数据的处理相关联)的数据处理系统。车辆102包含一或多个感测装置104。车辆102内的计算装置110处理来自感测装置104的传感器数据106并输出中间结果130。中间结果130通过网络136发送到计算装置138。计算装置138通常使用人工神经网络(ANN)150处理中间结果130以产生输出162。输出162可用于控制车辆102的动作166。为了减少数据流量134,计算装置138可将ANN150分割为多个部分(例如,部分154、部分156、部分158等)并将ANN 150的部分发送到其它装置(例如,计算装置110)以处理传感器数据106。在一个实例中,每个部分为ANN 150的神经元模型的一部分。
车辆102可以是例如自主车辆。感测装置104可以是例如图像传感器、光达、雷达、GPS或其它类型的传感器。感测装置104将所收集传感器数据106(例如,图像、GPS位置等)输出到计算装置110。
计算装置110可以是例如由处理装置控制的计算机、嵌入式计算机、车辆中的控制器、服务器、膝上型计算机、平板计算机或其它电子装置。在一些实施例中,计算装置110可描述为边缘处理装置。
在一个实施例中,计算装置110包含处理装置116和存储器118。处理装置116可以是例如微处理器、图形处理器、嵌入式处理器、嵌入式控制器、中央处理单元(CPU)、芯片上系统(SOC)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它处理装置。处理装置116可由具有单个处理核心的单个处理器、具有多个处理核心的单个处理器或多个处理器构成。处理装置116和存储器118可被配置在印刷电路板上。在一些情况下,处理装置116和存储器118一起封装在芯片上系统(SoC)中。
存储器118可包含易失性存储器(例如,DRAM和/或SRAM)和/或非易失性存储器。存储器118可与处理装置116(例如,MTF模块、SIMM模块、NVMe模块等)分离,或可嵌入于处理装置116(例如,高带宽存储器(HBM))内。
非易失性存储器的实例包含快闪存储器、基于与非(NAND)逻辑门形成的存储器单元、或非(NOR)逻辑门、相变存储器(PCM)、磁存储器(MRAM)、电阻式随机存取存储器(RRAM)、交叉点存储器和其它存储器装置。交叉点存储器装置可使用无晶体管存储器元件,所述无晶体管存储器元件中的每一者具有一起堆叠成列的存储器单元和选择器。存储器元件列经由在垂直方向上铺设的两个线路排布来连接,其中在层中的一个方向上铺设的一个排布的线路位于存储器元件列上方,并且另一排布的线路在另一方向上且在位于存储器元件列下方的层中。可个别地在两个层中的每一者上的一个线路的交叉点处选择每个存储器元件。交叉点存储器装置是快速且非易失性的,且可用作统一存储器池以供处理和存储。非易失性存储器的另外的实例包含只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)和电子可擦除可编程只读存储器(EEPROM)等。
存储器118含有指示处理装置116执行任务的指令120,所述任务例如从计算装置138接收ANN 150的部分154、使用ANN 122处理传感器数据106、在处理传感器数据106之后将中间结果130发送到计算装置138等。
处理装置116通过网络136将中间结果130发送到计算装置138。网络136可包含无线网络或无线和有线网络的组合。网络136还可包含例如蜂窝式电话、卫星或因特网服务等联网服务和例如卫星、蜂窝式电话塔、蜂窝式电话基站、网络交换机、网络路由器等联网设备。在计算装置138与计算装置110之间传输的数据体积(例如,兆字节/秒或千兆字节/秒)在图1中表示为数据流量134。数据流量134可包含例如发送到计算装置138的中间结果130、发送到计算装置138以供进一步处理的传感器数据106、发送到计算装置110的ANN 150的部分154、发送到感测装置104的ANN 150的部分158等。
计算装置138从网络136接收输入数据140(例如,中间结果130)。计算装置138可以是例如由处理装置控制的计算机、嵌入式计算机、服务器、膝上型计算机、平板计算机或其它电子装置。
在一个实施例中,计算装置138包含处理装置144和存储器146。处理装置144可以是例如微处理器、图形处理器、嵌入式处理器、嵌入式控制器、中央处理单元(CPU)、芯片上系统(SOC)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它处理装置。处理装置144和存储器146可被配置在印刷电路板上。在一些情况下,处理装置144和存储器146一起封装在芯片上系统(SoC)中。
存储器146可包含易失性存储器(例如,DRAM和/或SRAM)和/或非易失性存储器(例如,NAND快闪、NOR快闪、PCM、MRAM、RRAM、交叉点存储器、ROM、PROM、EPROM、EEPROM等)。存储器146可与处理装置144(例如,DIMM模块、SIMM模块、NVMe模块等)分离,或可嵌入于处理装置144(例如,HBM存储器)内。
存储器146含有指示处理装置144执行任务的指令148,所述任务例如从计算装置110接收对ANN 150的部分154的请求、将ANN 150的部分154发送到计算装置110、使用ANN150的至少一部分156处理输入数据140(例如,中间结果130)、基于处理来自计算装置110中间结果130而提供输出162等。
处理装置144含有ANN 150(例如,存储于存储器中)。ANN 150使用神经元的网络来处理到网络的输入,并生成来自所述网络的输出。
例如,网络中的每个神经元接收一组输入。到神经元的一些输入可以是提供到神经网络中的外部输入,并且到神经元的一些输入可以是网络中的某些神经元的输出。所述网络中的神经元当中的输入/输出关系表示所述网络中的神经元连接性。
例如,每个神经元可分别针对其输入具有偏置、激活函数和一组突触权重。激活函数可呈阶跃函数、线性函数、对数S型函数等形式。网络中的不同神经元可具有不同激活函数。
举例来说,每个神经元可生成其输入与其偏置的加权和,且接着产生作为加权和的函数的输出,所述输出是使用神经元的激活函数计算出的。到ANN的输入可描述为输入向量,并且输出可描述为输出向量。
ANN的输入与输出之间的关系一般来说是由神经元模型定义的,所述神经元模型包含表示ANN中的神经元的连接性的数据,以及每个神经元的偏置、激活函数和突触权重。使用给定神经元模型152,计算装置138从到ANN 150的输入数据140的给定集合计算ANN150的输出162。
例如,到ANN 150的输入数据140可基于来自感测装置104的相机输出而生成。来自ANN 150的输出162可以是例如事件或对象等项目的标识。
在一个实施例中,ANN 150为脉冲神经网络(SNN)。SNN是一种类型的ANN,其紧密地模仿自然神经网络。当神经元的激活电平足够高时,SNN神经元产生脉冲作为输出。SNN神经元的激活电平模仿自然神经元的薄膜电位。SNN神经元的输出/脉冲可改变接收输出的其它神经元的激活电平。随时间而变化的SNN神经元的当前激活电平通常是使用微分方程来建模的,且被视为SNN神经元的状态。来自其它神经元的传入脉冲可将所述神经元的激活电平推得更高,以达到产生脉冲的阈值。一旦所述神经元产生脉冲,其激活电平就复位。在产生脉冲之前,SNN神经元的激活电平可随时间推移而衰减,如由微分方程所控制。SNN神经元行为中的时间元素使得SNN适合于处理时空数据。SNN的连接性通常是稀疏的,这有利于减少计算工作负载。
一般来说,可使用监督方法来训练ANN,其中调整ANN中的参数以最小化或减少由相应输入产生的已知输出与通过将输入应用于ANN而生成的所计算输出之间的误差。监督学习/训练方法的实例包含强化学习和具有误差校正的学习。
替代地或组合地,可使用非监督方法来训练ANN,其中由给定的一组输入产生的确切输出在训练完成之前是未知的。可训练ANN,以将项目分类为多个类别,或将数据点分类为群集。可将多个训练算法用于复杂机器学习/训练范例。
计算装置110采用输入数据112(例如,传感器数据106)并生成中间结果130。在一个实施例中,计算装置110将输入数据112作为中间结果130传递出去而无需用ANN处理输入数据112。计算装置138采用中间结果130作为输入数据140。ANN 150使用输入数据140作为到神经元模型152的输入并计算输出162。
计算装置138可确定可通过在计算装置110内处理传感器数据106的一部分来减少计算装置110与计算装置138之间的数据流量134。计算装置138可选择神经元集合(例如,ANN 150的部分154)并将神经元集合发送到计算装置110以在计算装置110内形成ANN 122。
在一个实例中,ANN 122为ANN 150的子集。在一个实例中,ANN 122包含不存在于ANN 150中的神经元模型数据。在一个实例中,由计算装置138维持ANN 122以包含ANN 150的一些或所有部分(例如,可基于车辆102的上下文而实时地预定或确定所包含的部分)。
计算装置138可基于例如以下各者的因素而选择用于发送到计算装置110的神经元集合:将到计算装置110中的输入数据112的预测数据大小114与从计算装置110输出的中间结果130的预测数据大小132进行比较;或将待使用ANN 150的部分154处理的输入数据112的预测数据大小114与ANN 150的部分154的数据大小160进行比较;或预测是否将需要传感器数据106在提供中间结果130之后上载到计算装置138以供进一步处理。
例如,计算装置110可接收传感器数据106(例如,来自图像传感器的图像数据)。计算装置138可预测输入到计算装置110的传感器数据106的数据大小114(例如,每秒10MB的输入向量)。计算装置138可预测如果由计算装置110执行ANN 150所执行的一些处理(例如,检测图像中的对象),则从计算装置110输出的中间结果130的数据大小132将较小(例如,每秒1MB的输出向量)。计算装置138可选择神经元模型152的部分154(例如,与检测图像中的对象相关联的神经元)并将神经元模型152的部分154发送到计算装置110以实施为ANN 122内的神经元模型124。ANN 122采用传感器数据106作为输入向量、处理所述数据,并且将中间结果130作为输出向量输出。
在一个实例中,来自感测装置104的传感器数据106(例如,来自图像传感器的图像数据)可能需要在已提供中间结果130之后发送到计算装置138以供进一步处理。这可归因于例如导致不确定的中间结果130的眩光。计算装置138可包含预测传感器数据106是否将需要上载到计算装置138以供进一步处理,作为确定是否在计算装置110上对ANN 150的部分154执行处理的一部分。
在一个实例中,计算装置138可从感测装置104预测某一数据大小108。计算装置138可确定ANN 150的用于处理传感器数据106的部分154小于来自感测装置104的传感器数据106的预测数据大小108。举例来说,计算装置138可从感测装置104预测1TB的数据大小108。计算装置138可确定例如ANN 150的部分154具有50MB的数据大小160。计算装置138可基于ANN 150的部分154的数据大小160小于来自感测装置104的传感器数据106的预测数据大小108而选择ANN 150的部分154来发送到计算装置110。
在一个实施例中,处理装置116预测计算装置110与计算装置138之间的因处理传感器数据106生成的数据流量134。基于预测数据流量134,处理装置116可向计算装置138请求ANN 150的部分154。计算装置138将ANN 150的部分154发送到处理装置116。处理装置116使用来自计算装置138的神经元模型152的部分154来创建ANN122内的神经元模型124。处理装置116使用ANN 122处理传感器数据106并输出中间结果130。
例如,传感器数据106可以是来自相机的图像数据。处理器116可预测将图像数据作为中间结果130发送到计算装置138将产生大量的数据流量134(例如,每秒15MB的数据大小132)。处理装置116可请求ANN 150的部分154并在ANN 122中实施所接收的部分154。处理器116使用ANN 122处理图像数据(例如,标识或分类对象或事件)。在处理图像数据之后,中间结果130的数据大小132可更小(例如,每秒2MB),从而产生更少的数据流量134。
计算装置138采用输入数据140(例如,中间结果130)并使用ANN 150的部分156处理数据以生成输出162。输出162可发送回车辆102。车辆102可使用输出162来控制车辆102的动作166。例如,中间结果130可标识对象或事件(例如,进入车辆的路径的行人)。输出162可指示车辆102的动作166(例如,停止或改变车道)。车辆102可基于输出162控制车辆102的动作166(例如,应用制动器或使车辆转向)。
在各种实施例中,如上文所描述的传感器数据的边缘处理可实施于允许车辆与云端服务器(或其它计算装置)之间的通信的联网系统中。联网系统包含至少一个车辆和至少一个计算装置(例如,车辆102和计算装置110、138)。联网系统被配置成使用从计算装置选择并发送的ANN的一部分来实施边缘处理以减少联网系统中的数据流量。
联网系统经由一或多个通信网络联网。通信网络(例如,网络136)可至少包含例如蓝牙等本地装置网络、广域网(WAN)、局域网(LAN)、内联网、例如4G或5G等移动无线网络、外联网、因特网和/或其任何组合。联网系统(例如,车辆和/或其它移动/计算装置)的节点可各自为对等网络、客户端-服务器网络、云端计算环境等的一部分。而且,联网系统中的设备、计算装置、车辆、传感器或相机和/或用户接口中的任一者可包含某种类型的计算系统。计算系统可包含到LAN、内联网、外联网和/或因特网中的其它装置的网络接口。计算系统还可在客户端-服务器网络环境中以服务器或客户端机器的容量、在对等(或分布式)网络环境中作为对等机器或在云端计算础架构或环境中作为服务器或客户端机器进行操作。
图2说明计算装置138确定在车辆102上(例如,感测装置204中)对ANN 150的部分158执行处理的实施例。计算装置138将ANN 150的部分158发送到感测装置204。感测装置204使用来自计算装置138的神经元模型152的部分158来创建ANN 268内的神经元模型270。感测装置204使用ANN 268来处理从感测装置204收集的数据并将经处理数据作为传感器数据206输出。计算装置110采用传感器数据206作为输入数据112并使用ANN 122进一步处理所述数据以输出中间结果130。在此配置中,感测装置204可描述为边缘处理装置。
例如,感测装置204可以是图像传感器。计算装置138可确定在图像传感器自身内处理来自图像传感器的数据(例如,通过执行对象标识)是有利的。计算装置138将ANN150的部分158发送到感测装置204。感测装置204使用神经元模型152的部分158来创建ANN 268内的神经元模型270。感测装置204使用ANN 268来处理从图像传感器收集的数据并输出传感器数据206(例如,被标识为行人的对象)。
处理装置116采用输入数据112(例如,传感器数据206)、进一步使用ANN 122处理输入数据112,并且输出中间结果130。例如,中间结果130可以是事件检测(例如,在传感器数据206中标识的行人的轨迹将与车辆102的轨迹相交)。在感测装置204内执行对ANN 150的部分158的处理可减小来自感测装置204的传感器数据206的数据大小208且减少去往计算装置138的数据流量134,因为感测装置204将不需要将所有图像数据发送出去以供处理。
图3说明计算装置310与车辆302分离的实施例。在一个实施例中,计算装置310(例如,5G基站)和计算装置138(例如,云端服务器)都是服务器。计算装置310在车辆302与计算装置138之间的通信路径上。车辆302将传感器数据206输出到网络336,并且网络336将传感器数据206路由到计算装置310。类似于如针对图2所描述,计算装置310处理传感器数据206。计算装置310可描述为边缘处理装置。在一个实施例中,网络336与针对图1所描述的网络136相同。
图4展示根据一个实施例的在车辆上实施的处理传感器数据的方法。例如,图4的方法可结合图1的网络136和计算装置138实施于图1的车辆102中。
图4的方法可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,图4的方法至少部分地由一或多个处理装置执行。
虽然以特定顺序或次序展示,但除非另外规定,否则可修改过程的次序。因此,说明的实施例应仅作为实例理解,且说明的过程可以不同次序执行,且一些过程可并行地执行。另外,可以在各种实施例中省略一或多个过程。因此,并非每一实施例中都需要所有过程。其它过程流程是可能的。
在框401处,由车辆的计算装置从车辆的感测装置接收数据。在一个实例中,车辆102的计算装置110从车辆102的感测装置104接收传感器数据106。
在框403处,预测去往和/或来自车辆的计算装置的数据流量。在一个实例中,由计算装置138预测去往计算装置110或来自计算装置110的数据流量134。
在框405处,基于去往或来自计算装置的预测数据流量(例如,计算装置与云端服务器之间的数据流量),在计算装置中接收来自人工神经网络(ANN)的神经元模型的一部分。在一个实例中,基于去往计算装置110和/或来自计算装置110的预测数据流量134,在计算装置110中接收来自ANN 150的神经元模型152的部分154。
在框407处,使用存储于计算装置内的神经元模型的部分在计算装置中处理来自感测装置的数据。在一个实例中,计算装置110使用计算装置110内的神经元模型124的部分来处理来自感测装置104的传感器数据106。
在框409处,跨网络将中间结果从计算装置发送到存储ANN的处理装置。在一个实例中,计算装置110跨网络136将中间结果130发送到含有ANN 150的处理装置144(例如,在云端网络中)。
在框411处,通过使用ANN的一部分处理来自计算装置的中间结果而从处理装置提供输出。在一个实例中,处理装置144使用ANN 150的部分156处理来自计算装置110的中间结果130并提供输出162。输出162可用于控制车辆102的动作166(和/或控制另一车辆)。
图5展示根据一个实施例的在车辆上实施的处理传感器数据的方法。例如,图5的方法可结合图2的网络136和计算装置138实施于图2的车辆102中。
图5的方法可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,图5的方法至少部分地由一或多个处理装置执行。
虽然以特定顺序或次序展示,但除非另外规定,否则可修改过程的次序。因此,说明的实施例应仅作为实例理解,且说明的过程可以不同次序执行,且一些过程可并行地执行。另外,可以在各种实施例中省略一或多个过程。因此,并非每一实施例中都需要所有过程。其它过程流程是可能的。
在框501处,第一计算装置确定在车辆上对人工神经网络(ANN)的一部分执行处理。在一个实例中,第一计算装置138确定在车辆102上对ANN 150的部分158执行处理。
在框503处,车辆的感测装置从第一计算装置的ANN接收神经元模型的一部分。在一个实例中,感测装置204从第一计算装置138的ANN 150接收神经元模型152的部分158。
在框505处,车辆的第二计算装置基于去往和/或来自第一计算装置的与处理来自车辆的传感器数据相关联的预测数据流量而从第一计算装置的ANN接收神经元模型的一部分。在一个实例中,基于去往第一计算装置138或来自第一计算装置138的与处理来自车辆102的感测装置204的传感器数据206相关联的预测数据流量134,在车辆102的第二计算装置110中接收来自ANN 150的神经元模型152的部分154。
在框507处,第二计算装置从感测装置接收已用存储于感测装置内的神经元模型的部分处理的数据。在一个实例中,计算装置110接收已使用感测装置204内的神经元模型270的部分在感测装置204中处理的传感器数据206。
在框509处,使用存储于第二计算装置内的神经元模型的部分在第二计算装置中处理来自感测装置的数据。在一个实例中,计算装置110使用计算装置110内的神经元模型124的部分来处理来自感测装置204的传感器数据206。
在框511处,跨网络将中间结果从第二计算装置发送到存储ANN的第一计算装置的处理装置。在一个实例中,计算装置110跨网络136将中间结果130发送到含有ANN150的处理装置144。
在框513处,通过使用ANN的一部分处理来自第二计算装置的中间结果而从处理装置提供输出。在一个实例中,处理装置144使用ANN 150的部分156处理来自计算装置110的中间结果130并提供输出162。输出162可用于控制车辆102的动作166。
图6展示根据一个实施例的处理来自车辆的传感器的传感器数据的方法。例如,图6的方法可结合图3的网络336、计算装置310和计算装置138实施于图3的车辆302中。
图6的方法可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,图6的方法至少部分地由一或多个处理装置执行。
虽然以特定顺序或次序展示,但除非另外规定,否则可修改过程的次序。因此,说明的实施例应仅作为实例理解,且说明的过程可以不同次序执行,且一些过程可并行地执行。另外,可以在各种实施例中省略一或多个过程。因此,并非每一实施例中都需要所有过程。其它过程流程是可能的。
在框601处,第一计算装置确定在第一计算装置外部对人工神经网络(ANN)的一部分执行处理。在一个实例中,第一计算装置138确定在车辆302上对ANN 150的部分158执行处理。
在框603处,车辆的感测装置从ANN接收神经元模型的一部分。在一个实例中,感测装置204从第一计算装置138的ANN 150接收神经元模型152的部分158。
在框605处,与车辆分离的第二计算装置基于去往和/或来自第一计算装置的与处理来自车辆的传感器数据相关联的预测数据流量而从第一计算装置的ANN接收神经元模型的一部分。在一个实例中,基于去往第一计算装置138或来自第一计算装置138的与处理来自车辆302的感测装置204的传感器数据206相关联的预测数据流量134,在与车辆302分离的第二计算装置310中接收来自ANN 150的神经元模型152的部分154。
在框607处,第二计算装置从感测装置接收已用存储于感测装置内的神经元模型的部分处理的数据。在一个实例中,第二计算装置310接收已使用感测装置204内的神经元模型270的部分在感测装置204中处理的传感器数据206。
在框609处,使用存储于第二计算装置内的神经元模型的部分在第二计算装置中处理来自感测装置的数据。在一个实例中,第二计算装置310使用第二计算装置310内的神经元模型124的部分来处理来自感测装置204的传感器数据206。
在框611处,跨网络将中间结果从第二计算装置发送到存储ANN的第一计算装置的处理装置。在一个实例中,第二计算装置310跨网络336将中间结果130发送到含有ANN 150的处理装置144。
在框613处,通过使用ANN的一部分处理来自第二计算装置的中间结果而提供来自处理装置的输出。在一个实例中,处理装置144使用ANN 150的部分156处理来自第二计算装置310的中间结果130并提供输出162。输出162可用于控制车辆302的动作166。
在一些实施例中,使用云端系统实施对如上文所描述的数据(例如,传感器或其它数据)的边缘处理。在一个实例中,计算环境结合本公开的实施例操作。可使用硬件和软件组件的任何所需组合来实施计算环境的组件。
示范性计算环境可包含客户端计算装置、提供者服务器、认证服务器和/或云端组件,它们经由网络(例如,网络136)彼此通信。
客户端计算装置可以是任何计算装置,例如台式计算机、膝上型计算机、平板计算机、PDA、智能手机、移动电话、智能电器、可穿戴装置、IoT装置、车载装置等。根据各种实施例,客户端计算装置存取提供者服务器(例如,计算装置138)处的服务。
客户端计算装置(例如,计算装置110)可包含用于客户端计算装置的用户的一或多个输入装置或接口。举例来说,所述一或多个输入装置或接口可包含以下各者中的一或多者:键盘、鼠标、轨迹垫、轨迹球、手写笔、触摸屏、客户端计算装置的硬件按钮等。客户端计算装置可被配置成执行各种应用程序(例如,网络浏览器应用程序)以存取网络。
提供者服务器可以是被配置成托管一或多个应用程序/服务的任何计算装置。在一些实施例中,提供者服务器可能在授权存取其上提供的服务和/或资源之前需要安全性验证。在一些实施例中,应用程序/服务可包含可在装置已认证其存取后接通的在线服务。在一些实施例中,提供者服务器可配置有认证服务器以用于认证用户和/或装置。在其它实施例中,认证服务器可相对于提供者服务器远程和/或独立地配置。
所述网络可以是被配置成提供云端系统的组件之间的通信的任何类型的网络。举例来说,网络可以是提供通信、交换信息和/或促进信息的交换的任何类型的网络(包含基础设施),例如因特网、局域网、广域网、个域网、蜂窝式网络、近场通信(NFC)、光学代码扫描仪,或使得能够在云端系统的组件之间发送和接收信息的其它合适的连接。在其它实施例中,云端系统的一或多个组件可通过专用通信链路直接通信。
在各种实施例中,云端系统还可包含一或多个云端组件。云端组件可包含一或多个云端服务,例如软件应用程序(例如,队列等)、一或多个云端平台(例如,网页前端等)、云端基础设施(例如,虚拟机等)和/或云端存储装置(例如,云端数据库等)。在一些实施例中,提供者服务器和认证服务器中的一者或两者可被配置成在云端计算/架构中或与云端计算/架构一起操作,例如:基础设施即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。
在一个实施例中,一种用于边缘处理以减少网络上的数据流量的系统包括:至少一个处理装置(例如,144);以及存储器,其含有指令,所述指令被配置成指示至少一个处理装置:经由网络从计算装置(例如,110)接收数据,其中所接收数据使用人工神经网络(ANN)进行处理,ANN包括用于处理所述数据的神经元模型(例如,152),并且计算装置从处理从车辆的至少一个感测装置(例如,104)获得的传感器数据(例如,106)提供所述数据;将神经元模型的第一部分(例如,154)发送到计算装置,其中第一部分基于与处理传感器数据相关联的预测数据流量(例如,134)而选择,预测数据流量包含去往计算装置的数据流量或来自计算装置的数据流量中的至少一者;从计算装置接收中间结果(例如,130),其中计算装置基于使用第一部分处理传感器数据而提供中间结果;并且通过使用神经元模型的第二部分(例如,156或158)处理中间结果来提供输出。
在一个实施例中,基于预测数据流量选择神经元模型的第一部分包括从神经元模型选择神经元集合,并且选择神经元集合是基于以下各者中的至少一者:将待使用第一部分处理的输入数据的数据大小与待从使用第一部分进行处理获得的输出数据的数据大小进行比较,或将待使用第一部分处理的输入数据的数据大小与第一部分的数据大小进行比较。
在一个实施例中,所述指令进一步被配置成指示至少一个处理装置:使用ANN的至少一部分预测使用第一部分处理的传感器数据的数据大小大于第一部分的数据大小;其中响应于预测使用第一部分处理的传感器数据的数据大小大于第一部分的数据大小而将第一部分发送到计算装置。
在一个实施例中,一种方法包括:由第一计算装置(例如,138)且使用人工神经网络(ANN)处理经由网络从第二计算装置(例如,110)接收的数据,其中ANN包括用于处理数据的神经元模型,第二计算装置处理来自车辆(例如,102)的至少一个感测装置的传感器数据,并且第二计算装置提供来自处理传感器数据的所接收数据;由第一计算装置确定在第二计算装置上对神经元模型的第一部分执行处理;响应于确定在第二计算装置上对神经元模型的第一部分执行处理,经由网络将第一部分发送到第二计算装置,其中第二计算装置基于使用第一部分处理传感器数据而提供中间结果;从第二计算装置接收中间结果;以及由第一计算装置使用神经元模型的第二部分处理中间结果以提供输出。
在一个实施例中,第一计算装置为第一服务器,并且第二计算装置为车辆与第一服务器之间的通信路径上的第二服务器(例如,310)。
在一个实施例中,确定对第二计算装置上的第一部分执行处理包括以下各者中的至少一者:将传感器数据的数据大小与中间结果的数据大小进行比较、将传感器数据的数据大小与第一部分的数据大小进行比较,或将中间结果的数据大小与第一部分的数据大小进行比较。
在一个实施例中,传感器数据为第一输入向量,并且中间结果为第一输出向量。
在一个实施例中,确定在第二计算装置上对神经元模型的第一部分执行处理进一步包括预测第一输入向量的数据大小或第一输出向量的数据大小中的至少一者。
在一个实施例中,确定在第二计算装置上对第一部分执行处理是基于确定传感器数据是否将在提供中间结果之后上载到第一计算装置。
在一个实施例中,至少一个感测装置包括图像传感器。
在一个实施例中,所述方法进一步包括:由第一计算装置确定在车辆上对ANN的第三部分执行处理;以及响应于确定在车辆上对第三部分执行处理,经由网络将第三部分发送到至少一个感测装置(例如,204),其中:至少一个感测装置使用第三部分生成传感器数据以处理来自图像传感器的至少一个图像;并且至少一个感测装置将所生成传感器数据发送到第二计算装置以用于确定中间结果。
在一个实施例中,所述方法进一步包括将输出发送到车辆以控制所述车辆上的动作。
在一个实施例中,第二计算装置为车辆的计算机系统中的控制器。
在一个实施例中,传感器数据对应于由车辆的图像传感器收集的图像,并且中间结果包括图像中的对象的标识或对象的分类中的至少一者。
在一个实施例中,确定在第二计算装置上对神经元模型的第一部分执行处理包括评估第一计算装置与第二计算装置之间的与提供输出相关联的数据流量。
在一个实施例中,数据流量与以下各者中的至少一者相关联:在确定传感器数据需要由ANN在第一计算装置处进一步处理之后从第二计算装置接收传感器数据、将第一部分发送到第二计算装置,或从第二计算装置接收中间结果。
在一个实施例中,所述方法进一步包括选择神经元模型的用于发送到第二计算装置的第一部分,其中所述选择是基于第一计算装置与第二计算装置之间的预测数据流量。
在一个实施例中,一种系统包括:至少一个处理装置(例如,116);以及存储器,其含有指令,所述指令被配置成指示至少一个处理装置:使用人工神经网络(ANN)的至少一个部分处理从车辆的至少一个感测装置获得的传感器数据(例如,106);经由网络将来自处理传感器数据的结果发送到计算装置(例如,138);从计算装置接收ANN的第一部分,第一部分基于与处理传感器数据相关联的数据流量的预测而选择,预测数据流量包含去往计算装置的数据流量或来自计算装置的数据流量中的至少一者;并且将基于使用第一部分处理传感器数据而确定的中间结果(例如,130)发送到计算装置,其中计算装置提供用于控制车辆的输出,并且所述输出通过使用ANN的第二部分处理中间结果而获得。
在一个实施例中,所述指令进一步被配置成指示至少一个处理装置:将传感器数据的数据大小(例如,108)与ANN的第一部分(例如,154)的数据大小(例如,160)进行比较;并且向计算装置且基于将传感器数据的数据大小与第一部分的数据大小进行比较而发送对第一部分的请求;其中响应于请求而从计算装置接收第一部分。
在一个实施例中,当使用ANN处理传感器数据时,选择第一部分以减少去往和/或来自计算装置的预测数据流量。
本公开包含执行方法并实施上文所描述的系统的各种装置,包含执行这些方法的数据处理系统,以及含有指令的计算机可读媒体,所述指令当在数据处理系统上执行时使系统执行这些方法。
描述和图式为说明性的且不应被解释为限制性的。描述了许多特定细节以提供透彻理解。然而,在某些情况下,未对公知的或常规的细节进行描述,以避免混淆描述。本公开中对一个或一实施例的参考未必参考同一实施例;并且此类参考意味着至少一个。
在本说明书中对“一个实施例”或“一实施例”的参考意味着结合实施例描述的特定特征、结构或特性包含在本公开的至少一个实施例中。在本说明书中各个地方出现的短语“在一个实施例中”不一定全部指代同一个实施例,也不是与其它实施例相互排斥的单独实施例或替代实施例。此外,描述了可由一些实施例而不是由其它实施例呈现的各种特征。类似地,描述了各种要求,这些要求可以是对于一些实施例的要求但不是对于其它实施例的要求。
在本说明书中,各种功能和/或操作可描述为由软件代码执行或由软件代码引起以简化描述。然而,本领域的技术人员将认识到,这种表达的意思是所述功能和/或操作由一或多个处理装置来执行代码所引起,所述处理装置例如微处理器、专用集成电路(ASIC)、图形处理器和/或现场可编程门阵列(FPGA)。替代地或组合地,可使用专用电路系统(例如,逻辑电路系统)在有或没有软件指令的情况下实施功能和操作。可使用没有软件指令的硬连线电路系统或结合软件指令实施实施例。因此,所述技术既不限于硬件电路系统与软件的任何特定组合,也不限于由计算装置执行的指令的任何特定来源。
虽然一些实施例可在完全功能的计算机和计算机系统中实施,但各种实施例能够以各种形式分布为计算产品且能够应用,而无关于实际上实现分布的特定类型的计算机可读媒体。
所公开的至少一些方面可至少部分体现于软件中。也就是说,所述技术可响应于其处理装置(例如,微处理器)执行存储器(例如,ROM、易失性RAM、非易失性存储器、高速缓存器或远程存储装置)中所含有的指令序列而在计算装置或另一系统中实行。
执行以实施所述实施例的例程可实施为操作系统、中间件、服务递送平台、软件开发工具包(SDK)组件、网络服务或其它特定应用程序、组件、程序、对象、模块或指令的序列(有时被称为计算机程序)的一部分。这些例程的调用接口可作为应用程序编程接口(API)暴露给软件开发团体。计算机程序通常在各种时间在计算机中的各种存储器和存储装置中包括一或多个指令集,且所述指令集在由计算机中的一或多个处理器读取和执行时使所述计算机执行对进行涉及各个方面的要素来说必要的操作。
计算机可读媒体可用于存储软件和数据,所述软件和数据当由计算装置执行时使所述装置执行各种方法。可执行软件和数据可存储于包含例如ROM、易失性RAM、非易失性存储器和/或高速缓存器的各处。此软件和/或数据的部分可存储在这些存储装置中的任一者中。此外,可从集中式服务器或对等网络获得数据和指令。数据和指令的不同部分可在不同时间且在不同通信会话中或同一通信会话中从不同集中式服务器和/或对等网络获得。可以在执行应用之前完整地获得数据和指令。替代地,可动态地、及时地在执行需要时获得数据和指令的部分。因此,并不要求数据和指令在特定时刻全部在计算机可读媒体上。
计算机可读媒体的实例包含但不限于可记录和不可记录类型的媒体,例如易失性和非易失性存储器装置、只读存储器(ROM)、随机存取存储器(RAM)、快闪存储器装置、固态硬盘存储媒体、可装卸式磁盘、磁盘存储媒体、光学存储媒体(例如,光盘只读存储器(CDROM)、数字通用光盘(DVD)等)和其它媒体。计算机可读媒体可存储指令。计算机可读媒体的其它实例包含但不限于使用NOR快闪或NAND快闪架构的非易失性嵌入式装置。在这些架构中使用的媒体可包含不受管理NAND装置和/或受管理NAND装置,包含例如eMMC、SD、CF、UFS和SSD。
一般来说,非暂时性计算机可读媒体包含以可由计算装置(例如,计算机、移动装置、网络装置、个人数字助理、具有控制器的制造工具、具有一或多个处理器的集合的任何装置等)存取的形式提供(例如,存储)信息的任何机构。
在各种实施例中,硬连线电路系统可与软件和固件指令组合使用以实施所述技术。因此,所述技术既不限于硬件电路系统和软件的任何特定组合,也不限于由计算装置执行的指令的任何特定来源。
可使用广泛多种不同类型的计算装置来实施本文中阐述的各种实施例。如本文中所使用,“计算装置”的实例包含但不限于服务器、集中式计算平台、多个计算处理器和/或组件的系统、移动装置、用户终端、车辆、个人通信装置、可穿戴数字装置、电子自助服务终端、通用计算机、电子文档阅读器、平板计算机、膝上型计算机、智能手机、数码相机、住宅家庭设备、电视或数字音乐播放器。计算装置的额外实例包含作为称为“物联网(IOT)”的部分的装置。此类“事物”可与其拥有者或管理员偶然交互,所述拥有者或管理员可监控所述事物或修改这些事物上的设置。在一些情况下,此类拥有者或管理员扮演关于“事物”装置的用户的角色。在一些实例中,用户的主要移动装置(例如,苹果iPhone(Apple iPhone))可以是关于用户佩戴的配对的“物”装置(例如,苹果手表(Apple watch))的管理员服务器。
在一些实施例中,计算装置可以是计算机或主机系统,其例如实施为台式计算机、膝上型计算机、网络服务器、移动装置,或包含存储器和处理装置的另一计算装置。主机系统可包含或耦合到存储器子系统,使得主机系统可从存储器子系统读取数据或将数据写入到存储器子系统。主机系统可经由物理主机接口耦合到存储器子系统。一般来说,主机系统可经由同一通信连接、多个单独通信连接和/或通信连接的组合存取多个存储器子系统。
在一些实施例中,计算装置为包含一或多个处理装置的系统。处理装置的实例可包含微控制器、中央处理单元(CPU)、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)、芯片上系统(SoC)或另一合适的处理器。
在一个实例中,计算装置为存储器系统的控制器。控制器包含处理装置和存储器,所述存储器含有由处理装置执行以控制存储器系统的各种操作的指令。
虽然图式中的一些以特定次序说明数个操作,但可将非次序相依性操作重新排序且可组合或分解其它操作。虽然具体提及了一些重新排序或其它分组,但是其它重新排序或分组对于本领域的普通技术人员来说是显而易见的,因此不提供详尽的替代方案列表。此外,应认识到,阶段可用硬件、固件、软件或其任何组合来实施。
在前文说明书中,本公开已参考其具体示范性实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中所阐述的更广泛精神和范围的情况下对其作出各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。
Claims (20)
1.一种系统,其包括:
至少一个处理装置;以及
存储器,其含有指令,所述指令被配置成指示所述至少一个处理装置:
经由网络从计算装置接收数据,其中所接收数据使用人工神经网络(ANN)进行处理,所述ANN包括用于处理所述数据的神经元模型,并且所述计算装置从处理从车辆的至少一个感测装置获得的传感器数据提供所述数据;
将所述神经元模型的第一部分发送到所述计算装置,其中所述第一部分基于与处理所述传感器数据相关联的预测数据流量而选择,所述预测数据流量包含去往所述计算装置的数据流量或来自所述计算装置的数据流量中的至少一者;
从所述计算装置接收中间结果,其中所述计算装置基于使用所述第一部分处理所述传感器数据而提供所述中间结果;并且
通过使用所述神经元模型的第二部分处理所述中间结果来提供输出。
2.根据权利要求1所述的系统,其中基于预测数据流量选择所述神经元模型的所述第一部分包括从所述神经元模型选择神经元集合,并且其中选择所述神经元集合是基于以下各者中的至少一者:将待使用所述第一部分处理的输入数据的数据大小与待从使用所述第一部分进行处理获得的输出数据的数据大小进行比较,或将待使用所述第一部分处理的输入数据的数据大小与所述第一部分的数据大小进行比较。
3.根据权利要求1所述的系统,其中所述指令进一步被配置成指示所述至少一个处理装置:
使用所述ANN的至少一部分预测使用所述第一部分处理的所述传感器数据的所述数据大小大于所述第一部分的所述数据大小;
其中响应于所述预测使用所述第一部分处理的所述传感器数据的所述数据大小大于所述第一部分的所述数据大小而将所述第一部分发送到所述计算装置。
4.一种方法,其包括:
由第一计算装置且使用人工神经网络(ANN)处理经由网络从第二计算装置接收的数据,其中所述ANN包括用于处理所述数据的神经元模型,所述第二计算装置处理来自车辆的至少一个感测装置的传感器数据,并且所述第二计算装置提供来自处理所述传感器数据的所接收数据;
由所述第一计算装置确定在所述第二计算装置上对所述神经元模型的第一部分执行处理;
响应于确定在所述第二计算装置上对所述神经元模型的所述第一部分执行处理,经由所述网络将所述第一部分发送到所述第二计算装置,其中所述第二计算装置基于使用所述第一部分处理所述传感器数据而提供中间结果;
从所述第二计算装置接收所述中间结果;以及
由所述第一计算装置使用所述神经元模型的第二部分处理所述中间结果以提供输出。
5.根据权利要求4所述的方法,其中所述第一计算装置为第一服务器,并且所述第二计算装置为所述车辆与所述第一服务器之间的通信路径上的第二服务器。
6.根据权利要求5所述的方法,其中所述确定在所述第二计算装置上对所述第一部分执行所述处理包括以下各者中的至少一者:将所述传感器数据的数据大小与所述中间结果的数据大小进行比较、将所述传感器数据的数据大小与所述第一部分的数据大小进行比较,或将所述中间结果的数据大小与所述第一部分的数据大小进行比较。
7.根据权利要求6所述的方法,其中所述传感器数据为第一输入向量,并且所述中间结果为第一输出向量。
8.根据权利要求7所述的方法,其中所述确定在所述第二计算装置上对所述神经元模型的所述第一部分执行所述处理进一步包括预测所述第一输入向量的所述数据大小或所述第一输出向量的所述数据大小中的至少一者。
9.根据权利要求4所述的方法,其中所述确定在所述第二计算装置上对所述第一部分执行所述处理是基于确定所述传感器数据是否将在提供所述中间结果之后上载到所述第一计算装置。
10.根据权利要求4所述的方法,其中所述至少一个感测装置包括图像传感器。
11.根据权利要求4所述的方法,其进一步包括:
由所述第一计算装置确定在所述车辆上对所述ANN的第三部分执行处理;以及
响应于确定在所述车辆上对所述第三部分执行处理,经由网络将所述第三部分发送到所述至少一个感测装置,其中:
所述至少一个感测装置使用所述第三部分生成所述传感器数据以处理来自图像传感器的至少一个图像;并且
所述至少一个感测装置将所生成传感器数据发送到所述第二计算装置以用于确定所述中间结果。
12.根据权利要求4所述的方法,其进一步包括将所述输出发送到所述车辆以控制所述车辆上的动作。
13.根据权利要求4所述的方法,其中所述第二计算装置为所述车辆的计算机系统中的控制器。
14.根据权利要求4所述的方法,其中所述传感器数据对应于由所述车辆的图像传感器收集的图像,并且所述中间结果包括所述图像中的对象的标识或所述对象的分类中的至少一者。
15.根据权利要求4所述的方法,其中所述确定在所述第二计算装置上对所述神经元模型的所述第一部分执行所述处理包括评估所述第一计算装置与所述第二计算装置之间的与提供所述输出相关联的数据流量。
16.根据权利要求15所述的方法,其中所述数据流量与以下各者中的至少一者相关联:在确定所述传感器数据需要由所述ANN在所述第一计算装置处进一步处理之后从所述第二计算装置接收所述传感器数据、将所述第一部分发送到所述第二计算装置,或从所述第二计算装置接收所述中间结果。
17.根据权利要求4所述的方法,其进一步包括选择所述神经元模型的用于发送到所述第二计算装置的所述第一部分,其中所述选择是基于所述第一计算装置与所述第二计算装置之间的预测数据流量。
18.一种系统,其包括:
至少一个处理装置;以及
存储器,其含有指令,所述指令被配置成指示所述至少一个处理装置:
使用人工神经网络(ANN)的至少一个部分处理从车辆的至少一个感测装置获得的传感器数据;
经由网络将来自处理所述传感器数据的结果发送到计算装置;
从所述计算装置接收所述ANN的第一部分,所述第一部分基于与处理所述传感器数据相关联的数据流量的预测而选择,所述预测数据流量包含去往所述计算装置的数据流量或来自所述计算装置的数据流量中的至少一者;并且
将基于使用所述第一部分处理所述传感器数据而确定的中间结果发送到所述计算装置,其中所述计算装置提供用于控制所述车辆的输出,并且所述输出通过使用所述ANN的第二部分处理所述中间结果而获得。
19.根据权利要求18所述的系统,其中所述指令进一步被配置成指示所述至少一个处理装置:
将所述传感器数据的数据大小与所述ANN的所述第一部分的数据大小进行比较;并且
向所述计算装置且基于所述将所述传感器数据的所述数据大小与所述第一部分的所述数据大小进行比较而发送对所述第一部分的请求;
其中响应于所述请求而从所述计算装置接收所述第一部分。
20.根据权利要求18所述的系统,其中当使用所述ANN处理所述传感器数据时,选择所述第一部分以减少去往和来自所述计算装置的预测数据流量。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/942,317 US11588735B2 (en) | 2020-07-29 | 2020-07-29 | Edge processing of sensor data using a neural network to reduce data traffic on a communication network |
US16/942,317 | 2020-07-29 | ||
PCT/US2021/042672 WO2022026276A1 (en) | 2020-07-29 | 2021-07-21 | Edge processing of sensor data using a neural network to reduce data traffic on a communication network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115997217A true CN115997217A (zh) | 2023-04-21 |
Family
ID=80003602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180049364.7A Pending CN115997217A (zh) | 2020-07-29 | 2021-07-21 | 使用神经网络对传感器数据进行边缘处理以减少通信网络上的数据流量 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11588735B2 (zh) |
CN (1) | CN115997217A (zh) |
WO (1) | WO2022026276A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117485115A (zh) * | 2023-11-02 | 2024-02-02 | 广州市双宝电子科技股份有限公司 | 一种新能源汽车用限速装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11588735B2 (en) * | 2020-07-29 | 2023-02-21 | Micron Technology, Inc. | Edge processing of sensor data using a neural network to reduce data traffic on a communication network |
US11915122B2 (en) | 2020-07-29 | 2024-02-27 | Micron Technology, Inc. | Gateway for distributing an artificial neural network among multiple processing nodes |
CN112333046B (zh) * | 2020-11-09 | 2022-02-11 | 北京邮电大学 | 物联网节点流量预测系统及方法 |
US11659028B2 (en) * | 2021-09-22 | 2023-05-23 | Toyota Motor Engineering & Manufacturing North America, Inc. | Data offloading rate determination using mean field games |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3035314B1 (en) * | 2014-12-18 | 2017-11-15 | Be-Mobile Tech NV | A traffic data fusion system and the related method for providing a traffic state for a network of roads |
KR102492318B1 (ko) | 2015-09-18 | 2023-01-26 | 삼성전자주식회사 | 모델 학습 방법 및 장치, 및 데이터 인식 방법 |
US10846590B2 (en) * | 2016-12-20 | 2020-11-24 | Intel Corporation | Autonomous navigation using spiking neuromorphic computers |
US10332320B2 (en) * | 2017-04-17 | 2019-06-25 | Intel Corporation | Autonomous vehicle advanced sensing and response |
US10489992B2 (en) | 2017-05-08 | 2019-11-26 | Lear Corporation | Vehicle communication network |
US11823067B2 (en) | 2017-06-27 | 2023-11-21 | Hcl Technologies Limited | System and method for tuning and deploying an analytical model over a target eco-system |
US11132604B2 (en) * | 2017-09-01 | 2021-09-28 | Facebook, Inc. | Nested machine learning architecture |
US11481598B2 (en) * | 2017-11-27 | 2022-10-25 | International Business Machines Corporation | Auto scaling a distributed predictive analytics system with machine learning |
US11436433B2 (en) * | 2017-12-28 | 2022-09-06 | Intel Corporation | Malleable fabric attached virtual artificial intelligence (AI) training appliances |
US11328210B2 (en) * | 2017-12-29 | 2022-05-10 | Micron Technology, Inc. | Self-learning in distributed architecture for enhancing artificial neural network |
US20190205744A1 (en) * | 2017-12-29 | 2019-07-04 | Micron Technology, Inc. | Distributed Architecture for Enhancing Artificial Neural Network |
US10737717B2 (en) * | 2018-02-14 | 2020-08-11 | GM Global Technology Operations LLC | Trajectory tracking for vehicle lateral control using neural network |
US10713754B1 (en) | 2018-02-28 | 2020-07-14 | Snap Inc. | Remote distribution of neural networks |
US11161518B2 (en) * | 2018-06-15 | 2021-11-02 | Micron Technology, Inc. | Detecting road conditions based on braking event data received from vehicles |
US10807592B2 (en) * | 2018-06-18 | 2020-10-20 | Micron Technology, Inc. | Vehicle navigation using object data received from other vehicles |
US10838423B2 (en) * | 2018-08-07 | 2020-11-17 | GM Global Technology Operations LLC | Intelligent vehicle navigation systems, methods, and control logic for deriving road segment speed limits |
US11664108B2 (en) * | 2018-11-29 | 2023-05-30 | January, Inc. | Systems, methods, and devices for biophysical modeling and response prediction |
US11915122B2 (en) | 2020-07-29 | 2024-02-27 | Micron Technology, Inc. | Gateway for distributing an artificial neural network among multiple processing nodes |
US11588735B2 (en) * | 2020-07-29 | 2023-02-21 | Micron Technology, Inc. | Edge processing of sensor data using a neural network to reduce data traffic on a communication network |
US11511770B2 (en) * | 2020-10-19 | 2022-11-29 | Marvell Asia Pte, Ltd. | System and method for neural network-based autonomous driving |
WO2022100861A1 (en) * | 2020-11-16 | 2022-05-19 | Huawei Technologies Co., Ltd. | Device and method for classifying input data |
-
2020
- 2020-07-29 US US16/942,317 patent/US11588735B2/en active Active
-
2021
- 2021-07-21 WO PCT/US2021/042672 patent/WO2022026276A1/en active Application Filing
- 2021-07-21 CN CN202180049364.7A patent/CN115997217A/zh active Pending
-
2023
- 2023-02-14 US US18/168,811 patent/US20230198905A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117485115A (zh) * | 2023-11-02 | 2024-02-02 | 广州市双宝电子科技股份有限公司 | 一种新能源汽车用限速装置 |
CN117485115B (zh) * | 2023-11-02 | 2024-05-28 | 广州市双宝电子科技股份有限公司 | 一种新能源汽车用限速装置 |
Also Published As
Publication number | Publication date |
---|---|
US20220038375A1 (en) | 2022-02-03 |
US11588735B2 (en) | 2023-02-21 |
WO2022026276A1 (en) | 2022-02-03 |
US20230198905A1 (en) | 2023-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11588735B2 (en) | Edge processing of sensor data using a neural network to reduce data traffic on a communication network | |
US20210127090A1 (en) | Distributed neural network processing on an intelligent image sensor stack | |
KR20230026961A (ko) | 장애물 이동 궤적의 예측 방법, 장치 및 자율 운전 차량 | |
US11947359B2 (en) | Intelligent lidar sensors for autonomous vehicles | |
KR20180111959A (ko) | 비디오 이해를 위한 모션-기반 어텐션에 의한 순환 네트워크들 | |
WO2019116354A1 (en) | Training of artificial neural networks using safe mutations based on output gradients | |
US20190130272A1 (en) | Generating compressed representation neural networks having high degree of accuracy | |
KR102293791B1 (ko) | 반도체 소자의 시뮬레이션을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 매체 | |
US20190094941A1 (en) | Power state control of a mobile device | |
US11915122B2 (en) | Gateway for distributing an artificial neural network among multiple processing nodes | |
CN116627662B (zh) | 边缘计算的资源处理方法、装置、存储介质及电子设备 | |
US11928867B2 (en) | Group of neural networks ensuring integrity | |
US11668797B2 (en) | Intelligent radar electronic control units in autonomous vehicles | |
US20240116543A1 (en) | Dynamic adaptation of automotive ai processing power and active sensor data | |
WO2022086768A1 (en) | Intelligent radar having deep learning accelerator and random access memory | |
Huang et al. | Real-time radar gesture classification with spiking neural network on SpiNNaker 2 prototype | |
KR102633944B1 (ko) | 3d 라이다 센서를 활용한 얼굴 인식 방법 및 장치 | |
CN114092309A (zh) | 与图像传感器堆叠的神经形态存储器和推断引擎 | |
WO2021262139A1 (en) | Distributed machine learning models | |
US20240005660A1 (en) | User-customized computer vision event detection | |
EP4318318A1 (en) | Information processing device for improving quality of generator of generative adversarial network (gan) | |
CN115481562B (zh) | 多并行度优化方法、装置、识别方法和电子设备 | |
KR102655841B1 (ko) | 초단기 강수 예측을 통한 침수 위험 조기 감지 및 대응 방법 | |
US20230166766A1 (en) | Hybrid challenger model through peer-peer reinforcement for autonomous vehicles | |
US20220180185A1 (en) | Artificial neural network model selection |
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 |