车辆数据记录器中对压倒性刺激的处理的制作方法

文档序号:26945052发布日期:2021-10-12 18:01阅读:113来源:国知局
车辆数据记录器中对压倒性刺激的处理的制作方法

1.本文中所公开的至少一些实施例总的来说涉及车辆数据记录器,且更具体为但不限于车辆数据记录器中对压倒性刺激的处理。


背景技术:

2.自主驾驶技术领域的最新发展允许计算系统至少在一些条件下操作机动车辆的控制元件而无需车辆的人类操作者的辅助。
3.例如,传感器(例如,相机和雷达)可安装在机动车辆上以检测在车道上行驶的车辆的周围环境的条件。在具有或不具有来自车辆的人类操作者的任何输入的情况下,安装在车辆上的计算系统分析传感器输入以识别条件并且产生用于车辆的方向和/或速度的自主调整的控制信号或命令。
4.在一些布置中,当计算系统辨识出其中计算系统可能无法继续以安全方式操作车辆的情境时,计算系统对车辆的人类操作者发出警报并且请求人类操作者接管对车辆的控制并进行手动驾驶,而不是让计算系统自主驾驶车辆。
5.自主驾驶和/或高级驾驶辅助系统(adas)可以使用用于识别在传感器输入中所捕获的事件和/或对象的人工神经网络(ann)。传感器输入的实例包含来自数码相机、光达、雷达、超声声纳等的图像。
6.一般来说,人工神经网络(ann)使用神经元网络处理所述网络的输入并产生所述网络的输出。
7.例如,网络中的每一神经元接收一组输入。神经元的一些输入可以是网络中的某些神经元的输出;且神经元的一些输入可以是提供给神经网络的输入。网络中的神经元之间的输入/输出关系表示网络中的神经元连接性。
8.例如,每个神经元可具有偏置、激活函数,以及一组突触权重,分别用于其输入。激活函数可呈阶跃函数、线性函数、对数s型(log

sigmoid)函数等形式。网络中的不同神经元可具有不同激活函数。
9.例如,每个神经元可产生其输入和其偏置的加权和,然后产生为加权和的函数的输出,所述输出是使用神经元的激活函数计算的。
10.ann的输入与输出之间的关系一般来说是由ann模型定义的,所述ann模型包含表示网络中的神经元的连接性的数据,以及每个神经元的偏置、激活函数和突触权重。使用给定ann模型,计算装置根据网络的给定一组输入计算网络的输出。
11.例如,可基于相机输入产生ann网络的输入;并且ann网络的输出可以是对例如事件或对象等事项的识别。
12.脉冲神经网络(snn)是一种紧密模仿自然神经网络的ann类型。当神经元的激活电平足够高时,snn神经元产生脉冲作为输出。snn神经元的激活电平模仿自然神经元的薄膜电位。snn神经元的输出/脉冲可以改变接收输出的其它神经元的激活电平。随时间而变的snn神经元的当前激活电平通常是使用微分方程来建模的,且被视为snn神经元的状态。来
自其它神经元的传入脉冲可将所述神经元的激活电平推得更高,以达到产生脉冲的阈值。一旦神经元产生脉冲,其激活电平就复位。在产生脉冲之前,snn神经元的激活电平可随时间推移而衰减,如微分方程所控制的那样。snn神经元行为中的时间元素使得snn适合于处理时空数据。snn的连接性通常是稀疏的,这有利于减少计算工作负载。
13.一般来说,可使用监督方法来训练ann,其中调整ann中的参数以最小化或减少由相应输入产生的已知输出与通过将输入应用于ann而产生的所计算输出之间的误差。监督学习/训练方法的实例包含强化学习,以及具有误差校正的学习。
14.替代地或组合地,可以使用非监督方法来训练ann,其中由给定的一组输入产生的确切输出在所述训练完成之前是未知的。可以训练ann,以将事项分类成多个类别,或将数据点分类成聚类。
15.可以采用多个训练算法用于复杂机器学习/训练范例。


技术实现要素:

16.本公开的实施例提供一种数据存储装置,其包括:一或多个存储器组件;控制器;以及推理引擎;其中所述数据存储装置配置成接收根据时间顺序产生的传感器数据的输入流;其中响应于确定所述输入流中的刺激导致所述输入流的实时处理产生延迟,所述控制器配置成选择所述输入流的时间切片区段,将所述时间切片区段指派给所述数据存储装置的第一资源子集,并将所述输入流的剩余区段指派给所述数据存储装置的第二资源子集;且其中所述数据存储装置的所述第一资源子集和所述数据存储装置的所述第二资源子集配置成分别且同时处理所述时间切片区段和所述剩余区段。
17.本公开的另一实施例提供一种方法,其包括:在数据存储装置中接收根据时间顺序产生的传感器数据的输入流;通过所述数据存储装置的控制器确定所述输入流中的刺激导致所述输入流的实时处理产生延迟;将所述数据存储装置的资源划分成第一子集和第二子集;选择所述输入流的时间切片区段;将所述时间切片区段指派给所述第一子集,并将所述输入流的剩余区段指派给所述第二子集;以及由所述第一子集处理所述时间切片区段,同时由所述第二子集处理所述剩余区段。
18.本公开的又一实施例提供一种车辆,其包括:一或多个传感器,其配置成在所述车辆的操作期间根据时间顺序产生传感器数据的输入流;高级驾驶辅助系统(adas),其配置成基于传感器数据而操作所述车辆;以及数据存储装置,其配置成存储由所述一或多个传感器产生的所述传感器数据的一部分,所述数据存储装置具有第一资源子集和第二资源子集;其中响应于确定所述输入流中的刺激导致所述输入流的实时处理产生延迟,所述数据存储装置配置成选择所述输入流的时间切片区段;且其中所述第一资源子集和所述第二资源子集配置成分别且并行地处理所述时间切片区段和剩余区段。
附图说明
19.在附图的各图中作为实例而非限制示出了实施例,在附图中,相似的参考标号指示类似的元件。
20.图1示出根据一个实施例的车辆数据记录器。
21.图2示出根据一些实施例的具有配置成收集并处理传感器数据的车辆的系统。
22.图3示出根据一个实施例的自主车辆。
23.图4

