CN117725150A - 使用用于汽车系统和应用的知识库和语言模型的对话系统 - Google Patents
使用用于汽车系统和应用的知识库和语言模型的对话系统 Download PDFInfo
- Publication number
- CN117725150A CN117725150A CN202211614523.6A CN202211614523A CN117725150A CN 117725150 A CN117725150 A CN 117725150A CN 202211614523 A CN202211614523 A CN 202211614523A CN 117725150 A CN117725150 A CN 117725150A
- Authority
- CN
- China
- Prior art keywords
- question
- vehicle
- machine
- data
- information
- 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
- 238000000034 method Methods 0.000 claims abstract description 116
- 238000012545 processing Methods 0.000 claims description 75
- 230000008569 process Effects 0.000 claims description 40
- 238000012423 maintenance Methods 0.000 claims description 20
- 238000013135 deep learning Methods 0.000 claims description 14
- 238000004088 simulation Methods 0.000 claims description 13
- 230000003190 augmentative effect Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000008447 perception Effects 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000003287 optical effect Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 62
- 238000013528 artificial neural network Methods 0.000 description 42
- 238000004891 communication Methods 0.000 description 25
- 238000001514 detection method Methods 0.000 description 24
- 238000003860 storage Methods 0.000 description 23
- 238000013527 convolutional neural network Methods 0.000 description 21
- 239000013598 vector Substances 0.000 description 21
- 238000007726 management method Methods 0.000 description 15
- 238000012549 training Methods 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 13
- 238000010801 machine learning Methods 0.000 description 13
- 238000012360 testing method Methods 0.000 description 12
- 230000001133 acceleration Effects 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 11
- 230000000007 visual effect Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 235000019800 disodium phosphate Nutrition 0.000 description 5
- 238000007667 floating Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 210000001072 colon Anatomy 0.000 description 3
- 239000000446 fuel Substances 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 125000000914 phenoxymethylpenicillanyl group Chemical group CC1(S[C@H]2N([C@H]1C(=O)*)C([C@H]2NC(COC2=CC=CC=C2)=O)=O)C 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 229920002451 polyvinyl alcohol Polymers 0.000 description 2
- 235000019422 polyvinyl alcohol Nutrition 0.000 description 2
- 230000036316 preload Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 101100248200 Arabidopsis thaliana RGGB gene Proteins 0.000 description 1
- 102100035964 Gastrokine-2 Human genes 0.000 description 1
- 101001075215 Homo sapiens Gastrokine-2 Proteins 0.000 description 1
- 102100030148 Integrator complex subunit 8 Human genes 0.000 description 1
- 101710092891 Integrator complex subunit 8 Proteins 0.000 description 1
- 206010034960 Photophobia Diseases 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 208000013469 light sensitivity Diseases 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000001693 membrane extraction with a sorbent interface Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000010396 two-hybrid screening Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/55—Rule-based translation
- G06F40/56—Natural language generation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Traffic Control Systems (AREA)
Abstract
使用用于汽车系统和应用的知识库和语言模型的对话系统。描述了使用与各种机器系统和应用相关联的对话系统的系统和方法。例如,系统和方法可以接收表示语音的文本数据,诸如与车辆或其他机器类型相关联的问题。然后系统和方法使用一个或更多个检索系统来检索与文本数据相关联的一个或更多个问题/答案对和/或与文本数据相关联的上下文信息。在一些示例中,上下文信息与知识库相关联,知识库与车辆相关联或相对应。然后系统和方法使用文本数据、一个或更多个问题/答案对、和/或上下文信息来生成提示。此外,系统和方法使用一个或更多个语言模型并至少基于提示来确定与文本数据相关联的输出。例如,输出可以包括回答与车辆相关联的问题的信息。
Description
背景技术
车辆可能配备了数字或会话助手,其可以执行各种任务,诸如根据要求向乘客提供信息。对于在车辆内操作的会话助手,该会话助手可以预加载对乘客通常提出的一组问题的一组答案。例如,可以使用与车辆模型相关联的原始设备制造商(OEM)手册来确定问题和答案。例如,在预期驾驶员或一个或更多个乘客询问车辆的推荐胎压时,会话助手可以预加载问题/答案对,即映射到问题的特定答案。一个示例可能是“我应该为前轮胎使用多大的胎压”或“推荐的胎压是多少”这样的问题。在这样的示例中,会话助理可以用预先映射的答案进行响应,诸如“推荐的胎压是每平方英寸36磅”,其中该答案取自OEM手册和/或使用OEM手册创建。
然而,由于这些会话助手预加载了特定的问题/答案对,因此可能会出现各种问题。对于第一示例,会话助理可能无法正确解释乘客提出的问题和/或如果来自乘客的问题与预加载问题之一的匹配不够紧密,则可能会提供不正确的答案。例如,使用上面的示例,如果问题是“您需要将轮胎保持在推荐的胎压下吗?”,会话助手可能无法解释乘客提出的问题,因为此问题可能尚未为会话助手预加载。此外,由于这些会话助手预加载了与OEM手册相关的问题和答案,因此可能需要车辆制造商为每种类型的车辆(例如,每一年的车辆、每种型号的车辆等)生成问题和答案。例如,与不同型号和/或年份的车辆的另一OEM手册相比,特定型号和/或年份的车辆OEM手册可能包括不同的信息(例如,不同的推荐组件参数、不同的特征、不同的维护计划等)。此外,为综合场景和/或多个领域生成这些问题/答案对是极其费力的,并且可能难以或不可行地跨不同品牌和车型,或针对其他用例和环境进行扩展或调整。
发明内容
本公开的实施例涉及用于汽车系统和应用的对话系统。公开了生成和/或接收表示来自用户的语音的音频数据(和/或对应于音频数据的文本数据)的系统和方法,其中语音可包括与车辆或其他机器(例如,自主或半自主车辆、建筑设备、园林绿化设备、仓库车辆、飞机、水基车辆等)。然后,系统和方法可以使用一种或更多种技术来检索与语音上下文相关联的信息。对于第一示例,系统和方法可以使用检索系统来检索与语音相关联的一个或更多个问题/答案对,诸如从数据库中检索。对于第二示例,系统和方法可以使用检索系统来检索与语音相关的上下文信息,诸如从存储在数据库中的(固定或实时)基于文本的知识库中检索上下文信息,例如手册、车辆手册、机器手册、文档等。在这些示例中的任一个中,本公开的系统和方法可以将表示语音的数据、表示与上下文相关联的信息的数据和/或其他数据输入到一个或更多个语言模型(例如,一个或更多个大型语言模型)。然后,语言模型可以处理数据,并且基于处理,输出与语音相关联的数据。例如,如果语音包括与车辆相关联的问题,则一个或更多个语言模型可以输出与该问题相关联的信息(例如,答案)。然后系统和方法可以向用户提供信息。
与诸如上述那些的传统系统相比,当前系统在一些实施例中使用一个或更多个语言模型(例如,一个或更多个大型语言模型)来生成更自然、会话、鲁棒、可扩展且准确的输出。例如,如上所述,传统系统可以使用预加载有问题和答案的数字或会话助手,这使得传统系统在可能提出的问题和作为响应提供的信息方面都受到限制(例如,仅限于指定的问题和答案)。相比之下,通过使用一个或更多个语言模型,当前系统不限于预加载的问题和答案,而是能够解释各种形式的问题并使用对应于知识库的数据提供非脚本答案作为回报。此外,对于传统系统,制造商可能需要为每个品牌、型号和/或年份的车辆或机器创建相应的会话助手。相反,在一些实施例中,当前系统使用从数据库检索的信息和语言模型两者来生成输出。因此,当前系统可用于许多不同品牌、型号和/或年份的车辆或机器。
附图说明
下面参考所附附图详细描述用于汽车系统和应用的对话系统的本系统和方法,其中:
图1示出了根据本公开的一些实施例的使用用于车辆和应用的对话系统的示例;
图2示出了根据本公开的一些实施例的处理音频数据以便生成表示语音的文本数据的示例;
图3示出了根据本公开的一些实施例的问题/答案对的示例;
图4示出了根据本公开的一些实施例的检索问题/答案对的示例;
图5示出了根据本公开的一些实施例的检索上下文信息的示例;
图6示出了根据本公开的一些实施例的使用问题、问题/答案对和上下文信息来生成提示的示例;
图7示出了根据本公开的一些实施例的用于使用问题和对应的问题/答案对来确定与车辆相关联的信息的方法的流程图;
图8示出了根据本公开的一些实施例的用于使用问题和对应的上下文信息来确定与车辆相关联的信息的方法的流程图;
图9A是根据本公开的一些实施例的示例自主车辆的图示;
图9B是根据本公开的一些实施例的图9A的示例自主车辆的摄像机位置和视野的示例;
图9C是根据本公开的一些实施例的图9A的示例自主车辆的示例系统架构的框图;
图9D是根据本公开的一些实施例的基于云的服务器和图9A的示例自主车辆之间的通信的系统图;
图10是适合用于实现本公开的一些实施例的示例计算设备的框图;以及
图11是适合用于实现本公开的一些实施例的示例数据中心的框图。
具体实施方式
公开了与汽车系统和应用的对话系统相关的系统和方法。尽管可以关于示例自主或半自主车辆900描述本公开(在本文中可替代地称为“车辆900”或“自我车辆900”,其示例参照图9A-9D进行描述),但这并不旨在进行限制。例如,本文描述的系统和方法可以由但不限于自主车辆、非自主车辆、半自主车辆(例如,在一个或更多个自适应驾驶员辅助系统(ADAS)中)、有人驾驶和无人驾驶的机器人或机器人平台、仓库车辆、越野车辆、与一辆或更多辆拖车相连的车辆、飞船、船只、穿梭车、应急响应车辆、摩托车、电动或机动自行车、飞机、工程车辆、水下航行器、有人驾驶或无人驾驶无人机和/或其他车辆或机器类型。此外,虽然本公开可针对对话系统来描述,但这并不旨在是限制,并且本文描述的系统和方法可以用于增强现实、虚拟现实、混合现实、机器人、安全和监视、自主或半自主机器应用和/或任何其他技术空间,其中可以使用对话系统。
例如,一个或更多个系统可以接收音频数据,该音频数据使用车辆的一个或更多个麦克风生成,其中,该音频数据表示来自车辆用户的语音(例如,话语)。在一些示例中,语音可与用户请求的任务相关联,诸如提供与车辆相关联的信息的请求。然后,一个或更多个系统可以使用一个或更多个语音处理模型(例如,一个或更多个自动语音识别(ASR)模型、一个或更多个语音到文本(STT)模型、一个或更多个自然语言处理(NLP)模型、分类模型等)来处理音频数据,该一个或更多个语音处理模型被配置为生成与该音频数据相关联的文本数据。例如,文本数据可以表示与语音相关联的转录本(例如,一个或更多个字母、单词、符号、数字等)和/或关于哪些乘客/用户与该语音关联的指示。例如,如果语音与对车辆信息的请求相关联,诸如“我应该为前轮胎使用什么胎压”,则文本数据可能表示语音的转录本。在一些示例中,一个或更多个语音处理模型可以进一步生成文本数据,以表示与语音相关联的附加信息,诸如语音的意图(例如,获取轮胎信息)和/或与意图相关的一个或更多个时隙(slot)信息(例如,胎压)。
然后,一个或更多个系统可以检索与音频数据相关联的附加信息。例如,一个或更多个系统可以最初将问题/答案对存储在一个或更多个数据库或数据存储中。如本文所述,问题/答案对可以包括表示问题和对应答案的文本数据。例如,问题/答案对可包括表示问题的文本数据,诸如“推荐的胎压是多少?”以及相应的答案,诸如“胎压应设置为每平方英寸36磅”。在一些示例中,该问题/答案对与一个或更多个车辆相关联,诸如一个或更多个车辆的一个或更多个组件、一个或更多个车辆的一个或更多个特征、与一个或更多个车辆相关的一个或更多个维护计划,和/或类似物。在一些示例中,一个或更多个问题/答案对通常与多种类型的车辆相关联。例如,一个或更多个问题/答案对可与汽车、货车、卡车、车辆制造商、车辆型号等相关联。在一些示例中,一个或更多个问题/答案对可与特定类型的车辆相关联,诸如特定车辆制造商、特定车辆型号和/或特定车辆年份。
然后,一个或更多个系统可以使用一个或更多个检索系统从一个或更多个数据库(或数据存储,或其他存储或存储器类型)中检索与文本数据相关的一个或更多个问题/答案对。在一些示例中,为了检索一个或更多个该问题/答案对,存储在一个或更多个数据库中的问题/答案对可与嵌入相关联。例如,第一问题/答案对可以与第一嵌入相关联,第二问题/答案对可以与第二嵌入相关联,第三问题/答案对可以与第三嵌入相关联,等等。因此,一个或更多个检索系统可以处理表示转录本(例如,问题)的文本数据,并且基于该处理,生成转录本(transcript)的嵌入。然后,一个或更多个检索系统可以使用生成的嵌入来检索问题/答案对。例如,一个或更多个检索系统可以使用生成的嵌入和与问题/答案对相关联的嵌入来确定该问题/答案对的分数。然后,一个或更多个检索系统可以检索与一个或更多个最高分数相关联的问题/答案对的阈值数量。如本文所述,问题/答案对的阈值数量可以包括但不限于一个问题/答案对、五个问题/答案对、十个问题/答案对、二十个问题/答案对和/或任何其他数量的问题/答案对。
虽然该示例描述了使用嵌入来检索一个或更多个问题/答案对,但在其他示例中,一个或更多个检索系统可以使用一种或更多种附加的和/或替代的技术。对于第一示例,可以将问题/答案对分成不同的类别。例如,如果问题/答案对与一个或更多个车辆相关联,则问题/答案对可以分为组件类别(例如,轮胎、电机、门、窗等)、特征类别(例如,收音机、显示器等)、维护类别(例如,推荐维护的时间段等)和/或任何其他类别。然后,一个或更多个检索系统可以使用这些类别来检索与与文本数据表示的转录本类别相似的一个或更多个问题/答案对。对于第二示例,一个或更多个检索系统可以将来自由文本数据表示的转录本的一个或更多个单词与由一个或更多个问题/答案对表示的一个或更多个单词进行匹配。然后,一个或更多个检索系统可以检索包括至少阈值数量(例如,一、二、三、五、十等)的匹配词的一个或更多个问题/答案对。
在一些实施例中,作为存储和/或检索问题/答案对的补充或替代,系统可以存储意图、子意图、标记或对应于不同答案类型的其他分类类型。在这样的示例中,嵌入可以与最接近的意图(例如,“胎压意图”、“打开的气室意图”等)相匹配,并且该信息可以用于确定答案。因此,可以存储对应于或表示问题和/或答案的信息,而不是问题/答案对本身。
作为检索问题/答案对的补充或替代,一个或更多个检索系统可以检索与文本数据相关联的一个或更多个上下文信息。例如,一个或更多个系统可以存储与一个或更多个车辆相关联的信息。在一些示例中,该信息可以与特定类型的车辆相关联,诸如特定车辆制造商、特定车辆型号和/或特定车辆年份。例如,信息可能包括来自固定或基于实时文本的知识库的文本,诸如,在车辆或机器实施中,与车辆或机器的制造商、型号和/或年份相关的原始设备制造商(OEM)手册。在一些示例中,知识库中的信息通常可以与多种类型的车辆相关联。例如,该信息可能包括多个OEM手册中与多个车型相关的文本。此外,在一些示例中,信息可以来自除了OEM手册之外的其他来源,诸如来自一个或更多个检索系统可访问的一个或更多个网络资源的信息。
然后,一个或更多个检索系统可以检索与文本数据相关联的信息的至少一部分。在一些示例中,为了检索信息的一部分,并且类似于上面的问题/答案对,存储在一个或更多个数据库中的信息可以与嵌入相关联。例如,如本文更详细描述的,信息的第一部分可以与第一嵌入相关联,信息的第二部分可以与第二嵌入相关联,信息的第三部分可以与第三嵌入相关联,和/或等等。这样,一个或更多个检索系统可以使用生成的嵌入和与信息的部分相关联的嵌入来确定信息部分的分数。然后,检索系统可以检索与一个或更多个最高分数相关联的信息的阈值量。在一些示例中,信息的阈值量可以包括阈值数量的部分,诸如但不限于信息的一部分、信息的两个部分、信息的五个部分和/或信息的任何其他数量的部分。附加地或替代地,在一些示例中,信息的阈值量可以包括词的阈值数量,诸如但不限于信息的一个单词、信息的十个单词、信息的一百个单词、信息的二百个单词,和/或该信息的任何其他数量的单词。
虽然该示例描述了使用嵌入来检索信息的一个或更多个部分,但是在其他示例中,一个或更多个检索系统可以使用一种或更多种附加和/或替代技术。对于第一示例,信息的各个部分可以分为不同的类别。例如,如果信息(来自知识库)与车辆的OEM手册相关联,则信息的各个部分可以分为组件类别(例如,轮胎、电机、门、窗等)、特征类别(例如,收音机、显示器等)、维护类别(例如,推荐维护的时间段等)和/或任何其他类别。然后,一个或更多个检索系统可以使用类别来检索信息的一个或更多个部分,该信息的一个或更多个部分与由文本数据表示的转录本处于相似类别。对于第二示例,一个或更多个检索系统可以将来自由文本数据表示的转录本中的一个或更多个单词与由信息的一个或更多个部分表示的一个或更多个单词相匹配。然后,一个或更多个检索系统可以检索信息的一个或更多个部分,其至少包括匹配词的阈值数量(例如,一、二、三、五、十等)。
然后,一个或更多个系统可以使用表示转录本的文本数据、一个或更多个表示问题/答案对的数据、一个或更多个表示上下文信息的部分的数据和/或附加数据来生成与语音相关的提示。然后,一个或更多个系统可以将表示提示的提示数据输入到一个或更多个语言模型(例如,一个或更多个大型语言模型)中。如本文所述,一个或更多个语言模型可以包括任何类型的一个或更多个语言模型,诸如大型语言模型(LLM)、一个或更多个生成性语言模型(例如,生成性预训练转换器(GPT)等)、一个或更多个表示语言模型(例如,来自转换器的双向编码器表示(BERT)等)和/或任何其他类型的语言模式。然后,一个或更多个语言模型可以处理提示数据,并且基于该处理,输出与语音相关联的数据。例如,如果语音表示与车辆相关联的问题,则输出数据可以表示与该问题相关联的信息(例如,答案)。然后,一个或更多个系统可以将输出提供给用户,诸如通过使用一个或更多个扬声器输出与输出相关联的音频。
本文所述的系统和方法可用于但不限于非自主车辆、半自主车辆(例如,在一个或更多个自适应驾驶员辅助系统(ADAS)中)、有人驾驶和无人驾驶机器人或机器人使用平台、仓库车辆、越野车辆、连接到一个或更多个拖车的车辆、飞艇、船只、穿梭车、应急响应车辆、摩托车、电动或机动自行车、飞机、工程车辆、水下航行器、无人机和/或其他车辆类型。此外,本文所述的系统和方法可用于各种目的,例如但不限于,用于机器控制、机器运动、机器驾驶、合成数据生成、模型训练、感知、增强现实、虚拟现实、混合现实、机器人、安全和监控、模拟和数字孪生、对话系统、自主或半自主机器应用、深度学习、环境模拟、对象或演员模拟和/或数字孪生、数据中心处理、会话式人工智能、光传输模拟(例如,光线追踪、路径追踪等.)、3D资产的协作内容创建、云计算和/或任何其他合适的应用程序创建协作内容。
所公开的实施例可以包括在各种不同的系统中,诸如汽车系统(例如,用于自主或半自主机器的控制系统、用于自主或半自主机器的感知系统)、使用机器人实现的系统、航空系统、医疗系统、划船系统、智能区域监控系统、用于执行深度学习操作的系统、用于执行模拟操作的系统、用于执行数字孪生操作的系统、使用边缘设备实现的系统、合并一个或更多个虚拟机(VM)的系统、用于执行合成数据生成操作的系统、至少部分地在数据中心中实现的系统、用于执行会话式AI操作的系统、用于执行光传输模拟的系统、用于执行3D资产协作内容创建的系统、至少部分地使用云计算资源实现的系统,和/或其他类型的系统。
参考图1,图1是示出根据本公开的一些实施例的使用用于集群汽车或其他机器系统和应用的对话系统的示例。应当理解,本文所述的这种和其他布置仅作为示例被阐述。除了所示的那些布置和元件之外或代替所示的那些布置和元件,可以使用其他布置和元件(例如,机器、接口、功能、顺序、功能分组等),并且一些元件可以一起省略。进一步,本文描述的许多元件是可被实现为分立或分布式组件,或结合其他组件且在任何合适的组合和位置中实现的功能实体。本文中描述为由实体执行的各个功能可由硬件、固件和/或软件执行。例如,各个功能可通过处理器执行存储在存储器中的指令来执行。在一些实施例中,本文描述的系统、方法和过程可以使用与图9A-9D的示例自主车辆900、图10的示例计算设备1000和/或图11的示例数据中心1100的组件、特征和/或功能类似的组件、特征和/或功能来执行。
过程100可以包括处理音频数据104的一个或更多个语音处理组件102。例如,车辆可以使用一个或更多个麦克风来生成音频数据104,其中,音频数据104表示来自车辆用户的语音(例如,话语)。在一些示例中,语音可以表示用户请求的任务,诸如关于车辆的问题。如本文所述,当任务包括问题时,该问题可以与车辆的特征(例如,收音机、显示器等)、车辆的部件(例如车窗、车门、轮胎、发动机等)、与车辆相关的维护计划和/或车辆的任何其他方面相关联。然后,车辆可以使用一个或更多个语音处理组件102来处理音频数据104。如本文所述,一个或更多个语音处理组件102可以包括但不限于一个或更多个ASR模型、一个或更多STT模型、一个或更多个NLP模型和/或任何其他类型的语音模型。
在一些示例中,基于处理,一个或更多个语音处理组件102可以生成表示与语音相关联的一个或更多个单词(例如,转录本)的文本数据106。例如,如果音频数据104表示的问题包括“推荐的胎压是多少?”。那么文本数据106可以表示包括“推荐的胎压是多少?”的文本。在一些示例中,一个或更多个语音处理组件102可以进一步处理音频数据104和/或文本数据106,以确定与语音相关联的附加信息。例如,一个或更多个语音处理组件102可以进一步确定语音的意图和/或与该意图相关的一个或更多个时隙或标记相关联的信息。如本文所述,意图可以包括但不限于请求信息(例如,关于组件、特征、维护计划等的信息)、安排事件(例如,安排维护预约等),和/或与车辆相关联的类似内容。在一些实施例中,作为基于音频数据生成的文本数据的替代和补充,还可以从对用户界面、输入设备(例如,物理或数字键盘)和/或类似的一个或更多个输入生成文本数据。
例如,图2示出了根据本公开的一些实施例的一个或更多个语音处理组件102处理音频数据202(其可以表示和/或包括音频数据104)的示例,以便生成文本数据204(其可以表示和/或包括文本数据106)。如图所示,音频数据104可以至少表示来自用户的语音,其中语音是包括“推荐的胎压是多少?”的问题。因此,一个或更多个语音处理组件102可以处理音频数据202,以便生成文本数据204。如图所示,文本数据204可以至少表示语音的转录本206或分类,诸如“推荐的胎压是多少?”。在一些示例中,文本数据204可以进一步表示与语音相关联的意图208,诸如“请求信息”。在一些示例中,文本数据204可以进一步表示与意图208相关联的时隙210(1)-(3)的信息,其中,该信息包括对于第一时隙的“推荐”210(1),对于第二时隙的“轮胎”210(2)和对于第三个时隙的“压力”210(3)。
返回参考图1,过程100可以包括检索组件108,其生成与文本数据106相关联的问题/答案数据110。例如,一个或更多个信息数据库112可以存储多个问题/答案对。如本文所述,问题/答案对的数量可以包括但不限于一个问题/答案对、一百个问题/答案对、五百个问题/答案对、一千个问题/答案对和/或任何其他数量的问题/答案对。在一些示例中,问题/答案对可以与特定类型的车辆相关联,诸如车辆制造商、车辆型号和/或车辆年份。例如,可以使用与车辆相关的知识库(诸如OEM手册)来生成问题/答案对。在一些示例中,问题/答案对可以与多于一种类型的车辆相关联。例如,问题/答案对可以包括与不同车辆制造商、不同车辆型号和/或不同车辆年份相关联的一般问题和答案。然而,在一些示例中,问题/答案对可以与车辆以外的主题相关联。
对于问题/答案对的示例,图3示出了根据本公开的一些实施例的用于车辆的问题/答案对的示例。如图所示,问题/答案对可以包括多个问题302(1)-(N)(也可以单数称为“问题302”或复数称为“问题302”)以及对应的答案304(1)-(N)(也可以单数称为“问题304”或复数称为“问题304”)。虽然图3的示例示出了每个问题302包括对应的答案304,但在其他示例中,问题302可以与多于一个答案304相关联,和/或答案304可以与多于一个问题302相关联。此外,虽然图3的示例示出了与车辆相关联的问题/答案对,但是在其他示例中,问题/答案对可以与任何其他对象类型和/或主题相关联。
如本文所述,在一些示例中,问题/答案对可以与一个或更多个类别相关联。例如,如果问题/答案对与车辆相关联,则问题/答案对可以与车辆组件(例如,轮胎、车窗、车门、电机等)、车辆特征(例如,收音机、显示器等)、与车辆相关联的维护计划(例如,何时维修制动器、何时旋转轮胎等)和/或类似内容相关。例如,并且在图3的示例中,问题/答案对包括至少六个问题302(1)-(6)以及与轮胎和/或轮胎维护相关的六个对应答案304(1)-(6)。问题/答案对还包括一个问题302(7)和一个与一般维护相关联的对应答案304(7),一个问题302(8)和一个与收音机特征相关联的对应答案304(8),一个问题302(N)和一个与车门组件相关联的对应答案304(N)。
返回参考图1,检索组件108可以使用一种或更多种技术从信息数据库112中检索与文本数据106相关联的一个或更多个问题/答案对。在一些示例中,基于与由文本数据106表示的问题与相同的主题、组件、特征和/或类似物相关的问题/答案对,问题/答案对与文本数据106相关联。例如,并且使用上面的示例,如果问题请求与轮胎相关联的信息,那么与该问题相关联的问题/答案对还可以包括与轮胎相关联的问题和/或包括与轮胎相关联的信息的答案。在一些示例中,检索组件108可以被配置为检索阈值数量的问题/答案对。如本文所述,问题/答案对的阈值数量可以包括但不限于一个问题/答案对、五个问题/答案对、十个问题/答案对、二十个问题/答案对和/或任何其他数量的问题/答案对。
例如,图4示出了根据本公开的一些实施例的检索问题/答案对的示例。在图4的示例中,检索组件108可以使用一种检索技术来检索问题/答案对,诸如但不限于基于嵌入的检索。例如,如图所示,问题/答案对(例如,来自图3的示例)与嵌入402(1)-(6)相关联(也被单数称为“嵌入402”或复数称为“嵌入402”)。例如,包括问题302(1)和答案304(1)的问题/答案对与嵌入402(1)相关联,包括问题302(2)和答案304(2)的问题/答案对与嵌入402(2)相关联,包括问题302(3)和答案304(3)的问题/答案对与嵌入402(3)相关联,等等。
在一些示例中,检索组件108可以生成与问题/答案对相关联的嵌入402。例如,检索组件108可以包括编码器,该编码器将问题/答案对转换为密集向量,其中嵌入402与密集向量相关联。在一些示例中,一个或更多个其他组件和/或系统可以生成与问题/答案对相关联的嵌入402。例如,一个或更多个其他组件和/或系统可以包括将问题/答案对转换为密集向量的一个或更多个编码器。在一些示例中,基于接收表示转录本206的文本数据204而生成一个或更多个嵌入402。在一些示例中,在接收表示转录本206的文本数据204之前生成一个或更多个嵌入402。
如图4的示例进一步所示,检索组件108可进一步接收和/或生成与文本数据204相关联的嵌入404。例如,如本文所述,检索组件108可包括一个或更多个编码器,该编码器将文本数据204转换为密集向量,其中嵌入404与密集向量相关联。然后,检索组件108可以使用与文本数据204相关联的嵌入404和与问题/答案对相关联的嵌入402(例如,所有问题/答案对构成图3的示例,尽管为了清楚起见仅示出了六个)来检索问题/答案对的阈值数量。例如,检索组件108可以使用嵌入404和嵌入402来识别与由文本数据204表示的转录本206最相似的问题/答案对。
在一些示例中,为了识别与转录本206最相似的问题/答案对,检索组件108可以使用嵌入404和嵌入402确定问题/答案对的分数406(1)-(6)(也称为“分数406”或复数称为“分数406”)。例如,检索组件108可以基于嵌入402(1)和嵌入404来可以确定包括问题302(1)和答案304(1)的问题/答案对的分数406(1),可以基于嵌入402(2)和嵌入404来确定包括问题302(2)和答案304(2)的问题/答案对的分数406(2),可以基于嵌入402(3)和嵌入404来确定包括问题302(3)和答案304(3)的问题/答案对的分数406(3),以此类推。然后,检索组件108可以选择与最高分数相关联的问题/答案对的阈值数量。
例如,并且使用图4的示例,包括问题302(3)和答案304(3)的问题/答案对的分数406(3)可以包括最高分数,包括问题302(1)和答案304(1)的问题/答案对的分数406(1)可以包括第二高分,包括问题302(2)和答案304(2)的问题/答案对的分数406(2)可以包括第三高分,包括问题302(4)和答案304(4)的问题/答案对的分数406(4)可以包括第四高分,包括问题302(6)和答案304(6)的问题/答案对的分数405(6)可以包括第五高分,以及包括问题302(5)和答案304(5)的问题/答案对的分数406(5)可以包括第六高分。因此,如果检索组件108被配置为选择与三个最高分数相关联的问题/答案对(例如,问题/答案对的阈值数量是三个问题/答案对),则检索组件108可以选择与三个最高分数相关联的问题/答案对。问题/答案对包括问题302(1)-(3)和答案304(1)-(3)。
尽管图4的示例示出了检索组件108可用于检索问题/答案对的一种示例技术,但是在其他示例中,检索组件108可以使用附加的和/或替代的技术。对于第一示例,并且如本文所述,问题/答案对可以分为不同的类别。例如,并且使用图3的示例,可以将问题/答案对分成组件类别,诸如轮胎、电机、车门、车窗和/或类似物。在这样的示例中,检索组件108随后可以使用类别来检索与由文本数据表示的问题处于相似类别的一个或更多个问题/答案对。对于第二示例,检索组件108可以将由文本数据204表示的一个或更多个单词与由一个或更多个问题/答案对表示的一个或更多个单词进行匹配。然后,检索组件108可以检索至少包括阈值数量(例如,一、二、三、五、十等)匹配词的一个或更多个问题/答案对。
返回参考图1的示例,过程100可以包括检索组件108,该检索组件108生成问题/答案数据110,该问题/答案数据110表示从一个或更多个信息数据库112中检索到的一个或更多个问题/答案对。在一些示例中,问题/答案数据110可以进一步表示一个或更多个问题/答案对与文本数据106的相关性。例如,如果问题/答案数据110表示多个问题/答案对,则问题/答案对数据110可以指示第一问题/回答对与文本数据106最相关(例如,包括最高分数),第二问题/答复对是与文本数据106第二最相关的(例如,包括第二高分),第三问题/答案对是与文本数据106第三最相关的(例如,包括第三高分),和/或依此类推。
过程100可以包括检索组件114,其生成与文本数据106相关联的上下文数据116。例如,一个或更多个信息数据库112可以进一步存储与车辆相关联的信息。在一些示例中,该信息可与特定类型的车辆相关联,诸如车辆制造商、车辆型号和/或车辆年份。例如,该信息可以包括来自与车辆相关联的知识库(例如,手册、文档、网页等)的文本。在一些示例中,该信息通常可以与多种类型的车辆相关联。例如,该信息可包括来自与多种车型相关的多个OEM手册的文本。在一些示例中,该信息可以包括来自除了OEM手册之外的其他来源的信息,诸如来自检索组件114可访问的一个或更多个网络资源的信息。然而,在一些示例中,该信息可以与除了车辆之外的主题相关联。
检索组件114可以使用一种或更多种技术从一个或更多个信息数据库112(或数据存储,或其他存储器或存储类型)中检索与文本数据106相关联的上下文信息。在一些示例中,基于与由文本数据106表示的问题相同的主题、组件、特征等相关的上下文信息,该上下文信息与文本数据106相关联。例如,使用该示例,如果问题请求与轮胎相关联的信息,则与该问题相关联的上下文信息可以包括与轮胎相关联的信息。在一些示例中,检索组件114可以被配置为检索上下文信息的阈值量。如本文所述,阈值量可以包括但不限于一个单词、十个单词、一百个单词、两百个单词和/或任何其他量的上下文信息。
例如,图5示出了根据本公开的一些实施例的检索上下文信息的示例。在图5的示例中,上下文信息与车辆的OEM手册502相关联,然而,在其他示例中,该上下文信息可以与任何其他知识库或信息源相关联。此外,在图5的示例中,检索组件114可以使用一种检索类型来检索上下文信息,诸如但不限于基于嵌入的检索。
例如,如图所示,来自OEM手册502的信息504被分成部分506(1)-(6)(也单独称为“部分506”或复数称为“部分506”)。每个部分506可以包括一组单词。尽管图5的示例示出了每个部分506包括十个单词,但在其他示例中,每个部分506可以包括任何其他数量的单词(例如,一个单词、十个单词、五十个单词、一百个单词、两百个单词等)。此外,每个部分506以来自前一部分506的一组单词开始,诸如通过使用“滚动”方法。例如,在图5的示例中,每个部分506在前一部分506之后开始五个单词。然而,在其他示例中,每个部分506可以在前一部分之后开始任何数量的单词(例如,一个单词、十个单词、五十个单词、一百个单词、二百个单词等)。
虽然图5的示例示出了基于单词的数量来生成部分506,但是在其他示例中,可以使用一种或更多种附加和/或替代技术来生成部分506。例如,在一些示例中,每个部分506可以与OEM手册502的一部分相关联。例如,部分506可以与OEM手册502的轮胎部分相关联,部分506可与OEM手册50%的车窗部分相关联、部分506可能与OEM手册502的发动机部分相关联等等。
在一些示例中,检索组件114可以被配置为生成用于信息504的部分506。例如,检索组件114可以分析来自手册502的信息504,并且基于该分析,生成这些部分506。在一些示例中,一个或更多个其他组件和/或系统可以生成并随后存储用于信息504的部分506。
如图5的示例中进一步示出的,部分506与嵌入508(1)-(6)相关联(也单独称为“嵌入508”或复数称为“嵌入508”)。例如,部分506(1)与嵌入508(1)相关联,部分506(2)与嵌入508(2)相关联,部分506(3)与嵌入508(3)相关联,和/或等等。在一些示例中,检索组件114可以生成与部分506相关联的嵌入508。例如,检索组件114可以包括一个或更多个编码器,该编码器将来自部分506的字转换为密集向量,其中嵌入508与密集向量相关联。在一些示例中,一个或更多个其他系统和/或组件可以生成与部分506相关联的嵌入508。例如,一个或更多个其他系统和/或组件可以包括将部分506转换为密集向量的一个或更多个编码器。在一些示例中,一个或更多个嵌入508是基于接收表示转录本206的文本数据204而生成的。在一些示例中,一个或更多个嵌入508是在接收表示转录本206的文本数据204之前生成的。
然后,检索组件114可以使用与文本数据204相关联的嵌入404和嵌入508来选择信息504的一个或更多个部分506。在一些示例中,检索组件114选择部分506的阈值数量。阈值数量可以包括但不限于一个部分506、两个部分506、五个部分506、十个部分506和/或任何其他数量的部分506。在一些示例中,检索组件114选择部分506,直到达到字符和/或单词的阈值数量。例如,单词的阈值数量可以包括但不限于十个单词、五十个单词、一百个单词、两百个单词和/或任何其他数量的单词。
检索组件114可以使用嵌入404和嵌入508来选择信息504中与文本数据204的转录本206最相似的一个或更多个部分506。在一些示例中,选择与转录本206最类似的一个或更多个部分506,检索组件114可以使用嵌入508和嵌入404来确定部分506的分数510(1)-(6)(也单独称为“分数510”或复数称为“分数510”)。例如,检索组件114可以基于嵌入508(1)和嵌入404来确定部分506(1)的分数510(1),可以基于嵌入508(2)和嵌入404来确定部分506(2)的分数510(2),可以基于嵌入508(3)和嵌入404确定嵌入508的分数510(3),和/或依此类推。然后,检索组件114可以基于分数510来选择部分506。
例如,在检索组件114仅选择部分506中的一个的示例中,检索组件114可以选择与最高分数510相关联的部分506。例如,如果检索组件114确定分数510(6)包括最高分数510,则检索组件114可以选择信息504的部分506(6)。此外,在检索组件114选择多于一个部分506的示例中,诸如部分506的集合数量,检索组件114可以选择包括最高分数510的部分506的集合数量。例如,如果检索组件114选择两个部分506,则检索组件114可以基于确定分数510(5)-(6)包括两个最高分数510来选择部分506(5)–(6)。
尽管图5的示例示出了检索组件114可以用来检索上下文信息的一种示例技术,但是在其他示例中,检索组件114可以使用附加的和/或替代的技术。对于第一示例,并且如本文所述,可以将信息分成不同的类别。例如,并且使用图5的示例,其中信息504来自OEM手册502,信息504可以被分成组件类别,诸如轮胎、电机、车门、车窗和/或类似物。在这样的示例中,检索组件114可以使用类别来检索与由文本数据204表示的转录本206属于相似类别的上下文信息。对于第二示例,检索组件114可以将由文本数据204表示的一个或更多个单词与由信息504表示的一个或更多个单词相匹配。然后,检索组件114可以检索包含至少一个匹配词阈值(例如,一、二、三、五、十等)的上下文信息。
返回参考图1的示例,过程100可以包括提示组件118,其使用文本数据106、问题/答案数据110、上下文数据116和/或附加上下文数据120来生成与音频数据104相关联的提示数据122。例如,提示组件118可以至少使用由文本数据106表示的问题、由问题/答案数据110表示的检索到的问题/答案对,以及由上下文数据116表示的检索出的上下文信息来生成提示。在一些示例中,提示组件118可以被配置为通过使用给定顺序对来自文本数据106的文本、来自问题/答案数据110的文本和来自上下文数据116的文本进行排序来生成提示。
例如,图6示出了根据本公开的一些实施例的使用文本数据106、问题/答案数据110和上下文数据116来生成提示602的示例。如图所示,提示602可以以与检索组件114检索到的信息504的部分506(6)相关联的上下文信息开始。然后,提示602可以包括问题/答案对604(1)-(M)(也称为“问题/答案对604”或复数形式的“问题/答案对605”)(其可以表示来自图3示例中的问题/答案对),由检索组件108检索。在一些示例中,问题/答案对604是基于与文本数据204的相关性来排列的。对于第一示例,问题/答案604可以安排为分数最高的问题/答案对604排在第一位,其次是分数第二高的问题/答案对604,其次是分数第三高的问题/答案对604,等等。对于第二示例,问题/答案604可以安排为分数最低的问题/答案对604排在第一位,其次是分数第二低的问题/答案对604,其次是分数第三低的问题/答案对604,等等。然后,提示602可以包括与文本数据204(例如,问题)相关联的转录本206。虽然这只是提示602中包括的信息的一个示例安排,但在其他示例中,提示602可以包括该信息的任何其他安排。
此外,在一些示例中,提示602可以包括将不同类型的信息分开的附加字符、符号和/或单词。例如,提示602可以(1)以单词“context”开头,(2)后跟冒号,(3)后跟上下文信息,(4)后跟两行,(5)后跟单词“问题”,(6)后跟冒号,(7)后跟问题,(8)后跟一行,(9)后跟答案,(10)后跟冒号,(11)其中(4)-(10)对每个问题/答案对重复,(12)后跟转录本。虽然这只是使用附加字符、符号和/或单词来分隔不同类型信息的一种示例技术,但在其他示例中,提示组件118可以使用一种或更多种附加和/或替代技术。
返回参考图1的示例,过程100可以包括将提示数据122输入到一个或更多个语言模型124中。如本文所述,一个或更多个语言模型124可以包括任何类型的语言模型,诸如但不限于一个或更多个生成性语言模型(例如GPT等)、表示性语言模型(例如BERT等)和/或任何其他类型的语言模型。一个或更多个语言模型124可以被配置为处理提示数据122,并且基于该处理,一个或更多个语言模型124可以输出与音频数据104相关联(例如,与问题相关联)的数据126。例如,如果音频数据104表示包括关于车辆部件问题的语音,则输出数据126可以表示关于车辆部件的信息。
如进一步所示,一个或更多个语言模型124可以进一步输出上下文数据120,在一些示例中,上下文数据120可以包括输出数据126的至少一部分。如本文所讨论的,提示组件118可以进一步使用上下文数据120的至少一部分,以生成提示数据122。例如,如果用户继续询问与车辆相关联的问题,则提示组件118可以使用上下文数据120继续为问题生成提示数据122,其中,上下文数据120表示与先前问题的输出相关联的上下文。
在一些示例中,可以使用一种或更多种技术来确定与过程100相关联的对话系统是否准确。例如,可以生成问题/答案对的初始集合,其中,问题/答案对的初始集合的第一部分与参考问题/答案对相关联,而问题/答案对的初始集合的第二部分与与测试问题/答案对相关联。例如,如果问题/答案对的初始集合包括五百个问题/答案对,则四百个问题/答案对可能与参考问题/答案对相关联,并且一百个问题/答案对可能与带有测试或验证问题/答案对相关联。然后,可以将参考问题/答案对存储在一个或更多个信息数据库112中,并用于执行本文所述的过程。此外,测试问题/答案对可用于测试一个或更多个系统。
例如,一个或更多个系统可以使用来自测试问题/答案对的问题(例如,文本数据106可以表示问题)来执行图1的过程100。基于执行过程100,一个或更多个语言模型124可以生成与问题相关联的输出数据126。然后,一个或更多个系统可以将来自测试问题/答案对的答案与输出数据126表示的答案进行比较。此外,一个或更多个系统可以对其他测试问题/答案对中的一个或更多个执行类似的过程。基于比较,一个或更多个系统可以确定与对话系统相关联的精度。此外,一个或更多个系统可以基于精度执行一个或更多个过程。
例如,如果一个或更多个系统确定对话系统是准确的,则一个或更多个系统可以确定存储在一个或更多个信息数据库112中的信息(例如,参考问题/答案对、用于获得上下文信息的信息等)和/或用于生成提示数据122的一个或更多个技术使对话系统准确。然而,如果一个或更多个系统确定对话系统不准确,则一个或更多个系统可以更新存储在一个或更多个信息数据库112中的信息(例如,参考问题/答案对、用于获得上下文信息的信息等)和/或用于生成提示数据122的一个或更多个技术。在一些示例中,一个或更多个系统可以进行这样的更新,以便使对话系统更准确。
虽然图1的示例示出了检索组件108与检索组件114分离,但在其他示例中,检索组件108和检索组件114可以包括执行本文所述检索组件108、114的处理的单个组件。此外,检索组件108、114可以包括被配置为从一个或更多个信息数据库112搜索和/或检索信息的任何类型的一个或更多个组件、一个或更多个系统、一个或更多个应用程序和/或类似物。
现在参考图7-8,本文描述的方法700和800的每个框包括可以使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,可以通过处理器执行存储在存储器中的指令来执行各种功能。方法700和800也可以体现为存储在计算机存储介质上的计算机可用指令。方法700和800可以由独立应用程序、服务或托管服务(独立的或与另一个托管服务组合的)或另一个产品的插件提供,仅举几例。此外,作为示例,方法700和800关于图1的系统被描述。然而,这些方法700和800可以附加地或替代地由任何一个系统或系统的任何组合执行,包括但不限于本文所述的那些。
图7示出了根据本公开的一些实施例的用于使用问题和对应的一个或更多个问题/答案对来确定与车辆相关联的信息的方法700的流程图。在框B702,方法700可以包括获得表示与车辆相关联的问题的文本数据。例如,车辆可以使用一个或更多个麦克风来生成表示来自车辆乘客语音的音频数据104。然后,车辆可以使用一个或更多个语音处理组件102来处理音频数据104,以便生成表示语音的文本数据106。在一些示例中,语音可以包括与车辆相关联的问题。例如,语音可以包括与车辆组件、车辆特征、与车辆相关的维护等相关的问题。
在框B704,方法700可以包括至少基于文本数据确定与问题相关联的一个或更多个问题/答案对。例如,车辆可以使用检索组件108来检索与问题相关联的一个或更多个问题/答案对。如本文所述,在一些示例中,检索组件108可以使用与存储在一个或更多个信息数据库112中的问题/答案对相关联的嵌入以及与问题相关联的嵌入来检索一个或更多个问题/答案对,这些问题/答案对是与问题相关联的。然而,在其他示例中,检索组件108可以使用一种或更多种附加和/或替代技术来从相关联的信息数据库112中检索问题/答案对。然后,检索组件108可以生成表示检索到的相关联的问题/答案对的问题/答案数据110。
在框B706,过程700可以包括将文本数据和表示一个或更多个问题/答案对的数据输入到语言模型中。例如,车辆可以将文本数据106和问题/答案数据110输入到一个或更多个语言模型124中。在一些示例中,为了输入数据,提示组件118可以最初使用文本数据106以及问题/答案数据110来生成提示。然后,提示组件118可以将表示提示的提示数据122输入到一个或更多个语言模型124中。在一些示例中,车辆可以将附加数据输入到一个或更多个语言模型124中,诸如由检索组件114生成的上下文数据116和/或由一个或更多个语言模型124先前输出的上下文数据120。
在框B708,方法700可以包括使用语言模型确定与问题相关联的输出。例如,一个或更多个语言模型124可以处理文本数据106和问题/答案数据110(例如,提示数据122),并且基于该处理,输出与问题相关联的数据126。如本文所述,输出数据126可以表示与问题相关联的信息。然后,车辆可以将信息提供给乘客。在一些示例中,车辆通过输出与输出数据126相关联的声音来提供信息,其中,声音包括表示信息的一个或更多个单词。在一些示例中,车辆通过显示与输出数据126相关联的内容来提供信息,其中,内容包括表示信息的一个或更多个单词。
图8示出了根据本公开的一些实施例的用于使用问题和对应的上下文信息来确定与车辆相关联的信息的方法800的流程图。在框B802,方法800可以包括获得表示与车辆相关联的问题的文本数据。例如,车辆可以使用一个或更多个麦克风来生成表示来自车辆乘客语音的音频数据104。然后,车辆可以使用一个或更多个语音处理组件102来处理音频数据104,以便生成表示语音的文本数据106。在一些示例中,语音可以包括与车辆相关联的问题。例如,语音可以包括与车辆组件、车辆特征、与车辆相关的维护等相关的问题。
在框B804,方法800可以包括至少基于文本数据来确定与问题相关联的上下文信息。例如,车辆可以使用检索组件114来检索与问题相关联的上下文信息。如本文所述,在一些示例中,检索组件114可以使用与存储在信息数据库112中的信息的部分相关联的嵌入和与问题相关联的嵌入来检索与问题相关的上下文信息。然而,在其他示例中,检索组件114可以使用一种或更多种附加和/或替代技术来从信息数据库112中检索上下文信息。检索组件114然后可以生成表示检索到的上下文信息的上下文数据116。
在框B806,过程800可以包括将文本数据和表示上下文信息的数据输入到语言模型中。例如,车辆可以将文本数据106和上下文数据116输入到一个或更多个语言模型124中。在一些示例中,为了输入数据,提示组件118可以最初使用文本数据106以及上下文数据116来生成提示。然后,提示组件118可以将表示提示的提示数据122输入到一个或更多个语言模型124中。在一些示例中,车辆可以将附加数据输入到一个或更多个语言模型124中,诸如由检索组件108生成的问题/答案对110和/或由一个或更多个语言模型124先前输出的上下文数据120。
在框B808,方法800可以包括使用语言模型确定与问题相关联的输出。例如,一个或更多个语言模型124可以处理文本数据106和上下文数据116(例如,提示数据122),并且基于该处理,输出与问题相关联的数据126。如本文所述,输出数据126可以表示与问题相关联的信息。然后,车辆可以使用车辆(或其他机器)的一个或更多个组件(例如,扬声器、显示器、平视显示器、仪表板等)向乘客提供或传达信息。在一些示例中,
车辆通过输出与输出数据126相关联的声音来提供信息,其中,声音包括5表示信息的一个或更多个词。在一些示例中,车辆通过显示与输出数据126
相关联的内容来提供信息,其中,内容包括表示信息的一个或更多个单词。
此处描述的问题/答案交互(诸如关于方法700和800)可以使用数字或个人助手.。例如,在用户和数字助手对话期间(诸如在车辆或其他机器
的操作期间)用户可以向数字助手或个人助手提问,以了解有关机器的更0多信息、学习如何进行维护、激活/停用某些特征等,并且来自数字助手或
个人助手的响应可至少部分地依赖于使用系统100生成的来自一个或更多个语言模型124的输出数据126。
示例自主车辆
图9A是根据本公开的一些实施例的示例自主车辆900的图示。自主5车辆900(在本文中也称为“车辆900”)可以包括但不限于乘用车,例如
汽车、卡车、公共汽车、急救车、穿梭车、电动或机动自行车、摩托车、消防车、警车、救护车、船、工程车辆、水下航行器、机器人车辆、无人机、飞机、与拖车相连的车辆(例如,用于拖运货物的半牵引拖车卡车)
和/或其他类型的车辆(例如,无人驾驶和/或可容纳一名或更多名乘客)。0自主车辆通常根据由美国交通部下属的美国国家公路交通安全管理局(NHTSA)和汽车工程师协会(SAE)的“道路机动车辆驾驶自动化系统相关术语的分类和定义”(2018年6月15日发布的标准编号J3016-201806,2016年9月30日发布的标准编号J3016-201609,以及该标准的先前和未
来版本)定义的自动化水平来描述。车辆900可能够具有根据自主驾驶级5别的3级-5级中的一个或更多个的功能。车辆900可以能够根据自动驾驶
级别的1级-5级中的一个或更多个来发挥功能。例如,车辆900可能能够提供驾驶员辅助(1级)、部分自动化(2级)、有条件的自动化(3级)、高度自动化(4级)和/或完全自动化(5级),这取决于体现。如本文所用,术语“自主”可包括车辆900或其他机器的任何和/或所有类型的自主,例如完全自主、高度自主、有条件自主、部分自主、提供辅助自主、半自主的、主要自主的或其他名称。
车辆900可以包括诸如底盘、车身、车轮(例如2个、4个、6个、8个、18个等)、轮胎、车轴之类的部件以及车辆的其他部件。车辆900可以包括推进系统950,例如内燃机、混合动力发电厂、全电动发动机和/或另一种推进系统类型。推进系统950可以连接到可以包括变速器的车辆900的传动系以便实现车辆900的推进。可以响应于接收到来自油门/加速器952的信号而控制推进系统950。
可以包括方向盘的转向(steering)系统954可以用来在推进系统950操作时(例如在车辆运动时)使车辆900转向(例如沿着希望的路径或路线)。转向系统954可以接收来自转向致动器956的信号。对于全自动(5级)功能而言,方向盘可以是可选的。
制动传感器系统946可以用来响应于接收到来自制动致动器948和/或制动传感器的信号而操作车辆制动器。
可以包括一个或更多个片上系统(SoC)904(图9C)和/或一个或更多个GPU的一个或更多个控制器936可以向车辆900的一个或更多个部件和/或系统提供(例如表示命令的)信号。例如,一个或更多个控制器可以发送经由一个或更多个制动致动器948操作车辆制动器、经由一个或更多个转向致动器956操作转向系统954、经由一个或更多个油门/加速器952操作推进系统950的信号。一个或更多个控制器936可以包括一个或更多个板载(例如集成)计算设备(例如超级计算机),所述计算设备处理传感器信号并且输出操作命令(例如表示命令的信号),以实现自主驾驶和/或辅助人类驾驶员驾驶车辆900。一个或更多个控制器936可以包括用于自主驾驶功能的第一控制器936、用于功能性安全功能的第二控制器936、用于人工智能功能(例如计算机视觉)的第三控制器936、用于信息娱乐功能的第四控制器936、用于紧急情况下的冗余的第五控制器936和/或其他控制器。在一些示例中,单个控制器936可以处理上述功能中的两个或更多,两个或更多控制器936可以处理单个功能,和/或其任意组合。
一个或更多个控制器936可以响应于接收自一个或更多个传感器的传感器数据(例如传感器输入),提供用于控制车辆900的一个或更多个部件和/或系统的信号。传感器数据可以接收自例如且不限于全球导航卫星系统(GNSS)传感器958(例如全球定位系统传感器)、RADAR传感器960、超声传感器962、LIDAR传感器964、惯性测量单元(IMU)传感器966(例如加速度计、陀螺仪、磁罗盘、磁力计等)、麦克风996、立体相机968、广角相机970(例如鱼眼相机)、红外相机972、环绕相机974(例如360度相机)、远程和/或中程相机998、速度传感器944(例如用于测量车辆900的速率)、振动传感器942、转向传感器940、制动传感器(例如作为制动传感器系统946的部分)和/或其他传感器类型。
控制器936中的一个或更多个可以接收来自车辆900的仪表组932的输入(例如由输入数据表示),并且经由人机接口(HMI)显示器934、听觉信号器、扬声器和/或经由车辆900的其他部件提供输出(例如输出数据、显示数据等表示的)。这些输出可以包括诸如车辆速度、速率、时间、地图数据(例如图9C的高清(“HD”)地图922)、位置数据(例如,车辆900例如在地图上的位置)、方向、其他车辆的位置(例如占用网格)之类的信息,如控制器936所感知的关于对象和对象状态的信息等等。例如,HMI显示器934可以显示关于一个或更多个对象(例如街道指示牌、警示牌、交通灯变化等)的存在性的信息和/或关于车辆已经做出、正在做出或者将会做出的驾驶机动的信息(例如现在变道、两英里后离开34B,等等)。
车辆900还包括网络接口924,其可以使用一个或更多个无线天线926和/或调制解调器通过一个或更多个网络通信。例如,网络接口924可能够通过长期演进(“LTE”)、宽带码分多址(“WCDMA”)、通用移动电信系统(“UMTS”)、全球移动通信系统(“GSM”)、IMT-CDMA多载波(“CDMA2000”)等通信。一个或更多个无线天线926也可以使用诸如蓝牙、蓝牙低能耗(“LE”)、Z波、ZigBee等等之类的一个或更多个局域网和/或诸如LoRaWAN、SigFox等等之类的一个或更多个低功率广域网(“LPWAN”)实现环境中的对象(例如车辆、移动设备等等)之间的通信。
图9B为根据本公开一些实施例的用于图9A的示例自主车辆900的相机位置和视场的示例。相机和各自的视场是一个示例实施例,并不意图是限制性的。例如,可以包括附加的和/或可替换的相机,和/或这些相机可以位于车辆900上的不同位置。
用于相机的相机类型可以包括但不限于可以适于与车辆900的部件和/或系统一起使用的数字相机。所述相机可以在汽车安全完整性级别(ASIL)B下和/或在另一个ASIL下操作。相机类型可以具有任何图像捕获率,例如60帧每秒(fps)、120fps、240fps等等,这取决于实施例。相机可能够使用滚动快门、全局快门、另一种类型的快门或者其组合。在一些示例中,滤色器阵列可以包括红透明(RCCC)滤色器阵列、红透明蓝(RCCB)滤色器阵列、红蓝绿透明(RBGC)滤色器阵列、Foveon X3滤色器阵列、拜耳传感器(RGGB)滤色器阵列、单色传感器滤色器阵列和/或另一种类型的滤色器阵列。在一些实施例中,诸如具有RCCC、RCCB和/或RBGC滤色器阵列的相机之类的清晰像素相机可以用在提高光敏感度的努力中。
在一些示例中,所述相机中的一个或更多个可以用来执行高级驾驶员辅助系统(ADAS)功能(例如作为冗余或故障安全设计的部分)。例如,可以安装多功能单目相机以提供包括车道偏离警告、交通指示牌辅助和智能前照灯控制在内的功能。所述相机中的一个或更多个(例如全部相机)可以同时记录和提供图像数据(例如视频)。
所述相机中的一个或更多个可以安装在诸如定制设计的(三维(“3D”)打印的)组件之类的安装组件中,以便切断可能干扰相机的图像数据捕获能力的杂散光和来自汽车内的反射(例如挡风玻璃镜中反射的来自仪表板的反射)。关于翼镜安装组件,翼镜组件可以是定制3D打印的,使得相机安装板匹配翼镜的形状。在一些示例中,一个或更多个相机可以集成到翼镜中。对于侧视相机而言,一个或更多个相机也可以集成到驾驶室每个拐角的四根柱子内。
具有包括车辆900前面的环境部分的视场的相机(例如前置相机)可以用于环视,以帮助识别前向路径和障碍,以及在一个或更多个控制器936和/或控制SoC的帮助下辅助提供对于生成占用网格和/或确定优选车辆路径至关重要的信息。前置相机可以用来执行许多与LIDAR相同的ADAS功能,包括紧急制动、行人检测和碰撞避免。前置相机也可以用于ADAS功能和系统,包括车道偏离警告(“LDW”)、自主巡航控制(“ACC”),和/或诸如交通指示牌识别之类的其他功能。
各种各样的相机可以用于前置配置中,包括例如包括互补金属氧化物半导体(“CMOS”)彩色成像仪在内的单目相机平台。另一个示例可以是广角相机970,其可以用来感知从周边进入视野的对象(例如行人、十字路口交通或者自行车)。尽管图9B中图示出仅仅一个广角相机,但是在车辆900上可以存在任意数量(包括零)的广角相机970。此外,任意数量远程相机998(例如长视立体相机对)可以用于基于深度的对象检测,尤其是用于尚未针对其训练神经网络的对象。远程相机998也可以用于对象检测和分类以及基本的对象跟踪。
任意数量立体相机968也可以包括在前置配置中。在至少一个实施例中,一种或更多种立体相机968可以包括集成控制单元,该单元包括可扩展处理单元,其可以提供在单个芯片上具有集成的控制器局域网(“CAN”)或以太网接口的多核微处理器和可编程逻辑(“FPGA”)。这样的单元可以用来生成车辆环境的3D地图,包括针对图像中的所有点的距离估计。可替代的立体相机968可以包括紧凑型立体视觉传感器,其可以包括两个相机镜头(左右各一个)以及可以测量从车辆到目标对象的距离并且使用生成的信息(例如元数据)激活自主紧急制动和车道偏离警告功能的图像处理芯片。除了本文所描述的那些之外或者可替代地,可以使用其他类型的立体相机968。
具有包括车辆900的侧面的环境部分的视场的相机(例如侧视相机)可以用于环视,提供用来创建和更新占用网格以及生成侧撞击碰撞警告的信息。例如,环绕相机974(例如如图9B中所示的四个环绕相机974)可以置于车辆900上。环绕相机974可以包括广角相机970、鱼眼相机、360度相机和/或类似物。四个示例,四个鱼眼相机可以置于车辆的前面、后面和侧面。在一种可替代的布置中,车辆可以使用三个环绕相机974(例如左边、右边和后面),并且可以利用一个或更多个其他相机(例如前向相机)作为第四环视相机。
具有包括车辆900的后面的环境部分的视场的相机(例如后视相机)可以用于辅助停车、环视、后面碰撞警告以及创建和更新占用网格。可以使用各种各样的相机,包括但不限于也适合作为如本文所描述的前置相机(例如远程和/或中程相机998、立体相机968、红外相机972等等)的相机。
图9C为根据本公开一些实施例的用于图9A的示例自主车辆900的示例系统架构的框图。应当理解,这种布置和本文描述的其他布置仅仅作为示例而被阐述。除了所示的那些之外或者代替它们的是,可以使用其他的布置和元素(例如机器、接口、功能、顺序、功能分组等等),并且一些元素可以完全省略。进一步,许多本文描述的元素是功能实体,其可以实现为分立的或分布式部件或者结合其他部件实现,以及以任何适当的组合和位置实现。本文描述为由实体执行的各个功能可以通过硬件、固件和/或软件实现。例如,各个功能可以通过处理器执行存储在存储器中的指令而实现。
图9C中车辆900的部件、特征和系统中的每一个被图示为经由总线902连接。总线902可以包括控制器区域网络(CAN)数据接口(可替代地,本文称为“CAN总线”)。CAN可以是车辆900内部的网络,用来辅助控制车辆900的各种特征和功能,例如制动器、加速、制动、转向、挡风玻璃雨刷等等的驱动。CAN总线可以被配置为具有数十或者甚至数百个节点,每个节点具有其自己的唯一标识符(例如CAN ID)。可以读取CAN总线以找到方向盘角度、地速、每分钟发动机转速(RPM)、按钮位置和/或其他车辆状态指示符。CAN总线可以是ASIL B兼容的。
尽管这里将总线902描述为CAN总线,但是这并不意图是限制性的。例如,除了CAN总线之外或者可替代地,可以使用FlexRay和/或以太网。此外,尽管用单条线来表示总线902,但是这并不意图是限制性的。例如,可以存在任意数量的总线902,其可以包括一条或更多条CAN总线、一条或更多条FlexRay总线、一条或更多条以太网总线和/或一条或更多条使用不同协议的其他类型的总线。在一些示例中,两条或更多总线902可以用来执行不同的功能,和/或可以用于冗余。例如,第一总线902可以用于碰撞避免功能,并且第二总线902可以用于驱动控制。在任何示例中,每条总线902可以与车辆900的任何部件通信,并且两条或更多总线902可以与相同的部件通信。在一些示例中,车辆内的每个SoC 904、每个控制器936和/或每个计算机可以有权访问相同的输入数据(例如来自车辆900的传感器的输入),并且可以连接到诸如CAN总线之类的公共总线。
车辆900可以包括一个或更多个控制器936,例如本文关于图9A所描述的那些控制器。控制器936可以用于各种各样的功能。控制器936可以耦合到车辆900的任何其他不同的部件和系统,并且可以用于车辆900的控制、车辆900的人工智能、用于车辆900的信息娱乐和/或类似物。
车辆900可以包括一个或更多个片上系统(SoC)904。SoC 904可以包括CPU 906、GPU 908、处理器910、高速缓存912、加速器914、数据存储916和/或未图示出的其他部件和特征。在各种各样的平台和系统中,SoC 904可以用来控制车辆900。例如,一个或更多个SoC904可以在系统(例如车辆900的系统)中与HD地图922结合,所述HD地图可以经由网络接口924从一个或更多个服务器(例如图9D的一个或更多个服务器978)获得地图刷新和/或更新。
CPU 906可以包括CPU集群或者CPU复合体(可替代地,本文称为“CCPLEX”)。CPU906可以包括多个核和/或L2高速缓存。例如,在一些实施例中,CPU 906在一致性多处理器配置中可以包括八个核。在一些实施例中,CPU 906可以包括四个双核集群,其中每个集群具有专用的L2高速缓存(例如2MB L2高速缓存)。CPU 906(例如CCPLEX)可以被配置为支持同时集群操作,使得CPU 906的集群的任意组合能够在任何给定时间是活动的。
CPU 906可以实现包括以下特征中的一个或更多个的功率管理能力:各硬件块在空闲时可以自动进行时钟门控以节省动态功率;由于WFI/WFE指令的执行,每个核时钟可以在该核不主动地执行指令时进行门控;每个核可以独立地进行功率门控;当所有核都进行时钟门控或者功率门控时,可以独立地对每个核集群进行时钟门控;和/或当所有核都进行功率门控时,可以独立地对每个核集群进行功率门控。CPU 906可以进一步实现用于管理功率状态的增强算法,其中指定允许的功率状态和期望的唤醒时间,并且硬件/微代码为所述核、集群和CCPLEX确定要进入的最佳的功率状态。处理核可以在软件中支持简化的功率状态进入序列,该工作被卸载到微代码。
GPU 908可以包括集成的GPU(可替代地,本文称为“iGPU”)。GPU908可以是可编程的,并且对于并行工作负载而言是高效的。在一些示例中,GPU 908可以使用增强张量指令集。GPU 908可以包括一个或更多个流式微处理器,其中每个流式微处理器可以包括L1高速缓存(例如具有至少96KB存储能力的L1高速缓存),并且这些流式微处理器中的两个或更多可以共享L2高速缓存(例如具有512KB存储能力的L2高速缓存)。在一些实施例中,GPU 908可以包括至少八个流式微处理器。GPU 908可以使用计算应用编程接口(API)。此外,GPU908可以使用一个或更多个并行计算平台和/或编程模型(例如NVIDIA的CUDA)。
在汽车和嵌入式使用的情况下,可以对GPU 908进行功率优化以实现最佳性能。例如,可以在鳍式场效应晶体管(FinFET)上制造GPU 908。然而,这并不意图是限制性的,并且GPU 908可以使用其他半导体制造工艺来制造。每个流式微处理器可以合并划分成多个块的若干混合精度处理核。例如且非限制性地,可以将64个PF32核和32个PF64核划分成四个处理块。在这样的示例中,每个处理块可以分配16个FP32核、8个FP64核、16个INT32核、用于深层学习矩阵算术的两个混合精度NVIDIA张量核、L0指令高速缓存、线程束(warp)调度器、分派单元和/或64KB寄存器文件。此外,流式微处理器可以包括独立的并行整数和浮点数据路径,以利用计算和寻址计算的混合提供工作负载的高效执行。流式微处理器可以包括独立线程调度能力,以允许实现并行线程之间的更细粒度的同步和协作。流式微处理器可以包括组合的L1数据高速缓存和共享存储器单元,以便在简化编程的同时提高性能。
GPU 908可以包括在一些示例中提供大约900GB/s的峰值存储器带宽的高带宽存储器(HBM)和/或16GB HBM2存储器子系统。在一些示例中,除了HBM存储器之外或者可替代地,可以使用同步图形随机存取存储器(SGRAM),例如第五代图形双倍数据速率同步随机存取存储器(GDDR5)。
GPU 908可以包括统一存储器技术,其包括访问计数器以允许存储器页面更精确地迁移到最频繁地访问它们的处理器,从而提高处理器之间共享的存储器范围的效率。在一些示例中,地址转换服务(ATS)支持可以用来允许GPU 908直接访问CPU 906页表。在这样的示例中,当GPU 908存储器管理单元(MMU)经历遗漏时,可以将地址转换请求传输至CPU906。作为响应,CPU 906可以在其页表中寻找用于地址的虚拟-物理映射,并且将转换传输回GPU 908。这样,统一存储器技术可以允许单个统一虚拟地址空间用于CPU 906和GPU 908二者的存储器,从而简化了GPU 908编程和将应用程序移植(port)到GPU 908。
此外,GPU 908可以包括访问计数器,其可以跟踪GPU 908访问其他处理器的存储器的频率。访问计数器可以帮助确保存储器页面移至最频繁地访问这些页面的处理器的物理存储器。
SoC 904可以包括任意数量的高速缓存912,包括本文描述的那些高速缓存。例如,高速缓存912可以包括CPU 906和GPU 908二者可用的L3高速缓存(例如,其连接到CPU 906和GPU 908二者)。高速缓存912可以包括回写高速缓存,其可以例如通过使用高速缓存一致性协议(例如MEI、MESI、MSI等)跟踪行的状态。取决于实施例,L3高速缓存可以包括4MB或者更多,但是也可以使用更小的高速缓存大小。
SoC 904可以包括算术逻辑单元(ALU),其可以用于执行关于车辆900的各种任务或操作中的任一个的处理——例如处理DNN。此外,SoC904可以包括浮点单元(FPU)——或其他数学协处理器或数字协处理器类型——用于在系统内执行数学运算。例如,SoC 104可以包括一个或更多个集成为CPU 906和/或GPU 908内的执行单元的FPU。
SoC 904可包括一个或更多个加速器914(例如,硬件加速器、软件加速器或其组合)。例如,SoC 904可以包括硬件加速集群,其可以包括优化的硬件加速器和/或大型片上存储器。该大型片上存储器(例如4MB SRAM)可以使得硬件加速集群能够加速神经网络和其他计算。硬件加速集群可以用来补充GPU 908,并且卸载GPU 908的一些任务(例如释放GPU908的更多周期以用于执行其他任务)。作为一个示例,加速器914可以用于足够稳定以易于控制加速的有针对性的工作负载(例如感知、卷积神经网络(CNN)等等)。当在本文中使用时,术语“CNN”可以包括所有类型的CNN,包括基于区域的或者区域卷积神经网络(RCNN)和快速RCNN(例如用于对象检测)。
加速器914(例如硬件加速集群)可以包括深度学习加速器(DLA)。DLA可以包括可以被配置成为深度学习应用和推理提供额外的每秒10万亿次操作的一个或更多个张量处理单元(TPU)。TPU可以是被配置为执行图像处理功能(例如用于CNN、RCNN等)且针对执行图像处理功能而优化的加速器。DLA可以进一步针对特定的一组神经网络类型和浮点运算以及推理进行优化。DLA的设计可以比通用GPU提供每毫米更高的性能,并且远远超过CPU的性能。TPU可以执行若干功能,包括单实例卷积函数,支持例如用于特征和权重二者的INT8、INT16和FP16数据类型,以及后处理器功能。
DLA可以在处理的或者未处理的数据上针对各种各样的功能中的任何功能快速且高效地执行神经网络,尤其是CNN,例如且不限于:用于使用来自相机传感器的数据进行对象识别和检测的CNN;用于使用来自相机传感器的数据进行距离估计的CNN;用于使用来自麦克风的数据进行应急车辆检测和识别与检测的CNN;用于使用来自相机传感器的数据进行面部识别和车主识别的CNN;和/或用于安全和/或安全相关事件的CNN。
DLA可以执行GPU 908的任何功能,并且通过使用推理加速器,例如,设计者可以使DLA或GPU 908针对任何功能。例如,设计者可以将CNN的处理和浮点运算聚焦在DLA上,并且将其他功能留给GPU 908和/或其他加速器914。
加速器914(例如硬件加速集群)可以包括可编程视觉加速器(PVA),其在本文中可以可替代地称为计算机视觉加速器。PVA可以被设计和配置为加速用于高级驾驶员辅助系统(ADAS)、自主驾驶和/或增强现实(AR)和/或虚拟现实(VR)应用的计算机视觉算法。PVA可以提供性能与灵活性之间的平衡。例如,每个PVA可以包括例如且不限于任意数量的精简指令集计算机(RISC)核、直接存储器访问(DMA)和/或任意数量的向量处理器。
RISC核可以与图像传感器(例如本文描述的任何相机的图像传感器)、图像信号处理器和/或类似物交互。这些RISC核中的每一个可以包括任意数量的存储器。取决于实施例,RISC核可以使用若干协议中的任何协议。在一些示例中,RISC核可以执行实时操作系统(RTOS)。RISC核可以使用一个或更多个集成电路设备、专用集成电路(ASIC)和/或存储设备实现。例如,RISC核可以包括指令高速缓存和/或紧密耦合的RAM。
DMA可以使得PVA的部件能够独立于CPU 906访问系统存储器。DMA可以支持用来向PVA提供优化的任意数量的特征,包括但不限于支持多维寻址和/或循环寻址。在一些示例中,DMA可以支持高达六个或更多维度的寻址,其可以包括块宽度、块高度、块深度、水平块步进、竖直块步进和/或深度步进。
向量处理器可以是可编程处理器,其可以被设计为高效且灵活地执行用于计算机视觉算法的编程并且提供信号处理能力。在一些示例中,PVA可以包括PVA核和两个向量处理子系统分区。PVA核可以包括处理器子系统、一个或更多个DMA引擎(例如两个DMA引擎)和/或其他外围设备。向量处理子系统可以作为PVA的主处理引擎而操作,并且可以包括向量处理单元(VPU)、指令高速缓存和/或向量存储器(例如VMEM)。VPU核可以包括数字信号处理器,诸如例如单指令多数据(SIMD)、超长指令字(VLIW)数字信号处理器。SIMD和VLIW的组合可以增强吞吐量和速率。
向量处理器中的每一个可以包括指令高速缓存并且可以耦合到专用存储器。结果,在一些示例中,向量处理器中的每一个可以被配置为独立于其他向量处理器执行。在其他示例中,包括在特定PVA中的向量处理器可以被配置为采用数据并行化。例如,在一些实施例中,包括在单个PVA中的多个向量处理器可以执行相同的计算机视觉算法,但是在图像的不同区域上执行。在其他示例中,包括在特定PVA中的向量处理器可以在相同的图像上同时执行不同的计算机视觉算法,或者甚至在序列图像或者图像的部分上执行不同的算法。除其他的以外,任意数量的PVA可以包括在硬件加速集群中,并且任意数量的向量处理器可以包括在这些PVA中的每一个中。此外,PVA可以包括附加的纠错码(ECC)存储器,以增强总体系统安全性。
加速器914(例如硬件加速集群)可以包括片上计算机视觉网络和SRAM,以提供用于加速器914的高带宽、低延迟SRAM。在一些示例中,片上存储器可以包括由例如且不限于八个现场可配置的存储器块组成的至少4MB SRAM,其可以由PVA和DLA二者访问。每对存储器块可以包括高级外围总线(APB)接口、配置电路系统、控制器和复用器。可以使用任何类型的存储器。PVA和DLA可以经由向PVA和DLA提供高速存储器访问的主干(backbone)访问存储器。主干可以包括(例如使用APB)将PVA和DLA互连到存储器的片上计算机视觉网络。
片上计算机视觉网络可以包括在传输任何控制信号/地址/数据之前确定PVA和DLA二者都提供就绪且有效的信号的接口。这样的接口可以提供用于传输控制信号/地址/数据的单独相位和单独信道,以及用于连续数据传输的突发式通信。这种类型的接口可以符合ISO 26262或者IEC 61508标准,但是也可以使用其他标准和协议。
在一些示例中,SoC 904可以包括例如在2018年8月10日提交的美国专利申请No.16/101,232中描述的实时光线追踪硬件加速器。该实时光线追踪硬件加速器可以用来快速且高效地确定(例如世界模型内的)对象的位置和范围,以便生成实时可视化仿真,以用于RADAR信号解释、用于声音传播合成和/或分析、用于SONAR系统仿真、用于一般波传播仿真、用于为了定位和/或其他功能的目的与LIDAR数据相比较和/或用于其他用途。在一些实施例中,一个或更多个树遍历单元(TTU)可用于执行一个或更多个光线追踪相关操作。
加速器914(例如硬件加速器集群)具有广泛的自主驾驶用途。PVA可以是可编程视觉加速器,其可以用于ADAS和自主车辆中的关键处理阶段。PVA的能力是需要可预测处理、低功率和低延迟的算法域的良好匹配。换言之,PVA在半密集或者密集规则计算上,甚至在需要具有低延迟和低功率的可预测运行时间的小数据集上都表现良好。因此,在用于自主车辆的平台的背景下,PVA被设计为运行经典计算机视觉算法,因为它们在对象检测和整数数学运算方面很有效。
例如,根据该技术的一个实施例,PVA用来执行计算机立体视觉。在一些示例中,可以使用基于半全局匹配的算法,但是这并不意图是限制性的。许多用于3-5级自主驾驶的应用都需要即时运动估计/立体匹配(例如来自运动的结构、行人识别、车道检测等等)。PVA可以在来自两个单目相机的输入上执行计算机立体视觉功能。
在一些示例中,PVA可以用来执行密集的光流。根据过程原始RADAR数据(例如使用4D快速傅立叶变换)以提供经处理的RADAR。在其他示例中,PVA用于飞行时间深度处理,其例如通过处理原始飞行时间数据以提供经处理的飞行时间数据。
DLA可以用来运行任何类型的网络以增强控制和驾驶安全性,包括例如输出用于每个对象检测的置信度度量的神经网络。这样的置信度值可以解释为概率,或者解释为提供每个检测与其他检测相比的相对“权重”。该置信度值使得系统能够做出关于哪些检测应当被认为是真阳性检测而不是假阳性检测的进一步决策。例如,系统可以为置信度设置阈值,并且仅仅将超过阈值的检测看作真阳性检测。在自动紧急制动(AEB)系统中,假阳性检测会使得车辆自动地执行紧急制动,这显然是不希望的。因此,只有最确信的检测才应当被认为是AEB的触发因素。DLA可以运行用于回归置信度值的神经网络。该神经网络可以将至少一些参数子集作为其输入,例如边界框维度,(例如从另一个子系统)获得的地平面估计,与车辆900取向、距离相关的惯性测量单元(IMU)传感器966输出,从神经网络和/或其他传感器(例如LIDAR传感器964或RADAR传感器960)获得的对象的3D位置估计等。
SoC 904可以包括一个或更多个数据存储916(例如存储器)。数据存储916可以是SoC 904的片上存储器,其可以存储要在GPU和/或DLA上执行的神经网络。在一些示例中,为了冗余和安全,数据存储916可以容量足够大以存储神经网络的多个实例。数据存储912可以包括L2或L3高速缓存912。对数据存储916的引用可以包括对与如本文所描述的PVA、DLA和/或其他加速器914关联的存储器的引用。
SoC 904可以包括一个或更多个处理器910(例如嵌入式处理器)。处理器910可以包括启动和功率管理处理器,其可以是用于处理启动功率和管理功能以及有关安全实施的专用处理器和子系统。启动和功率管理处理器可以是SoC 904启动序列的一部分,并且可以提供运行时间功率管理服务。启动功率和管理处理器可以提供时钟和电压编程、辅助系统低功率状态转换、SoC 904热和温度传感器管理和/或SoC 904功率状态管理。每个温度传感器可以实现为环形振荡器,其输出频率与温度成比例,并且SoC904可以使用环形振荡器检测CPU 906、GPU 908和/或加速器914的温度。如果确定温度超过阈值,那么启动和功率管理处理器可以进入温度故障例程并且将SoC 904置于较低功率状态和/或将车辆900置于司机安全停车模式(例如使车辆900安全停车)。
处理器910可以还包括可以用作音频处理引擎的一组嵌入式处理器。音频处理引擎可以是一种音频子系统,其允许实现对于通过多个接口的多声道音频的完全硬件支持以及一系列广泛而灵活的音频I/O接口。在一些示例中,音频处理引擎是具有带有专用RAM的数字信号处理器的专用处理器核。
处理器910可以还包括始终在处理器上的引擎,其可以提供必要的硬件特征以支持低功率传感器管理和唤醒用例。该始终在处理器上的引擎可以包括处理器核、紧密耦合的RAM、支持外围设备(例如定时器和中断控制器)、各种I/O控制器外围设备和路由逻辑。
处理器910可以还包括安全集群引擎,其包括处理汽车应用的安全管理的专用处理器子系统。安全集群引擎可以包括两个或更多处理器核、紧密耦合的RAM、支持外围设备(例如定时器、中断控制器等等)和/或路由逻辑。在安全模式下,所述两个或更多核可以操作于锁步模式下,并且用作具有检测它们的操作之间的任何差异的比较逻辑的单核。
处理器910可以还包括实时相机引擎,其可以包括用于处理实时相机管理的专用处理器子系统。
处理器910可以还包括高动态范围信号处理器,其可以包括图像信号处理器,该图像信号处理器是一种硬件引擎,该硬件引擎是相机处理管线的部分。
处理器910可以包括可以是(例如微处理器上实现的)处理块的视频图像复合器,其实现视频回放应用程序产生用于播放器窗口的最终图像所需的视频后处理功能。视频图像复合器可以对广角相机970、环绕相机974和/或对驾驶室内监控相机传感器执行镜头畸变校正。驾驶室内监控相机传感器优选地由运行在高级SoC的另一个实例上的神经网络监控,被配置为识别驾驶室内事件并且相对应地做出响应。驾驶室内系统可以执行唇读,以激活移动电话服务并拨打电话、口述电子邮件、改变车辆目的地、激活或改变车辆的信息娱乐系统和设置或者提供语音激活的网上冲浪。某些功能仅在车辆操作于自主模式下时对于驾驶员可用,并且在其他情况下被禁用。
视频图像复合器可以包括用于空间和时间降噪的增强时间降噪。例如,在视频中出现运动的情况下,降噪适当地对空间信息加权,降低邻近帧提供的信息的权重。在图像或者图像的部分不包括运动的情况下,视频图像复合器执行的时间降噪可以使用来自先前的图像的信息以降低当前图像中的噪声。
视频图像复合器也可以被配置为对输入立体镜头帧执行立体校正。当操作系统桌面正在使用并且GPU 908无需连续地渲染(render)新的表面时,视频图像复合器可以进一步用于用户接口组成。甚至在GPU 908上电并且激活,进行3D渲染时,视频图像复合器可以用来减轻GPU 908的负担以提高性能和响应能力。
SoC 904可以还包括用于从相机接收视频和输入的移动行业处理器接口(MIPI)相机串行接口、高速接口和/或可以用于相机和有关像素输入功能的视频输入块。SoC 904可以还包括可以由软件控制并且可以用于接收未提交到特定角色的I/O信号的输入/输出控制器。
SoC 904可以还包括大范围的外围设备接口,以使能与外围设备、音频编解码器、功率管理和/或其他设备通信。SoC 904可以用来处理来自(通过千兆多媒体串行链路和以太网连接的)相机、传感器(例如可以通过以太网连接的LIDAR传感器964、RADAR传感器960等等)的数据,来自总线902的数据(例如车辆900的速率、方向盘位置等等),来自(通过以太网或CAN总线连接的)GNSS传感器958的数据。SoC 904可以还包括专用高性能大容量存储控制器,其可以包括它们自己的DMA引擎,并且其可以用来从日常数据管理任务中释放CPU906。
SoC 904可以是具有灵活架构的端到端平台,该架构跨越自动化3-5级,从而提供利用和高效使用计算机视觉和ADAS技术以实现多样性和冗余、连同深度学习工具一起提供用于灵活可靠驾驶软件堆栈的平台的综合功能安全架构。SoC 904可以比常规的系统更快、更可靠,甚至更加能量高效和空间高效。例如,当与CPU 906、GPU 908和数据存储916结合时,加速器914可以提供用于3-5级自主车辆的快速高效平台。
因此该技术提供了不能通过常规系统实现的能力和功能。例如,计算机视觉算法可以在CPU上执行,这些CPU可以使用诸如C编程语言之类的高级编程语言配置为跨各种各样的视觉数据执行各种各样的处理算法。然而,CPU常常不能满足许多计算机视觉应用的性能要求,诸如与例如执行时间和功耗有关的那些要求。特别地,许多CPU不能实时地执行复杂的对象检测算法,这是车载ADAS应用的要求和实用3-5级自主车辆的要求。
与常规系统形成对比的是,通过提供CPU复合体、GPU复合体和硬件加速集群,本文描述的技术允许同时和/或顺序地执行多个神经网络,并且将结果组合在一起以实现3-5级自主驾驶功能。例如,在DLA或dGPU(例如GPU 920)上执行的CNN可以包括文本和单词识别,允许超级计算机读取和理解交通指示牌,包括尚未针对其特别地训练神经网络的指示牌。DLA可以还包括能够识别、解释和提供对指示牌的语义理解,并且将该语义理解传递给运行在CPU复合体上的路径规划模块的神经网络。
作为另一个示例,如3、4或5级驾驶所需的,多个神经网络可以同时运行。例如,由“注意:闪烁的灯指示结冰条件”组成的警告指示牌连同电灯可以由若干神经网络独立地或者共同地进行解释。指示牌本身可以由部署的第一神经网络(例如经过训练的神经网络)识别为交通指示牌,文本“闪烁的灯指示结冰条件”可以由部署的第二神经网络解释,该部署的第二神经网络告知车辆的路径规划软件(优选地在CPU复合体上执行)当检测到闪烁的灯时,存在结冰条件。闪烁的灯可以通过在多个帧上操作部署的第三神经网络而识别,该神经网络告知车辆的路径规划软件闪烁的灯的存在(或不存在)。所有三个神经网络可以例如在DLA内和/或在GPU908上同时运行。
在一些示例中,用于面部识别和车主识别的CNN可以使用来自相机传感器的数据识别车辆900的授权的驾驶员和/或车主的存在。始终在传感器上的处理引擎可以用来在车主接近驾驶员车门时解锁车辆并且打开灯,并且在安全模式下,在车主离开车辆时禁用车辆。按照这种方式,SoC 904提供了防范盗窃和/或劫车的安全性。
在另一个示例中,用于应急车辆检测和识别的CNN可以使用来自麦克风996的数据来检测并且识别应急车辆警报(siren)。与使用通用分类器检测警报并且手动地提取特征的常规系统形成对比的是,SoC 904使用CNN以对环境和城市声音分类以及对视觉数据分类。在优选的实施例中,运行在DLA上的CNN被训练为识别应急车辆的相对关闭速率(例如通过使用多普勒效应)。CNN也可以被训练为识别如GNSS传感器958所识别的特定于车辆在其中操作的局部区域的应急车辆。因此,例如,当在欧洲操作时,CNN将寻求检测欧洲警报,并且当在美国时,CNN将寻求识别仅仅北美的警报。一旦检测到应急车辆,在超声传感器962的辅助下,控制程序可以用来执行应急车辆安全例程,使车辆放慢速度,开到路边,停下车辆,和/或使车辆空转,直到应急车辆通过。
车辆可以包括可以经由高速互连(例如PCIe)耦合到SoC 904的CPU918(例如分立的CPU或dCPU)。CPU 918可以包括例如X86处理器。CPU918可以用来执行各种各样的功能中的任何功能,包括例如仲裁ADAS传感器与SoC 904之间潜在地不一致的结果,和/或监控控制器936和/或信息娱乐SoC 930的状态和健康状况。
车辆900可以包括可以经由高速互连(例如NVIDIA的NVLINK)耦合到SoC 904的GPU920(例如分立的GPU或dGPU)。GPU 920可以例如通过执行冗余的和/或不同的神经网络而提供附加的人工智能功能,并且可以用来基于来自车辆900的传感器的输入(例如传感器数据)来训练和/或更新神经网络。
车辆900可以还包括网络接口924,该网络接口可以包括一个或更多个无线天线926(例如用于不同通信协议的一个或更多个无线天线,例如蜂窝天线、蓝牙天线等等)。网络接口924可以用来使能通过因特网与云(例如与服务器978和/或其他网络设备)、与其他车辆和/或与计算设备(例如乘客的客户端设备)的无线连接。为了与其他车辆通信,可以在这两辆车之间建立直接链接,和/或可以建立间接链接(例如跨网络以及通过因特网)。直接链接可以使用车对车通信链路提供。车对车通信链路可以向车辆900提供关于接近车辆900的车辆(例如车辆900前面、侧面和/或后面的车辆)的信息。该功能可以是车辆900的协作自适应巡航控制功能的部分。
网络接口924可以包括提供调制和解调功能并且使得控制器936能够通过无线网络通信的SoC。网络接口924可以包括用于从基带到射频的上转换以及从射频到基带的下转换的射频前端。频率转换可以通过公知的过程执行,和/或可以使用超外差(super-heterodyne)过程执行。在一些示5例中,射频前端功能可以由单独的芯片提供。网络接口可以包括用于通过LTE、WCDMA、UMTS、GSM、CDMA2000、蓝牙、蓝牙LE、Wi-Fi、Z波、ZigBee、LoRaWAN和/或其他无线协议通信的无线功能。
车辆900可以进一步包括可包括片外(例如SoC 904外)存储装置
的数据存储928。数据存储928可以包括一个或更多个存储元件,包括RAM、0SRAM、DRAM、VRAM、闪存、硬盘和/或可以存储至少一个比特的数据的其他部件和/或设备。
车辆900可以进一步包括GNSS传感器958。GNSS传感器958(例如GPS、辅助GPS传感器、差分GPS(DGPS)传感器等)用于辅助映射、感知、占用网格生成和/或路径规划功能。可以使用任意数量的GNSS传感5器958,包括例如且不限于使用带有以太网到串行(RS-232)网桥的USB连接器的GPS。
车辆900可以进一步包括RADAR传感器960。RADAR传感器960
可以甚至在黑暗和/或恶劣天气条件下也由车辆900用于远程车辆检测。
RADAR功能安全级别可以是ASIL B。RADAR传感器960可以使用CAN0和/或总线902(例如以传输RADAR传感器960生成的数据)以用于控制
以及访问对象跟踪数据,在一些示例中接入以太网以访问原始数据。可以使用各种各样的RADAR传感器类型。例如且非限制性地,RADAR传感器960可以适合前面、后面和侧面RADAR使用。在一些示例中,使用脉冲多普勒RADAR传感器。
5RADAR传感器960可以包括不同的配置,例如具有窄视场的远程、具有宽视场的短程、短程侧覆盖等等。在一些示例中,远程RADAR可以用于自适应巡航控制功能。远程RADAR系统可以提供通过两个或更多独立扫描实现的广阔视场(例如250m范围内)。RADAR传感器960可以帮
助区分静态对象和运动对象,并且可以由ADAS系统用于紧急制动辅助和0前方碰撞警告。远程RADAR传感器可以包括具有多根(例如六根或更多)固定RADAR天线以及高速CAN和FlexRay接口的单站多模RADAR。在具有六根天线的示例中,中央四根天线可以创建聚焦的波束图案,其被设计为在更高速率下以来自邻近车道的最小交通干扰记录车辆900的周围环境。其他两根天线可以扩展视场,使得快速地检测进入或离开车辆900的车道的车辆成为可能。
作为一个示例,中程RADAR系统可以包括高达960m(前面)或80m(后面)的范围以及高达42度(前面)或950度(后面)的视场。短程RADAR系统可以包括但不限于被设计为安装在后保险杠两端的RADAR传感器。当安装在后保险杠两端时,这样的RADAR传感器系统可以创建持续地监控后方和车辆旁边的盲点的两个波束。
短程RADAR系统可以在ADAS系统中用于盲点检测和/或变道辅助。
车辆900可以进一步包括超声传感器962。可以置于车辆900的前面、后面和/或侧面的超声传感器962可以用于停车辅助和/或创建和更新占用网格。可以使用各种各样的超声传感器962,并且不同的超声传感器962可以用于不同的检测范围(例如2.5m、4m)。超声传感器962可以操作于功能安全级别的ASIL B。
车辆900可以包括LIDAR传感器964。LIDAR传感器964可以用于对象和行人检测、紧急制动、碰撞避免和/或其他功能。LIDAR传感器964可以为功能安全级别的ASIL B。在一些示例中,车辆900可以包括可以使用以太网(例如以将数据提供给千兆以太网交换机)的多个LIDAR传感器964(例如两个、四个、六个等等)。
在一些示例中,LIDAR传感器964可能够对360度视场提供对象列表及其距离。商业上可用的LIDAR传感器964可以具有例如近似900m的广告范围,精度为2cm-3cm,支持900Mbps以太网连接。在一些示例中,可以使用一个或更多个非突出的LIDAR传感器964。在这样的示例中,LIDAR传感器964可以实现为可以嵌入到车辆900的前面、后面、侧面和/或拐角的小设备。在这样的示例中,LIDAR传感器964可以甚至对于低反射率对象提供高达120度水平的和35度竖直的视场,具有200m的范围。前面安装的LIDAR传感器964可以被配置用于45度与135度之间的水平视场。
在一些示例中,也可以使用诸如3D闪光LIDAR之类的LIDAR技术。3D闪光LIDAR使用激光的闪光作为发射源,以照亮高达约200m的车辆周围环境。闪光LIDAR单元包括接受器,该接受器将激光脉冲传输时间和反射光记录在每个像素上,其进而与从车辆到对象的范围相对应。闪光LIDAR可以允许利用每个激光闪光生成周围环境的高度精确且无失真的图像。在一些示例中,可以部署四个闪光LIDAR传感器,车辆900的每一侧一个。可用的3D闪光LIDAR系统包括没有风扇以外的运动部件(moving part)的固态3D凝视阵列LIDAR相机(例如非扫描LIDAR设备)。闪光LIDAR设备可以使用每帧5纳秒I类(眼睛安全)激光脉冲,并且可以以3D范围点云和共同寄存的强度数据的形式捕获反射的激光。通过使用闪光LIDAR,并且因为闪光LIDAR是没有运动部件的固态设备,LIDAR传感器964可以不太容易受到运动模糊、振动和/或震动的影响。
该车辆可以进一步包括IMU传感器966。在一些示例中,IMU传感器966可以位于车辆900的后轴的中心。IMU传感器966可以包括例如且不限于加速度计、磁力计、陀螺仪、磁罗盘和/或其他传感器类型。在一些示例中,例如在六轴应用中,IMU传感器966可以包括加速度计和陀螺仪,而在九轴应用中,IMU传感器966可以包括加速度计、陀螺仪和磁力计。
在一些实施例中,IMU传感器966可以实现为微型高性能GPS辅助惯性导航系统(GPS/INS),其结合微机电系统(MEMS)惯性传感器、高灵敏度GPS接收器和高级卡尔曼滤波算法以提供位置、速度和姿态的估计。这样,在一些示例中,IMU传感器966可以使得车辆900能够在无需来自磁传感器的输入的情况下通过直接观察从GPS到IMU传感器966的速度变化并且将其相关来估计方向(heading)。在一些示例中,IMU传感器966和GNSS传感器958可以结合到单个集成单元中。
该车辆可以包括置于车辆900中和/或车辆900周围的麦克风996。除别的以外,麦克风996可以用于应急车辆检测和识别。
该车辆可以进一步包括任意数量的相机类型,包括立体相机968、广角相机970、红外相机972、环绕相机974、远程和/或中程相机998和/或其他相机类型。这些相机可以用来捕获车辆900整个外围周围的图像数据。使用的相机类型取决于实施例和车辆900的要求,并且相机类型的任意组合可以用来提供车辆900周围的必要覆盖。此外,相机的数量可以根据实施例而不同。例如,该车辆可以包括六个相机、七个相机、十个相机、十二个相机和/或另一数量的相机。作为一个示例且非限制性地,这些相机可以支持千兆多媒体串行链路(GMSL)和/或千兆以太网。所述相机中的每一个在本文关于图9A和图9B更详细地进行了描述。
车辆900可以进一步包括振动传感器942。振动传感器942可以测量车辆的诸如车轴之类的部件的振动。例如,振动的变化可以指示道路表面的变化。在另一个示例中,当使用两个或更多振动传感器942时,振动之间的差异可以用来确定道路表面的摩擦或滑移(例如当动力驱动轴与自由旋转轴之间存在振动差异时)。
车辆900可以包括ADAS系统938。在一些示例中,ADAS系统938可以包括SoC。ADAS系统938可以包括自主/自适应/自动巡航控制(ACC)、协作自适应巡航控制(CACC)、前方撞车警告(FCW)、自动紧急制动(AEB)、车道偏离警告(LDW)、车道保持辅助(LKA)、盲点警告(BSW)、后方穿越交通警告(RCTW)、碰撞警告系统(CWS)、车道居中(LC)和/或其他特征和功能。
ACC系统可以使用RADAR传感器960、LIDAR传感器964和/或相机。ACC系统可以包括纵向ACC和/或横向ACC。纵向ACC监控并控制到紧接在车辆900前方的车辆的距离,并且自动地调节车速以维持离前方车辆的安全距离。横向ACC执行距离保持,并且在必要时建议车辆900改变车道。横向ACC与诸如LCA和CWS之类的其他ADAS应用程序有关。
CACC使用来自其他车辆的信息,该信息可以经由网络接口924和/或无线天线926经由无线链路或者通过网络连接(例如通过因特网)间接地从其他车辆接收。直接链接可以由车对车(V2V)通信链路提供,而间接链接可以是基础设施到车辆(I2V)的通信链路。通常,V2V通信概念提供关于紧接在前的车辆(例如紧接在车辆900前方且与其处于相同车道的车辆)的信息,而I2V通信概念提供关于前方更远处的交通的信息。CACC系统可以包括I2V和V2V信息源中的任一个或者二者。给定车辆900前方车辆的信息,CACC可以更加可靠,并且它有可能提高交通流的畅通性且降低道路拥堵。
FCW系统被设计为提醒驾驶员注意危险,使得驾驶员可以采取纠正措施。FCW系统使用耦合到专用处理器、DSP、FPGA和/或ASIC的前置相机和/或RADAR传感器960,该专用处理器、DSP、FPGA和/或ASIC电耦合至诸如显示器、扬声器和/或振动部件之类的驾驶员反馈。FCW系统可以提供例如声音、视觉警告、振动和/或快速制动脉冲形式的警告。
AEB系统检测即将发生的与另一车辆或其他对象的前方碰撞,并且可以在驾驶员在指定的时间或距离参数内没有采取纠正措施的情况下自动地应用制动器。AEB系统可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的前置相机和/或RADAR传感器960。当AEB系统检测到危险时,它典型地首先提醒(alert)驾驶员采取纠正措施以避免碰撞,并且如果驾驶员没有采取纠正措施,那么AEB系统可以自动地应用制动器以努力防止或者至少减轻预测的碰撞的影响。AEB系统可以包括诸如动态制动支持和/或碰撞迫近制动之类的技术。
LDW系统提供了诸如方向盘或座位振动之类的视觉、听觉和/或触觉警告,以在车辆900穿过车道标记时提醒驾驶员。当驾驶员指示有意偏离车道时,通过激活转弯信号,不激活LDW系统。LDW系统可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的前侧朝向相机,该专用处理器、DSP、FPGA和/或ASIC电耦合至诸如显示器、扬声器和/或振动部件之类的驾驶员反馈。
LKA系统是LDW系统的变型。如果车辆900开始离开车道,那么LKA系统提供纠正车辆900的转向输入或制动。
BSW系统检测并向驾驶员警告汽车盲点中的车辆。BSW系统可以提供视觉、听觉和/或触觉警报以指示合并或改变车道是不安全的。系统可以在驾驶员使用转弯信号时提供附加的警告。BSW系统可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的后侧朝向相机和/或RADAR传感器960,该专用处理器、DSP、FPGA和/或ASIC电耦合至诸如显示器、扬声器和/或振动部件之类的驾驶员反馈。
RCTW系统可以在车辆900倒车时在后置相机范围之外检测到对象时提供视觉、听觉和/或触觉通知。一些RCTW系统包括AEB以确保应用车辆制动器以避免撞车。RCTW系统可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的一个或更多个后置RADAR传感器960,该专用处理器、DSP、FPGA和/或ASIC电耦合至诸如显示器、扬声器和/或振动部件之类的驾驶员反馈。
常规的ADAS系统可能易于出现假阳性结果,这可能会让驾驶员烦恼并分散注意力,但是典型地不是灾难性的,因为ADAS系统提醒驾驶员并且允许驾驶员决定安全条件是否真正存在并且相对应地采取行动。然而,在自主车辆900中,在冲突结果的情况下,车辆900本身必须决定是否注意(heed)来自主计算机或者辅助计算机(例如第一控制器936或第二控制器936)的结果。例如,在一些实施例中,ADAS系统938可以是用于向备用计算机合理性模块提供感知信息的备用和/或辅助计算机。备用计算机合理性监视器可以在硬件部件上运行冗余多样的软件,以检测感知和动态驾驶任务中的故障。来自ADAS系统938的输出可以提供给监督MCU。如果来自主计算机和辅助计算机的输出冲突,那么监督MCU必须确定如何协调该冲突以确保安全操作。
在一些示例中,主计算机可以被配置为向监督MCU提供置信度评分,指示主计算机对所选结果的置信度。如果置信度评分超过阈值,那么监督MCU可以遵循主计算机的方向,而不管辅助计算机是否提供冲突或不一致的结果。在置信度评分不满足阈值的情况下并且在主计算机和辅助计算机指示不同的结果(例如冲突)的情况下,监督MCU可以在这些计算机之间进行仲裁以确定适当的结果。
监督MCU可以被配置为运行神经网络,所述神经网络被训练并且被配置为基于来自主计算机和辅助计算机的输出,确定辅助计算机提供假警报的条件。因此,监督MCU中的神经网络可以了解何时可以信任辅助计算机的输出以及何时不能。例如,当辅助计算机为基于RADAR的FCW系统时,监督MCU中的神经网络可以了解FCW系统何时正在识别事实上不是危险的金属对象,例如触发警报的排水栅格或井盖。类似地,当辅助计算机是基于相机的LDW系统时,监督MCU中的神经网络可以学习在骑车者或行人在场并且车道偏离实际上是最安全的策略时无视该LDW。在包括运行在监督MCU上的神经网络的实施例中,监督MCU可以包括适合于利用关联的存储器运行神经网络的DLA或GPU中的至少一个。在优选的实施例中,监督MCU可以包括SoC 904的部件和/或作为SoC 904的部件而被包括。
在其他示例中,ADAS系统938可以包括使用传统计算机视觉规则执行ADAS功能的辅助计算机。这样,辅助计算机可以使用经典的计算机视觉规则(如果-那么),并且在监督MCU中存在神经网络可以提高可靠性、安全性和性能。例如,多样化的实现方式和有意的非完全相同(non-identity)使得整个系统更加容错,对于软件(或者软件-硬件接口)功能造成的故障而言尤其如此。例如,如果在主计算机上运行的软件中存在软件漏洞或错误并且运行在辅助计算机上的非完全相同的软件代码提供相同的总体结果,那么监督MCU可以更加确信总体结果是正确的,并且主计算机上的软件或硬件中的漏洞不造成实质性的错误。
在一些示例中,ADAS系统938的输出可以馈送至主计算机的感知块和/或主计算机的动态驾驶任务块。例如,如果ADAS系统938由于对象紧接在前的原因而指示前方碰撞警告,那么感知块可以在识别对象时使用该信息。在其他示例中,辅助计算机可以具有它自己的神经网络,其被训练并且因此如本文所描述的降低假阳性的风险。
车辆900可以进一步包括信息娱乐SoC 930(例如车载信息娱乐系统(IVI))。尽管被图示和描述为SoC,但是信息娱乐系统可以不是SoC,并且可以包括两个或更多分立的部件。信息娱乐SoC 930可以包括可以用来向车辆900提供音频(例如音乐、个人数字助理、导航指令、新闻、广播等等)、视频(例如TV、电影、流媒体等等)、电话(例如免提呼叫)、网络连接(例如LTE、Wi-Fi等等)和/或信息服务(例如导航系统,后停车援助,无线电数据系统,诸如燃油水平、覆盖的总距离、制动燃油水平、油位、车门开/关、空气过滤器信息之类的车辆有关信息,等等)的硬件和软件的组合。例如,信息娱乐SoC 930可以包括收音机、盘播放器、导航系统、视频播放器、USB和蓝牙连接、车载电脑、车载娱乐、Wi-Fi、方向盘音频控件、免提语音控件、平视显示器(HUD)、HMI显示器934、远程信息处理设备、控制面板(例如用于控制各种部件、特征和/或系统,和/或与其交互)和/或其他部件。信息娱乐SoC 930可以进一步用来向车辆的用户提供信息(例如视觉的和/或听觉的),例如来自ADAS系统938的信息,诸如规划的车辆机动、轨迹、周围环境信息(例如交叉路口信息、车辆信息、道路信息等等)之类的自主驾驶信息,和/或其他信息。
信息娱乐SoC 930可以包括GPU功能。信息娱乐SoC 930可以通过总线902(例如CAN总线、以太网等)与车辆900的其他设备、系统和/或部件通信。在一些示例中,信息娱乐SoC930可以耦合至监督MCU,使得在主控制器936(例如车辆900的主和/或备用计算机)出现故障的情况下,信息娱乐系统的GPU可以执行一些自驾驶功能。在这样的示例中,信息娱乐SoC930可以如本文所描述的将车辆900置于司机安全停车模式。
车辆900可以进一步包括仪表组932(例如数字仪表板、电子仪表组、数字仪表面板等等)。仪表组932可以包括控制器和/或超级计算机(例如分立的控制器或超级计算机)。仪表组932可以包括一套仪器,例如车速表、燃油水平、油压、转速表、里程表、转弯指示器、换档位置指示器、安全带警告灯、停车制动警告灯、发动机故障灯、安全气囊(SRS)系统信息、照明控件、安全系统控件、导航信息等等。在一些示例中,信息可以被显示和/或在信息娱乐SoC 930和仪表组932之间共享。换言之,仪表组932可以作为信息娱乐SoC 930的部分而被包括,或者反之亦然。
图9D为根据本公开一些实施例的基于云的服务器与图9A的示例自主车辆900之间的通信的系统示意图。系统976可以包括服务器978、网络990以及包括车辆900在内的车辆。服务器978可以包括多个GPU 984(A)-984(H)(这里统称为GPU 984)、PCIe交换机982(A)-982(H)(这里统称为PCIe交换机982)和/或CPU 980(A)-980(B)(这里统称为CPU 980)。GPU984、CPU 980和PCIe交换机可以与诸如例如且不限于NVIDIA开发的NVLink接口988之类的高速互连和/或PCIe连接986互连。在一些示例中,GPU 984经由NVLink和/或NVSwitch SoC连接,并且GPU 984和PCIe交换机982经由PCIe互连连接。尽管图示出八个GPU 984、两个CPU980和两个PCIe交换机,但是这并不意图是限制性的。取决于实施例,服务器978中的每一个可以包括任意数量的GPU 984、CPU980和/或PCIe交换机。例如,服务器978中的每一个可以包括八个、十六个、三十二个和/或更多GPU 984。
服务器978可以通过网络990并且从车辆接收图像数据,该图像数据表示示出诸如最近开始的道路工程之类的意外或改变的道路状况的图像。服务器978可以通过网络990并且向车辆传输神经网络992、更新的神经网络992和/或地图信息994,包括关于交通和道路状况的信息。对地图信息994的更新可以包括对于HD地图922的更新,例如关于建筑工地、坑洼、弯道、洪水或其他障碍物的信息。在一些示例中,神经网络992、更新的神经网络992和/或地图信息994可以已从新的训练和/或从环境中的任意数量的车辆接收的数据中表示和/或基于数据中心处执行的训练(例如使用服务器978和/或其他服务器)的经验产生。
服务器978可以用来基于训练数据训练机器学习模型(例如神经网络)。训练数据可以由车辆生成,和/或可以在仿真中生成(例如使用游戏引擎)。在一些示例中,训练数据被标记(例如在神经网络受益于有监督学习的情况下)和/或经历其他预处理,而在其他示例中,训练数据不被标记和/或预处理(例如在神经网络无需有监督学习的情况下)。可以根据机器学习技术的任何一个或更多个类别来执行训练,包括但不限于:诸如监督训练、半监督训练、无监督训练、自学习、强化学习、联合学习、转移学习、特征学习(包括主要组成和集群分析)、多线性子空间学习、流形学习、表示学习(包括备用字典学习)、基于规则的机器学习、异常检测及其任何变体或组合之类的类别。一旦机器学习模型被训练,机器学习模型可以由车辆使用(例如通过网络990传输至车辆),和/或机器学习模型可以由服务器978用来远程地监控车辆。
在一些示例中,服务器978可以接收来自车辆的数据,并且将该数据应用到最新的实时神经网络以用于实时智能推理。服务器978可以包括由GPU 984供电的深度学习超级计算机和/或专用AI计算机,例如NVIDIA开发的DGX和DGX站机器。然而,在一些示例中,服务器978可以包括仅使用CPU供电的数据中心的深度学习基础设施。
服务器978的深度学习基础设施可能够快速实时推理,并且可以使用该能力来评估并验证车辆900中的处理器、软件和/或关联硬件的健康状况。例如,深度学习基础设施可以接收来自车辆900的定期更新,例如图像序列和/或车辆900已经定位的位于该图像序列中的对象(例如经由计算机视觉和/或其他机器学习对象分类技术)。深度学习基础设施可以运行它自己的神经网络以识别对象并且将它们与车辆900识别的对象相比较,如果结果不匹配并且该基础设施得出车辆900中的AI发生故障的结论,那么服务器978可以向车辆900传输信号,指示车辆900的故障保护计算机进行控制,通知乘客,并且完成安全停车操作。
为了推理,服务器978可以包括GPU 984和一个或更多个可编程推理加速器(例如NVIDIA的TensorRT)。GPU供电的服务器和推理加速的组合可以使得实时响应成为可能。在其他示例中,例如在性能不那么重要的情况下,CPU、FPGA和其他处理器供电的服务器可以用于推理。
示例计算设备
图10为适合用于实现本公开一些实施例的示例计算设备1000的框图。计算设备1000可以包括直接或间接耦合下列设备的互连系统1002:存储器1004,一个或更多个中央处理单元(CPU)1006,一个或更多个图形处理单元(GPU)1008,通信接口1010,输入/输出(I/O)端口1012,输入/输出组件1014,电源1016,一个或更多个呈现组件1018(例如显示器),以及一个或更多个逻辑单元1020。在至少一个实施例中,一个或更多个计算设备1000可以包括一个或更多个虚拟机(VM),和/或其任何组件可以包括虚拟组件(例如,虚拟硬件组件)。对于非限制性示例,GPU 1008中的一个或更多个可以包括一个或更多个vGPU,CPU 1006中的一个或更多个可以包括一个或更多个vCPU,和/或逻辑单元1020中的一个或更多个可以包括一个或更多个虚拟逻辑单元。这样,一个或更多个计算设备1000可以包括分立组件(例如,专用于计算设备1000的全GPU)、虚拟组件(例如,专用于计算设备1000的GPU的一部分)、或其组合。
尽管图10的各个框被示为经由具有线路的互连系统1002连接,但是这并不意图是限制性的,并且仅仅为了清楚起见。例如,在一些实施例中,诸如显示设备之类的呈现组件1018可以被认为是I/O组件1014(例如如果显示器为触摸屏)。作为另一个示例,CPU 1006和/或GPU 1008可以包括存储器(例如,存储器1004可以表示除了GPU 1008、CPU 1006和/或其他组件的存储器以外的存储设备)。换言之,图10的计算设备仅仅是说明性的。在诸如“工作站”、“服务器”、“膝上型电脑”、“台式机”、“平板电脑”、“客户端设备”、“移动设备”、“手持式设备”、“游戏控制台”、“电子控制单元(ECU)”、“虚拟现实系统”和/或其他设备或系统类型之类的类别之间不进行区分,因为所有这些都被考虑在图10的计算设备的范围内。
互连系统1002可以表示一条或更多条链路或总线,例如地址总线、数据总线、控制总线或者其组合。互连系统1002可以包括一种或更多种总线或链路类型,例如行业标准架构(ISA)总线、扩展行业标准架构(EISA)总线、视频电子标准协会(VESA)总线、外围组件互连(PCI)总线、外围组件互连快速(PCIe)总线,和/或另一种类型的总线或链路。在一些实施例中,组件之间存在直接连接。例如,CPU 1006可以直接连接到存储器1004。此外,CPU 1006可以直接连接到GPU 1008。在组件之间存在直接或点对点连接的情况下,互连系统1002可以包括PCIe链路以执行连接。在这些示例中,计算设备1000中不需要包括PCI总线。
存储器1004可以包括各种各样的计算机可读介质中的任何介质。计算机可读介质可以是可以由计算设备1000访问的任何可用介质。计算机可读介质可以包括易失性和非易失性介质以及可移除和不可移除介质。举例而言且非限制性地,计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质可以包括易失性和非易失性介质和/或可移除和不可移除介质,其以用于存储诸如计算机可读指令、数据结构、程序模块和/或其他数据类型之类的信息的任何方法或技术实现。例如,存储器1004可以存储计算机可读指令(例如其表示程序和/或程序元素,例如操作系统)。计算机存储介质可以包括但不限于RAM、ROM、EEPROM、闪存或者其他存储技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或者可以用来存储期望的信息且可以由计算设备1000访问的任何其他介质。当在本文使用时,计算机存储介质并不包括信号本身。
计算机存储介质可以在诸如载波之类的调制数据信号或其他传输机制中包括计算机可读指令、数据结构、程序模块和/或其他数据类型,并且包括任何信息输送介质。术语“调制数据信号”可以指这样的信号,该信号使它的特性中的一个或更多个以这样的将信息编码到该信号中的方式设置或改变。举例而言且非限制性地,计算机存储介质可以包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声音、RF、红外和其他无线介质之类的无线介质。任何以上所述的组合也应当包括在计算机可读介质的范围内。
CPU 1006可以被配置为执行计算机可读指令中的至少一些,以便控制计算设备1000的一个或更多个组件执行本文描述的方法和/或过程中的一个或更多个。CPU 1006中的每一个可以包括能够同时处理大量软件线程的一个或更多个核(例如一个、两个、四个、八个、二十八个、七十二个等等)。CPU 1006可以包括任何类型的处理器,并且可以包括不同类型的处理器,这取决于实现的计算设备1000的类型(例如具有用于移动设备的较少核的处理器以及具有用于服务器的更多核的处理器)。例如,取决于计算设备1000的类型,处理器可以是使用精简指令集计算(RISC)实现的高级RISC机器(ARM)处理器或者使用复杂指令集计算(CISC)实现的x86处理器。除了一个或更多个微处理器或者诸如数学协处理器之类的补充协处理器之外,计算设备1000还可以包括一个或更多个CPU 1006。
除了CPU 1006之外或作为其替代,一个或更多个GPU 1008可以被配置为执行计算机可读指令中的至少一些,以控制计算设备1000的一个或更多个组件执行本文描述的方法和/或过程中的一个或更多个。一个或更多个GPU 1008可以是集成GPU(例如,具有一个或更多个CPU 1006)和/或一个或更多个GPU 1008可以是分立GPU。在实施例中,一个或更多个GPU 1008可以是一个或更多个CPU 1006的协处理器。计算设备1000可以使用GPU 1008来渲染图形(例如,3D图形)或执行通用计算。例如,一个或更多个GPU 1008可用于GPU上的通用计算(GPGPU)。一个或更多个GPU 1008可以包括能够同时处理成百上千个软件线程的成百上千个核心。GPU 1008可以响应于渲染命令(例如,经由主机接口接收到的来自CPU 1006的渲染命令)生成用于输出图像的像素数据。GPU 1008可以包括图形存储器,例如显示存储器,用于存储像素数据或任何其他合适的数据,例如GPGPU数据。显示存储器可以作为存储器1004的一部分被包括。一个或更多个GPU 1008可以包括并行操作的两个或更多个GPU(例如,经由链路)。该链路可以直接连接GPU(例如,使用NVLINK),也可以通过交换机(例如,使用NVSwitch)连接GPU。当组合在一起时,每个GPU1008可以为输出的不同部分或不同的输出(例如,第一GPU用于第一图像,第二GPU用于第二图像)生成像素数据或GPGPU数据。每个GPU可包括自己的内存,也可与其他GPU共享内存。
除了CPU 1006和/或GPU 1008之外或作为替代,逻辑单元1020可以被配置为执行计算机可读指令中的至少一些,以控制计算设备1000的一个或更多个组件以执行本文描述的方法和/或过程中的一个或更多个。在实施例中,CPU 1006、GPU 1008和/或逻辑单元1020可以分立地或联合地执行方法、过程和/或其部分的任何组合。一个或更多个逻辑单元1020可以是CPU 1006和/或GPU 1008中的一个或更多个的一部分和/或集成在其中,和/或一个或更多个逻辑单元1020可以是分立组件或以其他方式在CPU1006和/或GPU 1008之外。在实施例中,一个或更多个逻辑单元1020可以是一个或更多个CPU 1006和/或一个或更多个GPU1008的协处理器。
逻辑单元1020的示例包括一个或更多个处理核心和/或其组件,例如数据处理单元(DPU)、张量核心(TC)、张量处理单元(TPU)、像素视觉核心(PVC)、视觉处理单元(VPU)、图形处理集群(GPC)、纹理处理集群(TPC)、流式多处理器(SM)、树遍历单元(TTU)、人工智能加速器(AIA)、深度学习加速器(DLA)、算术逻辑单元(ALU)、专用集成电路(ASIC)、浮点单元(FPU)、输入/输出(I/O)元件、外围组件互连(PCI)或外围组件互连快速(PCIe)元件等。
通信接口1010可以包括一个或更多个接收器、发送器和/或收发器,其使得计算设备1000能够经由电子通信网络与其他计算设备通信,包括有线和/或无线通信。通信接口1010可以包括使能通过若干不同网络中的任何网络进行通信的组件和功能,所述网络例如无线网络(例如Wi-Fi、Z波、蓝牙、蓝牙LE、ZigBee等等)、有线网络(例如通过以太网或InfiniBand通信)、低功率广域网(例如LoRaWAN、SigFox等等)和/或因特网。在一个或更多个实施例中,逻辑单元1020和/或通信接口1010可以包括一个或更多个数据处理单元(DPU)以将通过网络和/或通过互连系统1002接收的数据直接传输到(例如,存储器)一个或更多个GPU 1008。
I/O端口1012可以使得计算设备1000能够逻辑地耦合到包括I/O组件1014、呈现组件1018和/或其他组件在内的其他设备,其中一些可以内置到(例如集成到)计算设备1000中。说明性I/O组件1014包括麦克风、鼠标、键盘、操纵杆、游戏垫、游戏控制器、碟形卫星天线、扫描仪、打印机、无线设备等等。I/O组件1014可以提供处理用户生成的空中手势、语音或其他生理输入的自然用户接口(NUI)。在一些实例中,输入可以传输至适当的网络元件以便进一步处理。NUI可以实现语音识别、手写笔识别、面部识别、生物特征识别、屏幕上和邻近屏幕的手势识别、空中手势、头部和眼睛跟踪以及与计算设备1000的显示器关联的触摸识别(如下文更详细地描述的)的任意组合。计算设备1000可以包括诸如立体相机系统之类的深度相机、红外相机系统、RGB相机系统、触摸屏技术以及这些的组合,以用于手势检测和识别。此外,计算设备1000可以包括使能运动检测的加速度计或陀螺仪(例如作为惯性测量单元(IMU)的部分)。在一些示例中,加速度计或陀螺仪的输出可以由计算设备1000用来渲染沉浸式增强现实或者虚拟现实。
电源1016可以包括硬接线电源、电池电源或者其组合。电源1016可以向计算设备1000供电以使得计算设备1000的组件能够操作。
呈现组件1018可以包括显示器(例如监视器、触摸屏、电视屏幕、平视显示器(HUD)、其他显示器类型或者其组合)、扬声器和/或其他呈现组件。呈现组件1018可以接收来自其他组件(例如GPU 1008、CPU 1006、DPU等等)的数据,并且输出该数据(例如作为图像、视频、声音等等)。
示例数据中心
图11示出了可在本公开的至少一个实施例中使用的示例数据中心1100。数据中心1100可包括数据中心基础设施层1110、框架层1120、软件层1130和/或应用层1140。
如图11所示,数据中心基础设施层1110可以包括资源协调器1112、分组的计算资源1114和节点计算资源(“节点C.R.”)1116(1)-1116(N),其中“N”表示任何完整的正整数。在至少一个实施例中,节点C.R.1116(1)-1116(N)可包括,但不限于任何数量的中央处理单元(“CPU”)或其他处理器(包括加速器、现场可编程门阵列(FPGA)、图形处理器或图形处理单元(GPU)等),存储器设备(例如,动态只读存储器),存储设备(例如,固态或磁盘驱动器),网络输入/输出(“NW I/O”)装置、网络交换机、虚拟机(“VM”)、功率模块和/或冷却模块,等等。在一些实施例中,来自节点C.R.1116(1)-1116(N)中的一个或更多个节点C.R.可对应于具有上述计算资源中的一个或更多个的服务器。此外,在一些实施例中,节点C.R.1116(1)-11161(N)可包括一个或更多个虚拟组件,诸如vGPU、vCPU等,和/或节点C.R.1116(1)-1116(N)中的一个或更多个可对应于虚拟机(VM)。
在至少一个实施例中,分组的计算资源1114可包括容纳在一个或更多个机架(未示出)内的节点C.R.1116的单独分组,或容纳在不同地理位置(也未示出)处的数据中心内的许多机架。分组的计算资源1114内的节点C.R.1116的单独分组可包括可被配置或分配来支持一个或更多个工作负荷的分组计算、网络、存储器或存储资源。在至少一个实施例中,包括CPU、GPU、DPU和/或其他处理器的若干节点C.R.1116可以分组在一个或更多个机架内以提供计算资源来支持一个或更多个工作负荷。一个或更多个机架还可包括任意组合的任意数量的功率模块、冷却模块和/或网络交换机。
资源协调器1122可配置或以其他方式控制一个或更多个节点C.R.s1116(1)-1116(N)和/或分组的计算资源1114。在至少一个实施例中,资源协调器1122可以包括用于数据中心1100的软件设计基础设施(“SDI”)管理实体。资源协调器1122可以包括硬件、软件或其某种组合。
在至少一个实施例中,如图11所示,框架层1120可以包括作业调度器1133、配置管理器1134、资源管理器1136和/或分布式文件系统1138。框架层1120可以包括支持软件层1130的软件1132和/或应用层1140的一个或更多个应用1142的框架。软件1132或应用1142可分别包含基于网络的服务软件或应用,例如由Amazon(亚马逊)网络服务、Google Cloud(谷歌云)和Microsoft Azure提供的那些。框架层1120可以是但不限于可以利用分布式文件系统1138进行大规模数据处理(例如,“大数据”)的免费和开源的软件网络应用框架(如Apache SparkTM(下文称为“Spark”))的类型。在至少一个实施例中,作业调度器1133可以包括Spark驱动器以促进调度由数据中心1100的不同层支持的工作负荷。配置管理器1134可以能够配置不同层,诸如软件层1130和框架层1120(其包括用于支持大规模数据处理的Spark和分布式文件系统1138)。资源管理器1136可以能够管理被映射到分布式文件系统1138和作业调度器1133或被分配用于支持分布式文件系统1138和作业调度器1133的集群的或分组的计算资源。在至少一个实施例中,集群的或分组的计算资源可包括在数据中心基础设施层1110的分组的计算资源1114。资源管理器1136可与资源协调器1112协调以管理这些被映射或分配的计算资源。
在至少一个实施例中,在软件层1130中包括的软件1132可包括由节点C.R.1116(1)-1116(N)、分组的计算资源1114和/或框架层1120的分布式文件系统1138中的至少部分使用的软件。一种或更多种类型的软件可以包括但不限于互联网网页搜索软件、电子邮件病毒扫描软件、数据库软件和流式视频内容软件。
在至少一个实施例中,在应用层1140中包括的应用1142可包括由节点C.R.1116(1)-1116(N)、分组的计算资源1114和/或框架层1120的分布式文件系统1138中的至少部分使用的一个或更多个类型的应用。一种或更多种类型的应用可以包括但不限于任何数量的基因组应用、认知计算和机器学习应用,包括训练或推断软件、机器学习框架软件(例如,PyTorch、TensorFlow、Caffe等)和/或结合一个或更多个实施例使用的其他机器学习应用。
在至少一个实施例中,配置管理器1134、资源管理器1136和资源协调器1112中的任一个可基于在任何技术上可行的方式中获取的任何量和类型的数据来实现任何数量和类型的自修改动作。自修改动作可使数据中心1100的数据中心操作者免于做出可能较差的配置决策和可能避免数据中心的未充分利用和/或较差执行部分。
根据本文描述的一个或更多个实施例,数据中心1100可包括工具、服务、软件或其他资源来训练一个或更多个机器学习模型或使用一个或更多个机器学习模型来预测或推断信息。例如,可以通过使用以上相对于数据中心1100描述的软件和/或计算资源根据神经网络架构来计算权重参数来训练一个或更多个机器学习模型。在至少一个实施例中,对应于一个或更多个神经网络的经训练或部署的机器学习模型可用于通过使用通过一种或多种训练技术(诸如但不限于本文中描述的那些训练技术)计算的权重参数,使用上文相对于数据中心1100描述的资源来推断或预测信息。
在至少一个实施例中,数据中心1100可使用CPU、专用集成电路(ASIC)、GPU、FPGA和/或其他硬件(或与其对应的虚拟计算资源)来使用上述资源执行训练和/或推断。此外,上文所描述的一或更多个软件和/或硬件资源可被配置为允许用户训练或执行对信息的推断的服务,例如图像识别、语音识别或其他人工智能服务。
示例网络环境
适用于实现本公开的实施例的网络环境可以包括一个或更多个客户端设备、服务器、网络附加存储(NAS)、其他后端设备和/或其他设备类型。客户端设备、服务器和/或其他设备类型(例如,每个设备)可以在图10的计算设备1000的一个或更多个实例上实现——例如,每个设备可以包括计算设备1000的类似组件、特征和/或功能。此外,在实现后端设备(例如,服务器、NAS等)的情况下,后端设备可被包括作为数据中心1100的一部分,数据中心1100的示例在本文中关于图11更详细地描述。
网络环境的组件可以通过网络彼此通信,网络可以是有线的、无线的或两者。网络可以包括多个网络,或者多个网络中的一个网络。例如,网络可以包括一个或更多个广域网(WAN)、一个或更多个局域网(LAN)、一个或更多个公共网络,例如因特网和/或公共交换电话网络(PSTN),和/或一个或更多个专用网络。在网络包括无线电信网络的情况下,诸如基站、通信塔或甚至接入点(以及其他组件)之类的组件可以提供无线连接。
兼容的网络环境可以包括一个或更多个对等网络环境(在这种情况下,服务器可不包括在网络环境中)以及一个或更多个客户端-服务器网络环境(在这种情况下,一个或更多个服务器可包括在网络环境中)。在对等网络环境中,本文描述的关于服务器的功能可以在任意数量的客户端设备上实现。
在至少一个实施例中,网络环境可以包括一个或更多个基于云的网络环境、分布式计算环境、它们的组合等。基于云的网络环境可以包括框架层、作业调度器、资源管理器和在一个或更多个服务器上实现的分布式文件系统,这些服务器可以包括一个或更多个核心网络服务器和/或边缘服务器。框架层可以包括用于支持软件层的软件和/或应用层的一个或更多个应用程序的框架。软件或应用程序可分别包括基于网络的服务软件或应用程序。在实施例中,一个或更多个客户端设备可以使用基于网络的服务软件或应用程序(例如,通过经由一个或更多个应用程序编程接口(API)访问服务软件和/或应用程序)。框架层可以是但不限于一种类型的免费和开源软件网络应用程序框架,例如可以使用分布式文件系统进行大规模数据处理(例如,“大数据”)。
基于云的网络环境可以提供执行本文描述的计算和/或数据存储功能(或其一个或更多个部分)的任何组合的云计算和/或云存储。这些各种功能中的任何一个都可以分布在(例如,可以分布在州、地区、国家、全球等的一个或更多个数据中心的)中央或核心服务器的多个位置上。如果到用户(例如,客户端设备)的连接相对靠近边缘服务器,则核心服务器可以将功能的至少一部分指定给边缘服务器。基于云的网络环境可以是私有的(例如,仅限于单个组织),可以是公共的(例如,对许多组织可用),和/或其组合(例如,混合云环境)。
客户端设备可以包括本文关于图10描述的示例计算设备1000的至少一些组件、特征和功能。作为示例而非限制,客户端设备可以体现为个人计算机(PC)、膝上型计算机、移动设备、智能电话、平板计算机、智能手表、可穿戴计算机、个人数字助理(PDA)、MP3播放器、虚拟现实耳机、全球定位系统(GPS)或设备、视频播放器、摄像机、监控设备或系统、车辆、船只、飞行器、虚拟机、无人机、机器人、手持通信设备、医院设备、游戏设备或系统、娱乐系统、车载计算机系统、嵌入式系统控制器、遥控器、电器、消费电子设备、工作站、边缘设备、描述的这些设备的任何组合,或任何其他合适的设备。
本公开可以在由计算机或者诸如个人数字助理或其他手持式设备之类的其他机器执行的、包括诸如程序模块之类的计算机可执行指令的机器可使用指令或者计算机代码的一般背景下进行描述。通常,包括例程、程序、对象、组件、数据结构等等的程序模块指的是执行特定任务或者实现特定抽象数据类型的代码。本公开可以在各种各样的系统配置中实践,这些配置包括手持式设备、消费电子器件、通用计算机、更专业的计算设备等等。本公开也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。
如在本文中使用的,“和/或”关于两个或更多元素的叙述应当解释为仅指一个元素或者元素组合。例如,“元素A、元素B和/或元素C”可以包括仅仅元素A,仅仅元素B,仅仅元素C,元素A和元素B,元素A和元素C,元素B和元素C,或者元素A、B和C。此外,“元素A或元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。进一步,“元素A和元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。
本文详细地描述了本公开的主题以满足法定要求。然而,描述本身并非意在限制本公开的范围。相反地,本发明人已经设想到,要求保护的主题也可以以其他的方式具体化,以包括与本文中结合其他当前或未来技术描述的步骤不同的步骤或者相似的步骤的组合。而且,尽管术语“步骤”和/或“块”在本文中可以用来隐含采用的方法的不同元素,但是这些术语不应当被解释为暗示本文公开的各个步骤之中或之间的任何特定顺序,除非明确描述了各步骤的顺序。
Claims (22)
1.一种方法,包括:
获得文本数据,所述文本数据表示与机器相关联的第一问题;
至少基于所述文本数据,确定与所述第一问题相关联的一个或更多个第二问题或者与所述第一问题相关联的一个或更多个答案中的至少一个;
使用一个或更多个语言模型并至少基于所述文本数据和表示所述一个或更多个第二问题或所述一个或更多个答案中的至少一个的数据,来确定与所述第一问题相关联的输出;以及
引起所述输出使用所述机器的一个或更多个组件进行通信。
2.根据权利要求1所述的方法,其中所述一个或更多个语言模型包括大型语言模型LLM、生成式语言模型、生成式预训练转换器模型或生成式转换器模型中的至少一种。
3.根据权利要求1所述的方法,还包括:
至少基于所述文本数据来确定与所述第一问题相关联的上下文信息,
其中确定与所述第一问题相关联的所述输出进一步至少基于表示所述上下文信息的数据。
4.根据权利要求3所述的方法,其中确定与所述第一问题相关联的所述上下文信息包括:至少基于所述文本数据来确定与所述机器相对应的知识库的至少一部分与所述第一问题相关联,所述知识库的所述至少一部分与所述上下文信息相关联。
5.根据权利要求4所述的方法,其中所述一个或更多个语言模型包括一个或更多个固定语言模型,以及所述知识库包括实时知识库。
6.根据权利要求1所述的方法,其中确定与所述第一问题相关联的所述一个或更多个第二问题或者与所述第一问题相关联的所述一个或更多个答案中的至少一个包括:
至少基于所述文本数据来确定与所述第一问题有关的一个或更多个问答对,所述一个或更多个问答对中的至少一个个体问答对包括:
来自所述一个或更多个第二问题中的第二问题和来自所述一个或更多个答案中的对应答案。
7.根据权利要求1所述的方法,其中确定与所述第一问题相关联的所述一个或更多个第二问题或者与所述第一问题相关联所述一个或更多个答案中的至少一个包括:
至少基于所述文本数据生成第一嵌入,所述第一嵌入与所述第一问题相关联;
相对于一个或更多个第二嵌入来分析所述第一嵌入,所述一个或更多个第二嵌入与所述一个或更多个第二问题或所述一个或更多个答案中的至少一个相关联;
至少基于所述分析来确定所述一个或更多个第二嵌入中的至少一个第二嵌入类似于所述第一嵌入;以及
确定所述第二嵌入与所述一个或更多个第二问题中的第二问题或所述一个或更多个答案中的答案中的至少一个相关联。
8.根据权利要求1所述的方法,还包括:
至少基于所述文本数据和表示所述一个或更多个第二问题或所述一个或更多个答案中的至少一个的数据,来生成表示提示的提示数据,
其中确定与所述第一问题相关联的所述输出是至少基于使用所述一个或更多个语言模型处理的所述提示数据。
9.根据权利要求6所述的方法,其中:
所述提示的第一部分包括所述一个或更多个第二问题或所述一个或更多个答案中的至少一个;以及
所述提示的第二部分包括所述第一问题,所述第二部分在所述提示中的所述第一部分之后。
10.根据权利要求1所述的方法,还包括:
在确定所述输出之前,使用所述一个或更多个语言模型并至少基于表示与所述机器相关联的第三问题的第二文本数据来确定与所述第三问题相关联的第二输出,
其中确定与所述第一问题相关联的所述输出进一步至少基于处理所述第二输出的所述一个或更多个语言模型。
11.根据权利要求1所述的方法,其中:
所述第一问题与所述机器的组件、所述机器的特征或与所述机器相关联的维护中的至少一个相关联;以及
所述输出表示与所述机器的所述组件、所述机器的所述特征或与所述机器相关联的所述维护中的至少一个相关联的信息。
12.一种系统,包括:
一个或更多个处理单元,用于:
生成表示与机器相关联的问题的文本数据;
至少基于所述文本数据并使用与所述机器相对应的知识库来确定与所述问题相关联的上下文信息;
使用一个或更多个语言模型并至少基于所述文本数据和表示所述上下文信息的数据,来确定与所述问题相关联的输出;以及
引起所述输出使用所述机器的一个或更多个组件进行通信。
13.根据权利要求12所述的系统,其中与所述机器相对应的所述知识库包括以下中的一项或更多项:
来自与所述机器相关联的操作员手册的信息;或者
来自与一台或更多台其他机器相关联的一本或更多本操作员手册的信息。
14.根据权利要求12所述的系统,其中所述一个或更多个处理单元进一步用于:
至少基于所述文本数据来确定与所述问题相关联的一个或更多个问题以及与所述一个或更多个问题相关联的一个或更多个答案,
其中确定与所述问题相关联的所述输出进一步至少基于表示所述一个或更多个问题和所述一个或更多个答案的数据。
15.根据权利要求12所述的系统,其中确定与所述问题相关联的所述上下文信息至少通过以下方式:
至少基于所述文本数据来生成与所述问题相关联的第一嵌入;
相对于一个或更多个第二嵌入来分析所述第一嵌入,所述一个或更多个第二嵌入与所述知识库的一个或更多个部分相关联;
至少基于所述分析来确定所述一个或更多个第二嵌入中的至少第二嵌入类似于所述第一嵌入;以及
确定所述第二嵌入与所述知识库的一部分相关联,所述知识库的所述部分与所述上下文信息相对应。
16.根据权利要求12所述的系统,其中所述一个或更多个处理单元进一步用于:
至少基于所述文本数据和表示所述上下文信息的所述数据来生成表示提示的提示数据,
其中与所述问题相关联的所述输出至少基于所述提示数据来确定。
17.根据权利要求16所述的系统,其中:
所述提示的第一部分包括所述上下文信息;以及
所述提示的第二部分包括所述问题,所述第二部分在所述提示中的所述第一部分之后。
18.根据权利要求12所述的系统,其中所述一个或更多个处理单元进一步用于:
在确定所述输出之前,使用所述一个或更多个语言模型并至少基于表示与所述机器相关联的第二问题的第二文本数据来确定第二输出,所述第二输出与第二问题相关联,
其中至少基于所述第二输出来进一步确定与所述问题相关联的所述输出。
19.根据权利要求12所述的系统,其中:
所述问题与所述机器的组件、所述机器的特征或与所述机器相关联的维护中的至少一个相关联;以及
所述输出表示答案,所述答案包括与所述机器的所述组件、所述机器的所述特征或与所述机器相关联的所述维护中的至少一个相关联的信息。
20.根据权利要求12所述的系统,其中所述系统被包括在以下项的至少一项中:
用于自主或半自主机器的控制系统;
用于自主或半自主机器的感知系统;
用于执行模拟操作的系统;
用于执行数字孪生操作的系统;
用于执行实时流式传输的系统;
用于生成或呈现虚拟现实VR内容的系统;
用于生成或呈现增强现实AR内容的系统;
用于生成或呈现混合现实MR内容的系统;
用于执行光传输模拟的系统;
用于执行3D资产的协作内容创建的系统;
用于执行深度学习操作的系统;
使用边缘设备实现的系统;
使用机器人实现的系统;
用于执行会话式AI操作的系统;
用于生成合成数据的系统;
合并一个或更多个虚拟机VM的系统;
至少部分地在数据中心中实现的系统;或
至少部分地使用云计算资源实现的系统。
21.一种处理器,包括:
一个或更多个处理单元,用于使用机器的一个或更多个组件来传送问题的答案,所述答案至少基于一个或更多个语言模型来确定,所述语言模型处理表示与机器相关联的问题的文本数据、表示与所述机器相关联的问答对的数据、以及表示上下文信息的数据,所述上下文信息使用与所述机器相关联的知识库确定。
22.根据权利要求19所述的处理器,其中所述处理器被包括在以下项的至少一项中:
用于自主或半自主机器的控制系统;
用于自主或半自主机器的感知系统;
用于执行模拟操作的系统;
用于执行数字孪生操作的系统;
用于执行实时流式传输的系统;
用于生成或呈现虚拟现实VR内容的系统;
用于生成或呈现增强现实AR内容的系统;
用于生成或呈现混合现实MR内容的系统;
用于执行光传输模拟的系统;
用于执行3D资产的协作内容创建的系统;
用于执行深度学习操作的系统;
使用边缘设备实现的系统;
使用机器人实现的系统;
用于执行会话式AI操作的系统;
用于生成合成数据的系统;
合并一个或更多个虚拟机VM的系统;
至少部分地在数据中心中实现的系统;或至少部分地使用云计算资源实现的系统。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/947,491 | 2022-09-19 | ||
US17/947,491 US20240095460A1 (en) | 2022-09-19 | 2022-09-19 | Dialogue systems using knowledge bases and language models for automotive systems and applications |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117725150A true CN117725150A (zh) | 2024-03-19 |
Family
ID=90062129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211614523.6A Pending CN117725150A (zh) | 2022-09-19 | 2022-12-13 | 使用用于汽车系统和应用的知识库和语言模型的对话系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240095460A1 (zh) |
JP (1) | JP2024043564A (zh) |
CN (1) | CN117725150A (zh) |
DE (1) | DE102023124878A1 (zh) |
-
2022
- 2022-09-19 US US17/947,491 patent/US20240095460A1/en active Pending
- 2022-10-13 JP JP2022164504A patent/JP2024043564A/ja active Pending
- 2022-12-13 CN CN202211614523.6A patent/CN117725150A/zh active Pending
-
2023
- 2023-09-14 DE DE102023124878.2A patent/DE102023124878A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2024043564A (ja) | 2024-04-01 |
DE102023124878A1 (de) | 2024-03-21 |
US20240095460A1 (en) | 2024-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11841458B2 (en) | Domain restriction of neural networks through synthetic data pre-training | |
JP7399164B2 (ja) | 駐車スペース検出に適したスキューされたポリゴンを使用した物体検出 | |
CN113767389B (zh) | 从用于自主机器应用的经变换的真实世界传感器数据模拟逼真的测试数据 | |
US20230244941A1 (en) | Neural network based determination of gaze direction using spatial models | |
CN112989914B (zh) | 具有自适应加权输入的注视确定机器学习系统 | |
CN114155272A (zh) | 自主机器应用中的自适应目标跟踪算法 | |
CN114550736A (zh) | 用于自主驾驶应用的应急响应车辆检测 | |
CN115718302A (zh) | 使用LiDAR数据进行的用于自主机器应用的对象跟踪 | |
US20230110713A1 (en) | Training configuration-agnostic machine learning models using synthetic data for autonomous machine applications | |
US11693470B2 (en) | Voltage monitoring over multiple frequency ranges for autonomous machine applications | |
US20230341235A1 (en) | Automatic graphical content recognition for vehicle applications | |
CN117058730A (zh) | 用于机器学习模型的数据集生成和增强 | |
US20240017743A1 (en) | Task-relevant failure detection for trajectory prediction in machines | |
CN116767245A (zh) | 使用自主系统和应用的神经网络的地图信息对象数据管理 | |
US20220340149A1 (en) | End-to-end evaluation of perception systems for autonomous systems and applications | |
US20240182082A1 (en) | Policy planning using behavior models for autonomous systems and applications | |
CN118119981A (zh) | 用于自主系统和应用的使用机器学习的自由空间检测 | |
CN118251705A (zh) | 用于自主系统和应用中的使用多个传感器的环绕场景感知 | |
US20240227824A9 (en) | Asynchronous in-system testing for autonomous systems and applications | |
CN117581117A (zh) | 自主机器系统和应用中使用LiDAR数据的动态对象检测 | |
CN116500619A (zh) | 用于汽车雷达感知的雷达信号采样 | |
CN116772874A (zh) | 用于自主系统和应用的使用占用网格进行危险检测 | |
CN116106905A (zh) | 基于雷达的变道安全系统 | |
CN117396926A (zh) | 用于自主机器系统和应用的基于感知的标志检测和解释 | |
CN114841336A (zh) | 修补用于自主机器应用的部署的深度神经网络 |
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 |