买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】自动化平台的情节存储器的系统、方法和计算机可读介质_赫尔实验室有限公司_201880005087.8 

申请/专利权人:赫尔实验室有限公司

申请日:2018-01-25

公开(公告)日:2023-08-18

公开(公告)号:CN110088778B

主分类号:G06N5/022

分类号:G06N5/022;G06N20/00

优先权:["20170126 US 62/450,751"]

专利状态码:有效-授权

法律状态:2023.08.18#授权;2019.08.27#实质审查的生效;2019.08.02#公开

摘要:描述了自动化平台的情节存储器的系统、方法和计算机可读介质。所述系统从包括事件数据库、事件序列图以及情节列表的情节存储器中获取数据。利用所述事件序列图,所述系统识别相距所述自动化平台的当前环境的最接近节点。基于所述最接近节点并利用散列函数或者基于散列函数的关键字,所述系统从所述事件数据库中检索与所述最接近节点相对应的情节,所述情节包括事件序列。基于来自所述情节存储器的所述数据,引导所述自动化平台在当前环境中的行为。

主权项:1.一种自动化平台的情节存储器的系统,所述系统包括:一个或更多个处理器以及编码有可执行指令的非暂时性计算机可读介质,使得当执行所述可执行指令时,所述一个或更多个处理器执行以下操作:从包括事件数据库、事件序列图以及情节列表的情节存储器中获取数据,其中,所述获取包括:利用所述事件序列图,识别相距所述自动化平台的当前环境的最接近节点;基于所述最接近节点并利用散列函数或者基于所述散列函数的关键字,从所述事件数据库中检索与所述最接近节点相对应的情节,所述情节包括事件序列,其中,所述散列函数直接将散列键映射至对应事件,以减少发现匹配事件所需的比较次数;以及基于来自所述情节存储器的所述数据,引导所述自动化平台在当前环境中的行为。

