一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于视频问题回答的神经符号动作变换器的制作方法

2023-03-25 01:28:32 来源:中国专利 TAG:


1.本技术总体上涉及一种改进的数据处理装置和方法,并且更具体地涉及实现用于执行视频问题回答的神经符号动作变换器的机制。


背景技术:

2.正如在美国专利商标局首席经济学家办公室出版的“inventing ai:tracing the diffusion of artificial intelligence with u.s.patents”,ip data highlights,no.5,october 2020中所认识到的,人工智能(ai)对于现代创新日益重要,并且具有从根本上改变人们如何感知他们周围的世界并进行他们的日常生活的潜力。如该公开中所指出的,这样的根本性改变是技术进步的本质,并且实现这些变化通过创新来发生。
3.应用ai的一个领域是视觉问题回答领域(vqa)。vqa的领域涉及处理回答关于给定图像或一组图像的开放式自然语言问题的任务。虽然大多数人类发现,由于他们通过经验对物理世界的先天知识和理解和基于人类智能的推理能力所以关于图像中所表示的现实世界情形进行推理是相对容易的,但是基于计算机的ai系统并非如此。这种ai系统不具有先天知识、对物理世界的理解、经验、或推理能力。因此,能够具有能够从视觉输入理解物理世界并且做出逻辑决策的ai系统将是朝向先进ai的重要一步。
4.然而,现有工作主要集中在对象(object)识别上而没有隐含的逻辑推理。因此,现有的ai系统不具有能够准确地生成对复杂问题(诸如关于交互、排序、预测和可行性的问题)的回答的模型。


技术实现要素:

5.提供发明内容以便以简化形式介绍将在具体实施方式中进一步描述的概念的选择。发明内容并不旨在标识所要求保护的主题的关键因素或基本特征,也不旨在用于限制所要求保护的主题的范围。
6.在一个说明性实施例中,提供一种在数据处理系统中用于执行基于人工智能的视频问题回答的方法。该方法包括由数据处理系统的视频解析器对输入视频数据序列进行解析以生成一个或多个情形数据结构,每个情形数据结构包括对应于实体的数据元素和实体之间的第一关系,所述实体和所述第一关系被视频解析器识别为存在于输入视频数据序列的图像中。该方法还包括在一个或多个情形数据结构上执行数据处理系统的至少一个第一机器学习计算机模型,以预测一个或多个情形数据结构之间的一个或多个第二关系。该方法还包括通过在所接收的输入自然语言问题上执行数据处理系统的至少一个第二机器学习计算机模型,确定用于执行以回答所接收的输入自然语言问题的可执行程序。此外,该方法包括由数据处理系统在所述一个或多个情形数据结构和预测的在所述一个或多个情形数据结构之间的一个或多个第二关系上执行所确定的可执行程序。此外,该方法包括由数据处理系统基于执行所确定的可执行程序的结果来输出对输入自然语言问题的回答。因此,说明性实施例的机制提供可以对输入视频数据序列执行逻辑推理以回答自然语言问题
的人工智能计算系统。
7.在一些说明性实施例中,至少一个第一机器学习计算机模型包括情形编码器、经机器学习训练的动态变换器计算机模型、以及序列解码器。在一些说明性实施例中,执行至少一个第一机器学习计算机模型包括:由情形编码器执行对情形数据结构的编码以生成对应于在一个或多个情形数据结构中表示的实体和关系的令牌(token)序列,以及由经机器学习训练的动态变换器计算机模型处理令牌序列以预测缺失的或后续的令牌序列并且生成预测的令牌序列,预测的令牌序列包括预测的缺失的或后续的令牌序列。因此,说明性实施例的机器学习计算机模型机制的机制能够基于输入视频数据序列中的所识别的实体和关系进行学习来预测令牌序列。
8.在一些说明性实施例中,所述至少一个第一机器学习计算机模型还包括序列解码器,并且其中,所述序列解码器基于所预测的令牌序列,将预测的一个或多个第二关系生成为一个或多个预测的超图数据结的。以此方式,根据至少一个说明性实施例,机器学习计算机模型机制可以预测输入视频数据中的图像数据序列之间的关系或动作,所述动作或关系表示可能未在输入视频数据本身中明确示出的情形之间的关系。
9.在一些说明性实施例中,至少一个第二机器学习计算机模型包括语言/程序解析器和程序执行器。在一些说明性实施例中,确定可执行程序包括:由语言/程序解析器处理输入自然语言问题以预测要执行以回答输入自然语言问题的多个程序模块,由程序执行器将多个程序模块组合成可执行程序,该可执行程序在所述一个或多个预测的超图数据结构上执行,以生成对输入的自然语言问题的最终回答,以及由数据处理系统输出对输入的自然语言问题的最终回答。以此方式,至少一个说明性实施例能够将自然语言问题转换成预测的计算机可执行模型,所述预测的计算机可执行模型能够基于预测的输入视频数据中的情形之间的关系回答这些问题。
10.在一些说明性实施例中,每个超图数据结构包括一个或多个超边,所述一个或多个超边将所述一个或多个情形数据结构中的第一情形数据结构连接到至少一个第二情形数据结构,其中所述至少一个情形数据结构是所述一个或多个情形数据结构中的所述第一情形数据结构或者不同情形数据结构中的一个。在一些说明性实施例中,所述一个或多个超边中的每个超边包括和所述第一情形数据结构中的至少一个第一实体与所述至少一个第二实体数据结构中的至少一个第二实体相对应的预测动作。以此方式,超图数据结构提供连接由情形数据结构所表示的情形的预测动作,这些情形数据结构随后能够被预测程序处理以生成对输入自然语言问题的回答。
11.在一些说明性实施例中,包括输入视频数据序列的一个或多个图像的每个情形在一个或多个情形数据结构中具有相应的情形数据结构。在一些说明性实施例中,情形数据结构是其中数据元素包括对应于实体的节点和对应于实体之间的关系的边的情形图数据结构。在一些说明性实施例中,输入自然语言问题是交互问题类型、序列问题类型、预测问题类型或可行性问题类型的逻辑推理问题。因此,说明性实施例的机制能够回答逻辑推理问题,该逻辑推理问题询问在输入视频数据本身的图像数据中不一定明确示出的关系和动作。
12.在一些说明性实施例中,提供一种计算机程序产品,其包括具有存储在其中的计算机可读程序的计算机可读存储介质。当在数据处理系统中执行所述计算机可读程序时,
使得所述数据处理系统通过所述数据处理系统的视频解析器来解析输入视频数据序列,以生成一个或多个情形数据结构,每个情形数据结构包括对应于实体的数据元素和实体之间的第一关系,所述实体和所述第一关系由所述视频解析器识别为存在于所述输入视频数据序列的图像中。所述计算机可读程序还使得所述数据处理系统在所述一个或多个情形数据结构上执行所述数据处理系统的至少一个第一机器学习计算机模型,以预测在所述一个或多个情形数据结构之间的一个或多个第二关系。所述计算机可读程序还使得所述数据处理系统通过在所接收的输入自然语言问题上执行所述数据处理系统的至少一个第二机器学习计算机模型来确定用于执行以回答所接收的输入自然语言问题的可执行程序,并且通过所述数据处理系统在所述一个或多个情形数据结构和预测的在所述一个或多个情形数据结构之间的一个或多个第二关系上执行所确定的可执行程序。此外,计算机可读程序进一步使数据处理系统基于执行所确定的可执行程序的结果通过数据处理系统输出对输入自然语言问题的回答。
13.在一些说明性实施例中,至少一个第一机器学习计算机模型包括情形编码器、经机器学习训练的动态变换器计算机模型、以及序列解码器。在一些说明性实施例中,执行至少一个第一机器学习计算机模型包括:由情形编码器执行对情形数据结构的编码以生成对应于在一个或多个情形数据结构中表示的实体和关系的令牌序列,以及由经机器学习训练的动态变换器计算机模型处理令牌序列以预测缺失的或后续的令牌序列并且生成预测的令牌序列,预测的令牌序列包括预测的缺失的或后续的令牌序列。
14.在一些说明性实施例中,所述至少一个第一机器学习计算机模型还包括序列解码器,并且其中,所述序列解码器基于所预测的令牌序列,将所预测的一个或多个第二关系生成为一个或多个预测的超图数据结构。在一些说明性实施例中,至少一个第二机器学习计算机模型包括语言/程序解析器和程序执行器。在一些说明性实施例中,计算机可读程序还使数据处理系统确定可执行程序,包括通过语言/程序解析器处理输入自然语言问题以预测要执行以回答输入自然语言问题的多个程序模块,由程序执行器将所述多个程序模块组合成可执行程序,所述可执行程序在所述一个或多个预测的超图数据结构上执行,以生成对所述输入自然语言问题的最终回答,以及由数据处理系统输出对输入自然语言问题的最终回答。
15.在一些说明性实施例中,每个超图数据结构包括一个或多个超边,所述一个或多个超边将所述一个或多个情形数据结构中的第一情形数据结构连接到至少一个第二情形数据结构,其中所述至少一个情形数据结构是所述一个或多个情形数据结构中的所述第一情形数据结构或者不同情形数据结构中的一个。在一些说明性实施例中,所述一个或多个超边中的每个超边包括和所述第一情形数据结构中的至少一个第一实体与所述至少一个第二实体数据结构中的至少一个第二实体相对应的预测动作。
16.在一些说明性实施例中,包括输入视频数据序列的一个或多个图像的每个情形在一个或多个情形数据结构中具有相应的情形数据结构。在一些说明性实施例中,情形数据结构是其中数据元素包括对应于实体的节点和对应于实体之间的关系的边的情形图数据结构。在一些说明性实施例中,输入自然语言问题是交互问题类型、序列问题类型、预测问题类型或可行性问题类型的逻辑推理问题。
17.在一些说明性实施例中,提供了一种设备,该设备包括至少一个处理器以及耦合
至所述至少一个处理器的至少一个存储器。所述至少一个存储器包括指令,所述指令在由所述至少一个处理器执行时使所述至少一个处理器通过所述数据处理系统的视频解析器对输入视频数据序列进行解析以生成一个或多个情形数据结构,每个情形数据结构包括对应于实体的数据元素和实体之间的第一关系,所述实体和所述第一关系由所述视频解析器识别为存在于所述输入视频数据序列的图像中。所述指令进一步使得所述至少一个处理器在所述一个或多个情形数据结构上执行所述数据处理系统的至少一个第一机器学习计算机模型,以预测在所述一个或多个情形数据结构之间的一个或多个第二关系。指令还使得至少一个处理器通过在所接收的输入自然语言问题上执行数据处理系统的至少一个第二机器学习计算机模型来确定用于执行以回答所接收的输入自然语言问题的可执行程序。此外,指令使得至少一个处理器通过数据处理系统在一个或多个情形数据结构以及预测的在一个或多个情形数据结构之间的一个或多个第二关系上执行所确定的可执行程序。此外,指令使至少一个处理器通过数据处理系统基于执行所确定的可执行程序的结果输出对输入自然语言问题的回答。
18.本发明的这些和其他特征和优点将在本发明的说明性实施例的以下详细描述中被描述,或者鉴于本发明的示例实施例的以下详细描述对本领域普通技术人员变得清楚。
附图说明
19.当结合附图阅读时,通过参考说明性实施例的以下详细描述,将最好地理解本发明以及优选使用模式以及其进一步的目的和优点,其中:
20.图1是示出根据一个说明性实施例的基于情形式推理变换器(sr-transformer)的改进的计算工具的主要操作部件的框图;
21.图2是示出根据一个说明性实施例的输入视频数据中所描绘的示例情形以及对应情形图数据结构和用于回答逻辑推理问题的超边的示例图;
22.图3是根据一个说明性实施例的用于srt编码中的表示的超图令牌序列的结构的示例图;
23.图4是根据一个说明性实施例的用于由程序解析器进行的自动程序生成的示例程序模块列表;
24.图5是根据一个说明性实施例的针对四种示例问题类型的自动生成的程序的示例;
25.图6是概述根据一个说明性实施例的改进的计算工具的示例操作的流程图;
26.图7是可以实现说明性实施例的方面的分布式数据处理系统的示例图;以及
27.图8是其中可以实现说明性实施例的方面的计算设备的示例框图。
具体实施方式
28.如上所述,视觉问题回答(vqa)是人工智能(ai)中的现代努力的领域,其中通过ai计算机系统(诸如神经网络、卷积神经网络(cnn)、深度学习神经网络(dnn)等)回答关于给定图像或一组图像的开放式自然语言问题。为了能够在给定图像的情形下回答此类问题,ai系统必须被训练成具有对视觉、语言以及从其生成回答的一些知识库的理解。这是相当复杂的问题,这使得ai系统的能力限于回答关于输入图像中具体表现的内容的问题并且不
允许超过输入图像中明确示出的内容的任何逻辑推理。
29.例如,给定一男人和一女人的图像,男人戴着帽子而女人不戴着帽子,当前的ai系统可能能够回答诸如“谁戴着帽子?”或者“谁不戴帽子?”或“女人的衣服是什么颜色的?”或者“图像中有多少人?”之类的问题,所有这些都是关于图像本身中已经表示的内容的问题。例如,一些努力已经提出ai挑战来设计回答盲人问的视觉问题的算法。通过这种vqa的努力,ai系统被给予图像和有关该图像的问题,其中,问题是那些询问有关图像本身中描绘的内容的问题,例如,“该粉底是否有任何防晒剂?“(瓶子上的成分列表的图像),“这是什么?”(钱的图像),“这是什么颜色?”(衬衫的图像),“这个物品是什么?”(食物罐头的图像),“外面阳光明媚吗?”(房子的图像),“烤箱温度是多少?”(烤箱控制器的图像)等。
30.基于当前vqa机制,没有能力执行逻辑推理来回答复杂的问题,诸如关于交互、排序、预测以及可行性的问题,例如,“男人如何得到女人的帽子?”“男人怎么坐在沙发上?”“男人应该怎么办才能够到女人?”“女人的帽子会掉到地上吗?”等。即,现有vqa人工智能(ai)系统限于回答关于图像中明确表示的内容(即,帧内内容)的问题,且不能从视觉信息学习关系,而关系接着可用于应用于新情形以回答需要逻辑推理的复杂问题,而不是简单地是对象辨识。
31.以计算机可识别的方式从描绘人类与其环境的交互的视觉信息中学习关系使得可执行复杂的问答的能力具有许多不同的应用。例如,这种学习可用于允许基于ai的系统学习如何为自己推理如何在给定类似物理环境的情形下实现目标。例如,通过观察人类导航真实世界环境,ai系统可以确定人类将如何绕着障碍物导航或与环境中的物体(object)交互以实现期望的结果,即,动作序列以及人类与环境中的物体之间的关系,使得可以做出动作序列的预测。作为一个示例,可以呈现一系列图像,其中人通过门进入房间,绕着沙发行走,然后坐在沙发上。问:“这个人应该做什么来坐在沙发上?”通过观察图像,ai系统可以学习人类与环境中的物体之间的关系,以及这些动作和关系的定时和排序。然后,从这些关系中,ai系统可以确定通过门进入、绕着沙发行走、然后坐在沙发上的序列实现问题中所指示的期望结果。因此,ai系统已经学习到人类如何能够实现坐在沙发上的期望结果,并且能够将相似的逻辑推理应用于可能存在相似模式的物体和关系的其他情形,例如,坐在椅子上,或者坐在桌子旁等。
32.可以看出,这种学习然后可以如何被转换成计算机发起的机器人命令,以使机器人系统在物理环境内执行期望的动作,以实现期望的结果,例如,在该示例中,机器人系统坐在沙发上。例如,可以将期望的结果翻译为自然语言问题,并且可以将回答翻译为命令信号。因此,例如,如果机器人系统被要求穿过物理环境,则目标可以被提出为“去到出口”,其然后可以被翻译成自然语言问题“我如何去到出口?“并且所生成的结果序列可以被提出作为便机器人系统要跟随的命令。ai系统本身可以生成这些问题和命令,并且由此自主地学习如何在给定情形和给定物理环境中动作。换言之,通过组合vqa机制和逻辑推理ai机制,实现了改善的ai系统,其可使用逻辑推理来自动回答复杂问题,而不仅仅是识别图像内的内容。
33.当前的vqa ai系统不能学习关系并且将其应用于复杂问题以生成对这些复杂问题的基于逻辑推理的回答。通过说明性实施例的机制,通过提供实现用于vqa的神经符号情形式动作变换器的改进的ai系统和相应的ai模型,解决了现有vqa ai系统的这些限制。说
明性实施例的机制利用多个ai计算机模型,即,实现人工智能机制的计算机执行模型,例如基于变换器的模型、神经网络、卷积神经网络(cnn)、深度学习神经网络(dnn)、基于长短期记忆(lstm)的神经网络等,这些模型使用机器学习和在输入视频图像序列中的对象/关系检测来实现情形式推理。情形式推理指对于图像数据中表示的具体情形学习对象之间的关系、关系序列等,然后使用所学习的关系和序列在新接收的图像数据中推理新情形,并且做出用于解决新情形以实现期望的结果的预测或者生成对所提供的查询的期望的回答。
34.在一个说明性实施例中,提供来自变换器(sr-bert)ai计算机模型的情形式推理双向编码器表示。bert是最初针对自然语言处理开发的基于变换器的机器学习计算机模型,其使用单词嵌入和双向上下文。基于变换器的机器学习计算机模型是采用关注机制的深度学习模型,对输入数据的每个部分的重要性进行差分加权。类似于rnn,变换器处理顺序输入数据,但不同于rnn,变换器不必按次序处理数据。相反,关注机制为输入序列中的任何位置提供上下文。例如,如果输入数据是自然语言语句,则变换器不需要在结束之前处理语句的开始。相反,变换器识别赋予句子中的每个单词含义的上下文。此特征允许比rnn更多的并行化并且减少训练时间。变换器计算机模型使用没有rnn的关注机制,同时处理所有令牌并计算它们在连续层中的关注权重。
35.利用变换器计算机模型,该模型的关注层可以访问所有先前的状态并根据学习的相关性度量对它们进行加权,提供关于远方令牌的相关信息。例如,在自然语言处理技术中,可以用语言翻译示例更清楚地解释变换器模型的关注机制,其中上下文对于指定句子中的词的含义是至关重要的。例如,对于英语到法语翻译系统,法语输出的第一个词最可能严重依赖于英语输入的前几个词。然而,在经典rnn或lstm计算机模型中,为了产生法语输出的第一个词,该模型仅被给予最后一个英语词的状态向量。理论上,该向量可以对整个英语句子的信息进行编码,赋予模型所有必要的知识。实际上,通过rnn或lstm计算机模型,该信息经常被保留得不好。可以添加关注机制以解决该问题,其中,解码器被允许访问每个英语输入词(不仅是最后的)的状态向量,并且可以学习指示要关注每个英语输入状态向量多少的关注权重。当被添加到rnn时,关注机制提高性能。
36.在一个说明性实施例中,sr-bert ai计算机模型利用动态变换器模型,动态变换器模型实现变换器模型的关注机制来从沿着序列的任何先前点处的状态汲取,其中该序列可以是输入视频数据的图像帧的序列。视频解析器解析输入视频数据,输入视频数据由具有对应时间戳信息的图像帧组成。解析每个图像帧以识别在图像帧的图像数据中表示的人、物体和关系。这些人、物体和关系被转换为具有表示人和物体的节点以及表示关系的边的情形图数据结构,使得每个关系可以或者是人-物体关系或者是物体-物体关系。因此,输入视频数据的与每个时间戳对应的每个部分具有对应的情形图数据结构。为每个情形图数据结构维护时间戳信息,从而产生满足图数据结构的序列。
37.应当理解,由说明性实施例的机制执行的符号视觉推理被设计成执行多个逻辑步骤而不是单个步骤。因此,这种符号视觉推理机制需要经由图结构数据内的多跳连接来掌握推理能力的多个步骤。说明性实施例采用所提取的情形图结构化数据来对于图像事实明确地表达所识别的实体(人、物体、关系等)和存在的连接(例如,谁与谁交互、哪个关系反映哪个动作等)两者,而不是仅表达实体,使得推理操作可以在下一推理操作中明确地作为部分连接的图的依据。仅使用所识别的实体而没有部分连接,所述机制将不能逐步跟踪推理
的多个步骤。
38.将情形图数据结构输入到基于变换器的动作转换计算机模型,所述基于变换器的动作转换计算机模型包含情形图编码器、动态变换器模型和图序列解码器。情形图编码器根据编码方案将情形图数据结构的序列编码成令牌序列。在训练动态变换器模型期间,可以根据一个或多个掩码数据结构来掩蔽对情形图数据结构的序列的这种编码,所述一个或多个掩码数据结构识别令牌序列中动态变换器模型将通过机器学习过程来学习的部分。例如,可以掩蔽令牌序列中的动作的特定模式,使得动态变换器模型操作以预测这些动作,并且通过机器学习,学习适当的关注加权以应用来生成对这样的动作的正确预测。
39.动态变换器模型对由情形编码器输出的令牌序列进行操作以生成预测的令牌序列。即,类似于在动态变换器模型的训练期间的掩蔽,在sr-bert的运行时操作期间,情形图编码器可具有序列中缺失的令牌。动态变换器模型基于其对来自情形编码器的输入令牌序列中的每一个令牌的状态信息的关注权重的机器学习来预测这些令牌。此外,动态变换器模块可针对输入视频数据中不存在的时间戳来预测所预测令牌序列中的下一令牌集合。例如,在测试期间(与训练的掩蔽不同),可以掩蔽所选择的令牌类型,例如,掩蔽掉动作令牌位置以为每个情形帧的可能出现的动作预留位置。每个经掩蔽的令牌(例如,每个掩蔽掉的动作令牌)对应于离散类(例如,动作类),并且其值范围从预定义类(例如,预定义动作类)的值到“mask”值(需要被填充)或“na”(对于无动作)。因此,在预测阶段,具有“mask”的令牌(例如,动作令牌)需要通过动态变换器模型进行预测。
40.因此,动态变换器模型基于其对输入令牌序列中的令牌的状态信息的关注权重的机器学习训练来预测令牌序列。动态变换器模型的输出是预测的令牌序列,该预测的令牌序列随后被输入到图序列解码器。图序列解码器基于所预测的令牌序列来生成所预测的超图数据结构,其中,所预测的令牌序列的所预测的部分(即,不存在于来自情形编码器的输入令牌序列中的部分)可被表示为将情形图数据结构中一个或多个情形图数据结构的情形图链接到所述情形图数据结构中相同或不同情形图数据结构的其他情形图的超边。超边表示不同情形图数据结构的情形图之间的预测关系。预测的超图数据结构中的每个超边连接多个情形图数据结构。多个超边可以重叠,并且可以在所预测的超图数据结构(以下称为“超图”)中共享情形图数据结构(以下称为“情形图”)中的节点。在一种情形下的整个动态过程(包括一个或多个情形图)可以表示为一个或多个连续和重叠的超图的集合。形式上,超图h是一对h=(x,e),其中x是针对出现在输入视频数据的输入帧中的物体或人的一组节点,并且e是连接一个或多个情形图的一组非空的超边,这组非空的超边表示连接的一个或多个情形图的节点之间的关系。超图表示由sr-bertai计算机模型执行的符号推理的类型。在一些说明性实施例中,超边将特定类型的类(例如,动作类)与不同的情形图数据结构连接,其中不同的超边在一些情况下能够连接到相同的情形图。
41.预测的超图被输入到程序执行器,该程序执行器连同由程序解析器自动地和动态地生成的程序一起接收预测的超图。该程序解析器包括多个经训练的机器学习计算机模型,该多个经训练的机器学习计算机模型对输入的自然语言问题进行操作,以生成一组程序模块的预测,以应用于所预测的超图数据结构来生成对输入的自然语言问题的回答。也就是说,提供具有不同程序模块类型的一组预定程序模块。经训练的机器学习计算机模型学习输入自然语言问题的输入自然语言术语或短语与预定义程序模块中的特定程序模块
之间的关联。因此,当呈现输入自然语言问题时,每个经训练的机器学习计算机模型预测要应用于输入自然语言问题的一个或多个程序模块。
42.预测的一个或多个程序模块被组合成用于输入自然语言问题的可执行程序,其中可执行程序具有一个或多个程序模块的嵌套结构。例如,在通过程序解析器的问题至程序解析之后,存在一组预测的程序模块,例如,[filter\_actions\_with\_obj],具有序列形式的程序分隔符(例如,()、[]、{}))。程序执行器具有用于每个程序的程序模块/功能和参数量的预定义操作。程序执行者可以使用预定义的排序算法(例如先进先出(fifo)算法等)来执行程序模块序列。这样的操作将程序模块的序列转换成可以由程序执行器处理的嵌套程序。
[0043]
因此,由程序解析器的机器学习计算机模型预测的程序模块的组合被输入到被配置成以嵌套方式执行程序模块的程序执行器。每个程序模块预测一组输出,该组输出然后用作嵌套次序中的下一程序模块的输入。以这种方式,输出被迭代配对到对输入问题的最终回答。程序模块对所预测的超图数据结构的节点、边和超边进行操作,以生成它们的输出,然后将那些输出作为输入提供给嵌套次序中的下一程序模块,直到执行最终程序模块为止,该最终程序模块的输出随后被用作输入问题的最终回答。
[0044]
应当理解,通过生成预测的超图,说明性实施例的ai计算机模型机制能够抽象在输入视频数据中表示的情形以生成在输入视频数据中表示的实体之间的关系的预测,并提供由超图和超边表示的情形的符号推理。此外,通过提供采取自然语言问题并将其表示为要在超图数据结构上执行的程序模块序列的程序解析器,可评估逻辑推理问题,诸如与交互、序列、预测或可行性有关的问题。例如,给定输入视频数据,该输入视频数据示出了在具有桌子、书籍、计算机、衣物、食品等的办公室情形下的人的序列,不是局限于回答关于在输入视频数据中具体示出的内容的问题,例如,“人的衬衫是什么颜色?”而是,可以回答诸如“哪个东西被人吃了?”(互动问题),“人合上书后拿了什么物体(object)?”(序列问题),“人下一步将做什么?”(预测问题),以及“人可能放下哪个其他物体?”(可行性问题)之类的问题。虽然交互和序列类型问题引用图像中示出的内容,但是说明性实施例与现有vqa机制之间的差异是“如何推理”问题而不是“如何问”问题。即,说明性实施例执行层级推理,其使用低级别实体和交互关系来推理高级别动作,利用关系推理而不仅仅是通过使用视觉外观来猜测动作。因此,说明性实施例中的所有问题是使用对超图数据结构进行操作的预测的嵌套程序来处理的,而不是限于仅使用仅视频输入中的明确表示的实体和关系。
[0045]
问题回答将允许对输入视频数据执行逻辑推理,逻辑推理然后可以提供回答,所述回答可以驱动进一步分析或驱动输出以供人类使用。然而,应当理解,说明性实施例的操作是自动化的,并且使用复杂的机器学习计算机模型和ai机制来执行。照此,说明性实施例可以是配置有(本身被具体配置为实现本文描述的机制和功能)硬件和/或软件的具体配置的计算系统、由该具体配置的计算系统实现的方法、和/或包括软件逻辑的计算机程序产品,所述软件逻辑被加载到计算系统中以具体配置该计算系统来实现本文描述的机制和功能。
[0046]
无论被叙述为计算机程序产品的系统、方法,应当理解的是,在此描述的说明性实施例具体针对一种改进的计算工具和由这种改进的计算工具实现的方法。具体地,说明性实施例的改进的计算工具具体地提供实现多个基于机器学习的计算机模型的ai计算机系
统以及视频解析器和程序执行器,以从输入视频数据自动提取情形图,将情形图转换成编码的令牌序列,对编码的令牌序列执行预测以生成预测的令牌序列,基于预测的令牌序列生成预测的超图,基于自然语言问题生成程序,以及在生成的超图上执行该生成的程序以识别对自然语言问题的回答。改进的计算工具实现机制和功能性,诸如视频解析器、基于变换器的动作转换模型、程序解析器、以及程序执行器,这些机制和功能性实际上不能由人类在技术环境之外(诸如心理过程等)或借助于技术环境来执行。改进的计算工具提供了该方法的实际应用,这至少在于,改进的计算工具能够通过计算机人工智能自动地回答针对输入视频序列的帧内内容之外的概念的逻辑推理问题。因此,改进的计算工具能够预测物体、人以及这些物体/人之间的关系的序列,序列回答逻辑推理问题。
[0047]
此外,虽然人类可以是输入视频数据的主体,并且人类可以利用由说明性实施例的机制生成的输出,但是说明性实施例本身不针对由这些人类执行的动作,而是针对特定的人工智能计算机机制,例如,由改进的计算工具对输入视频数据具体执行的计算机模型、逻辑和功能的特定布置。尽管说明性实施例可以提供最终帮助人类回答针对交互、序列、预测或可行性的逻辑问题的输出,但是本发明的说明性实施例不是针对由人类利用改进的计算工具的结果所执行的动作,而是针对由本发明的具体的改进的计算工具所执行的具体操作,该具体操作促进对输入视频数据进行自动化处理以通过人工智能回答逻辑问题。因此,说明性实施例不是组织任何人类活动,而是实际上针对改进的计算工具的自动逻辑和功能。
[0048]
应进一步了解,本文描述的说明性实施例实施和利用人工智能(ai)和/或认知系统。这些ai和/或认知系统的目的是增强、而不是替代人类智能。这些ai和/或认知系统被设计为通过具体的改进的计算机工具和改进的计算机工具操作来增强和扩展人类能力和潜力。这些改进的计算机工具以实际上不能由人类智能执行的速度、复杂性和体量来执行操作。虽然这样的ai和/或认知系统可以模拟实现与人类智能的结果类似的结果,但是它们使用特定于计算机工具的不同方法和机制来这样做,所述计算机工具与人类的任何心理过程或人工努力都不相同,这至少部分是由于计算设备操作的方式与人类头脑操作的方式之间的固有差异。
[0049]
由说明性实施例实施的ai和/或认知系统可以对不同类型的数据进行操作,所述数据可以包括输入视频数据,所述输入视频数据可以包括个人(例如,在输入视频数据中描绘的人)的个人或私人信息。虽然ai和/或认知系统可以对这样的个人或私人信息进行操作,但是ai和/或认知计算系统可以实施用于维护个人的个人或私人信息的隐私性和安全性的不同机制(图中未具体示出),并且实施关于这样的个人或私人信息的安全性的信任和透明度原则。这种信任和透明度的原则认识到,其数据被跟踪和共享的任何人应该总是被给予选择加入或选择退出对他们的个人或私人数据的这样的跟踪和共享的选项。这种信任和透明度的原则认识到,其数据被跟踪和共享的人应当总是具有对数据的使用、什么实体具有对该数据的访问权、以及使该数据被删除的能力的控制。此外,这种信任和透明度的原则认识到,人的个人数据或私人数据应该保持安全免受网络威胁,并且这种数据不应该用于诸如政府跟踪和监视的目的,如果该跟踪和监视没有被个人专门批准,而该个人又是这种个人数据和/或私人数据的最终所有者。
[0050]
因此,在ai和/或认知系统可以对任何这样的个人或私人信息(例如可以在输入视
频数据中表示)进行操作的情况下,这些ai和/或认知系统机制可以实现个人选择加入或选择退出使用他们的个人/私人数据、授权实体访问他们的个人/私人数据以及提供安全机制以确保个人的个人/私人数据免受网络威胁的功能。这些机制不要求个人放弃其个人/私有数据中或从个人/私有数据导出的洞察中的所有权以便受益于说明性实施例。虽然说明性实施例可促进和利用数据跨可能跨越组织和地理政治边界的一个或多个数据网络的自由移动,但此类数据的自由移动是使用促进个人/私有数据流的安全的机制来完成的。
[0051]
鉴于以上内容,并且在继续描述说明性实施例的各种具体方面和由说明性实施例执行的改进的计算机操作之前,应当首先认识到,在整个描述中,术语“机制”将用来指代本发明中执行不同操作、功能等的元素。如本文中使用的术语“机构”可以是以装置、过程或计算机程序产品的形式的说明性实施例的功能或方面的实现方式。在过程的情况下,该过程由一个或多个设备、装置、计算机、数据处理系统等实现。在计算机程序产品的情况下,由体现在计算机程序产品中或其上的计算机代码或指令表示的逻辑由一个或多个硬件设备执行,以便实现功能或执行与具体“机制”相关联的操作。因此,本文中描述的机制可以被实现为专用硬件、在硬件上执行(从而配置该硬件实现本发明的专门功能,在其它方式下,该硬件不能执行该专门功能)的软件、存储在介质上的软件指令(使得指令可容易地由硬件执行以由此具体配置硬件来执行本文中描述的所述功能和具体计算机操作)、用于执行功能的过程或方法、或以上的任何的组合。
[0052]
本描述和权利要求可以关于说明性实施例的具体特征和元件利用术语“一个”、“至少一个”和“一个或多个”。应当理解,这些术语和短语旨在说明在具体说明性实施例中存在至少一个特定特征或元件,但还可以存在多于一个。即,这些术语/短语并非旨在将描述或权利要求限制为存在的单个特征/元素或者需要存在多个这样的特征/元素。相反,这些术语/短语仅需要至少单个特征/元件,其中多个这种特征/元件可能在说明书和权利要求书的范围内。
[0053]
此外,应理解的是,如果在此关于描述本发明的实施例和特征使用术语“引擎”,则其不旨在限制用于实现和/或执行归因于和/或由该引擎执行的动作、步骤、过程等的任何特定实现方式。引擎可以是,但不限于,在计算机硬件上执行的软件、专用计算机硬件和/或固件、或其任意组合,其执行指定的功能,包括,但不限于,通用和/或专用处理器与加载或存储在机器可读存储器中并由处理器执行的适当软件相组合的任何使用,从而具体配置处理器以执行说明性实施例的具体功能。进一步,除非另外指定,否则与特定引擎相关联的任何名称是出于方便参考的目的而并非旨在限于具体实现方式。此外,归于引擎的任何功能可以同样地由多个引擎执行,并入到相同或不同类型的另一引擎的功能中和/或与其组合,或分布在各种配置的一个或多个引擎上。
[0054]
此外,应当理解,以下描述使用说明性实施例的各种元件的多个不同实例来进一步说明说明性实施例的示范性实现方式并且帮助理解说明性实施例的机制。这些实例旨在是非限制性的,并且不是穷尽用于实施说明性实施例的机制的各种可能性。鉴于本说明书,对本领域普通技术人员显而易见的是,在不背离本发明的精神和范围的情况下,除了或者代替在本文中提供的示例,还可以利用这些各种元件的许多其他替代实现方式。
[0055]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个
介质)。
[0056]
计算机可读存储介质可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
[0057]
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
[0058]
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或以一种或多种编程语言的任何组合编写的源代码或目标代码,这些编程语言包括面向对象的编程语言(如java、smalltalk、c 等)和常规的过程编程语言(如“c”编程语言或类似的编程语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
[0059]
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0060]
这些计算机可读程序指令可被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
[0061]
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机
实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
[0062]
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的次序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
[0063]
如上所述,说明性实施例提供改进的计算工具和改进的计算工具操作,用于提供利用基于逻辑推理的问题回答执行视频问题回答(vqa)的人工智能机制。说明性实施例实现改进的计算工具,其包括视频解析器、基于变换器的动作转换模型、程序解析器和程序执行器。此外,说明性实施例对由这些元素生成的数据结构(诸如情形图数据结构、令牌序列、超图数据结构和程序模块)进行操作,以对所生成的预测的超图数据结构执行所生成的程序,以生成对有关由视频解析器所解析的输入视频数据的逻辑推理问题的回答。
[0064]
图1是示出根据一个说明性实施例的基于情形式推理变换器(srt)的改进的计算工具的主要操作部件的框图。如图1所示,实现基于srt的架构的ai系统100使用视频解析器120来将从视频数据源计算系统102接收的输入视频数据110表示为人类和/或物体实体以及这些实体之间的关系的数据表示121、122和123的集合。例如,视频解析器120可以是具有一组识别模型124-127的感知模块,其获取在时间t给定情形s中以人为中心或以物体为中心的表示,例如,每个时间戳t可以具有来自输入视频数据110的一个或多个图像帧,这一个或多个图像帧定义该时间戳的情形s。为了简化物体/人识别,使用对象检测边界框机制来在输入视频数据中定位物体和人。视频解析器120的识别模型124-127包括提取输入视频数据110中的每个物体或人的视觉表示的对象检测器124、关系检测器125、以及用于提取人类运动的骨架表示的姿态解析器126。视频解析器120可以包括对象检测边界框机制,例如,用于检测在输入视频数据中存在的物体和人。关系检测器可以包括诸如通过使用softmax分布等来预测每个实体对的谓词的流水线。姿态解析器126可利用识别人或物体结构的关键点并基于这些关键点来确定人/物体的姿态的多区域和/或多人姿态估计。在不脱离本发明的精神和范围的情况下,可以使用任何类型的物体、人、关系解析机制。
[0065]
为了识别在输入视频数据110中看到的动作,与在输入视频数据110本身中未表示的未看到的动作相反,可实现动作识别器127。动作识别器127可以利用神经网络架构来分析输入视频数据并且针对输入视频数据中存在的特定动作对输入数据进行分类。这些看到的动作是由如本文所述的说明性实施例的机制处理的涉及多个动作的推理情形,例如可行性和序列问题,的前提条件。可以使用机器学习过程在一组训练视频数据上训练视频解析器120。训练视频数据库包括表示在不同环境中的不同人类-物体干预的各种输入视频数据序列。可以从诸如可以存储在视频源计算系统102中的训练视频的库中随机地对其进行采样,以针对各种类型的视频数据序列获得外观特征、物体类别、人类姿势、以及边界框位置。
[0066]
视频解析器120针对与各个时间戳t1至tn对应的各个情形识别输入视频数据110
中的人、物体以及人和/或物体之间的关系。因此,例如,对于与时间戳t1对应的输入视频数据110的一个或多个图像帧,可以生成一组人、物体和关系元组。这些元组识别人-物体关系或物体-物体关系。例如,如果在时间戳t1表示的情形是男人拾取一本书,那么元组可以指定(男人、书、拾取)其中“男人”是人,“书”是物体,并且“拾取”是人与物体之间的关系。此外,如果所表示的情形还包括在桌子上的杯子,则元组可以是该类型(杯子、桌子、在上面)等。
[0067]
通过视频解析器120的操作识别的人、物体和关系用于生成情形图数据结构131,针对对应于输入视频数据中的时间戳的每个情形一个情形图数据结构131,情形图数据结构131被输入到基于变换器的动作转换模型130。情形图数据结构131可以包括具有表示实体的节点和表示实体之间的关系或实体关系的边的图。在一些说明性实施例中,这些图数据结构可以是指定由边表示的关系的方向的有向图数据结构。另外,针对物体和关系维护关于在输入视频数据中识别的关系的定时的时间信息,例如,与个别视频片段(例如,一或多个图像帧)相关联的时间戳与表示那个视频片段的对应情形图数据结构相关联,其中针对输入视频数据110的视频片段序列的每一视频片段(例如,输入视频数据110的每一时间戳)产生不同情形图数据结构。由此,视频解析器120检测定义输入视频数据中存在的情形的实体及其关系,其中情形描述实体、事件、时刻和环境并且对应于具有多个连续或重叠的动作和交互的视频的修剪部分。
[0068]
基于变换器的动作转换模型130实现情形式推理变换器(srt)机制,所述srt机制包括情形编码器132、动态变换器模型134以及图序列解码器136。srt机制学习隐式转换过程以按照情形图数据结构131中表示的实体关系的概括的形式将缺失的信息预测为一个或多个预测的超图数据结构140,其中超图是一个或多个情形图数据结构的概括,其中超边可以连接任何数量的节点(或顶点)而不是像情形图数据结构中那样仅连接两个节点(或顶点)的边。也就是说,srt包括逻辑132-136,通过机器学习训练过程来训练该逻辑132-136以预测各个情形图数据结构131的节点之间的关系,从而生成预测的超图数据结构140,其中预测的超图数据结构140的超边141、142将情形图数据结构的一个或多个节点连接到相同或不同情形图数据结构的另一个或多个节点。srt使用统一的模式来以这些预测的超图数据结构的形式来描述现实世界情形中的动态过程。预测的超图数据结构表示在输入视频数据110中表示的情形内的动作和内部关系以及它们的分层结构。与情形相对应的每个视频片段序列是表示帧内关系(例如,人-物体或物体-物体关系)的一组情形图数据结构131。另一方面,每个预测的超图数据结构140不仅指示帧内关系,还指示输入视频数据110中所表示的情形内和情形之间的预测关系。
[0069]
基于变换器的动作转换模型130的情形编码器132采取情形图数据结构131并将它们编码成令牌序列133。情形编码器132被设计用于情形表示。情形编码器132将连接的情形图数据结构131编码为分层结构令牌序列133。由与输入视频数据110中的图像帧相关联的时间戳所表示的情形的时间次序组织令牌序列《s0,