6示出根据一些实施例的用于预测的人工神经网络的训练。
24.图7示出根据一个实施例的具有神经网络加速器的数据存储装置。
25.图8示出根据一个实施例的用于加快神经网络计算的存储器组件。
26.图9示出根据一个实施例的配置成支持神经网络计算的存储器容量。
27.图10示出根据一个实施例的用于人工神经网络(ann)模型的存储器区域的配置。
28.图11示出根据一个实施例的用于人工神经元的输入的存储器区域的配置。
29.图12示出根据一个实施例的用于人工神经元的输出的存储器区域的配置。
30.图13示出根据一个实施例的自主车辆和数据存储装置之间的通信。
31.图14示出根据一个实施例的数据存储装置内的通信。
32.图15示出根据一个实施例的配置成处理传感器数据输入的数据存储装置。
33.图16示出根据一个实施例的用于处理传感器数据输入的方法。
具体实施方式
34.本文中所公开的至少一些实施例提供保护车辆数据记录器的资源不被恶意刺激压倒的系统、方法和设备。
35.可能会发生通过操纵施加在车辆传感器上的刺激来破坏车辆黑匣子数据记录器的操作的恶意尝试。例如,可以通过向车辆的摄像机应用闪光灯来产生刺激以压倒车辆数据记录器。
36.在本文所论述的至少一些实施例中,可以通过使用一组资源来处理压倒性刺激并使用另一组资源来处理正常传感器输入来击败这种恶意尝试。这些资源可包含存储器、缓冲器、高速缓存、处理逻辑、存储容量等,或其任何组合。
37.例如,当检测到压倒性刺激时(例如,以溢出黑匣子数据记录器的输入缓冲器的形式),数据记录器可以选择刺激的经时间切片部分并将其引导到数据记录器的一组有限资源,而不是向数据记录器的整组资源指派依序处理整个传入的数据刺激的任务。
38.例如,异常刺激可以在短时间内产生,从而对数据记录器造成异常大的处理负担。当负担暂时超过一组资源的实时处理能力时,这组资源就会不堪重负。压倒性刺激引起的延迟可能会影响异常刺激之后的其它正常传感器输入的处理,从而导致正常传感器输入的实时处理出现显著延迟。
39.例如,可以指派一或多个单独的处理器核心来处理含有压倒性刺激的时间切片部分,使得剩余的一组处理器核心可以用于处理正常刺激的其它部分。
40.然而,作为将车辆数据记录器的所有处理器核心配置为聚合单元以将输入数据作为单个数据流一起处理的替代,可以选择刺激的时间切片部分供含有一或多个单独处理器核心的有限子集进行处理。当一或多个单独处理器核心可能被恶意刺激压倒时,车辆数据记录器的处理器核心的其余子集可以继续实时处理剩余的以及传入的基本正常的刺激。因此,恶意刺激的延迟和/或影响可以基本上被隔离到负责处理压倒性刺激的一或多个单独处理器核心的有限子集。
41.为隔离压倒性刺激而选择的刺激的时间切片部分的默认宽度初始可以根据最佳已知使用实例来设置。刺激的时间切片部分可以称为时间切片刺激。随后可以通过机器学
习优化为隔离而选择的时间切片刺激的宽度。例如,可以训练人工神经网络(ann)来预测用于时间切片刺激选择的最佳宽度。切片经过优化,基本上能够包含恶意/压倒性的刺激片段,而不会过于包容。由于压倒性刺激,选定切片的处理可能会延迟。然而,由于在由其余资源处理的任务中移除了选定切片,因此剩余的和传入的刺激可以进行实时处理。
42.在时间切片刺激被负责处理恶意刺激的一或多个处理器核心的子集处理之后,一个或多个处理器核心的所述子集可以识别时间切片刺激中在恶意刺激之后且被确定为正常的部分。因此,可以测量对用于选择的时间切片刺激的宽度的优选调整,以将时间切片刺激中确定为正常的部分排除。可以产生一部分训练数据集,将与恶意尝试的实例相关的操作参数与调整相关联,从而减小宽度并优化选择宽度。
43.类似地,在一些情况下,在时间切片刺激被隔离之后,发现恶意刺激的残余部分在剩余的刺激切片中。在这种情况下,用于选择时间切片刺激的初始宽度太小。因此,可以测量对时间切片刺激的宽度的优选调整,以包含恶意刺激中最初留在输入流中以供数据存储装置的其余资源处理的残余部分。可以产生一部分训练数据集,将与恶意尝试实例相关的操作参数与增加宽度的调整相关联。
44.训练数据集可用于训练人工神经网络(ann),以基于操作参数预测与当前恶意尝试实例相关的当前操作参数的最佳调整,从而预测用于隔离当前攻击的最佳时间切片刺激宽度。
45.此外,例如,当车辆数据记录器具有彼此可独立操作的多个存储单元时,存储单元的子集可用于处理压倒性刺激,而其余子集可用于处理正常刺激。例如,如果其中一个存储单元被压倒,则其它存储单元可以以足够的速度执行操作,以处理剩余刺激并实时提供有用的结果。
46.图1示出根据一个实施例的车辆数据记录器。
47.图1的车辆数据记录器可包含具有一组资源的数据存储装置112,例如缓冲器152、控制器151、推理引擎109和存储媒体(例如,107和108)。
48.控制器151可任选地包含彼此可独立操作的多个处理器核心。存储装置112可任选地包含可彼此独立且由控制器151并行操作的媒体的多个单元(例如,107和108)。类似地,推理引擎109可任选地包含用于加快涉及人工神经网络(ann)(例如,125)的计算的多个逻辑单元或处理器核心。
49.图1的车辆数据记录器配置成从配置于车辆上的传感器122接收输入流205。输入流205可含有压倒性刺激102中可能会引起数据存储装置112的操作的显著延迟的区段104,使得如果需要数据存储装置112在处理输入流205的其余部分106之前完成区段104的处理,那么处理输入流205的其余部分106的延迟可能会超过阈值。
50.响应于检测到与压倒性刺激102相关联的异常大的处理负载,时间切片选择器101配置成根据时间宽度105选择输入流205的区段104。异常大的处理负载可以基于当前处理负载与一段时间内的平均处理负载的比较来识别。当当前处理负载超过平均值的阈值倍数时,当前处理负载可以识别为异常大。从缓冲器152中取出在所述时间宽度内产生的传感器数据以卸载到数据存储装置112的资源子集。因此,输入流205的其余部分106可以由数据存储装置112的其余资源处理,而不会存在过度延迟。
51.例如,控制器151中的一些处理核心可用于使用媒体107处理选定区段104,而控制
器151的其余处理核心可使用媒体108处理输入流205中在选定区段104之后的区段106。
52.任选地,推理引擎109的处理单元的一部分经分配以处理含有压倒性刺激102的选定区段104,而推理引擎109的处理单元的其余部分用于处理具有正常刺激103的剩余区段106。因此,即使选定区段104的处理延迟,含有正常刺激103的剩余区段106的处理也可以及时执行以提供有用结果。
53.在至少一些实施例中,数据存储装置112包含人工神经元网络(ann)(例如,125),其配置成预测用于区段104的选择的最佳宽度105。在输入流205的处理之后,可以进一步训练ann(例如,125)。例如,在处理含有压倒性刺激102及在压倒性刺激102之后的部分正常刺激103的输入流205之后,数据存储装置112可以测量压倒性刺激102的宽度。可以进一步训练人工神经元网络(例如,125)以最小化在与压倒性刺激102相关联的输入流205的情况下的经预测宽度与压倒性刺激102的经测量宽度之间的差。
54.一般来说,人工神经元网络(例如,125)的训练不必限于源自提供给数据存储装置112的输入流205的处理的数据。从配置于类似车辆中的类似车辆数据记录器收集的训练数据可经组合以训练车辆数据记录器的人工神经元网络,然后用于更新数据存储装置112中的人工神经元网络(例如,125)。此外,可以在从车辆数据记录器或具有数据记录器的车辆接收数据的集中式服务器中执行训练。任选地,人工神经元网络(例如,125)可以使用源自提供给数据存储装置112的输入流205的处理的数据进行训练,以针对使用数据存储装置112的车辆进行定制。
55.数据存储装置112可以例如在图2所示的车辆中配置。
56.图2示出根据一些实施例的具有配置成收集并处理传感器数据的车辆111的系统。
57.图2中的车辆111具有数据存储装置112、传感器122、ann 125和adas 128,所述adas配置成处理传感器数据(包含来自传感器122的输入),以产生用于车辆111的控制信号。
58.例如,图2中的传感器122可包含图1所示的传感器122;且图1的数据存储装置112可用于实施图2的车辆111的数据存储装置112。
59.一般来说,一或多个传感器(例如,122)可配置于车辆111上以产生输入到adas 128和/或数据存储装置112的传感器数据。数据存储装置112和/或adas 128可配置成使用ann 125产生推理结果。推理结果可包含用于操作或驾驶车辆111的控制信号、对车辆111的维护服务的建议,等等。
60.在一些实施方案中,由传感器(例如,122)产生的数据的至少一部分用于adas 128的驾驶辅助和ann 125的维护预测。任选地,ann 124的输出可用于数据存储装置112和adas 128。ann 125可以是adas 128的部分。
61.一些传感器122可以配置于数码相机、光达、雷达、超声波声纳等等中。还可使用其它类型的传感器,例如制动器传感器、速度传感器、加速度传感器、安全气囊传感器、全球定位系统(gps)接收器、音频传感器/麦克风、振动传感器、力/应力传感器、变形传感器、运动传感器、温度传感器,等等。一些传感器122可主要配置成用于监测车辆111的环境;且其它传感器122可主要配置成用于监测车辆111的一或多个组件的操作条件,例如内燃机、排气系统、电动机、制动器、轮胎、电池,等等。
62.车辆111的ann 125配置成处理来自传感器122的传感器输入数据以控制车辆111
和/或数据存储装置112,和/或产生对维护服务的警报。
63.一般来说,随时间而变的传感器122的输出作为传感器数据流提供给adas 128和/或ann 125,以提供驾驶辅助(例如,自主驾驶)和维护预测。
64.传感器数据流的至少一部分可以提供给数据存储装置112以供存储和/或处理。例如,ann 125的一部分可以在数据存储装置112中实施。数据存储装置112的推理引擎109可以处理传感器数据流以产生推理结果,以供adas 128进一步处理。因此,数据存储装置112的输入数据流可包含来自传感器122的传感器数据流的至少一部分;且输出数据流可包含使用数据存储装置112中的ann 125针对车辆111的adas 128产生的推理结果。可根据数据存储装置112的输入/输出数据流中的模式确定车辆111的操作条件,且因此确定数据存储装置112的工作负载。
65.车辆111的和/或数据存储装置112中的ann 125可包含配置成对传感器数据的基于时间的变化进行分类和/或检测相对于车辆111的传感器数据的已知模式的偏差的snn。当ann 125检测到相对于已知模式的偏差时,对应于所述偏差的传感器数据可以存储在数据存储装置112中,用于进一步分析和/或用于ann 125的进一步训练。
66.车辆111的数据存储装置112可配置成记录一段时间内的传感器数据。记录下来的传感器数据可用于ann 125和/或用于进一步训练ann 125。例如,图2的ann 125可与图1的ann 125相同,或包含图1的ann 125。维护服务设施(例如,127)可从数据存储装置112下载传感器数据121,并向服务器119提供传感器数据121和对应的推理结果数据123以促进ann 125的训练。
67.任选地或组合地,数据存储装置112配置有机器学习模块,以定制和/或训练安装于车辆111和/或数据存储装置112中的ann 125。
68.车辆111可具有用于经由无线信号113和通信网络117与远程服务器119通信的无线通信装置。远程服务器119通常配置在远离车辆111正在上面行驶的道路114的位置处。例如,车辆111可以向服务器119提供一些传感器数据121并从服务器119接收ann 125的更新。
69.通信网络117可以是具有用于接收无线信号(例如,113)的一或多个基站(例如,115)的移动电话网络。替代地或组合地,通信网络117可包含因特网,其中通过车辆113传输的无线局域网信号(例如,113)在存取点(例如,115)中接收以进一步传送给服务器119。在一些实施方案中,车辆111使用去往卫星118的通信链路116或通信气球来与服务器119通信。
70.服务器119还可与一或多个维护服务设施(例如,127)通信来接收车辆(例如,111)的传感器数据121和/或所要推理结果数据123。
71.例如,所要推理结果数据123可由检查传感器数据121(例如,来自传感器122的图像)和/或车辆111的相关条件的人类操作者产生。例如,所要推理结果数据123可包含车辆(例如,111)的组件的检查记录和/或维修记录。例如,检查记录和/或维修记录可指示在维护服务设施(例如,127)进行维修期间检查的组件的磨损程度、有故障的或发生故障的组件的识别,等等。在与所要推理结果数据123相关的时间段中获得的车辆(例如,111)的传感器数据121可用于在服务器119处训练ann 125以提高ann 125的推理能力。
72.更新后的ann 125可以在维护服务设施127处安装于车辆111中。可替代地,更新ann 125可以传输到车辆111以无线更新车辆111。
73.ann 125中负责处理来自传感器122的输入的部分可以配置在数据存储装置112中。数据存储装置112的推理引擎109处理来自传感器122的输入以产生从数据存储装置112传输到adas 128的推理结果。基于来自传感器122的输入和/或去往adas 128的推理结果,数据存储装置112的推理引擎109可产生推理结果,以在处理输入数据流和输出数据流时通过调整缓冲/高速缓存、垃圾收集、耗损均衡等操作来优化数据存储装置112的性能。
74.图3示出根据一个实施例的自主车辆111。例如,图2的系统中的车辆111可以使用图3的自主车辆111来实施。
75.一般来说,车辆111可包含信息娱乐系统149、通信装置139、一或多个传感器122和计算机系统131,所述计算机系统连接到车辆111的一些控件,例如用于车辆111的方向的转向控件141、用于车辆111的停止的制动控件143、用于车辆111的速度的加速控件145等等。在一些实施例中,图2的系统中的车辆111具有类似配置和/或类似组件。
76.图3的车辆111配置有高级驾驶辅助系统(adas)128。车辆111的adas 128可具有用于基于在传感器122中产生的图像进行对象检测、辨识、识别和/或分类的人工神经网络(ann)125。ann 125的一部分可以在图1的数据存储装置112中实施。
77.车辆111的计算机系统131可包含一或多个处理器133、数据存储装置112,以及存储固件(或软件)147(包含用于adas 128的计算机指令和数据模型)的存储器135。
78.车辆111的传感器122可包含可见光相机、红外相机、光达、雷达或声纳系统、外围传感器、全球定位系统(gps)接收器、卫星定位系统接收器、制动传感器和/或安全气囊传感器。此外,车辆111的传感器122可包含配置成监测来自车辆111中的各种组件和位置的噪声的音频传感器(例如,麦克风)、振动传感器、压力传感器、力传感器、应力传感器和/或配置成测量车辆111的组件上的负载的变形传感器、测量车辆111中的一些组件的运动的加速度计和/或陀螺仪传感器,等等。此类传感器可用于就预测性维护监测组件的操作状态和/或健康状况。
79.传感器122可以向计算机系统131提供实时传感器数据流。由车辆111的传感器122产生的传感器数据可包含使用利用人眼可见的灯成像的相机或使用红外光成像的相机或声纳、雷达或lidar系统捕获对象的图像。优选地,图像由数据存储装置112的推理引擎109处理以产生推理结果作为数据存储装置112的输出数据流,并因此减少主计算机系统131的计算工作负载。
80.例如,相机可用于获得用于车辆111行驶的车道信息,此车道信息可由ann 125处理以产生用于车辆111的控制信号。例如,相机可用于监测车辆111的组件的操作状态/健康状况,这可由ann 125处理以预测或安排维护服务。
81.车辆111的信息娱乐系统149可用于呈现来自传感器122的数据和/或推理结果。例如,具有减小的分辨率和刷新频率的经压缩图像可在传感器122中产生并被传输到信息娱乐系统149以供呈现给车辆111的乘员。任选地,为进行所述呈现,通信装置139可建立与车辆111的乘员的移动装置的连接。
82.当车辆111配置有adas 128时,adas 128的输出可用于在自主驾驶期间控制(例如,141、143、145)车辆111的加速度、车辆111的速度和/或车辆111的方向。
83.图4