全文数据:自动化系统的认知处理中的可扩展且高效的情节存储器相关申请的交叉引用这是2017年1月26日在美国提交的、题为“ScalableandEfficientEpisodicMemoryinCognitiveProcessingforAutonomousSystems”的美国临时申请No.62450,751的非临时专利申请,该临时申请的全部内容通过引用并入于此。发明背景1技术领域本发明涉及用于自动化系统的可扩展且高效的情节存储器episodicmemory系统,更具体地,涉及减少了所需的存储量和检索匹配情节的访问时间的、用于自动化系统的可扩展且高效的情节存储器系统。2相关技术的说明基于内容的检索系统被设计成基于作为检索提示的内容来存储和调用信息参见并入参考文献列表中的参考文献No.9。然而,先前基于内容的检索系统主要专注于诸如音频和视频的多媒体内容。在基于查询的检索中,将样本直接提供给系统作为要用于检索的提示,并且将不同的匹配算法应用于内容。基于内容的检索系统中的现有技术使用从提示和数据库中的信息导出的特征来执行匹配,正如在图像、视频以及音频搜索领域所见。情节记忆已经被作为许多认知架构中的组成部分进行了研究参见参考文献No.1至No.8。其中,Soar是一种完善的架构,其包括工作记忆模型、过程记忆模型以及情节记忆模型。Soar将工作记忆元素WME存储到工作记忆中的树结构中,并将事件序列作为指向每个情节中的对应WME的指针列表存储。为了利用给定提示来检索匹配情节,Soar在工作记忆树中搜索该提示中的每个元素,收集至少具有提示中的一个元素的所有情节,并且找到最佳匹配情节。搜索树中的元素花费时间On,其中,n是树中元素的数量。在使用平衡二叉树时,它减少到时间Ologn,但Soar不使用平衡二叉树,树搜索效率不高。每个情节保持其自己的元素列表。为了找到最佳匹配情节,即使候选列表中有许多相似情节,也将该提示与每个候选情节进行比较。当有许多相似情节时,Soar没有任何优势。因此,一直需要这样一种系统:其针对可扩展且高效的情节存储器,减少了存储情节所需的存储量和利用请求提示来检索匹配情节的访问时间。发明内容本发明涉及一种用于自动化系统的可扩展且高效的情节存储器系统,更具体地,涉及减少了所需的存储量和检索匹配情节的访问时间的、用于自动化系统的可扩展且高效的情节存储器系统。所述系统包括一个或更多个处理器以及编码有可执行指令的非暂时性计算机可读介质,当执行可执行指令时,所述一个或更多个处理器执行多个操作。所述系统从包括事件数据库、事件序列图,以及情节列表的情节存储器中获取数据。利用所述事件序列图,所述系统识别相距所述自动化平台的当前环境的最接近节点。基于所述最接近节点并利用散列函数或者基于散列函数的关键字,所述系统从所述事件数据库中检索与所述最接近节点相对应的情节,所述情节包括事件序列。基于来自所述情节存储器的所述数据,引导所述自动化平台在当前环境中的行为。在另一方面,当存储在所述情节存储器中的新情节与所述情节存储器中的现有情节足够相似时,丢弃所述新情节以节省存储,相似度是根据相似度评级和相似度评级阈值来确定的。在另一方面,当情节具有公共事件时,这些情节共享所述事件序列图中的节点。在另一方面,所存储的情节中的每个事件在所述事件序列图中具有对应节点,并且每个节点具有指向所述事件数据库中的对应事件的指针。在另一方面,所述事件数据库中的所述对应事件可从所述事件序列图中的每个节点直接访问,并且根据所述事件数据库中的事件,确定所述事件序列图中的哪些节点共享该事件。在另一方面,被检索的数据包括与当前环境中的当前观察到的时空对象序列相匹配的观察结果。在另一方面,针对进入所述情节存储器的新情节中的每个事件,如果所述事件数据库中存在与所述新情节中的事件相同或相似的现有事件,则使用所述现有事件,否则,将所述新情节中的事件存储在所述事件数据库中,在另一方面,所述散列函数用于在所述事件数据库中存储情节。在另一方面,所述散列函数直接将散列键映射至所述对应事件,以减少发现所述匹配事件所需的比较次数。在另一方面,所述自动化平台的所述行为被引导成与所检索的情节中的所述事件序列相对应。在另一方面,所述自动化平台的所述行为被引导以避免所检索的情节中的所述事件序列。在另一方面,引导所述自动化平台包括转向、加速以及制动中的至少一种。在另一方面,获取数据还包括根据与所述最接近节点相对应的所述情节来生成事件列表,并且所述数据包括所述事件列表。最后,本发明还包括一种计算机程序产品和计算机实现方法。所述计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可读指令,该计算机可读指令可通过具有一个或更多个处理器的计算机执行,使得在执行所述指令时,所述一个或更多个处理器执行本文列出的操作。另选地,所述计算机实现方法包括使计算机执行这种指令并且执行所得操作的动作。附图说明根据下面结合参照附图对本发明各个方面的详细描述,本发明的目的、特征以及优点将变清楚,其中:图1是示出根据本公开一些实施方式的、用于可扩展且高效的情节存储器的系统的组件的框图;图2是根据本公开一些实施方式的计算机程序产品的例示图;图3是根据本公开一些实施方式的情节存储器调用的例示图;以及图4是例示根据本公开一些实施方式的从情节存储器中检索内容的处理的流程图。具体实施方式本发明涉及一种用于自动化系统的可扩展且高效的情节存储器系统,更具体地,涉及这样一种用于自动化系统的可扩展且高效的情节存储器系统:其减少了所需的存储量和检索匹配情节的访问时间。呈现以下描述以使本领域普通技术人员能够制造和使用本发明并将其并入特定应用的背景中。对于本领域技术人员来说显然可以有各种改动以及不同应用方面的多种用途,并且本文限定的一般原理可以被应用于广泛的方面。因此,本发明不旨在限于所呈现的方面,而是涵盖与本文所公开原理和新颖特征相一致的最广范围。在下面的详细描述中,阐述了许多具体细节,以便提供对本发明的更透彻理解。然而,本领域技术人员应当明白,本发明可以在不必受限于这些具体细节的情况下来实践。在其它情况下,公知结构和装置按框图形式而不是按细节示出,以免妨碍对本发明的理解。也请读者留意与本说明书同时提交的所有文件和文档,这些文件和文档与本说明书一起开放以供公众查阅,所有这些文件和文档的内容通过引用并入于此。本说明书中公开的所有特征包括任何所附权利要求、摘要以及附图可以由用于相同、等同或相似目的的另选特征来代替,除非另有明确说明。因此,除非另有明确说明,所公开的每个特征仅仅是一系列的等同或相似特征中的一个例子。而且,权利要求中没有明确陈述“用于执行指定功能的装置”或“用于执行特定功能的步骤”的任何部件不应被解释为如在35U.S.C.Section112,Paragraph6中指定的“装置”或“步骤”条款。特别地,在本文的权利要求中使用“……的步骤”或“……的动作”不应触发35U.S.C.112,Paragraph6的规定。在详细描述本发明之前,首先提供了引用参考文献的列表。接下来,提供了对本发明各个主要方面的描述。最后,提供本发明各个实施方式的具体细节,以使得能够理解具体方面。1引入的参考文献列表贯穿本申请引用且并入以下参考文献。为了清楚和方便起见,这些参考文献在此被列为读者的中心资源。下列参考文献通过引用并入于此,就像在此完全陈述的一样。这些参考文献通过参照如下对应文献参考号而在本申请中加以引用:1.Anderson,J.R.,Bothell,D.,Byrne,M.D.,Douglass,S.,Lebiere,C.,&Qin,Y.Anintegratedtheoryofthemind.PsychologicalReview,1114,1036–1060,2004。2.Nuxoll,A.M.,Laird,J.E.AAAI'07Proceedingsofthe22ndnationalconferenceonartificialintelligence–Volume2,1560-1565,2007。3.Laird,J.E.,Newell,A.,&Rosenbloom,P.S.SOAR:Anarchitectureforgeneralintelligence.ArtificialIntelligence,331,1–64,1987。4.Langley,P.,&Cummings,K.2004.Hierarchicalskillsandcognitivearchitectures.IninProc.26thAnnualMeetingoftheCognitiveScienceSociety,779–784,2004。5.Nuxoll,A.&Laird,J.Acognitivemodelofepisodicmemoryintegratedwithageneralcognitivearchitecture.InternationalConferenceonCognitiveModeling,2004。6.Nuxoll,A.,Laird,J.,James,M.ComprehensiveworkingmemoryactivationinSoar.InternationalConferenceonCognitiveModeling,2004。7.Tulving,E.ElementsofEpisodicMemory.Oxford:ClarendonPress,Chapter7,1983。8.Winkler,J.,Tenorth,M.,Bozcuoglu,A.K.,&Beetz,M.CRAMm--Memoriesforrobotsperformingeverydaymanipulationactivities.AdvancesinCognitiveSystems,3,2014。9.Lew,M.S.,Sebe,N.,Djerba,C.,&Jain,R.Content-basedmultimediainformationretrieval:stateoftheartandchallenges.ACMTransactionsonMultimediaComputing,Communications,andApplicationsTOMM,21:1-19,2006。2主要方面本发明的各种实施方式包括三个“主要”方面。第一个方面是用于可扩展且高效的情节存储器的系统。该系统通常采用计算机系统操作软件的形式或采用“硬编码”指令集的形式。该系统可以并入提供不同功能的各种各样的装置中。第二个主要方面是利用数据处理系统计算机进行操作的通常采用软件形式的方法。第三个主要方面是计算机程序产品。该计算机程序产品通常表示存储在诸如光学存储装置例如,光盘CD或数字通用盘DVD或磁存储装置例如软盘或磁带的非暂时性计算机可读介质上的计算机可读指令。计算机可读介质的其它非限制例包括:硬盘、只读存储器ROM,以及闪存。这些方面将在下面进行更详细描述。图1中提供了示出本发明的系统即,计算机系统100的示例的框图。计算机系统100被配置成执行与程序或算法相关联的计算、处理、操作和或功能。在一个方面中,本文讨论的某些处理和步骤被实现为存在于计算机可读存储器单元内并由计算机系统100的一个或更多个处理器执行的一系列指令例如,软件程序。在执行时,这些指令使计算机系统100执行特定动作并展现特定行为,如本文所描述的。计算机系统100可以包括被配置成传送信息的地址数据总线102。另外,一个或更多个数据处理单元如处理器104或多个处理器与地址数据总线102联接。处理器104被配置成处理信息和指令。在一方面,处理器104是微处理器。另选地,处理器104可以是不同类型的处理器,例如并行处理器、专用集成电路ASIC、可编程逻辑阵列PLA、复杂可编程逻辑器件CPLD或现场可编程门阵列FPGA。计算机系统100被配置成利用一个或更多个数据存储单元。计算机系统100可以包括与地址数据总线102联接的易失性存储器单元106例如,随机存取存储器“RAM”、静态RAM、动态RAM等,其中,易失性存储器单元106被配置成存储用于处理器104的信息和指令。计算机系统100还可以包括与地址数据总线102联接的非易失性存储器单元108例如,只读存储器“ROM”、可编程ROM“PROM”、可擦除可编程ROM“EPROM”、电可擦除可编程ROM“EEPROM”、闪存等,其中,非易失性存储器单元108被配置成存储用于处理器104的静态信息和指令。另选地,计算机系统100可以执行从诸如“云”计算中的在线数据存储单元取得的指令。在一方面,计算机系统100还可以包括与地址数据总线102联接的一个或更多个接口,例如接口110。所述一个或更多个接口被配置成使得计算机系统100能够与其它电子装置和计算机系统连接。由所述一个或更多个接口实现的通信接口可以包括有线例如,串行电缆、调制解调器、网络适配器等和或无线例如,无线调制解调器、无线网络适配器等通信技术。在一个方面,计算机系统100可以包括与地址数据总线102联接的输入装置112,其中,输入装置112被配置成将信息和命令选择传送至处理器100。根据一个方面,输入装置112是字母数字输入装置如键盘,其可以包括字母数字键和或功能键。另选地,输入装置112可以是除字母数字输入装置之外的其它输入装置。在一方面,计算机系统100可以包括与地址数据总线102联接的光标控制装置114,其中,光标控制装置114被配置成将用户输入信息和或命令选择传送至处理器100。在一方面,光标控制装置114利用诸如鼠标、轨迹球、轨迹板、光学跟踪装置或触摸屏的装置来实现。尽管如此,但在一方面,例如响应于使用与输入装置112相关联的特殊键和键序列命令,光标控制装置114经由来自输入装置112的输入而被引导和或激活。在另一方面,光标控制装置114被配置成通过话音命令指引或引导。在一方面,计算机系统100还可以包括与地址数据总线102联接的一个或更多个可选计算机可用数据存储装置,例如存储装置116。存储装置116被配置成存储信息和或计算机可执行指令。在一个方面,存储装置116是诸如磁或光盘驱动器例如,硬盘驱动器“HDD”、软盘、光盘只读存储器“CD-ROM”、数字通用盘“DVD”的存储装置。依据一个方面,显示装置118与地址数据总线102联接,其中,显示装置118被配置成显示视频和或图形。在一方面,显示装置118可以包括:阴极射线管“CRT”、液晶显示器“LCD”、场发射显示器“FED”、等离子体显示器,或者适于显示视频和或图形图像以及用户可识别的字母数字字符的任何其它显示装置。本文所呈现的计算机系统100是根据一个方面的示例计算环境。然而,计算机系统100的非限制示例并不严格限于作为计算机系统。例如,一个方面规定了计算机系统100代表可以根据本文所述各个方面使用的一类数据处理分析。此外,还可以实现其它计算系统。实际上,本技术的精神和范围不限于任何单一数据处理环境。因此,在一方面,使用通过计算机执行的计算机可执行指令例如程序模块来控制或实现本技术的各个方面的一个或更多个操作。在一个实现方式中,这样的程序模块包括被配置成执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件和或数据结构。另外,一个方面提供了通过利用一个或更多个分布式计算环境来实现本技术的一个或更多个方面,例如,在该计算环境中,任务由通过通信网络链接的远程处理装置执行,或者例如,在该计算环境中,各种程序模块位于包括存储器-存储装置的本地和远程计算机存储介质中。图2中示出了具体实施本发明的计算机程序产品即,存储装置的例示图。该计算机程序产品被示出为软盘200或诸如CD或DVD的光盘202。然而,如先前提到的,该计算机程序产品通常代表存储在任何兼容的非暂时性计算机可读介质上的计算机可读指令。如关于本发明所使用的术语“指令”通常指示要在计算机上执行的一组操作,并且可以表示整个程序的片段或单个、可分离的软件模块。“指令”的非限制性示例包括计算机程序代码源或目标代码和“硬编码”电子装置即,编码到计算机芯片中的计算机操作。“指令”被存储在任何非暂时性计算机可读介质上,例如存储在计算机的存储器中或软盘、CD-ROM以及闪存驱动器上。无论如何,这些指令被编码在非暂时性计算机可读介质上。3各个实施方式的具体细节描述了在情节存储器中存储和检索情节的可扩展情节存储器架构和高效访问方法。情节是描述应用领域中的情形的事件序列。每个事件的实际内容也取决于需要处理的内容和应用领域。例如,在自动化驾驶领域中,每个事件可以是在特定时刻围绕自动驾驶车辆的感知对象的排布。对象可能包括车辆、摩托车、行人、路标、交通灯以及交通岛。而且,在情报、监视和侦察ISR领域,事件可能包括来自多个源的信息,如对象、人员、活动、信号情报的地理空间位置和时间。本文所述系统为可扩展且高效的情节存储器减少了存储情节所需的存储量以及利用请求提示来检索匹配情节的访问时间,从而大大改善了计算机系统本身。为了实现这一点,本发明可包括多个独特组件中的一个或更多个。首先,可以在情节存储器中维护集合事件数据库。所存储的情节的所有事件都与其情节分开并放入该公共事件数据库中。每个情节保持指向其在数据库中的事件的指针列表。当多个情节在它们的事件序列中有共同事件时,仅将一个事件存储在数据库中,并且该事件由这些情节共享,而不是保持它们自己的事件实例。另外,如果事件在情节中多次出现,那么仅将一个事件存储在数据库中,并且该情节保持指向该事件的多个指针,而不是保持同一事件的多个实例。第二,可以采用散列函数来访问情节存储器中的事件数据库。一组散列键和散列函数将数据库中请求的事件的搜索时间减少到O1以存储或检索该事件。第三,情节的事件序列可以存储在公共图形结构中。在一些实施方式中,图形是相当于一组对象的结构,其中一些对象对在某种意义上是“相关的”。这些对象与称为节点也称为顶点或点的数学抽象相对应,并且每个相关节点对被称为边也称为弧或线。通常情况下,可以按图解形式将图形描绘为由边的线或曲线连接的、一组顶点的点dot。图形是离散数学研究的对象之一。当新情节被添加到情节存储器中时,检索最接近的存储情节。如果它们足够接近例如,相似度量度measure或评级小于或大于量度或评级阈值,则使用这样一种机制:该新情节共享现有情节的路径中的相同节点,并且只要该新情节的子序列即,序列的小部分或片段与现有情节的子序列不匹配,就向该路径添加另选路线。图形结构中的这种节点共享机制减少了所需的存储,也易于匹配处理,这是因为与共享的节点进行比较具有和与共享这些节点的多个情节进行比较相同的效果。这三个组件使可扩展且高效的情节存储器成为可能。根据本公开实施方式的系统提供了存储和调用与自动化系统相关的时空信息序列以指导自动化系统的行为的能力。代替直接寻址存储器,执行调用的提示是与所存储的相同领域的信息内容。如本领域技术人员可以理解的,本文所述处理显著提高了计算机系统本身的性能,结果,改进了依赖于此的关联系统。进一步的细节提供如下。3.1方案智能认知系统中的海马状情节记忆需要能够快速且高效地存储和调用时空数据序列。除了基本的存储和调用以外,情节存储器系统还需要能够进行部分匹配。由于时空数据流的潜在复杂性,不同的情节不太可能完全匹配。从而,需要进行返回距离或相似度量度的近似匹配,以便可以根据匹配程度或适用性对各种情节进行排序。另外,由于该系统将用于生成期望值,因此它还需要执行部分前缀匹配,其中情节后缀将表示期望值。最后,因为想要存储尽可能多的情节,所以某种形式的压缩或公共子序列识别对于减少或消除可能出现在不同的情节中的、公共子序列的重复存储是必要的。本文所述系统被设计为领域不可知的。这种时空序列数据的一些可能实例是由自动化车辆感测到的数据、以及由UAV无人驾驶飞行器或某些地理空间分析系统感测到的ISR情报、监视、侦察数据。3.2数据结构情节存储器系统具有四层或级数据结构。这些层被称为元素element层、事件层、情节层以及情节记忆层。3.2.1元素最低级是元素。元素是描述特定时刻的环境或情形的、不可分的事物或事实,并且它们根据应用领域而有所不同。在自动化驾驶领域中,元素可能是影响驾驶的事物,例如车辆、自行车、人、障碍物、交通标志、交通信号灯、交通警察、车道标记以及道路结构。元素可以具有关于自身在特定时刻的描述属性和值。静止元素可以具有静态描述,例如限速标志和车道标记,动态元素可以具有时间上变化的描述,例如移动对象和交通信号灯。针对元素层的主要方法是两个元素的比较。该比较返回两个元素之间的距离或相似度——两个元素彼此之间有多远或相似的量度。当元素属于不同类型时,它们是不同的,例如车辆与人、自行车与交通标志,等等。该比较应当针对不同元素类型应用不同的恰当量度。如果元素具有多个抽象级别,那么该比较也可以在必要时考虑细节级别。例如,“车辆”可以是拖车、卡车、公共汽车、轿车、货车或摩托车的顶级抽象。“人”可以在详细级别中分为成人和儿童。3.2.2事件事件是描述特定时刻的情形的元素的集合。事件也可以具有关于元素的空间排布的信息。自动化驾驶领域中的事件将包括自动化系统在特定时刻感测到的元素的空间排布的表示。利用以自我为中心的视角来描述元素。然而,在需要多向观察的地方例如交叉路口也使用以地球为中心的视角。针对事件层的主要方法也是两个事件的比较。该比较返回距离或相似度——两个事件彼此之间有多远或相似的量度。该比较收集事件成分的逐元素比较结果并对其进行分析。如果事件具有多个抽象级别,那么该比较也可以考虑细节级别。当在该实施方式中比较事件A和事件B时,简单的集合度量metric是:相似度度量=|A∩B||A∪B|距离度量=max{|A|,|B|}-|A∩B|,其中A∩B是A与B的交集相同或相似的元素,A∪B是A与B的并集所有不同元素,|A|是A中的元素数量。如果每种元素类型的重要性不同,则加权度量将是优选的。其它实施方式可以包括度量的、针对特定元素类型的加权函数,以及其它度量。3.2.3情节情节是按时间排序链接在一起的事件序列。关于情节的困难之一是决定它们在哪里开始和在哪里结束。取决于应用领域,可能会应用不同的标准或方法。在自动化驾驶领域中,从起始位置到目的地的整个驾驶序列可以被视为一个情节。另一种方法是使用由导航系统生成的转弯列表turnlist中的每个项目作为情节,并且整个行程是短期情节的集合。与事件一样,针对情节的主要方法是两个情节的比较。情节是按时间排序的事件序列。如果该比较是检查两个情节是否相同,那么很简单;检查事件序列中事件的数量是否相同,并且检查对应的事件是否相同。如果该比较是测量两个情节之间的距离或相似度,那么这两个情节中的事件序列应当彼此正确对齐,并且应当首先确定事件之间的对应关系。然后,收集对应事件对之间的距离并将其汇总成最终结果。如果情节中有任何非对应缺失或额外事件,那么可以将处罚penalty应用于非对应事件。这是利用部分提示来调用匹配情节的核心。本文所述系统采用生物信息学序列比对算法的时空泛化generalizations。3.2.4情节记忆层情节记忆表示“被记住的”情节的完整知识集。情节记忆应当具有以下功能:存储情节、删除过时情节、调用现有情节以及完成对现有情节的部分提示。从存储器存储角度和从算法角度两者来看,仅仅列出所有情节将是低效的。也应当鉴于存储器大小和存储器搜索有效地存储情节。情节存储器分开保持事件和情节。情节存储器还创建了事件序列图,以捕获所存储的情节之间的相似度。3.3架构如图3中示出的,情节存储器由三个主要部分组成:事件数据库300、事件序列图302以及情节列表304。3.3.1事件数据库要素300收集情节存储器中的情节308的所有事件例如,306并利用散列函数将其存储在事件数据库300中。散列函数应当使用事件结构中的关键元素,并且应当尽可能均匀地将事件306分布在事件数据库300中的储存桶bucket中以供高效的事件搜索。良好的散列函数和散列键也取决于事件306的内容和应用领域。随着新情节308进入情节存储器,针对该情节中的每个事件306,搜索事件数据库300以检查相同或相似事件306是否已经在那里。如果在事件数据库300中找到了相同或相似事件306,则将使用现有事件306;否则,将新事件306存储在事件数据库300中。代替存储所有事件,重用现有事件306可以节省存储器空间并加快搜索过程。这也将有助于情节存储器的可扩展性。相同或相似事件的标准取决于应用领域和事件结构中的抽象级别。3.3.2事件序列图要素302事件序列图302是有向图,其节点例如,310表示所存储的情节中的事件。事件序列图302中的每个路径由箭头连接的一系列节点所表示可以示出一些存储的情节的事件序列。多个情节308可能彼此相似;例如,当多个情节的大部分事件序列相同而少量事件不同时。多个相似情节可以在事件序列图302中共享同一主路径。每个情节在每个非对应子序列的开始处分出短的另选路线,并且在该非对应子序列结束时加入至主路径。因此,事件序列图302捕获情节308之间的这些相似之处并且便于利用提示310来搜索情节,这是因为将提示310与共享路径进行比较具有和将提示310与共享该路径的多个情节308进行比较相同的效果。事件序列图302中的存储的情节中的每个事件306在事件序列图302中具有对应节点例如,310,并且每个节点例如,310具有指向事件数据库300中的对应事件306的指针。事件数据库300中的事件306还保持反向指向该对应节点例如,310的指针,从而允许彼此直接访问。节点例如,310与事件例如,306之间的双向指示在图3中指示为双向箭头。当多个节点共享事件数据库300中的同一事件时,所有这些节点都指向该同一事件,并且该事件保持反向指向所述多个节点的指针的列表。“所有节点”指的是共享同一事件的多个节点。因此,从节点例如,310,可以直接访问事件数据库300中的对应事件例如,306,类似地,从事件数据库300中的事件例如,306,可以判断事件序列图302中的哪些节点例如,310共享该事件。表示每个存储的情节的最后事件的节点例如,312具有指向对应情节例如,308的指针。当多个情节的事件序列在同一节点结束时,该节点保持指向所述多个情节的指针的列表。在路径的末端节点例如,312,这些指针可以判断哪些情节可能与该路径匹配。3.3.3情节列表要素304情节列表304存储情节存储器中的所有情节。每个存储的情节中的事件序列被替换成指向事件序列图中的对应节点的指针的列表。可以通过指向对应节点例如,308的指针间接地访问情节例如,308中的所有事件例如,306。“所有事件”指的是情节中的事件序列中的所有事件。当将新情节存储到情节列表304中时,检查情节列表304是否存在相同的情节例如,308。如果找到相同的情节,则增加现有情节中的计数器,并且丢弃该新情节以节省存储。情节列表中的每个情节具有在训练情节数据集中出现的计数器。如果所有情节在该数据集中都是唯一的,则计数器都是1。如果情节在该数据集中重复两次,则该情节的计数器将是2,而不是将同一情节存储两次。3.4方法情节例如,308中的事件序列具有时间顺序。用于搜索情节存储器中的情节例如,308的输入提示310可以是完整的情节或不完整的部分子序列,如图3中示出的。完整的情节提示可以用于插入新情节和删除过时情节。利用来自现场输入流的提示例如,310,整个事件序列的片段,系统可以基于匹配情节的后缀来预测将来。利用部分后缀提示,系统可以基于匹配情节的前缀来收集所有前提条件,直至产生的部分提示。本文所述发明使用来自生物信息学的序列比对算法的一种版本。在生物信息学中使用的这种算法采用DNA或蛋白质序列,并在大型序列数据库中找到最佳匹配。按类似方式,将利用事件序列图302找到情节存储器内的最佳匹配,并且如果它们不相同则将提示310与它对齐。利用提示310调用最佳匹配情节例如,308的简要描述如下。1针对提示310中的每个事件由单独的图案化矩形例如,312表示,利用散列函数搜索事件数据库300中的相同或相似事件。事件数据库300中的每个所找到的事件例如,306具有指向事件序列图302中的所有相关节点例如,310的指针由箭头表示的列表。如果所找到的事件例如,306与提示310中的事件例如,312相同,则它们的匹配成本为零。如果它们相似,则它们的匹配成本是它们之间的距离量度。距离是两个事件之间的不相似度的概念。该计算方法取决于具体应用。如果事件是XY平面或XYZ体积中的点,那么欧几里德Euclidian距离是计算方法。将该提示中的事件和每个所找到的节点的所有配对连同它们的匹配成本放入优先级队列中。每个队列条目是提示与匹配情节之间的长度为1的候选对齐序列事件路径和节点路径。针对提示中的除了第一事件以外的其它事件,候选情节中缺失先前的事件,并且如果存在缺失处罚,则可以将与先前事件的数量一样多的缺失处罚与成本相加。优先级队列按条目的关联成本对条目进行排序,并将最小成本对保持在顶部,如下:2在优先级队列为空之前,测试顶部条目。如果顶部条目的事件路径中的最后一个事件是提示中的最后一个事件,或者顶部条目的节点路径中的最后一个节点是终端节点即,没有下一个节点,则对齐完成;因而,移至下面的步骤3。否则,删除顶部条目,扩展对齐序列和成本,并且将更新的序列和关联成本推入优先级队列中。存在三种可能的扩展。a确认当前对齐的序列。将对齐的序列扩展至提示中的下一个事件和事件序列图中的下一个节点。如果新节点处于新事件的相关节点列表中,则将它们的匹配成本与当前成本相加。如果没找到,则该事件和该节点在彼此的序列中缺失,并且将两倍的缺失处罚与当前成本相加。b假设情节中缺失当前对齐序列中的最后一个事件,则仅将该序列扩展至提示中的下一个事件。从当前成本中减去最后一个事件与最后一个节点之间的匹配成本,并且将一个缺失处罚以及新事件与最后一个节点之间的匹配成本与当前成本相加。c假设提示中缺失当前对齐序列中的最后一个节点,则仅将该序列扩展至图中的下一个节点。类似地,从当前成本中减去最后一个事件与最后一个节点之间的匹配成本,并且将一个缺失处罚以及最后一个事件与新节点之间的匹配成本与当前成本相加。以下是三种扩展的示例。3如果优先级队列为空,则在情节存储器中没有与该提示相匹配的情节。因为队列中的顶部条目是最佳匹配的对齐序列之一,所以弹出顶部条目并将其放入候选列表中。在队列为空或顶部条目的成本大于候选的成本之前,弹出顶部条目,并且在事件路径中的最后一个事件是提示中的最后一个事件或者节点路径中的最后一个节点是终端节点时,将该顶部条目添加至候选列表,因为对齐已完成。4候选列表中的节点路径是对应情节的对齐部分。当提示是不完整的情节时,对齐的部分是匹配的情节的整个事件序列的子序列。由于每个情节的最后一个节点具有指向该情节的指针,因此,从候选列表中的每个节点路径中的最后一个节点向前遍历事件序列图,并在遍历期间收集节点所指向的所有情节,如下:针对情节存储器的另外两种主要方法是插入和删除。插入用于将新情节存储到情节存储器中。针对情节中的每个事件,首先利用散列函数查找事件数据库。如果找到该事件,则现有事件被重用。如果找不到,则将新事件存储到数据库中。利用调用方法,检索情节存储器中的最佳匹配情节。如果最佳匹配情节与新情节相同,则增加现有情节中的计数器。如果没有找到匹配情节,则将指向数据库中的对应事件的节点序列添加到事件序列图中。从该图的开头,算法遵循这样的路径:该路径的节点与新插入节点指向相同的事件,并且当新节点序列从该路径偏离时创建新分支。最后一个新节点将指向新情节,并且该情节被添加至情节列表。如果找到相似情节,则算法遵循找到的情节的路径,并在事件与找到的情节不同时分支出另选路线,而在事件相同时加入主路径。指向新情节的指针在新情节的最后一个节点中被添加至情节列表。删除是去除过时情节。它利用调用方法检索情节存储器中的最佳匹配情节。如果找到相同的情节,则它遵循图中的路径,并且在不与任何其它情节共享所述节点和事件数据库中的对应事件的情况下,删除这些节点和事件数据库中的对应事件,并接着从情节列表中删除该情节。总之,根据本公开实施方式的系统和方法具有多个独特方面。情节存储器中的基于集合散列的事件数据库300通过在情节之间共享相同事件例如,306减少了存储情节所需的存储量。情节存储器中的所有事件例如,306与其情节分开,并且当事件不存在于公共事件数据库300中时被放入该数据库中。当在事件数据库300中找到相同的事件例如,306时,在情节之间共享这些事件例如,306。多个情节共享事件数据库300中的相同事件,而不是这些情节自身保持它们自己的实例。另外,如果事件例如,306在情节中多次出现,那么该情节共享数据库中的同一事件,而不是该情节自身保持相同的多个实例。因此,事件数据库300中的所有事件都是不同的,从而可以减少存储情节所需的存储量。而且,散列函数可以便于访问基于散列的事件数据库300中的事件。良好的散列函数可以直接将散列键映射至对应事件例如,306或映射至几个候选事件,以减少找到匹配事件之前所需的比较次数。例如,通过将散列键用作事件储存桶阵列的索引,每个事件储存桶可以具有多个事件。因此,良好的散列函数可以将事件数据库300的访问时间减少至时间O1。另外,所存储的情节例如,308的公共事件-序列图302结构减少了利用部分提示310来匹配情节的检索时间。当多个情节例如,308在它们的序列中具有许多公共事件时,这些情节在事件序列图302中共享同一主路径,而针对这些情节的不同事件片段具有一些短的另选路线。这些共享节点表示多个情节中的事件。将提示310中的事件表示为各种图案化矩形与共享节点进行比较具有和将提示与共享所述节点的多个情节进行比较相同的效果。本文所述的这种系统通过减少存储要求和处理时间使情节存储器可扩展且高效。在本文描述的发明中如图4中所示,设计了一种情节存储器400,其利用由感知系统常见于采用对象识别的自动化移动平台和机器人平台中提供的较高级别信息来执行基于内容的检索即,从情节存储器中检索观察结果402。如上所述,每个情节是事件序列。利用散列函数在事件数据库中有效地存储或检索事件。丢弃重复的情节,但是在所存储的情节中记录出现的次数。根据本公开实施方式的、基于内容的检索的情节存储器400方法被定制成:通过直接执行从情节存储器400中检索与场景中当前观察到的时空对象序列相匹配的观察结果要素402,将检索到的观察结果404应用于自动化系统以引导行为要素406。可以用于获得对场景中对象观察结果的传感器的非限制性示例包括摄像头和或例如利用超声或激光的测距装置。直接对该信息而不是计算出的特征执行匹配。如上所述,根据本公开实施方式的情节存储器400包括事件数据库300、事件序列图302以及情节列表304,它们相互作用以形成可扩展且高效的情节存储器400系统。情节存储器400是多种应用中的认知架构的关键组件。无论是在移动平台还是地面基础设施平台上,自动化系统的信息处理都可以受益于使用高效情节存储器400作为基于内容的检索系统。因此,本文所述系统和方法适用于适应智能学习系统的任何区域。一个示例应用是智能自主控制。通过将本文所述方法应用于自主驾驶,该系统可以学习应对自动化车辆周围区域环境中的情形,快速检索恰当的存储知识,并且及时解决任何问题若有的话。例如,在自主驾驶领域中,每个事件可以是在特定时刻围绕自动驾驶车辆的感知对象的排布。该对象可能包括车辆、摩托车、行人、路标、交通灯以及交通岛。基于来自情节存储器的这些对象的过去数据,该系统可以引导自动化车辆的行为。该自动化平台可以是完全自主的,或者其可以由人完全或部分地控制。例如,人可以存在于车辆中或远程操作该车辆。引导的行为的非限制示例包括有行人时停车、在停车标志或交通信号灯处停车、在交通信号灯指示“通行”信号时使车辆加速以及重新规划路径以避开另一车辆、行人、交通锥或其它障碍物。而且,该系统还可以用于有人驾驶或无人驾驶飞行器系统的智能控制以及所获取信息的分析。在情报、监视和侦察ISR领域,事件可能包括来自多个源的信息,如对象、人员、活动、信号情报的地理空间位置和时间。可以使无人驾驶飞行器UAV基于地理空间坐标的过去数据行进至特定位置方位,或者检测所关注的特定对象并对其进行分类,并且朝着该特定对象行进以便获得该对象的视觉记录。在一些实施方式中,车辆系统试图找到图中的与当前交通环境情形最接近的事件例如,相似停车标志位置以及相似邻近车辆位置、环境中的其它车辆和或行人的相似排布。该系统不寻找单个对象。该系统还可以执行以下各项中的一个或更多个:1找到事件序列图中的与本车辆周围的当前交通情形最接近的事件。2根据在图中找到的事件列出随后的或预测的事件。3确定并应用车辆控制输入转向、制动和或基于发动机的加速,以实现与预测的事件相对应的本车辆位置或者将避免与预测的事件相对应的本车辆位置。例如,预测的事件可以包括在停止标志处成功停止或导航转弯,并且该系统可以引导车辆模仿成功的事件。预测的事件还可以包括与另一车辆、人或物体的碰撞,然后,该系统可以引导车辆避免或以其它方式降低事件的严重性。最后,虽然已经根据几个实施方式对本发明进行了描述,但本领域普通技术人员应当容易地认识到本发明在其它环境中可以具有其它应用。应注意到,可以有许多实施方式和实现。而且,所附的权利要求绝不是旨在将本发明的范围限制成上述具体实施方式。另外,任何“用于……的装置means”的用语旨在引发要素和权利要求的装置加功能的解读,而任何未特别使用“用于……的装置means”用语的要素不应被解读为装置加功能要素,即使权利要求以其它方式包括了“装置means”一词。而且,虽然已经按特定次序陈述了特定的方法步骤,但这些方法步骤可以按任何希望次序发生并且落入本发明的范围内。