,s
t
》,其中,s是对应的时间戳0到t的情形。时间t中的每个情形s对应于两个片段,情形图片段和动作超边片段。
[0070]
如上所述,情形图数据结构131片段包括具有原子令牌的一组人-物体或物体-物体交互元组:人、物体和空间或联系关系《hi,oi,ri》。所有连接的人或物体节点参与由情形编码器132编码的情形图数据结构片段,并且由情形编码器132生成的令牌序列133中的每
组情形片段令牌被填充零令牌以达到统一数量的情形片段令牌。超边片段中的每个令牌(例如,用于连接情形图的每个情形图数据结构的一组一个或多个动作令牌)表示具体动作类型aj。每个令牌是从以下类型的嵌入向量捕获信息的总和:(1)令牌嵌入:物体的外观表示、人的姿势表示或动作的分布式嵌入、关系类别;(2)类型嵌入:指示令牌类型;(3)超边嵌入:指示每个情形内的超边位置;(4)情形嵌入:记录情形时间次序;以及(5)片段嵌入。情形嵌入和片段嵌入用于指示每个令牌的情形时间次序和片段类型。分离嵌入标记令牌序列中的情形和片段的边界。所构建的令牌序列133描述一组情形图数据结构131的结构。
[0071]
动态变换器模型134从情形编码器132接收所构建的令牌序列133,并且被设计为通过学习给定情形下输入数据类型之间的关系来动态预测动作状态或关系。动态变换器模型134包括具有下游任务预测器的多层堆叠变换器架构。堆叠变换器块被用来计算具有多个抽头的输入令牌序列133的自关注分数。关注描述了情形图数据结构131中的两个节点之间的每个潜在关系(例如,动作超边或人-关系-物体三元组)的连接。因为变换器的自关注内部结构与令牌对相对应,所以输入令牌上的整个关注执行动态关系建模。相邻的节点连接被求和成单个节点。所聚集的效应被存储在时间t的当前状态中并且被应用于对在当前步骤或下一时间t 1的状态中的缺失信息的预测。这种动态关注建模将所有可能的关系处理为隐式连接。当关系未知或者一些视觉线索不可靠时,这将更稳健。该动态变换器模型134还用于预测针对预测问题或可行性问题的若干看不见的情形。
[0072]
动态变换器模型134基于所构建的输入令牌序列133来生成预测令牌序列135,该预测令牌序列135包括针对输入令牌序列133中的任何缺失信息(诸如训练期间的被掩蔽令牌)的预测和针对输入视频数据110的最后时间戳t之后的一个或多个后续时间戳处的令牌序列的预测。预测的令牌序列135被输入到图序列解码器136。
[0073]
存在由图序列解码器实现的三个自我监督任务:动作类型预测、人-物体关系类型预测、以及掩蔽令牌建模(用于物体或人)。前两个任务使用诸如rnn、cnn等(分类器)的机器学习计算机模型,以使用多层感知器(mlp)来预测动作超边或关系,所述多层感知器具有先前情形(例如,具有对应于视频序列中的较早情形的先前时间戳的情形图数据结构)中的所有状态的汇集全局表示。
[0074]
尽管假设识别模型(例如,视频解析器120中的对象检测器124和人姿势检测器126)可实现高准确度,但输入视频数据中的若干物体或人类姿势可能是模糊的或不可见的。掩蔽令牌建模旨在通过重构它们的嵌入向量来增强表示鲁棒性。图序列解码器136从动态变换器模型134中获取输入的预测令牌序列135,并且将这些分类器和掩蔽令牌建模应用于预测令牌序列135,以生成预测超图140。
[0075]
因此,图序列解码器136生成具有链接情形图数据结构131的部分143-146的一个或多个节点的超边141和142的预测超图140。例如,预测超图140的超边141-142对应于预测的令牌序列135中的预测的令牌。预测超图140被输入到程序执行器170,该程序执行器170将在预测超图140上执行生成的程序以生成针对输入问题150的回答180。
[0076]
ai系统100还包括语言/程序解析器160,其解析输入的自然语言问题150并且生成与自然语言问题150对应的可执行程序。语言/程序解析器160包括自然语言解析器166,自然语言解析器166以本领域通常已知的方式解析自然语言问题150并将解析的自然语言内容提供至编码器161,从而以本领域通常已知的方式生成输入自然语言问题150的编码。自
然语言问题150的编码然后被输入到多个机器学习模型162-164,所述机器学习模型162-164已经被训练以基于来自编码器161的问题编码的输入特征的集合来预测使用什么程序模块来处理针对自然语言问题的回答生成。这些机器学习模型162-164可实现为例如具有关注机制的长短期存储器(lstm)解码器。机器学习模型162-164各自输出来自程序模块库190中的预定程序模块的程序模块和/或程序函数的预测,该预测应当被应用于预测的超图以生成对输入问题150的回答。这些机器学习模型162-164可以使用自然语言输入问题的训练集来训练,自然语言输入问题的训练集被处理以生成程序模块预测,程序模块预测然后根据基础事实程序模块信息而被校正,以便迭代地训练机器学习模型以生成哪些程序模块对应于输入自然语言问题的语言元素的改进预测。
[0077]
将所预测的程序模块/函数提供给程序执行器170,程序执行器170使用嵌套的程序模块/函数对预测超图数据结构140、动作或其他数据类型执行符号推理。推理是对于给定输入问题150的自上而下过程。程序执行器170将所有预测的超图作为初始输入并从输入问题150中提到的第一数据类型开始。然后,程序执行器170在最终步骤中迭代地通过所有有效操作并输出回答。
[0078]
由此,给定包括针对视频序列的不同时间戳的多个输入图像的输入视频数据110,说明性实施例的ai系统100生成预测的超图数据结构,该预测的超图数据结构包括针对输入视频数据110的情形图数据结构中的缺失信息的预测和针对在输入视频数据110中未表示的一个或多个未来时间戳的预测。这些预测超图140包括超边141、142,超边141、142表示加时间戳的视频数据的情形图形数据结构的节点之间的这一缺失信息和/或预测关系。说明性实施例的ai系统100还接收输入自然语言问题并且生成具有嵌套程序模块/功能的程序,该嵌套程序模块/功能对应于输入自然语言问题并且可以在预测的超图上执行以生成对输入自然语言问题的回答。这些输入的自然语言问题可以是需要逻辑推理的类型,诸如针对交互、序列、预测或可行性评估的问题。
[0079]
应当理解,说明性实施例的ai系统100利用通过机器学习过程训练的机器学习模型来学习输入特征的模式与特定输出预测之间的关系。照此,在训练期间,ai系统100可以被提供训练输入视频数据110,其中可以知道人、物体和关系的注解,例如基础事实值。该模型将输入图形数据组织成由图节点和关系组成的结构化令牌序列。情形编码器132可以使用各种掩码来生成令牌序列,这些掩码掩蔽令牌序列中与机器学习训练正训练动态变换器模型134来预测的令牌类型相对应的特定令牌。例如,机器学习可以对令牌序列133迭代地应用不同的掩码以生成掩蔽的令牌序列,该掩蔽的令牌序列然后被输入到动态变换器134,该动态变换器134操作以预测所预测的令牌序列,包括用于被掩蔽的令牌的令牌。基于基础事实比较,动态变换器模型134生成的预测中的误差可被确定并用于调整动态变换器模型134的关注权重等以减小动态变换器模型134预测中的误差。可以针对多个不同的输入视频数据110序列和针对多个不同的掩码来重复该过程。
[0080]
类似的训练可以应用于图序列解码器136的机器学习模型。应理解,整个变换器模型(编码器-解码器-分类器)可用端到端策略来训练,而不是每个单独元件的单独训练,例如编码器的单独训练、解码器的单独训练和分类器的单独训练。
[0081]
在运行时操作期间,在已经训练了动态变换器模型134和图序列解码器136之后,这些元件对新的输入视频数据序列进行操作以预测在输入视频数据110中未表示的未来时
间点处的任何缺失的令牌和/或令牌序列,并由此生成预测的超图数据结构。即,虽然新的输入视频数据可以不使用掩码来掩蔽,但是新的输入视频数据可能具有缺失的信息,诸如模糊图像数据等,该信息可以由动态变换器模型134预测。此外,动态变换器模型134可操作以预测输入视频数据中未表示的下一时间戳t 1的令牌序列,使得对应的预测的超图可用于回答预测性或可行性问题。
[0082]
此外,在训练期间,语言/程序解析器160可被呈现有与不同逻辑推理问题相对应的训练输入问题集合,这些训练输入问题集合将被转换成可执行程序以便在预测的超图上执行。训练由语言/程序解析器160实现的模型的机器学习过程可使用类似的迭代过程来使用基础事实误差评估机制调整关注权重等以减少预测中的误差。即,语言/程序解析器160可以对输入的自然语言问题进行操作,以预测要被组合以生成用于输入问题的程序的程序模块/功能,并且可以将这些预测与基础事实进行比较以确定错误,然后调整关注权重以在迭代期间减少该错误。一旦被训练,语言/程序解析器160可以被应用于新的输入问题并且可以生成用于由程序执行器170在预测超图140上执行以生成结果回答180的程序。
[0083]
因此,说明性实施例提供了用于预测在输入视频序列中未明确示出的关系并基于这些关系预测回答逻辑推理问题的改进的计算工具和改进的计算工具操作。说明性实施例利用预测的令牌序列来从一组输入情形图数据结构生成预测的超图,并且利用预测的程序在预测的超图上执行,以生成对这样的逻辑推理问题的回答。此类逻辑推理问题可采取以下形式:有关跨越多种情形的交互、交互序列、对接下来发生的事情的预测的问题以及有关某些动作的可行性的问题,所有这些问题无法通过现有视频问题回答(vqa)机制来回答,现有视频问题回答(vqa)机制限于回答关于视频图像本身中明确示出的内容的问题。
[0084]
如上所述,说明性实施例的ai系统实现视频解析器120,其识别在输入视频数据110中实际看到的人、物体和关系,其然后被用作用于为输入视频数据110中的每个时间戳生成情形图数据结构的基础。此外,语言/程序解析器160和程序执行器170可基于所生成的程序对所预测的超图数据结构的执行来编码和回答针对逻辑推理的输入问题。图2是示出了根据一个说明性实施例的输入视频数据中所描绘的示例情形连同用于回答逻辑推理问题的对应情形图数据结构和超边的示例图。此外,图2示出了逻辑推理问题、其编码以及对逻辑推理问题的相应正确/不正确回答的示例。
[0085]
如图2所示,视频序列210包括前提条件部分211、过程部分212、结束部分213、和未看见或未来部分214。前提条件部分211包括对在人与环境中的物体进行交互之前的环境的描绘。过程部分212包括对应于在输入视频数据中表示多个原子动作(例如,环境中的人与物体之间的交互)的时间戳的一或多个情形。结束部分213表示视频序列中不再存在交互的部分。未看见或未来部分214包括未在输入视频数据序列210中表示的动作。
[0086]
输入视频数据序列210中表示的每个情形可表示为情形图数据结构220、222、224、226。在一些说明性实施例中,这些情形对应于输入视频数据序列210中的时间戳。情形图数据结构220-226包括表示存在于情形的对应图像中的物体/人的节点,以及表示这些物体/人之间的关系的边。应当理解,一些物体/关系可在该情形中被掩蔽或未被表示,并且被变灰。例如,在情形图数据结构220-226中,物体“电话”以及在人节点与被掩蔽或未被看见的物体“电话”之间的关系可以变灰,意味着它们在输入视频数据序列210中看不到或被遮蔽。
[0087]
因此,例如,情形图数据结构220包括“人”、“瓶子”、“书”、“桌子”和“电话”的节点。
情形图数据结构220进一步包括人持有瓶子、人在桌子前面、人看电话、书在桌子上以及瓶子在书附近的边。情形图数据结构224进一步包括用于“垃圾桶”的节点和人在垃圾桶前面的边。情形图数据结构226进一步包括“烤箱”物体的节点和指示垃圾箱在烤箱附近的边。如上所述,视频解析器使用用于对象识别和关系识别的已知视频解析机制来检测这些物体、人和关系。
[0088]
通过说明性实施例的机制,说明性实施例的ai系统生成预测超图,该预测超图提供相同或不同情形图数据结构的节点之间的预测超边。例如,说明性实施例的机制可以预测情形图数据结构内的缺失边是人可以从瓶子“喝”的超边230。此外,说明性实施例可以预测情形图数据结构222中的另一个缺失边可以是人可以“放下”瓶子,这由超边232表示。此外,超边234和236表示可以通过说明性实施例的机制预测的其他关系或动作,例如人可以“拿”书234。
[0089]
图2还示出了可以针对输入视频数据序列210通过说明性实施例的机制处理的逻辑推理问题的示例。例如,可被输入到语言/程序解析器并被转换成在所预测的超图上执行以生成对该输入问题的回答的程序的交互逻辑推理问题可以是“人在桌子前面时做了什么?”示出q:[v,o]、s:[p,t_r,s_r,o]等的图的元素指定问题(q)和情形(s)中的数据类型。如图2所示,通过示例性实施例的机制处理问题可以生成各种回答,其中一个回答是正确回答并且在训练期间以基础事实表示,以便训练ai系统的模型以生成正确回答。例如,对于交互问题,正确的回答是c“从瓶子喝”。
[0090]
序列逻辑推理问题的示例可以是“在人拿瓶子之前发生了什么?”的类型,正确回答是“放下瓶子”。类似地,预测逻辑推理问题的示例可以是“人接下来打开哪个物体?”的类型,在这种情形下回答是d“门”。可行性逻辑推理问题的示例可以是“在放下瓶子之后人能够拿哪个物体?”的类型,正确回答是“书”。正确回答可以在训练期间被指定为基础事实回答,并且可以是在利用说明性实施例的逻辑推理ai系统的vqa的运行时操作期间由过说明性实施例的机制生成的回答。
[0091]
图3是根据一个说明性实施例的用于srt编码中的表示的超图令牌序列的结构的示例图。如图3所示,序列1和2中的每个令牌由具有多个行的列表示,每行对应于嵌入关于令牌所表示的输入图像序列的元素的信息的不同嵌入。例如,每个令牌具有令牌嵌入(向量)、类型嵌入、三元组嵌入、超边嵌入和情形嵌入。图3中的整数值表示次序id(用于位置令牌)或类id(用于其他令牌),其中“max”的值表示不适用或“na”。字母名称指示令牌的类型,例如,动作(a)、人(p)、关系(r)、物体(o)或分隔符(m)。
[0092]
图4是根据一个说明性实施例的用于程序解析器的自动程序生成的示例程序模块列表。在图4的描述中,“动作”、“动词”、“物体”以及“关系”是来自预测的超图数据结构的对应于这些基本数据类型的对应实体的列表。动作数据类型可以是包含动作类、开始和结束时间的元组,例如(c102,15.0,22.1)。动词、物体和关系可以是给定词汇表中对应的verb、object或relationship,例如,分别为“拿”、“膝上型电脑”和“过来”。“情形”是基本数据类型的组合。“集合”表示基本动词、物体、关系或动作的集合。
[0093]
程序模块和对应的函数可对应于程序模块库中的预定程序模块,该预定程序模块可基于输入的自然语言问题的处理使用语言/程序解析器的预测机制来选择。如图4所示,程序模块/函数具有程序模块类型(例如,输入、元素、过滤器、查询和逻辑),对应的程序模
块或函数用函数名称和描述来定义,该函数名称和描述描述程序模块/函数对所预测的超图数据结构执行什么操作。例如,输入类型程序模块包括“情形”程序模块或函数,其操作将返回预测的超图中所表示的所有情形。类似地,过滤器类型程序模块/函数具有多个不同的程序模块/函数,每个程序模块/函数执行如在它们的描述中指定的不同类型的操作,例如,“filter_actions_with_verb”程序模块/函数从具有输入动词的输入动作中选择动作,其中输入动作将是由预测的超图数据结构中的边所表示的动作,并且动词是在输入自然语言问题中指定的动词和/或与在输入自然语言问题中指定的动词相关联的动词,例如同义词等。
[0094]
图4的输入和输出列示出了到相应的程序模块/功能的输入和由相应的程序模块/功能生成的输出。例如,对程序模块“filter_actions_with_verb”的输入是(动作、动词),其中这些动作是从输入到程序执行器的预测的超图数据结构中获得的,并且该动词是在输入的自然语言问题中指定的动词(和/或同义词)。“filter_actions_with_verb”程序模块/函数输出包括输入动词的动作。
[0095]
这些程序模块/函数可以在程序模块/函数库中预定义,并且可以基于由说明性实施例的语言/程序解析器的机器学习计算机模型所处理的特定输入自然语言问题而被选择用于组合成可执行程序。因此,基于所接收的特定输入自然语言问题,程序模块/函数的不同组合可被组合以解决特定输入问题。所选择的特定程序模块/函数将基于预测最适用于回答输入问题的程序模块/函数的机器学习计算机模型的机器学习训练。
[0096]
预测的程序模块/函数被输入到程序执行器,该程序执行器将程序模块/函数组合成包括这些程序模块/函数的嵌套执行序列的可执行程序。嵌套执行序列的每个级别生成输出,嵌套执行序列的下一级别基于该输出操作。以这种方式,输出被迭代地递归到对输入问题的单个最终回答。
[0097]
图5是根据一个说明性实施例的针对四种示例问题类型的自动生成的程序的示例。图5示出了交互问题、序列问题、预测问题以及可行性问题的示例。针对这些问题类型中的每一个,示出了由程序执行器基于从图4中的预定义程序模块/函数的列表中对程序模块/函数的选择而生成的相应程序的示例。如从图5中可以看出,这些程序中的每一个包括嵌套程序模块/函数架构,其中,程序模块/函数的输出作为输入提供给嵌套架构中的下一程序模块/函数。
[0098]
图6是概述根据一个说明性实施例的改进的计算工具的示例操作的流程图。图6所示的操作假设说明性实施例的具有逻辑推理ai系统的视频问题回答(vqa)的机器学习计算机模型已经通过机器学习过程被训练以生成关于预测的令牌序列、预测的超图数据结构和预测的程序模块/函数的预测,如前所述。因此,图6中概述的操作是用于处理逻辑推理问题的运行时操作,所述逻辑推理问题诸如针对询问交互、序列、生成预测或确定可行性的问题,针对所述问题,回答在输入视频数据序列中可以是“看不见的”或缺失的。应当理解,虽然图6示出了以顺序次序执行的操作,但这不是必需的,并且可以并行执行或与其他操作基本上同时执行的操作可以以这样的并行方式执行,例如,语言/程序解析器的操作可以在基于视频解析器和变换器的动作转换模型对输入视频数据序列操作的基本上相同的时间对输入自然语言问题进行操作。
[0099]
如图6所示,通过接收输入视频数据序列和输入自然语言问题开始操作(步骤
610)。由视频解析器对输入视频数据序列进行解析以生成针对输入视频数据序列中所识别的人、物体和关系的数据表示,其中,这些所识别的人、物体和关系的时间特征被维护,例如,与其在输入视频数据序列中的识别相关联的时间戳(步骤620)。根据所识别的人、物体和关系,生成情形图数据结构(步骤630)。情形图数据结构被输入到为情形图数据结构生成令牌序列的情形编码器(步骤640)。令牌序列被输入到经训练的动态变换器模型,该经训练的动态变换器模型基于输入令牌序列来生成预测的令牌序列,其中预测的令牌序列包括针对输入令牌序列中的缺失信息(例如,缺失令牌)的预测,和/或针对在输入视频数据序列中未表示的时间点(例如,时间t 1,其中t是输入视频数据序列的最终时间戳)处的令牌序列的预测(步骤650)。
[0100]
将所预测的令牌序列输入到图序列解码器,该图序列解码器基于所预测的令牌序列来生成一个或多个预测的超图数据结构(步骤660)。预测的超图数据结构被输入到程序执行器(步骤670)。
[0101]
输入的自然语言问题被输入到语言/程序解析器,该语言/程序解析器解析输入的自然语言问题并且编码输入的自然语言问题以输入到多个训练的机器学习计算机模型(步骤680)。多个经训练的机器学习计算机模型对由问题编码表示的特征进行操作,以生成预定程序模块/函数的预测,该预定程序模块/函数应当被用于生成对输入的自然语言问题的回答进行评估的程序(步骤690)。预测程序模块/函数被输入到将预测程序模块/函数组合到嵌套程序中的程序执行器(步骤692)。程序执行器对预测的超图数据结构执行嵌套程序以生成对自然语言输入问题的回答(步骤694)。然后输出最终回答(步骤696)并且操作终止。
[0102]
应当理解,步骤696中的最终回答输出将根据说明性实施例的机制的特定实现方式而不同地使用。例如,在一些说明性实施例中,最终回答被返回给输入自然语言问题的发起者,其中最终回答可被呈现在计算设备等上以便向用户通知对问题的回答。在其他说明性实施例中,最终回答可以用于生成用于使计算设备或机器人设备实现与最终回答相对应的操作或动作的命令。鉴于本说明书,对于本领域普通技术人员而言,最终回答的多数其他可能的使用也将变得显而易见,诸如但不限于智能聊天系统、医疗辅助系统、家庭机器人系统等。基本上,基于对输入图像序列的逻辑推理进行操作的任何系统可以整合和受益于说明性实施例的机制,以帮助回答关于输入图像序列(视频)的逻辑推理问题,以驱动其他计算机或机器人操作的执行。最终回答的任何潜在实现方式和实际使用意图包含在本说明书中。
[0103]
说明性实施例可以在许多不同类型的数据处理环境中使用,所述数据处理环境可以包括包含单个计算系统的环境,说明性实施例的机制在所述单个计算系统中操作(用户可以通过界面和外围设备与所述单个计算系统交互以输入关于视频数据的自然语言问题并且接收回答)或者包括多个计算设备的分布式数据处理环境。此外,如上面触及的,在一些说明性实施例中,说明性实施例的机制可实施为自主计算系统,诸如自主机器人系统等,其可对经由自主计算系统的传感器(例如,摄像机等)接收的视频操作,可制定关于在视频数据中识别的对象的问题,并且使说明性实施例的机制回答这些问题以产生用于由机器人或自主计算系统执行动作的命令。鉴于本说明书,许多其他类型的计算环境对于本领域普通技术人员来说将是显而易见的,并且这些其他计算环境中的每一个计算环境旨在落入本
发明和说明性实施例的精神和范围内。
[0104]
为了提供针对关于示例计算机环境的本说明书的示例上下文,以下提供图7和8作为可以在其中实现说明性实施例的方面的这样的环境的示例。应了解,图7和8仅为示例,且不意欲断言或暗示关于其中可实施本发明的方面或实施例的环境的任何限制。在不背离本发明的精神和范围的情况下,可以对所描绘的环境做出许多修改。
[0105]
图7描绘了其中可以实现说明性实施例的方面的示例分布式数据处理系统的图形表示。分布式数据处理系统700可以包括可以实现说明性实施例的各方面的计算机网络。分布式数据处理系统700包含至少一个网络702,该网络702是用于在分布式数据处理系统700内连接在一起的不同设备和计算机之间提供通信链路的介质。网络702可包括连接,例如有线、无线通信链路或光纤电缆。
[0106]
在所描绘的示例中,服务器704和服务器706与存储单元708一起连接到网络702。此外,客户端710、712和714也连接到网络702。这些客户端710、712和714可以是例如个人计算机、网络计算机等。在所描绘的示例中,服务器704向客户端710、712和714提供诸如引导文件、操作系统镜像和应用之类的数据。在所描绘的示例中,客户端710、712和714是服务器704的客户端。分布式数据处理系统700可包括附加的服务器、客户端和未示出的其他设备。
[0107]
在所描绘的示例中,分布式数据处理系统700是互联网,其中网络702表示使用传输控制协议/互联网协议(tcp/ip)协议组来彼此通信的网络和网关的全球集合。互联网的核心是主节点或主计算机之间的高速数据通信线路的主干,由数千个路由数据和消息的商业、政府、教育和其他计算机系统组成。当然,分布式数据处理系统700还可被实现为包括多个不同类型的网络,诸如例如内联网、局域网(lan)、广域网(wan)等。如上所述,图7旨在作为示例,而不是作为对本发明的不同实施例的架构限制,并且因此,图7中所示的特定元件不应当被认为是关于其中可以实现本发明的说明性实施例的环境的限制。
[0108]
如图7所示,一个或多个计算装置(例如,服务器704)可以具体配置为实现实施说明性实施例的逻辑推理ai机制(包括来自图1的ai系统100的元件)的vqa系统。即,vqa系统包括图1中的视频解析器120、基于变换器的动作转换模型130、语言/程序解析器160和程序执行器170,其以如先前关于一个或多个说明性实施例描述的方式操作。计算装置的配置可包括提供特定于应用的硬件、固件等以促进本文关于说明性实施例描述的操作的执行和输出的产生。计算装置的配置还可或替代地包括提供存储在一个或多个存储装置中且加载到计算装置(例如服务器704)的存储器中的软件应用程序,以用于致使计算装置的一个或多个硬件处理器执行软件应用程序,所述软件应用程序配置处理器执行操作以及产生本文中关于说明性实施例描述的输出。此外,在不脱离说明性实施例的精神和范围的情况下,可以使用特定于应用的硬件、固件、在硬件上执行的软件应用等的任何组合。
[0109]
应当理解,一旦计算设备以这些方式之一被配置,计算设备就变成专门被配置为实现说明性实施例的机制的专用计算设备并且不是通用计算设备。此外,如下文描述的,说明性实施例的机制的实现改善了计算设备的功能并提供了有用和具体的结果,该结果便于针对特定视频序列的逻辑推理自然语言问题(例如,针对交互、序列、预测或可行性中的一个或多个的问题)的自动的基于ai的回答。
[0110]
作为一个实例,使用图7中的描绘,客户端计算装置(例如,客户端计算装置710)的用户可以查看由视频数据110表示的视频序列,所述视频数据可以存储在服务器计算装置
上、网络附接存储器708等中。例如,经由web浏览器应用,用户可以导航到服务器706或存储设备708并访问视频数据110,视频数据110然后被呈现在客户端计算设备710上。可替代地,在一些说明性实施例中,视频数据可以由实施说明性实施例的ai系统100的相同计算系统提供,使得用户登录到服务器704以例如访问视频数据。
[0111]
客户端计算设备710的用户可能希望询问关于视频数据110的逻辑推理问题,并且因此,可以通过网络浏览器和/或网页或与ai系统100相关联的其他接口将自然语言问题150提交至说明性实施例的机制。ai系统100以诸如之前关于图1所描述的方式对视频数据110和输入问题150进行操作,以生成最终回答180,该最终回答180然后被返回到客户端计算设备710。在客户端计算设备710处,最终回答180可以输出到用户以供用户使用。由此,可以使用基于自动机器学习的vqa系统来向用户提供对关于输入视频序列的逻辑推理问题的回答,该vqa系统通过自动生成自然语言问题和输入视频数据的程序和预测的超图数据结构而被扩充以处理逻辑推理问题。
[0112]
如上所述,说明性实施例的机制利用专门配置的计算设备或数据处理系统来执行用于使用预测的超图数据结构和所生成的特定于被询问的输入自然语言问题的程序来执行具有逻辑推理问题回答的vqa操作的操作。这些计算设备或数据处理系统可包括不同硬件元件,这些硬件元件通过硬件配置、软件配置、或硬件和软件配置的组合被具体配置以实现本文所描述的系统/子系统中的一个或多个。图8是其中可以实现说明性实施例的方面的仅一个实例数据处理系统的框图。数据处理系统800是计算机的示例,诸如图7中的服务器704,其中可以定位和/或执行实现本发明的说明性实施例的过程和方面的计算机可用代码或指令,以便实现如本文所述的说明性实施例的操作、输出和外部效果。
[0113]
在所描绘的示例中,数据处理系统800采用包括北桥和存储器控制器中心(nb/mch)802以及南桥和输入/输出(i/o)控制器中心(sb/ich)804的中心架构。处理单元806、主存储器808和图形处理器810连接到nb/mch802。图形处理器810可以通过加速图形端口(agp)连接到nb/mch 802。
[0114]
在所描绘的示例中,局域网(lan)适配器812连接到sb/ich 804。音频适配器816、键盘和鼠标适配器820、调制解调器822、只读存储器(rom)824、硬盘驱动器(hdd)826、cd-rom驱动器830、通用串行总线(usb)端口和其他通信端口832、以及pci/pcie设备834通过总线838和总线840连接到sb/ich 804。pci/pcie设备可以包括例如以太网适配器、插入卡和用于笔记本计算机的pc卡。pci使用卡总线控制器,而pcie不使用。rom824可以是例如闪存基本输入/输出系统(bios)。
[0115]
hdd826和cd-rom驱动器830通过总线840连接到sb/ich 804。hdd 826和cd-rom驱动器830可以使用例如集成驱动电子器件(ide)或串行高级技术附件(sata)接口。超级i/o(sio)设备836可以连接到sb/ich 804。
[0116]
操作系统运行在处理单元806上。操作系统协调并提供图8中的数据处理系统800内的不同组件的控制。作为客户端,操作系统可以是可商购的操作系统,诸如windows面向对象的编程系统(诸如java
tm
编程系统)可以结合操作系统运行,并且从在数据处理系统800上执行的java
tm
程序或应用提供对操作系统的调用。
[0117]
作为服务器,数据处理系统800可以是例如运行高级交互执行操作系统或
操作系统的ibm eserver
tm
system计算机系统、基于power
tm
处理器的计算机系统等。数据处理系统800可以是在处理单元806中包括多个处理器的对称多处理器(smp)系统。可替代地,可以采用单个处理器系统。
[0118]
操作系统、面向对象的编程系统和应用或程序的指令位于诸如hdd 826的存储设备上,并且可被加载到主存储器808中以供处理单元806执行。用于本发明的说明性实施例的过程可以由处理单元806使用计算机可用程序代码来执行,该计算机可用程序代码可以位于存储器中,例如,主存储器808、rom 824,或例如在一个或多个外围设备826和830中。
[0119]
总线系统(诸如图8所示的总线838或总线840)可由一条或多条总线组成。当然,总线系统可以使用在附接到结构或架构的不同组件或设备之间提供数据传送的任何类型的通信结构或架构来实现。通信单元(诸如图8的调制解调器822或网络适配器812)可以包括用于发送和接收数据的一个或多个设备。存储器可以是例如主存储器808、rom 824或诸如在图8中的nb/mch802中发现的高速缓存。
[0120]
如上所述,在一些说明性实施例中,说明性实施例的机制可以被实现为特定于应用的硬件、固件等,被存储在存储设备(诸如hdd826)中并被加载到存储器(诸如主存储器808)中的应用软件,用于由一个或多个硬件处理器(诸如处理单元806等)执行。照此,图8中所示的计算设备变得被具体配置为实现说明性实施例的机制,并且被具体配置为执行操作和生成输出,如本文关于图1的ai系统100描述的。
[0121]
本领域的普通技术人员将认识到,图7和8中的硬件可以取决于实现方式而变化。除了或代替图7和8中所描绘的硬件,可以使用其他内部硬件或外围设备,诸如闪存、等效非易失性存储器或光盘驱动器等。此外,说明性实施例的过程可以应用于除了前面提到的smp系统之外的多处理器数据处理系统,而不偏离本发明的精神和范围。
[0122]
此外,数据处理系统800可以采取多个不同数据处理系统中的任意形式,包括客户端计算装置、服务器计算装置、平板计算机、膝上型计算机、电话或其他通信装置、个人数字助理(pda)等。在一些说明性示例中,数据处理系统800可以是被配置为具有闪存的便携式计算设备,以提供用于存储操作系统文件和/或用户生成的数据的非易失性存储器。本质上,数据处理系统800可以是任何已知的或以后开发的数据处理系统,而没有架构限制。
[0123]
如上所述,说明性实施例提供改进的人工智能机制,该人工智能机制用于对一组输入图像(例如,视频输入)执行逻辑推理以回答需要这样的逻辑推理的自然语言问题,而不是仅仅回答关于图像本身中明确示出的内容的问题。说明性实施例能够经由视觉感知和认知两者(而不是仅仅经由对象或关系识别)来用逻辑思维激励人工智能计算机模型。
[0124]
应当理解,虽然以上说明性实施例通过为输入视频序列的图像生成情形图数据结构来操作,但是说明性实施例不限于此。相反,说明性实施例可以利用保留用于在输入图像数据中检测到的实体和关系的时间信息和实体关系信息的任何数据表示。情形图数据结构实施例仅旨在作为非限制性示例。
[0125]
此外,应当理解,示例编码和程序模块结构在本文中用于说明性目的,但是说明性实施例不限于这些特定示例。相反,在不背离本说明性实施例的精神和范围的情况下,可以使用任何合适的编码和任何合适的程序模块集和程序模块结构。在图中示出并且在上面描述的编码和程序模块结构仅仅旨在是非限制性示例。
[0126]
此外,虽然说明性实施例实现变换器类型模型架构和变换器模型、lstm等的具体
组合,但说明性实施例不限于此特定架构或这些特定计算机模型。相反,在不背离本发明的精神和范围的情况下,可以使用实现类似操作的机器学习计算机模型的任何合适的集合或架构。本文中描述的和附图中示出的架构和计算机模型旨在是非限制性实例并且提供用于说明性目的,以展示可以用于实现本发明的说明性实施例的计算机模型的一个可能的架构和布置。
[0127]
如上所述,应当理解,说明性实施例可以采取完全硬件实施例、完全软件实施例或包含硬件和软件元件的实施例的形式。在一个示范性实施例中,说明性实施例的机制在软件或程序代码中实现,该软件或程序代码包括但不限于固件、驻留软件、微代码等。
[0128]
适合于存储和/或执行程序代码的数据处理系统将包括至少一个处理器,该至少一个处理器通过例如系统总线的通信总线直接或间接地耦合到存储器元件。存储器元件可以包括在程序代码的实际执行期间使用的本地存储器、大容量存储器和提供至少一些程序代码的临时存储以便减少在执行期间必须从大容量存储器检索代码的次数的高速缓冲存储器。存储器可以是各种类型的,包括但不限于rom、prom、eprom、eeprom、dram、sram、闪存、固态存储器等。
[0129]
输入/输出或i/o设备(包括但不限于键盘、显示器、定点设备等)可以直接地或通过中间的有线或无线i/o接口和/或控制器等耦合到系统。i/o设备可以采取除常规键盘、显示器、定点设备等之外的许多不同形式,例如通过有线或无线连接耦合的通信设备,包括但不限于智能电话、平板计算机、触摸屏设备、语音识别设备等。任何已知或随后开发的i/o设备都旨在处于说明性实施例的范围内。
[0130]
网络适配器也可以耦合到系统,以使得数据处理系统能够通过居间的私有或公共网络耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅仅是用于有线通信的网络适配器的当前可用类型中的几种。还可以使用基于无线通信的网络适配器,包括但不限于802.11a/b/g/n无线通信适配器、蓝牙无线适配器等。任何已知或以后开发的网络适配器都包含在本发明的精神和范围内。
[0131]
已经出于说明和描述的目的呈现了本发明的描述,并且不旨在是详尽的或限于所公开形式的本发明。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域普通技术人员将是显而易见的。选择和描述实施例以便最好地解释本发明的原理、实际应用,并且使本领域的其他普通技术人员能够理解本发明的具有适合于预期的特定用途的各种修改的各种实施例。这里使用的术语被选择来最好地解释实施例的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域普通技术人员能够理解这里公开的实施例。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献