6示出根据一些实施例的用于预测的人工神经网络125的训练。
84.在图4中,使用监督机器学习的模块171来训练人工神经网络125,以最小化从传感
器数据121产生的预测129与所要推理结果数据123之间的差异。
85.例如,传感器数据121可包含示出对象的图像;且所要/预期推理结果数据123可识别被对象占用的图像区域、对象的特征、对象的分类、对象的身份等等。
86.例如,传感器数据121可包含车辆111周围环境的图像;且所要/预期推理结果数据123可包含用于转向控件141、制动控件143和加速控件145的优选控制输入。
87.所要/预期推理结果数据123可由人类操作者产生。例如,传感器数据121可用于构建车辆111所遇情形的虚拟现实演示,包含来自传感器122的示出车辆111的环境的图像;且所要/预期推理结果数据123可包含由人类操作者响应于情形的虚拟现实演示而产生的响应。
88.监督机器学习模块171可调整人工神经网络125以减少/最小化基于传感器数据121产生的预测129和由人类操作者产生的所要/预期推理结果数据123之间的差异。
89.图4的监督学习171可以基于一群车辆的传感器数据和对应的所要/预期推理结果数据123而应用在服务器119中,以产生用于这一群车辆的通用ann。
90.图4的监督学习171可以基于车辆的传感器数据和推理结果数据123而应用在车辆111中,以产生定制/个性化ann 125。例如,一开始可以在车辆111中使用通用ann 125;且可以使用特定于车辆111的车辆111的传感器数据和所要/预期推理结果数据123来进一步训练车辆的ann 125,以在车辆111中产生定制/个性化的ann 125。
91.在图5中,使用非监督机器学习的模块175训练或细化人工神经网络125以促进异常检测173。非监督机器学习模块175配置成调整ann(例如,snn)以产生传感器数据121中的正常分类、聚类或经辨识模式,使得相对于传感器数据121中的正常分类、聚类或经辨识模式的偏差程度可用于传达异常检测173。
92.例如,异常检测173可用于保留与异常相关联的传感器数据121以供进一步分析。响应于车辆111中的异常检测173,计算机系统131可向传感器122发出读取命令以从传感器122检索与异常相关联的图像数据,并将检索到的图像数据存储在数据存储装置112中。与异常相关联的图像数据可以暂时保留在传感器122的存储器装置中,并使用传感器122和数据存储装置112之间的可用通信带宽在一段时间内负载到数据存储装置112,而不会影响adas 128的正常操作。
93.当车辆111处于维护服务设施127时,可以从数据存储装置112检索与异常相关联的图像数据(和其它传感器数据)以产生所要/预期推理结果数据123,从而使用图4的监督学习171进一步训练ann 125。
94.任选地,可以使用监督机器学习171训练ann 125,如图6中所示。监督学习171可用于最小化根据传感器数据121使用ann 125做出的预测179和预期分类177之间的分类差异。
95.例如,在没有事故、接近事故的事件或指示异常情况的用户输入的情况下,可以假设“正常”分类。事故、接近事故的事件或用户输入可用于识别导致事故、事件或用户输入的传感器数据的预期“异常”分类。监督机器学习171可用于训练人工神经网络125,使分类179与预期分类177的差异减小/最小化。
96.任选地,数据存储装置112的推理引擎109可配置成加快在数据存储装置112中实施的人工神经网络(ann)125的一部分的计算。
97.例如,推理引擎109可包含专用于执行涉及人工神经网络(ann)125的计算的至少
部分(例如向量和张量的点积、乘累加运算等)的神经网络加速器159(例如,在图7中示出)。
98.图7示出根据一个实施例的具有神经网络加速器159的数据存储装置112。例如,图7的数据存储装置112可用于图2或3中所示的车辆111。
99.在图7中,数据存储装置112具有配置成与主机处理器(例如,图3中的133)通信的主机接口157。例如,主机处理器(例如,133)和主机接口157之间的通信可以至少部分地根据用于外围组件互连高速(pcie)总线、串行高级技术附件(sata)总线、通用串行总线(usb)总线和/或存储区域网络(san)的通信协议。
100.例如,主机计算机系统131可与主机接口157通信,以从含有由车辆111的传感器122产生的传感器数据的输入数据流检索由数据存储装置112产生的推理结果。
101.例如,主机接口157可用于从传感器122接收车辆111的传感器数据121;且传感器数据121可任选地存储在数据存储装置112中,用于分析后续事故或接近事故的事件。
102.在图7中,存储器组件161到163中的每一个可以是配置成存储数据的存储器集成电路。
103.神经网络加速器159和控制器151可以经由在一或多个集成电路裸片上形成的逻辑电路实施,这些集成电路裸片堆叠于存储器组件161到163的集成电路裸片上。神经网络加速器159和控制器151的集成电路裸片与存储器组件161到163的集成电路管芯之间的穿硅通孔可用于提供高通信带宽,用于处理存储于存储器组件161到163中的数据以产生推理结果。推理结果可以存储在控制器151的本地存储器153和/或存储器组件161到163中的一些中以供主机系统检索,例如车辆111的计算机系统131。例如,不同存储器组件161到163或存储器组件(例如,161或163)的不同部分可以使用穿硅通孔促进神经网络加速器159和控制器151的不同部分的并行存取。
104.一般来说,一些存储器集成电路是易失性的,需要电力来维持所存储的数据;且一些存储器集成电路是非易失性的,甚至可以在没有供电时也保持所存储的数据。存储器组件161到163可包含易失性存储器和/或非易失性存储器。存储器组件161到163可实施不同类型的存储器或同一类型的存储器。
105.非易失性存储器的实例包含快闪存储器、基于与非(nand)逻辑门、或非(nor)逻辑门形成的存储器单元、相变存储器(pcm)、磁存储器(mram)、电阻式随机存取存储器、交叉点存储和存储器装置。交叉点存储器装置可以使用无晶体管的存储器元件,其中每一个存储器元件都具有作为列堆叠在一起的存储器单元和选择器。存储器元件列经由在垂直方向上延行的两层导线连接,其中一层导线在一个方向上且在位于存储器元件列上方的层中延行,另一层导线在另一方向上且在位于存储器元件列的层中。可以在两个层中的每一个上的一个导线的交叉点处单独选择每个存储器元件。交叉点存储器装置既快速又是非易失性的,并且可以用作用于处理和存储的统一存储器池。非易失性存储器的其它实例包含只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)和电子可擦除可编程只读存储器(eeprom)存储器等。易失性存储器的实例包含动态随机存取存储器(dram)和静态随机存取存储器(sram)。
106.数据存储装置112可具有包含易失性本地存储器153和至少一个处理装置155的控制器151。
107.控制器151的本地存储器可以是嵌入式存储器,其配置成存储用于执行各个过程、
操作、逻辑流及控制处理装置155的操作的例程的指令,包含处理车辆111的数据存储装置112和处理器(例如,133)之间的通信,以及本文中所描述的其它功能。任选地,控制器151的本地存储器151可包含用于存储微码的只读存储器(rom)和/或存储例如存储器指针、提取数据等的存储器寄存器,和/或易失性存储器,如动态随机存取存储器(dram)和静态随机存取存储器(sram)。
108.在图7中,数据存储装置112包含耦合到控制器151和/或存储器组件161到163的神经网络加速器159。
109.例如,神经网络加速器159可配置成比控制器151的处理装置155更有效地执行矩阵算术计算。涉及ann 125的计算具有矩阵乘累加运算,其对于通用处理器(例如,133、155)来说可为计算密集型的。使用神经网络加速器159执行矩阵算术计算可以减少要传输到车辆111的处理器133的数据,并减少处理器133、155的计算工作负载。
110.当ann 125包含脉冲神经网络(snn)时,用于控制snn神经元的激活电平的微分方程的模拟对于通用处理器(例如,133,155)来说可为计算密集型的。任选地,神经网络加速器159可使用专门硬件来模拟微分方程,并因此在实施snn时提高计算效率。
111.在一些实施方案中,神经网络加速器159是与控制器151和/或存储器组件161到163分开的集成电路装置。替代地或组合地,神经网络加速器159与控制器151在集成电路裸片中集成。替代地或组合地,神经网络加速器159的一部分可以集成在存储器组件161到163中的至少一个的集成电路裸片上,如图8中所示。
112.图8示出根据一个实施例的用于加快神经网络计算的存储器组件160。例如,图7中的每个或一些存储器组件161到163可以使用图8的存储器组件160来实施。
113.在图8中,存储器组件160可以在集成电路裸片上形成。存储器组件160的输入/输出(i/o)接口169配置成处理存储器组件160的输入/输出信号。例如,输入/输出信号可包含指定媒体单元165中的位置的地址信号和表示将在媒体单元165中写入经由地址信号指定的位置的数据或从媒体单元165中的位置检索的数据的数据信号。
114.在图8中,神经网络加速器159与控制逻辑167和/或媒体单元165耦合以执行用于评估ann 125的一部分的输出和/或训练ann 125的计算。
115.例如,输入/输出接口169可接收识别存储在媒体单元中且将经由神经网络加速器159操作的矩阵的地址。存储器组件160可响应于地址提供神经网络加速器159的计算结果作为输出数据,在缓冲器中存储输出数据以用于其它操作,将输出数据存储到媒体单元165中经由地址信号指定的位置中。因此,由神经网络加速器159执行的计算可以在存储器组件160内,其接近其中存储有矩阵数据的媒体单元165。
116.例如,snn神经元的状态数据可以根据预定模式存储在媒体单元165中。神经网络加速器159可根据用于随时间推移控制snn神经元的激活电平的微分方程自动更新snn神经元的状态。任选地,神经网络加速器159配置成处理神经网络中神经元的脉冲产生。可替代地,数据存储装置112的神经网络加速器159和/或处理器133可配置成处理神经元的脉冲产生和/或到snn的输入的累加。
117.例如,传感器122以预定频率产生传感器数据(例如,图像)。每个图像以循环方式存储到存储器组件161到163中,其中最新图像覆写最早图像。存储器组件161到163进一步存储车辆111的ann 125中负责处理来自传感器122的图像的部分。控制器151根据ann 125
的所述部分处理存储器组件161到163中的图像以产生推理结果。推理结果存储于存储器组件161到163和/或控制器151的本地存储器153中,以供例如车辆111的计算机系统131的主机系统读取。
118.例如,数据存储装置112从配置于车辆111上的至少一个传感器122接收传感器数据流,并根据存储于存储器组件161到163中的ann 125的所述部分基于传感器数据流产生推理结果。配置于数据存储装置112内的神经网络加速器159基于人工神经网络125和传感器数据流执行计算的至少一部分。
119.任选地,神经网络加速器159可以配置于与控制器151分开和/或与存储器组件161到163分开的集成电路裸片上。
120.任选地,神经网络加速器159可以配置于包含数据存储装置112的控制器151或数据存储装置112的存储器组件160、161或163的集成电路裸片上。
121.神经网络加速器159可配置成使用存储在数据存储装置112中的数据执行计算,例如用于ann的矩阵算术计算和/或用于snn的微分方程模拟。
122.矩阵算术计算的实例包含矩阵乘累加运算。在使用存储于数据存储装置112中的数据进行计算以产生矩阵算术计算的结果之后,神经网络加速器159可在数据检索操作中(例如,响应于读取命令)提供所述结果作为数据存储装置112的输出。替代地或组合地,矩阵算术计算的结果可缓冲于数据存储装置112中以作为用于结合经由在主机接口157中接收到的读取命令从非易失性存储器检索的数据矩阵执行的下一矩阵计算的运算元。
123.当人工神经网络(ann)125包含脉冲神经网络(snn)时,神经网络加速器159可配置成模拟控制脉冲神经网络(snn)中的神经元的激活电平的微分方程。任选地,存储器组件160配置成根据预定模式存储脉冲神经网络中的神经元的状态;且神经网络加速器配置成根据微分方程随时间推移自动更新神经元的状态。例如,神经网络加速器159可配置成经由非监督机器学习训练脉冲神经网络(snn)来检测异常。
124.根据人工神经网络(ann)125由神经网络加速器159执行的计算涉及不同类型的数据,这些数据具有数据存储装置112的不同使用模式。
125.例如,使用人工神经网络(ann)125进行预测包含使用指定人工神经网络(ann)125的模型的数据、提供给人工神经元的输入数据,以及人工神经元产生的输出数据。
126.数据存储装置112的存储器容量可以分割成用于与不同类型的ann相关的数据的不同部分。所述不同部分可以单独配置成根据神经网络加速器159和/或其中配置有数据存储装置112的计算机系统131的处理器133对它们的使用模式来优化对应数据的存取和存储。
127.人工神经网络(ann)125的模型可包含指定ann 125中的各个人工神经元的静态属性和ann 125中的神经元连接性的参数。ann 125的模型数据是静态的,并且在使用ann 125进行的预测计算期间不变。因此,模型数据的使用模式大部分是读取。但是,ann 125的模型数据可在安装更新后的ann 125时改变。例如,车辆111可从服务器119将更新后的ann 125下载到车辆111的数据存储装置112以更新其预测能力。ann 125的模型数据还可在使用机器学习技术(例如,171或175)训练ann 125期间或之后改变。优选的是配置数据存储装置112的单独存储器分区或区域来存储模型数据,其中分区或区域根据针对模型数据的特定使用模式(例如,大部分读取、不频繁更新)优化存储器单元的配置参数进行操作。例如,当
存储器单元使用基于nand逻辑门的快闪存储器实施时,ann模型分区/区域中的存储器单元可配置成以多层级单元(mlc)模式、三层级单元(tlc)模式或四层级单元(qlc)模式操作,其中每个存储器单元存储两个、三个或四个位以增加存储能力。
128.提供给ann 125中的人工神经元的输入数据可包含外部输入和内部输入。外部输入通常由车辆111的传感器(例如,122)产生,而非由ann 125中的人工神经元产生。外部输入可以循环方式保存,使得可以在数据存储装置112中找到预定驾驶长度的最近时间段的输入数据。因此,优选的是配置数据存储装置112的单独存储器分区或区域来存储外部输入数据,其中分区或区域根据针对外部输入数据的存储模式(例如,增强的耐久性、循环覆写)优化存储器单元的配置参数进行操作。例如,当存储器单元使用基于nand逻辑门的快闪存储器实施时,ann输入分区/区域中的存储器单元可配置成以单层级单元(slc)模式操作,其中每一存储器单元存储一个数据位,以改进循环覆写操作的耐久性。
129.在一些实施方案中,人工神经元可具有响应于在预测计算期间的输入而随着时间改变的状态变量。例如,脉冲神经元的激活电平可随时间推移而改变并且被视为脉冲神经元的动态状态变量。在一些实施方案中,人工神经元的这类状态变量数据具有类似存储使用模式作为外部输入数据;且因此,所述状态变量数据可存储在配置成用于外部输入数据的分区或区域中。在其它实施方案中,人工神经元的状态变量数据保持于缓冲器中,且其存储频率小于外部输入;且因此,另一分区/区域可配置成用于存储人工神经元的动态状态变量数据。
130.由ann 125中的人工神经元产生的输出数据可经缓冲以供神经网络加速器159和/或计算机系统131的处理器133进一步存取。输出数据可包含外部输出和内部输出。外部输入由人工神经元产生作为来自ann 125的输出,例如ann 125做出的分类或预测的结果。ann 125的输出通常由计算机系统131的处理器133进一步处理。外部输入可以周期性地(例如,以类似于状态变量数据的存储的方式)保存。内部输出和/或一些外部输出可以是到ann 125中的人工神经元的内部输入。一般来说,可能不需要将来自数据存储装置缓冲器的内部输出存储到存储器组件。在一些实施方案中,当数据存储装置112的缓冲器能力不足以保持整个状态变量数据和/或内部输出时,数据存储装置112可以使用交换分区/区域来扩展缓冲器的容量。交换分区/区域可配置成用于优化随机存取并用于改进耐久性。
131.神经元的外部输出和/或动态状态可以循环方式保存在单独的输出分区或区域中,使得神经元的外部输出数据和/或动态状态可以周期性地存储,并且可以在数据存储装置112中找到最近的外部输出和/或动态状态集合。神经元的外部输出和/或动态状态可以选择性地存储,因为此类数据中的一些可能由ann从存储在输入分区或区域中的外部输入重新产生。优选地,输出分区或区域配置成存储无法从存储在输入分区或区域中的外部输入产生的一或多组外部输出和/或动态状态。在输入/输出分区或区域中以循环方式存储数据时,最早存储的数据集被擦除,以便为最近数据集腾出空间。ann输入/输出分区/区域可配置成用于优化连续写入流,以将数据从数据存储装置的缓冲器复制到数据存储装置的存储器组件中的存储器单元中。
132.图9示出根据一个实施例的配置成支持神经网络计算的存储器容量181。例如,图7的数据存储装置112的存储器组件161到163的存储器容量181可以根据图9进行配置以支持神经网络计算。
133.图9的存储器容量181可以使用数据存储装置112的一组存储器组件(例如,161到163)来实施。
134.可以在数据存储装置112的存储器容量181上产生一组区域183、185、187
……
。区域(例如,183、185或187)中的每一个对应于存储器容量181的命名部分。在每个区域内定义逻辑地址。地址映射191配置成在区域183、185、187
……
中所定义的逻辑地址和存储器组件(例如,图7中所示的161到163)中的存储器单元的物理地址之间进行映射。
135.地址映射191可包含区域183、185和187的区域优化设置192。
136.例如,ann模型区域183可以是配置成用于人工神经网络(ann)125的模型数据的存储器/存储分区。区域优化设置192根据ann模型的数据使用模式(例如,大部分读取、不频繁更新中心)优化ann模型区域183中的存储器操作。
137.例如,神经元输入区域185可以是配置成用于到人工神经网络(ann)125的外部输入数据的存储器/存储分区。区域优化设置192根据外部输入数据的数据使用模式(例如,用于支持连续写入的连续输入数据流的循环覆写的经增强耐久性)优化神经元输入区域185中的存储器操作。
138.例如,神经元输出区域187可以是配置成用于从人工神经网络(ann)125提供的外部输出数据的存储器/存储分区。区域优化设置192根据外部输出数据的数据使用模式(例如,用于利用随机读取/写入存取周期性地覆写数据的经改进耐久性)优化神经元输出区域187中的存储器操作。
139.数据存储装置112包含配置成存储人工神经网络(ann)125的临时/中间数据的缓冲器,例如ann 125中的人工神经元的内部输入/输出。
140.任选地,交换区域可配置于存储器容量181中以扩展缓冲器152的容量。
141.任选地,地址映射191包含在主机接口157中接收到的逻辑存储器地址与人工神经元的存取数据和人工神经元的身份之间的映射。因此,存取一个区域中的人工神经元的一种类型的数据的读取或写入命令可使控制器151存取另一区域中的人工神经元的另一类型的数据。
142.例如,响应于将神经元的外部输入数据写入到数据存储装置185的存储器容量181中的请求,地址映射191可用于计算ann模型区域183中的神经元的模型参数的地址,并将所述模型参数读取到缓冲器152中以允许神经网络加速器159执行神经元的输出的计算。神经元的输出可以作为到其它神经元的内部输入保存在缓冲器152中(例如,以减少写入放大)。此外,还可将连接到所述神经元的其它神经元的身份从ann模型区域183检索到缓冲器152中,从而允许神经网络加速器159和/或处理器进一步处理ann 125中的输出的传播。从ann模型区域183检索模型数据可以与将外部输入数据存储到神经元输入区域185中并行执行。因此,车辆111的计算机系统131的处理器133不必在读取命令中明确发送从ann模型区域183检索模型数据。
143.类似地,响应于读取神经元的输出数据,地址映射191可用于计算存储在ann模型区域183中的神经元的模型参数的地址,并将所述模型参数读取到缓冲器152中以允许神经网络加速器159在缓冲器152中应用内部输入以执行神经元的输出的计算。计算出的输出可以作为对神经元的输出数据的读取的响应而提供,且数据存储装置112不必在存储器组件(例如,161到163)中存储输出数据。因此,处理器133和/或神经网络加速器159可经由将输
入写入到神经元和/或从神经元读取输出来控制神经元的计算。
144.一般来说,ann 125的传入的外部输入数据可以是直接由传感器(例如,122)产生且未由处理器133和/或神经网络加速器159处理的原始传感器数据121。可替代地,已由ann 125的处理器133根据来自传感器122的信号处理的间接传感器数据121可以作为外部输入数据提供。传入的外部输入数据可以在主机接口157中接受,并以循环方式写入到神经元输入区域185中,并且自动在神经网络加速器159的缓冲器152中缓冲以使用存储在ann模型区域183中的模型产生神经元输出。由神经网络加速器159产生的输出可作为内部输入进一步进行缓冲以进一步应用于ann模型区域183中的模型。当外部输出变得可用时,数据存储装置112可利用外部输出可用的指示报告写入请求的完成。任选地,控制器151和/或神经网络加速器159可在产生外部输出时产生在ann 125中传播信号的内部读取命令。可替代地,主机处理器133可通过选择性地读取神经元的输出来控制ann 125中信号的传播;且数据存储装置112可主动在缓冲器152中缓冲可能需要的数据以加快ann计算。
145.图10示出根据一个实施例的用于人工神经网络(ann)模型的存储器区域183的配置。例如,图10的配置可以在具有图9的逻辑存储器容量181的图7的数据存储装置112中实施。例如,图10的设置193可以是图9的区域优化设置192的部分。
146.图10的配置将ann模型区域183映射到至少一个存储器组件a 161。优选地,所述至少一个存储器组件a 161可由与存储器组件(例如,163)并联的主控ann数据的其它区域(例如,185和187)的控制器151使用。例如,存储器组件a 161可以在与用于其它区域(例如,185和187)的集成电路封装分开的集成电路封装中。可替代地,存储器组件161到163在嵌入于同一集成电路封装中的单独集成电路裸片上形成。可替代地,存储器组件161到163可以在集成电路裸片的单独区域上形成,其中所述单独区域可以基本上并行地操作(例如,用于读取、用于擦除和/或用于写入)。
147.在图10中,将设置193优化为大部分读取和不频繁更新的使用模式。
148.图11示出根据一个实施例的用于人工神经元的输入的区域185的配置。例如,图11的配置可以在图7和/或9中所示的数据存储装置112中实施。例如,图11的设置195可以是图9的区域优化设置192的部分。
149.图11的配置将神经元输入区域185映射到至少一个存储器组件b 163。优选地,所述至少一个存储器组件b 163可由与存储器组件(例如,161)并联的主控ann数据的其它区域(例如,183和187)的控制器151使用。例如,存储器组件b 163可以在与用于其它区域(例如,183和187)的集成电路封装分开的集成电路封装中。可替代地,存储器组件161到163在嵌入于同一集成电路封装中的单独集成电路裸片上形成。可替代地,存储器组件161到163可以在集成电路裸片的单独区域上形成,其中所述单独区域可以基本上并行地操作(例如,用于读取、用于擦除和/或用于写入)。
150.在图11中,将设置195优化为记录以固定时间间隔采样的连续输入数据流时的循环连续覆写中的经增强耐久性的使用模式。
151.图12示出根据一个实施例的用于人工神经元的输出的区域187的配置。例如,图10的配置可以在图7和/或9中所示的数据存储装置112中实施。例如,图10的设置197可以是图9的区域优化设置192的部分。
152.图12的配置将神经元输出区域187映射到至少一个存储器组件c 162。优选地,所
述至少一个存储器组件c 162可由与存储器组件(例如,161和163)并联的主控ann数据的其它区域(例如,183和185)的控制器151使用。例如,存储器组件c 162可以在与用于其它区域(例如,183和185)的集成电路封装分开的集成电路封装中。可替代地,存储器组件161到163在嵌入于同一集成电路封装中的单独集成电路裸片上形成。可替代地,存储器组件161到163可以在集成电路裸片的单独区域上形成,其中所述单独区域可以基本上并行地操作(例如,用于读取、用于擦除和/或用于写入)。
153.在图12中,将设置197优化为用于利用随机存取的周期性覆写的经缓冲数据的使用模式。例如,存储器单元经由优化设置193到197配置以在神经元输出区域187中以高于ann模型区域183但是低于神经元输入区域185的频率更新/覆写。
154.通信协议/接口可配置成允许数据存储装置以减少到主机系统的数据流量动态地执行神经网络加速。
155.例如,车辆111的主机处理器(例如,133)可向数据存储装置112提供在模型分区(例如,183)中存储人工神经网络的模型的写入命令。
156.为了在分类和/或预测中使用ann模型,车辆111的主机处理器(例如,133)可任选地将ann 125的输入数据流式传输到神经元输入分区(例如,185)中。存储装置112的神经网络加速器159可根据地址映射191自动将来自传感器122的图像以及(若存在)来自主机处理器133的输入数据应用到存储在ann模型分区(例如,183)中的模型。数据存储装置112使计算出的输出可用于ann 125中的传播。优选地,计算出的输出可通过缓冲器152用于神经网络加速器159,而不需要将中间输出存储到存储器组件(例如,161到163)中。因此,主机处理器(例如,133)和数据存储装置112之间的用于传递神经元的输出的数据通信可减少。当输出已传播到ann 125中的输出神经元时,数据存储装置112可提供对来自主机处理器(例如,133)的请求的响应。所述响应指示来自ann 125中的神经元的外部输出可用。作为响应,车辆111的主机处理器(例如,133)可任选地发出检索外部输出以用于进一步处理的读取命令。
157.图13示出根据一个实施例的自主车辆111和数据存储装置112之间的通信。例如,如图13中所示的通信可以在图2或3的车辆111中实施,所述车辆具有图1或7所示的数据存储装置112。
158.在图13中,主机系统的处理器133可配置有简化指令集201以执行神经网络计算,因为涉及ann 125的计算中的一些由数据存储装置112内的神经网络加速器159执行。在使用ann 125进行预测和/或分类期间,不必将模型数据传递回到处理器133。
159.传感器122可产生连续输入流205作为车辆111的传感器数据121的部分。输入流205中的传感器数据121可以固定的预定时间间隔(例如,在车辆111的操作期间)产生。
160.将输入流205应用到ann 125中的输入神经元。ann 125中的输入神经元配置成接受到ann 125的外部输入;且输出神经元配置成提供来自ann 125的外部输出。
161.处理器133可执行处理来自数据存储装置112的输出数据207和一些传感器数据121的指令201。
162.例如,处理器133可将传感器数据121作为输入流205的部分写入到神经元输入区域185中,并从神经元输出区域187读取由神经网络加速器159使用模型区域183中的ann数据产生的输出数据207。
163.数据存储装置112以循环方式将输入流205存储到神经元输入区域185中,其中对应于目前存储在神经元输入区域185中的数据集的数据采样的最早时间实例的最早输入集已擦除以存储最新输入集。
164.对于每一输入数据集,神经网络加速器159应用存储在ann模型区域183中的ann 125的模型。神经网络加速器159(或处理器133)可控制神经网络内的信号的传播。当ann 125的输出神经元响应于输入数据集而产生其输出时,数据存储装置112可将对神经元输出准备好用于检索的指示提供到处理器133。所述指示可配置于对来自处理器133的将输入数据集写入到神经元输入区域185中的请求的响应中。处理器133可任选地检索输出数据207(例如,根据编程于指令中的条件和/或准则)。
165.在一些实施例中,触发参数配置于数据存储装置112中。当外部输出217中的输出参数符合所述触发参数指定的要求时,数据存储装置提供对来自处理器133的将输入数据集写入到神经元输入区域185中的请求的响应。
166.图14示出根据一个实施例的数据存储装置112内的通信。例如,图14的通信可以在图1或7所示的数据存储装置112中实施。
167.在图14中,模型区域183存储ann 125的模型213。响应于从缓冲器152中的输入流205接收到时间实例的一组外部输入215,数据存储装置112可将外部输入215写入到输入区域185中,同时检索含有ann模型213中对应于输入神经元的参数和/或连接到输入神经元的神经元的身份的部分的神经元模型212。缓冲器152允许神经网络加速器159组合神经元模型212和外部输入225以产生输入神经元的输出227。
168.一般来说,神经元输出227可包含作为用于ann 125内的进一步传播的内部输出216的部分和/或作为用于处理器133的外部输出217的部分。
169.按照类似于从外部输入215产生神经元输出227的方式,内部输出216作为内部输入216存储在缓冲器152中以用于ann 125中的进一步传播。例如,内部输入216的一部分可使控制器151和/或神经网络加速器159检索与内部输入相关的对应神经元模型212,使得内部输入在神经网络加速器159中应用于对应神经元模型212以产生其神经元输出227。
170.当整个一组外部输出217在缓冲器152中可用时,外部输出217可以存储到输出区域187中。
171.任选地,存储装置112不存储对应于在每个时间实例采样的一组所存储外部输入215的每一组外部输出217。例如,存储装置112可配置成在每次计数到预定组数的外部输入(例如,215)时存储一组外部输出217。替代地或组合地,处理器133可确定是否存储外部输出217。例如,存储装置112可配置成响应于处理器133检索到外部输出217而存储外部输出217以用于进一步处理。例如,存储装置112可配置成在处理器133中处理外部输出217之后,响应于来自处理器133的写入命令而存储外部输出217。
172.图15示出根据一个实施例的配置成处理传感器数据输入的数据存储装置。例如,图15的数据存储装置可以在图2或3所示的车辆111中使用图1或7的数据存储装置112的技术来实施。
173.在图15中,数据存储装置112包含神经网络加速器159,及存储于存储器组件161到163中的至少一个ann模型213。
174.控制器151配置成基于操作参数233和/或输入流121中的一些传感器数据121,使
用神经网络加速器159预测用于选择输入流205的区段104的最佳宽度105,以隔离压倒性刺激102的影响。
175.例如,在选定含有压倒性刺激102的区段104之后,控制器151可将区段104临时存储到存储器组件161(例如,161或163)中,以供一组有限资源(例如,处理装置155的小部分和/或神经网络加速器159的小部分)处理,而数据存储装置112的大部分资源在选定区段104的处理完成之前用于处理后续区段106。
176.神经网络加速器159可配置成在确定用于车辆111的操作(例如,adas 128的操作)的推理结果(例如,123)时从存储器组件161到163、高速缓存存储器231和/或缓冲器152检索传感器数据121以执行计算。在正常模式中,神经网络加速器159根据时间顺序处理传感器数据121。处理较早产生的传感器数据切片,而不是较晚产生的传感器数据切片。
177.但是,当控制器151检测到存在会导致输入流205中的传感器数据121的实时处理产生显著延迟的压倒性刺激102时,神经网络加速器159使用操作参数233和/或人工神经网络125中的传感器数据121来预测最佳宽度105,以隔离压倒性刺激102。使用最佳宽度105来选择输入流205的区段104以供数据存储装置112中的小部分资源处理,同时和/或并行地,后续区段106可以由数据存储装置112中的大部分资源处理。
178.在一些实施方案中,在处理压倒性刺激102之后,数据存储装置112识别压倒性刺激102的时间切片部分的宽度,并将时间切片刺激的宽度作为训练数据集的一部分与在检测到压倒性刺激102时的操作参数233和/或传感器数据121相关联地存储在数据存储装置112中。数据存储装置112可随时间推移累加针对数据存储装置112所经历和处理的压倒性刺激(例如,102)测量的训练数据集。训练数据集可以在服务访问期间在维护服务设施127处下载,或通过通信网络117上载到服务器119。服务器119可基于从数据存储装置112和/或其它经同样配置的车辆数据记录器获得的训练数据集产生更新后的人工神经网络125。
179.一般来说,车辆111的操作条件可以经由操作参数233识别。车辆111的操作参数233可包含车辆111的环境温度、车辆111的速度、车辆111的位置、车辆111在上面行驶的车道、来自车辆111中的一些传感器122的输入、基于来自一些传感器122的输入产生的推理结果、车辆控件(例如,141、143、145)的状态、车辆111的组件(例如,车辆111的信息娱乐系统149和/或通信装置139)的状态。车辆111的操作参数233可包含高级驾驶辅助系统(adas)128和/或车辆111中运行的其它应用/组件的状态和操作。
180.操作参数233的实例可包含从数据存储装置112的输入数据流205产生和/或在数据存储装置112的输出数据207中提供的推理结果。
181.图16示出根据一个实施例的用于处理传感器数据输入的方法。例如,图16的方法可以在图1、7、13或15的数据存储装置112中结合图2或3的车辆111中的图3的计算机系统131或adas 128实施。
182.在框251处,数据存储装置112接收根据时间顺序产生的传感器数据121的输入流205。
183.在框253处,数据存储装置112的控制器151确定输入流205中的刺激102导致输入流205的实时处理产生延迟。
184.在框255处,将数据存储装置112的资源划分成第一子集和第二子集。
185.例如,第一子集可包含数据存储装置112的控制器151的处理器核心的一部分、数
据存储装置112的存储器组件(例如,107、
……
、108)的一部分、数据存储装置112的推理引擎109的处理单元的一部分,或数据存储装置112的缓冲器152的一部分,或其任何组合;且第二子集包含数据存储装置中不在第一子集中的资源。
186.在框257处,时间切片选择器101选择输入流205的时间切片区段104。
187.在框259处,将时间切片区段104指派给第一子集,并将输入流的剩余区段指派给第二子集。
188.在框261处,第一子集处理时间切片区段104,同时第二子集处理剩余区段106。
189.例如,可通过使用人工神经网络(ann)125计算时间切片区段104的第一宽度105来选择(257)时间切片区段104。基于同时进行的第一子集对时间切片区段104及第二子集对剩余区段106的处理(261),时间切片区段104和剩余区段106的组合中的异常刺激区段可以改进的精确度识别出。因此,异常区段的第二宽度可以确定并且可以用于产生训练数据。训练数据含有第二宽度和操作参数233以训练人工神经网络(ann)125,以便减少第二宽度和使用人工神经网络(ann)125中的操作参数233预测的宽度之间的差。
190.例如,车辆111可具有配置成在车辆111的操作期间根据时间顺序产生传感器数据121的输入流205的一或多个传感器122。车辆111的高级驾驶辅助系统(adas)125配置成基于传感器数据121而操作车辆111。配置于车辆111上的黑匣子数据记录器可包含配置成存储由所述一或多个传感器122产生的传感器数据121的一部分的数据存储装置112。数据存储装置112可具有第一资源子集和第二资源子集,使得当第一资源子集被在短时间内产生的异常刺激(例如,102)压倒时,第二资源子集可以继续实时处理正常刺激106。例如,正常刺激106可以实时处理以向车辆111的adas 125提供推理结果(例如,123),其延迟低于阈值,使得adas 125可以使用来自数据存储装置112的推理结果安全地控制车辆111的操作。
191.例如,响应于确定输入流205中的刺激102导致输入流205的实时处理产生延迟(例如,高于预定阈值的延迟),数据存储装置112的时间切片选择器101可以使用人工神经网络(ann)125选择输入流205的时间切片区段105。因为选定区段104中的压倒性刺激102被引导到第一子集以供处理,所以可以使用第二子集不带延迟地处理正常刺激103。
192.如果在剩余区段106中发现引起显著延迟的压倒性刺激102的额外部分,那么可以选择另一时间切片区段以供第一资源子集处理。因此,显著延迟限于第一资源子集的处理,第二子集中的处理的延迟可保持低于阈值。
193.当根据宽度105选定用于由第一子集处理的时间切片区段104包含部分正常刺激时,包含在时间切片区段104中的正常刺激部分的处理延迟。此类延迟可通过训练人工神经网络(ann)125以提高其预测用于选择时间切片区段105的宽度105的精确度来减小/优化。
194.类似地,当由于根据宽度105选择时间切片区段104而产生的剩余区段106包含异常刺激的残余部分时,剩余区段106中的正常刺激103的部分的处理延迟。此类延迟可通过训练人工神经网络(ann)125以提高其预测用于选择时间切片区段105的宽度105的精确度来减小/优化。
195.任选地,数据存储装置112的推理引擎109配置成使用通过处理输入流205获得的训练数据训练人工神经网络(ann)。可替代地,训练数据可以下载到维护服务设施127和/或服务器119,以在与车辆111分开的位置处训练人工神经网络(ann)125。
196.本公开包含执行上文所描述的方法的方法和设备,包含执行这些方法的数据处理
系统,以及含有在数据处理系统上执行时使所述系统执行这些方法的计算机可读媒体。
197.典型数据处理系统可包含互连件(例如,总线和系统核心逻辑),其将微处理器和存储器互连。微处理器通常耦合到高速缓存存储器。
198.互连件将微处理器和存储器互连在一起,并且经由i/o控制器将它们互连到输入/输出(i/o)装置。i/o装置可包含显示装置和/或外围装置,例如鼠标、键盘、调制解调器、网络接口、打印机、扫描仪、摄像机和本领域中已知的其它装置。在一个实施例中,当数据处理系统是服务器系统时,例如打印机、扫描仪、鼠标和/或键盘的一些i/o装置是任选的。
199.互连件可包含通过各种桥、控制器和/或适配器彼此连接的一或多个总线。在一个实施例中,i/o控制器包含用于控制通用串行总线(usb)外围设备的usb适配器,和/或用于控制ieee