权利要求:1.一种自动化平台的情节存储器的系统,所述系统包括:一个或更多个处理器以及编码有可执行指令的非暂时性计算机可读介质,使得当执行所述可执行指令时,所述一个或更多个处理器执行以下操作:从包括事件数据库、事件序列图以及情节列表的情节存储器中获取数据,所述访问包括利用所述事件序列图,识别相距所述自动化平台的当前环境的最接近节点;基于所述最接近节点并利用散列函数或者基于所述散列函数的关键字,从所述事件数据库中检索与所述最接近节点相对应的情节,所述情节包括事件序列;以及基于来自所述情节存储器的所述数据,引导所述自动化平台在当前环境中的行为。2.根据权利要求1所述的系统,其中,当存储在所述情节存储器中的新情节与所述情节存储器中的现有情节足够相似时,丢弃所述新情节以节省存储,相似度是根据相似度评级和相似度评级阈值来确定的。3.根据权利要求1所述的系统,其中,当多个情节具有公共事件时,所述多个情节共享所述事件序列图中的节点。4.根据权利要求1所述的系统,其中,所存储的情节中的每个事件在所述事件序列图中具有对应节点,并且每个节点具有指向所述事件数据库中的对应事件的指针。5.根据权利要求4所述的系统,其中,所述事件数据库中的所述对应事件能够从所述事件序列图中的每个节点直接访问,并且根据所述事件数据库中的事件,确定所述事件序列图中的哪些节点共享该事件。6.根据权利要求1所述的系统,其中,被检索的数据包括与当前环境中当前观察到的时空对象序列相匹配的观察结果。7.根据权利要求1所述的系统,其中,针对进入所述情节存储器的新情节中的每个事件,如果所述事件数据库中存在与所述新情节中的事件相同或相似的现有事件,则使用所述现有事件,否则,将所述新情节中的事件存储在所述事件数据库中。8.根据权利要求1所述的系统,其中,所述散列函数用于在所述事件数据库中存储情节。9.根据权利要求5所述的系统,其中,所述散列函数直接将散列键映射至所述对应事件,以减少发现所述匹配事件所需的比较次数。10.根据权利要求1所述的系统,其中,所述自动化平台的所述行为被引导成与所检索的情节中的所述事件序列相对应。11.根据权利要求1所述的系统,其中,所述自动化平台的所述行为被引导成避免所检索的情节中的所述事件序列。12.根据权利要求1所述的系统,其中,引导所述自动化平台包括转向、加速以及制动中的至少一种。13.根据权利要求1所述的系统,其中,获取数据还包括根据与所述最接近节点相对应的所述情节来生成事件列表,并且所述数据包括所述事件列表。14.一种自动化平台的情节存储器的计算机实现方法,所述计算机实现方法包括以下动作:使一个或更多个处理器执行编码在非暂时性计算机可读介质上的指令,使得在执行所述指令时,所述一个或更多个处理器执行以下操作:从包括事件数据库、事件序列图以及情节列表的情节存储器中获取数据,所述访问包括利用所述事件序列图,识别相距所述自动化平台的当前环境的最接近节点;基于所述最接近节点并利用散列函数或者基于所述散列函数的关键字,从所述事件数据库中检索与所述最接近节点相对应的情节,所述情节包括事件序列;以及基于来自所述情节存储器的所述数据,引导所述自动化平台在当前环境中的行为。15.根据权利要求14所述的方法,其中,当多个情节具有公共事件时,所述多个情节共享所述事件序列图中的节点。16.根据权利要求14所述的方法,其中,所存储的情节中的每个事件在所述事件序列图中具有对应节点,并且每个节点具有指向所述事件数据库中的对应事件的指针。17.根据权利要求16所述的方法,其中,所述事件数据库中的所述对应事件能够从所述事件序列图中的每个节点直接访问,并且根据所述事件数据库中的事件,确定所述事件序列图中的哪些节点共享该事件。18.根据权利要求14所述的方法,其中,被检索的数据包括与当前环境中当前观察到的时空对象序列相匹配的观察结果。19.根据权利要求14所述的方法,其中,针对进入所述情节存储器的新情节中的每个事件,如果所述事件数据库中存在与所述新情节中的事件相同或相似的现有事件,则使用所述现有事件,否则,将所述新情节中的事件存储在所述事件数据库中。20.根据权利要求14所述的方法,其中,所述散列函数用于在所述事件数据库中存储情节。21.根据权利要求17所述的方法,其中,所述散列函数直接将散列键映射至所述对应事件,以减少发现所述匹配事件所需的比较次数。22.一种自动化平台的情节存储器的计算机程序产品,所述计算机程序产品包括:存储在非暂时性计算机可读介质上的计算机可读指令,所述计算机可读指令能够由具有一个或更多个处理器的计算机执行,以使所述处理器执行以下操作:从包括事件数据库、事件序列图以及情节列表的情节存储器中获取数据,所述访问包括利用所述事件序列图,识别相距所述自动化平台的当前环境的最接近节点;基于所述最接近节点并利用散列函数或者基于所述散列函数的关键字,从所述事件数据库中检索与所述最接近节点相对应的情节,所述情节包括事件序列;以及基于来自所述情节存储器的所述数据,引导所述自动化平台在当前环境中的行为。23.根据权利要求22所述的计算机程序产品,其中,所存储的情节中的每个事件在所述事件序列图中具有对应节点,并且每个节点具有指向所述事件数据库中的对应事件的指针。24.根据权利要求23所述的计算机程序产品,其中,所述事件数据库中的所述对应事件能够从所述事件序列图中的每个节点直接访问,并且根据所述事件数据库中的事件,确定所述事件序列图中的哪些节点共享该事件。

百度查询: 赫尔实验室有限公司 自动化平台的情节存储器的系统、方法和计算机可读介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。