1394外围设备的ieee

1394总线适配器。
200.存储器可包含以下中的一或多个:只读存储器(rom)、易失性随机存取存储器(ram),和非易失性存储器,例如硬盘驱动器、快闪存储器等。
201.易失性ram通常实施为动态ram(dram),它需要持续供电才能刷新或维持存储器中的数据。非易失性存储器通常是磁性硬盘驱动器、磁性光盘驱动器、光盘驱动器(例如,dvd

ram)或其它类型的存储器系统,这些存储器系统即使在系统断电后也能维持数据。非易失性存储器也可以是随机存取存储器。
202.非易失性存储器可以是直接耦合到数据处理系统中的其余组件的本地装置。也可以使用远离系统的非易失性存储器,例如通过诸如调制解调器或以太网接口的网络接口耦合到数据处理系统的网络存储装置。
203.在本公开中,为了简化描述,将一些功能和操作描述为由软件代码执行或由软件代码引起。然而,这样的表达也用于指定功能是由处理器(例如,微处理器)执行代码/指令产生的。
204.替代地或组合地,这里所描述的功能和操作可以使用具有或不具有软件指令的专用电路系统来实施,例如使用专用集成电路(asic)或现场可编程门阵列fpga。实施例可以使用不具有软件指令的硬接线电路系统实施,或者与软件指令结合来实施。因此,这些技术既不限于硬件电路系统和软件的任何特定组合,也不限于由数据处理系统执行的指令的任何特定源。
205.尽管一个实施例可以在全功能计算机和计算机系统中实施,但是各种实施例能够以各种形式分布为计算产品,并且不论实际上用于实现分布的机器或计算机可读媒体的特定类型如何都能够适用。
206.所公开的至少一些方面可以至少部分地体现在软件中。也就是说,可以响应于计算机系统或其它数据处理系统的处理器(例如,微处理器)执行包含在存储器(例如,rom、易失性ram、非易失性存储器、高速缓存或远程存储装置)中的指令序列,在计算机系统或其它数据处理系统中执行技术。
207.为实施实施例而执行的例程可以作为操作系统或特定应用、组件、程序、对象、模块或称为“计算机程序”的指令序列的一部分来实施。计算机程序通常包含在计算机的各种存储器和存储装置中在不同时间设置的一或多个指令,所述指令在由计算机中的一或多个处理器读取和执行时使计算机执行执行涉及各个方面的要素所需的操作。
208.机器可读媒体可用于存储软件和数据,在由数据处理系统(例如,131和/或119)执
行时,这些软件和数据使系统执行上文所论述的各种方法(例如,图16的方法)。可执行软件和数据可以存储在各种地方,包含例如上文所论述的rom、易失性ram、非易失性存储器和/或高速缓存(例如,112、135和/或152)。此软件和/或数据的部分可以存储在这些存储装置中的任何一个中。此外,可以从集中式服务器或对等网络获得数据和指令。数据和指令的不同部分可以在不同时间并在不同通信会话或同一通信会话中从不同的集中式服务器和/或对等网络获得。在执行应用之前,可以完整地获得数据和指令。可替代地,当需要执行时,可以动态地、及时地获得部分数据和指令。因此,不要求数据和指令在特定时刻全部位于机器可读媒体上。
209.计算机可读媒体的实例包含但不限于非暂时性、可记录和不可记录类型的媒体,例如易失性和非易失性存储器装置、只读存储器(rom)、随机存取存储器(ram)、快闪存储器装置、软磁盘和其它可装卸式磁盘、磁盘存储媒体、光学存储媒体(例如,光盘只读存储器(cd rom)、数字多功能盘(dvd)等),等等。计算机可读媒体可存储指令。
210.这些指令还可以在用于电、光、声或其它形式的传播信号的数字和模拟通信链路中体现,例如载波、红外信号、数字信号等。然而,例如载波、红外信号、数字信号等等的传播信号不是有形的机器可读媒体,也不配置成存储指令。
211.一般来说,机器可读媒体包含以可由机器(例如,计算机、网络装置、个人数字助理、制造工具、具有一组一或多个处理器的任何装置等)存取的形式提供(即,存储和/或传输)信息的任何机制。
212.在各种实施例中,硬接线电路系统可与软件指令组合使用以实施技术。因此,技术既不限于硬件电路系统和软件的任何特定组合,也不限于由数据处理系统执行的指令的任何特定源。
213.以上描述和附图是说明性的,且不应被解释为限制性的。描述了许多具体细节,以提供透彻的理解。然而,在某些情况下,为了避免模糊描述,没有描述众所周知的或常规的细节。对本公开中的一个或某一实施例的引用不一定是对同一实施例的引用;并且这种引用意味着至少一个。
214.在前述说明书中,已经参考本公开的具体示例性实施例描述了本公开。显而易见的是,在不背离所附权利要求书所阐述的更广泛的精神和范围的情况下,可以对其进行各种修改。因此,说明书和附图应被视为说明性的而不是限制性的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1