CN114756662A - 基于多模态输入的任务特定文本生成 - Google Patents
基于多模态输入的任务特定文本生成 Download PDFInfo
- Publication number
- CN114756662A CN114756662A CN202210021120.4A CN202210021120A CN114756662A CN 114756662 A CN114756662 A CN 114756662A CN 202210021120 A CN202210021120 A CN 202210021120A CN 114756662 A CN114756662 A CN 114756662A
- Authority
- CN
- China
- Prior art keywords
- modalities
- embedding
- desired task
- symbols
- word
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Machine Translation (AREA)
Abstract
本公开涉及基于多模态输入的任务特定文本生成。在一个实施例中,一种方法包括访问与期望任务相关联的第一符号组和与期望任务的背景相关联的一个或更多个模态,使用与一个或更多个模态中的每个模态相关联的分类器网络针对模态确定第二符号组,通过将第一符号组和与一个或更多个模态中的每个模态相关联的第二符号组映射到嵌入空间来生成多个嵌入向量,并且通过用编码器‑解码器网络处理多个嵌入向量来产生解决期望任务的单词序列。
Description
优先权
本申请根据35U.S.C.§119(e)要求于2021年1月8日提交的第63/135456号美国临时专利申请和于2021年6月4日提交的第17/339,759号美国非临时专利申请的权益,以上美国专利申请通过引用并入本文。
技术领域
本公开大体上涉及机器学习技术,且尤其涉及通过使用机器学习模型处理多模态输入来生成任务特定文本。
背景
人工神经网络(ANN),通常简称为神经网络(NN),是隐约地受构成动物大脑的生物神经网络启发的计算系统。ANN是基于被称为人工神经元的连接单元或节点的集合,这些连接单元或节点松散地模拟生物大脑中的神经元。每一个连接,就像生物大脑中的突触一样,能够向其他神经元传递信号。人工神经元接收信号,然后对信号进行处理,并能向与之相连的神经元发出信号。连接处的“信号”是一个实数,并且每个神经元的输出通过其输入之和的某种非线性函数来计算。这些连接称为边。神经元和边通常具有随着学习的进行而调整的权重。权重会增加或减少连接处的信号强度。神经元可以有一个阈值,使得只有当聚合信号超过该阈值时才发送信号。通常,神经元会聚集成层。不同的层可以对其输入执行不同的变换。信号从第一层(输入层)行进到最后一层(输出层),可能是在多次穿过这些层之后。生成对抗网络(GAN)是一种基于输入数据生成新数据(诸如新图像)的人工神经网络。
特定实施例概述
本文描述的特定实施例涉及基于与期望任务相关联的一个或更多个符号组和与期望任务的背景相关联的一个或更多个传感器数据用于生成解决期望任务的单词序列的系统和方法,其中一个或更多个传感器数据中的每个传感器数据由独特的传感器生成。期望任务以期望的形式生成事件的背景。一个或更多个传感器数据中的每个传感器数据都被转换成符号组。通过可学习的分词器(tokenizer)将每个符号组转换成多维语言嵌入空间中的一个或更多个嵌入向量。通过这样做,可以在语言嵌入空间中融合多模态输入。为了解决连续传感器数据(例如,视频或音频)上符号化的不可微性,引入了可微分符号化模块,这使得能够在框架内进行机器学习模型的端到端训练。虽然先前的方法利用仅编码器模型,但是本发明中引入的框架包括自回归解码器,以根据由语言编码器融合的多个嵌入向量生成开放式文本。该框架是完全生成性的,并且能够为各种期望任务生成单词序列,而不需要为每个期望任务设计专门的网络头。本文公开的框架的实验表明,本文公开的框架在以下三个基于视频的文本生成任务方面优于现有技术:加字幕、问题回答和视听场景感知对话。
在特定实施例中,计算设备可以访问与期望任务相关联的一个或更多个第一符号组以及与期望任务的背景相关联的一个或更多个模态。期望任务可以包括描述事件的字幕、对与事件相关的给定问题的回答、与事件相关的问题、背景感知对话或任何合适的任务。一个或更多个模态可以包括视频传感器数据、音频传感器数据、惯性测量单元(IMU)传感器数据、光检测和测距(激光雷达)传感器数据或任何合适的传感器数据。计算设备可以使用与一个或更多个模态中的每个模态相关联的分类器网络针对该模态确定第二符号组。针对一个或更多个模态中的每个模态确定符号组可以包括基于针对多个类别的概率分布在多个类别中对对应于该模态的一个或更多个类别采样。采样可以通过可微分符号化单元来执行。针对多个类别的概率分布可以通过用与模态相关联的分类器网络处理模态来生成。采样可以包括用Gumbel-Softmax的分类再参数化或者符号化的可微分近似化。
在特定实施例中,计算设备可以通过将一个或更多个第一符号组和与一个或更多个模态中的每个模态相关联的第二符号组映射到嵌入空间来生成多个嵌入向量。将属于模态的符号组映射到d维嵌入空间中的一个或更多个嵌入向量可以包括查找对应于该模态的嵌入表。在特定实施例中,对应于第一模态的第一嵌入表可以不同于对应于第二模态的第二嵌入表。多个嵌入向量中的每个嵌入向量可以具有在多个嵌入向量中的预定的相对位置。
在特定实施例中,计算设备可以通过用编码器-解码器网络处理多个嵌入向量来产生解决期望任务的单词序列。编码器-解码器网络中的编码器可以通过处理多个嵌入向量来生成潜在表示(latent representation)。编码器-解码器网络中的解码器可以通过处理潜在表示来一次产生一个单词。所产生的单词可以是基于与词典中的每个单词相关联的概率从单词词典中选择的。解码器可以在单词序列中将第1个到第k个产生的单词作为输入来产生第k+1个单词。
在特定实施例中,计算设备可以训练整个网络,该整个网络包括与一个或更多个模态相关联的分类器网络、与每个符号组相关联的嵌入表以及编码器-解码器网络。在训练过程的开始时,可以用预训练的模型将与一个或更多个模态中的每个模态相关联的每个分类器网络、对应于每个符号组的每个嵌入表以及编码器-解码器网络初始化。在训练过程中,可以通过反向传播来更新分类器网络、嵌入表和编码器-解码器网络。在反向传播期间,可以使用直通估计器(Straight-Through Estimator)估计针对一个或更多个模态中的每个模态的多个类别中的每个类别的梯度。可以基于解决期望任务的地面真实(ground-truth)单词序列与由编码器-解码器网络中的解码器生成的单词序列之间的比较来计算损失(loss)。可以基于地面真实单词序列中的第k个单词与当从在地面真实序列中的第1个单词到第k-1个单词的子单词序列作为输入被提供给解码器时生成的第k个单词之间的比较,计算第k个单词的部分损失。
本文公开的实施例仅仅是示例,并且本公开的范围不限于这些实施例。特定实施例可以包括本文公开的实施例的组件、元件、特征、功能、操作或步骤中的所有、一些或全部不被包括。根据本发明的实施例在所附权利要求中以特定方式被公开,涉及方法、存储介质、系统和计算机程序产品,其中在一个权利要求类别(例如方法)中提到的任何特征也可以在另一个权利要求类别(例如系统)中被要求保护。在所附权利要求中的从属性或往回引用仅为了形式原因而被选择。然而,也可以要求保护由对任何前面的权利要求的有意往回引用(特别是多项引用)而产生的任何主题,使得权利要求及其特征的任何组合被公开并且可被要求保护,而不考虑在所附权利要求中选择的从属性。可以被要求保护的主题不仅包括如在所附权利要求中阐述的特征的组合,而且还包括在权利要求中的特征的任何其他组合,其中,在权利要求中提到的每个特征可以与在权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的实施例和特征中的任一个可以在单独的权利要求中和/或以与本文描述或描绘的任何实施例或特征的任何组合或以与所附权利要求的任何特征的任何组合被要求保护。
附图简述
图1示出了用于基于与事件相关联的多模态输入来生成解决期望任务的单词序列的示例架构。
图2示出了基于多模态输入生成解决期望任务的单词序列的机器学习框架内的示例数据流。
图3示出了对多模态输入的示例处理,以生成解决期望任务的单词序列。
图4示出了在机器学习框架的训练期间的示例反向传播过程。
图5示出了用于基于与期望任务相关联的一个或更多个符号组和与期望任务的背景相关联的一个或更多个传感器数据来生成解决期望任务的单词序列的示例方法。
图6A示出了关于视听场景感知对话的比较结果。
图6B示出了关于视频问题回答的比较结果。
图6C示出了关于视频字幕的比较结果。
图7示出了嵌入空间的示例视图。
图8示出了示例人工神经网络。
图9示出了示例计算机系统。
示例实施例的描述
图1示出了用于基于与事件相关联的多模态输入来生成解决期望任务的单词序列的示例架构。计算设备110可以访问与事件相关联的多模态输入。多模态输入可以包括与期望任务相关联的一个或更多个符号组101A和101B,以及与期望任务的背景相关联的一个或更多个模态103A、103B和103C。一个或更多个符号组可以包括确定期望任务的符号组。一个或更多个模态103A、103B和103C可以包括由与计算设备110相关联的各种传感器捕获的数据。一个或更多个模态103A、103B和103C可以包括视频传感器数据、音频传感器数据、惯性测量单元(IMU)传感器数据、光检测和测距(激光雷达)传感器数据或任何合适的传感器数据。计算设备110可以用机器学习框架120来处理所访问的多模态输入,以生成解决期望任务的单词序列105。尽管本公开描述了用于基于与事件相关联的多模态输入来生成解决期望任务的单词序列的特定架构,但是本公开设想了用于基于与事件相关联的多模态输入来生成解决期望任务的单词序列的任何合适的架构。
图2示出了基于多模态输入生成解决期望任务的单词序列的机器学习框架内的示例数据流。一个或更多个模态103A、103B或103C中的每个模态可以通过对应的分类器211A、211B或211C处理,以产生关于与分类器211A、211B或211C相关联的多个类别的概率分布。计算设备110可以通过基于关于与分类器211A、211B或211C相关联的多个类别的概率分布对模态103A、103B或103C的一个或更多个类别采样,来确定一个或更多个模态103A、103B或103C中的每个模态的符号组。计算设备110可以使用相对应的可微分符号化单元(DTU)213A、213B或213C进行采样。计算设备110可以通过将一个或更多个符号组101A和101B以及与一个或更多个模态103A、103B或103C中的每个模态相关联的符号组映射到嵌入空间来生成多个嵌入向量220。将符号组映射到在d维嵌入空间中的一个或更多个嵌入向量可以包括查找对应于符号组的嵌入表215A、215B、215C、215D或215E。计算设备110可以使用编码器-解码器网络217来处理多个嵌入向量220,以产生解决期望任务的单词序列105。尽管本公开描述了在机器学习框架内基于多模态输入生成解决期望任务的单词序列的特定数据流,但是本公开设想了在机器学习框架内基于多模态输入生成解决期望任务的单词序列的任何合适的数据流。
在特定实施例中,计算设备110可以访问与期望任务相关联的一个或更多个第一符号组以及与期望任务的背景相关联的一个或更多个模态。期望任务可以包括描述事件的字幕、对与事件相关的给定问题的回答、与事件相关的问题、背景感知对话或任何合适的任务。一个或更多个模态可以包括视频传感器数据、音频传感器数据、惯性测量单元(IMU)传感器数据、光检测和测距(激光雷达)传感器数据或任何合适的传感器数据。图3示出了对多模态输入的示例处理,以生成解决期望任务的单词序列。作为示例而不是作为限制,如图3所示,计算设备110访问三个符号组301A、301B和301C以及两个模态303A和303B。符号组301A定义了期望任务。例如,符号组301A可以是“回答问题”、“添加字幕”、“视听场景感知对话”或定义期望任务的任何其他合适的符号组。符号组301B是在场景中捕获的人之间的对话的转录(transcription)。符号组301C是先前的对话历史。当符号组301A是“视听场景感知对话”时,可以提供符号组301C。在图3所示的示例中,计算设备110已经生成了对来自用户的问题“视频开始时正在发生什么?”的响应“一个女人正走向紧闭的门”。用户继续问“有人在说话吗?”计算设备110将使用机器学习框架120生成包括对该问题的响应的单词序列。传感器数据303A是由视频传感器捕获的视频数据。传感器数据303B是由音频传感器捕获的音频数据。尽管本公开描述了以特定方式访问与期望任务相关联的一个或更多个符号组以及与期望任务的背景相关联的一个或更多个模态,但是本公开设想了以任何合适的方式访问与期望任务相关联的一个或更多个符号组以及与期望任务的背景相关联的一个或更多个模态。
在特定实施例中,计算设备110可能需要对来自每个模态的信息进行编码,以全面地理解多模态输入。以前的方法依赖于额外的跨模态融合模块以组合来自不同模态的输入信号。这种方法可能会由于集成不同模态而引入不必要的复杂性。计算设备110可以通过将不同的输入信号映射到公共语义语言空间中来执行多模态融合。可以使用预训练的模态特定分类器211,所述预训练的模态特定分类器211被训练以预测在预定义语言词汇上的一大组类别。模态特定分类器211可以包括被训练以识别大量动作的视频分类器311A,或者被训练以区分一组宽泛的声音类别的音频分类器311B。此后,计算设备110可以利用现有的语言嵌入模型来将由每个模态特定分类器211预测的顶部文本类别(top textual categories)映射到公共语义语言空间中。
在特定实施例中,计算设备110可以使用分类器网络211和与模态相关联的可微分符号化单元213来针对一个或更多个模态中的每个模态确定第二符号组。针对一个或更多个模态中的每个模态确定符号组可以包括基于针对多个类别的概率分布对多个类别中对应于该模态的一个或更多个类别进行采样。针对多个类别的概率分布可以通过用与模态相关联的分类器网络211处理模态来生成。采样可以包括用Gumbel-Softmax的分类再参数化和/或符号化的可微分近似化。具体地,计算设备110可以通过添加Gumbel噪音到预测的概率分布来再参数化该预测的概率分布,其中gm=-log(-log(u))且u~Uniform(0,1)。计算设备110可以针对每个模态m从再参数化的概率分布对顶部Km类别采样。利用该再参数化的分布,选择顶部Km类别等同于从原始分布中对Km类别采样。采样可以由可微分符号化单元213执行。然而,选择顶部Km类别的过程仍然不可微分。为了解决这个问题,可以使用直通估计器。如上所述,具体地,在正向传播期间,计算设备110可以对顶部Km类别采样。相反,在反向传播期间,计算设备110可以将关于每个类别c的梯度估计为:
其中是学习的Cm类别符号的D维嵌入。这使得包括模态特定分类器211的整个系统能够进行端到端训练。作为示例而不是作为限制,继续图3所示的先前示例,计算设备110可以针对模态303A和303B中的每个模态产生针对多个类别的概率分布。如上所述,计算设备110可以在可微分符号化单元313处从多个类别的每个类别中采样一个或更多个类别。尽管本公开描述了以特定方式针对一个或更多个模态中的每个模态确定符号组,但是本公开设想了以任何合适的方式针对一个或更多个模态中的每个模态确定符号组。
在特定实施例中,计算设备110可以通过将一个或更多个第一符号组和与一个或更多个模态中的每个模态相关联的第二符号组映射到嵌入空间来生成多个嵌入向量。将符号组映射到d维嵌入空间中的一个或更多个嵌入向量可以包括查找对应于模态的嵌入表。图2示出了五个映射表215A、215B、215C、215D和215E,该五个映射表215A、215B、215C、215D和215E对应于符号组101A和101B以及基于模态103A、103B和103C生成的符号组。在特定实施例中,对应于第一模态的第一嵌入表可以不同于对应于第二模态的第二嵌入表。从一个符号组映射的一个或更多个嵌入向量可以具有在多个嵌入向量中的预定的相对位置。对应于第一符号组的一个或更多个嵌入向量可以通过特殊的“分离符”符号与对应于多个嵌入向量内的第二符号组的一个或更多个嵌入向量分开。作为示例而不是作为限制,继续图3所示的先前示例,计算设备110针对定义期望任务的符号组301A生成一个或更多个嵌入向量。计算设备110针对符号组301B(口语的转录)生成一个或更多个嵌入向量。计算设备110针对符号组301C(对话历史)生成一个或更多个嵌入向量。计算设备110针对基于视频数据303A生成的符号组生成一个或更多个嵌入向量。计算设备110针对基于音频数据303B生成的符号组生成一个或更多个嵌入向量。计算设备110可以针对每个符号组使用不同的映射表。计算设备110可以通过组合关于每个符号组的一个或更多个嵌入向量来构建多个嵌入向量320。通过分离符嵌入向量将对应于第一符号组的一个或更多个嵌入向量与对应于第二符号组的一个或更多个嵌入向量分开。尽管本公开描述了通过以特定方式将每个符号组映射到嵌入空间来生成多个嵌入向量,但是本公开设想了通过以任何合适的方式将每个符号组映射到嵌入空间来生成多个嵌入向量。
在特定实施例中,计算设备110可以通过用编码器-解码器网络处理多个嵌入向量来产生解决期望任务的单词序列。编码器-解码器网络中的编码器可以通过处理多个嵌入向量来生成针对期望任务的潜在表示。编码器-解码器网络中的解码器可以通过处理潜在表示以自回归方式每次生成一个单词。每个生成的单词可以基于与词典中的每个单词相关联的概率从单词词典中选择。解码器可以将第1个选择的单词到第k个选择的单词作为输入的一部分,以用于生成在单词序列中的第k+1个单词。作为示例而不是作为限制,继续图3所示的先前示例,计算设备110通过用编码器-解码器网络中的编码器317A处理多个嵌入向量320来生成关于期望任务的潜在表示。编码器-解码器网络中的解码器317B针对输出单词序列中的每个单词生成针对词典中单词的概率分布305。针对输出单词序列中的每个单词,计算设备110基于生成的概率分布305选择单词。解码器317B将第k个选择的单词作为输入的一部分,以生成针对在单词序列中的第k+1个单词的概率分布。尽管本公开描述了以特定方式产生解决期望任务的单词序列,但是本公开设想了以任何合适的方式产生解决期望任务的单词序列。
在特定实施例中,计算设备110可以训练整个机器学习框架120,机器学习框架120包括与一个或更多个模态相关联的分类器网络211、与每个符号组相关联的嵌入表215以及编码器-解码器网络217。图4示出了在机器学习框架的训练期间的示例反向传播过程。在步骤410处,计算设备可以基于解决期望任务的地面真实单词序列与从编码器-解码器网络217中的解码器生成的单词序列之间的比较来计算损失。计算设备可以计算关于在机器学习框架120中的可训练参数的梯度。在步骤420处,计算设备110可以基于计算的梯度更新编码器-解码器网络217的参数。在步骤430A、430B、430C、430D和430E处,计算设备110可以更新嵌入表215A、215B、215C、215D和215E中的每个嵌入表的参数。在训练机器学习框架120之后,两个不同的嵌入表可以将单个符号映射到两个不同的嵌入向量,因为每个嵌入表的参数是独立更新的。在步骤440A、440B、440C处,计算设备可以更新可微分符号化单元213A、213B和213C的参数。为了更新可微分符号化单元的参数,可以使用直通估计器来估计关于每个可微分符号化单元的多个类别中的每个类别的梯度。在特定实施例中,可以跳过更新可微分符号化单元213A、213B和213C的参数。然后,针对每个可微分符号化的多个类别中的每个类别的梯度可以仅被通过。在步骤450A、450B和450C处,计算设备可以更新分类器网络211A、211B和211C的参数。尽管本公开描述了以特定方式训练机器学习框架以用于基于多模态输入生成解决期望任务的单词序列,但是本公开设想了以任何合适的方式训练机器学习框架以用于基于多模态输入生成解决期望任务的单词序列。
在特定实施例中,计算设备110可以在训练过程开始时,以预训练的模型初始化与一个或更多个模态中的每个模态相关联的每个分类器网络211、对应于每个符号组的每个嵌入表215以及编码器-解码器网络217。如上所述,在训练过程期间,可以通过反向传播更新分类器网络、嵌入表和编码器-解码器网络。作为示例而不是作为限制,继续图3所示的先前示例,在机器学习框架120的训练开始时,分类器网络311A可以用被训练以识别大量动作的视频分类器模型来初始化。分类器网络311B可以用被训练以区分一组广泛的声音类别的音频分类器模型来初始化。符号组301A、301B和301C以及基于传感器数据303A和303B生成的符号组的嵌入表可以用现有的语言嵌入模型初始化。在特定实施例中,嵌入表在训练开始时可以彼此相同。然而,当机器学习框架120被训练时,嵌入表被独立更新。编码器-解码器网络中的编码器317A和解码器317B可以用预训练的文本变换器网络(诸如T5-base)初始化。尽管本公开描述了在训练开始时以特定方式用预训练的模型初始化机器学习框架内的每个网络,但是本公开设想了在训练开始时以任何合适的方式用预训练的模型初始化机器学习框架内的每个网络。
在特定实施例中,在反向传播期间,可以使用直通估计器来估计针对每个可微分符号化单元213的多个类别中的每个类别的梯度。在反向传播期间,计算设备110可以将关于每个类别c的梯度估计为:
其中是学习的Cm类别符号的D维嵌入。这可以使得包括模态特定分类器211的整个系统能够进行端到端训练。尽管本公开描述了以特定方式估计针对每个可微分符号化单元的多个类别中的每个类别的梯度,但是本公开设想了以任何合适的方式估计针对每个可微分符号化单元的多个类别中的每个类别的梯度。
在特定实施例中,计算设备110可以基于解决期望任务的地面真实单词序列与由编码器-解码器网络中的解码器生成的单词序列之间的比较来计算损失。教师强制(teacher-forcing)技术可以用于计算损失,这意味着计算设备110可以在对应的位置中用地面真实单词替换解码历史。换句话说,计算设备可以通过将在地面真实序列中的从第1个单词到第k-1个单词的子单词序列作为输入提供给解码器,来生成第k个单词。计算设备可以计算标准交叉熵损失。机器学习框架120支持具有可变长度的单词序列的生成。尽管本公开描述了基于解决期望任务的地面真实单词序列与由编码器-解码器网络中的解码器以特定方式生成的单词序列之间的比较来计算损失,但是本公开设想了基于解决期望任务的地面真实单词序列与由编码器-解码器网络中的解码器以任何适当方式生成的单词序列之间的比较来计算损失。
图5示出了用于基于与期望任务相关联的一个或更多个符号组和与期望任务的背景相关联的一个或更多个传感器数据来生成解决期望任务的单词序列的示例方法500。该方法可以在步骤510处开始,在此步骤处,计算设备110可以访问与期望任务相关联的第一符号组和与期望任务的背景相关联的一个或更多个模态。在步骤520处,计算设备110可以使用与模态相关联的分类器网络针对一个或更多个模态中的每个模态确定第二符号组。在步骤530处,计算设备110可以通过将与第一符号组和一个或更多个模态中的每个模态相关联的第二符号组映射到嵌入空间来生成多个嵌入向量。在步骤540处,计算设备110可以通过用编码器-解码器网络处理多个嵌入向量来产生解决期望任务的单词序列。在适当的情况下,特定实施例可以重复图5的方法的一个或更多个步骤。尽管本公开描述并示出以特定顺序发生的图5的方法的特定步骤,但本公开设想了以任何合适的顺序发生图5的方法的任何合适的步骤。此外,尽管本公开描述并示出了用于基于与期望任务相关联的一个或更多个符号组以及与期望任务的背景相关联的一个或更多个传感器数据来生成解决期望任务的单词序列的包括图5的方法的特定步骤的示例方法,但是本公开设想了用于基于与期望任务相关联的一个或更多个符号组和与期望任务的背景相关联的一个或更多个传感器数据来生成解决期望任务的单词序列的包括任何合适的步骤的任何合适的方法,在适当的情况下,该任何合适的方法可以包括图5的方法的步骤的所有、一些或不包括图5的方法的步骤。此外,尽管本公开描述和示出了执行图5的方法的特定步骤的特定组件、设备或系统,但是本公开设想了执行图5的方法的任何合适步骤的任何合适的组件、设备或系统的任何合适的组合。
评估
以下显示了本文公开的机器学习框架VX2TEXT在三个独立基准上与许多最先进的技术之间的性能比较。
视听场景感知对话:图6A示出了关于视听场景感知对话的比较结果。在有文本字幕或没有文本字幕作为输入的一部分的情况下,VX2TEXT与现有方法相比都有了显著的改进。注意,最先进的MTN系统使用复杂的跨模态注意模块(cross-modal attentionalmodules)来融合来自不同模态的信息。MTN-TMT利用复杂的辅助损耗(auxiliary losses)以对准MTN的嵌入空间。然而,即使没有文本字幕(文本字幕是一个非常强的信息源),VX2TEXT也已经取得了比MTN更好的性能。当在输入中添加文本字幕时,VX2TEXT的性能得到进一步提升,并显著优于MTN-TMT。结果进一步证明了本文公开的针对框架的模态集成的简单方案的有效性。
视频问题回答:由于视频问题回答中的许多方法使用对象/帧级特征,因此检测到的对象类别会作为额外的输入模态添加到用VX2TEXT的评估中,以用于进行公平的比较。由于训练对象检测器的复杂性,使用了冻结符号化。不使用可微分符号化来用于此评估。图6B示出了视频问题回答的比较结果。结果表明,当在没有额外的多模态预文本训练数据的情况下进行训练时,VX2TEXT在验证集和测试集上都显著优于所有先前的方法。在测试集上,VX2TEXT与以前最先进水平相比,提高了1.4%,以HERO系统为代表,该系统在7.6M的额外样本上采用了昂贵的多模态预文本训练。当两个模型都在没有多模态预文本的情况下被训练时,VX2TEXT的性能比HERO高4.7%。
视频添加字幕:图6C示出了视频添加字幕的比较结果。VX2TEXT的性能明显优于最先进的MMT系统。在没有预训练的情况下,HERO的性能与MMT的性能相当,但不如VX2TEXT。通过对额外的7.6M样本进行多模态预训练,HERO的表现仅略好于VX2TEXT。VX2TEXT在测试集上也显示出显著的泛化能力。注意,正如在视频问题回答中所做的那样,对象检测预测被添加为用于VX2TEXT的输入模态,因为在比较中被考虑的方法都可以访问帧级特征。
向量空间和嵌入
图7示出了向量空间700的示例视图。在特定实施例中,对象或n-gram可以在d维向量空间中被表示,其中d表示任何合适的维数。尽管向量空间700被示为三维空间,但是这仅仅是为了说明的目的,因为向量空间700可以具有任何合适的维度。在特定实施例中,n-gram可以在向量空间700中被表示为被称为项嵌入(term embedding)的向量。每个向量可以包括对应于向量空间700中特定点(即,向量的端点)的坐标。如图7所示,作为示例而不是作为限制,向量710、720和730可以被表示为向量空间700中的点。n-gram可以被映射到相应的向量表示。作为示例而不是作为限制,n-grams t1和t2可以通过应用由词典定义的函数映射到向量和使得和作为另一个示例而非限制,可以利用被训练以将文本映射到向量表示的词典,或者这种词典本身可以通过训练来生成。作为另一个示例而非限制,单词嵌入模型可用于将n-gram映射到向量空间700中的向量表示。在特定实施例中,通过使用机器学习模型(例如,神经网络)可以将n-gram映射到向量空间700中的向量表示。机器学习模型可能已经使用训练数据序列(例如,每个都包括n-gram的对象语料库)进行了训练。
在特定实施例中,对象可以在向量空间700中被表示为向量,该向量被称为特征向量或对象嵌入。作为示例而不是作为限制,对象e1和e2可以通过应用函数映射到向量空间700中的向量和使得和在特定实施例中,可以基于对象的一个或更多个属性、特性、或对象的特征、对象与其他对象的关系、或与对象相关联的任何其他合适的信息,将对象映射到向量。作为示例而不是作为限制,函数可以通过特征提取将对象映射到向量,这可以从一组初始测量的数据开始并构建派生值(例如,特征)。作为示例而不是作为限制,通过使用算法来检测或隔离对象的各种期望部分或形状,包括视频或图像的对象可以被映射到向量。用于计算向量的特征可以基于从边检测、角点检测、斑点检测、脊检测、尺度不变特征变换、边方向、变化强度、自相关、运动检测、光流、阈值、斑点提取、模板匹配、霍夫变换(例如,线、圆、椭圆、任意形状)或任何其他合适的信息获得的信息。作为另一示例而非限制,包括音频数据的对象可以基于诸如光谱斜率、音调系数、音频频谱质心、音频频谱包络线、梅尔频率倒谱或任何其他合适的信息的特征,被映射到向量。在特定实施例中,当对象具有太大而无法有效被处理的数据或包含冗余数据时,函数可以使用变换后的简化特征集(例如,特征选择)将对象映射到向量。在特定实施例中,函数可以基于与对象e相关联的一个或更多个n-gram将对象e映射到向量尽管本公开描述了以特定方式在向量空间中表示n-gram或对象,但是本公开设想了以任何合适的方式在向量空间中表示n-gram或对象。
在特定实施例中,社交网络系统160可以计算向量空间700中的向量的相似性度量。相似性度量可以是余弦相似性、闵可夫斯基距离、马氏距离、杰卡德相似系数或任何合适的相似性度量。作为示例而不是作为限制,和的相似性度量可以是余弦相似度作为另一个示例而非限制,和的相似性度量可以是欧几里得距离如由向量空间700中两个向量之间的距离所测量的,两个向量的相似性度量可以表示分别对应于两个向量的两个对象或n-gram彼此有多相似。作为示例而不是作为限制,基于相应向量之间的距离,向量710和向量720可以对应于比对应于向量710和向量730的对象更相似于彼此的对象。尽管本公开描述了以特定方式计算向量之间的相似性度量,但是本公开设想了以任何合适的方式计算向量之间的相似性度量。
关于向量空间、嵌入、特征向量和相似性度量的更多信息可以在2015年11月23日提交的第14/949436号美国专利申请、2016年10月05日提交的第15/286315号美国专利申请和2016年11月30日提交的第15/365789号美国专利申请中找到,这些美国专利申请通过引用被并入。
人工神经网络
图8示出了示例人工神经网络(“ANN”)800。在特定实施例中,ANN可以指包括一个或更多个节点的计算模型。示例ANN 800可以包括输入层810、隐藏层820、830、840和输出层850。ANN 800的每一层可以包括一个或更多个节点,诸如节点805或节点815。在特定实施例中,ANN的每个节点可以连接到ANN的另一个节点。作为示例而不是作为限制,输入层810的每个节点可以连接到隐藏层820的一个或更多个节点。在特定实施例中,一个或更多个节点可以是偏置节点(例如,不连接到前一层中的任何节点并且不从前一层中的任何节点接收输入的层中的节点)。在特定实施例中,每层中的每个节点可以连接到前一层或后一层的一个或更多个节点。尽管图8描绘了具有特定层数、特定节点数以及节点间特定连接的特定ANN,但是本公开设想了具有任何合适层数、任何合适节点数以及节点间任何合适连接的任何合适ANN。作为示例而不是作为限制,尽管图8描绘了输入层810的每个节点和隐藏层820的每个节点之间的连接,但是输入层810的一个或更多个节点可以不连接到隐藏层820的一个或更多个节点。
在特定实施例中,ANN可以是前馈ANN(例如,没有循环或环路的ANN,其中节点之间的通信从输入层开始向一个方向流动,并前进到连续层)。作为示例而不是作为限制,隐藏层820的每个节点的输入可以包括输入层810的一个或更多个节点的输出。作为另一示例而非限制,对输出层850的每个节点的输入可以包括隐藏层840的一个或更多个节点的输出。在特定实施例中,ANN可以是深度神经网络(例如,包括至少两个隐藏层的神经网络)。在特定实施例中,ANN可以是深度残差网络。深度残差网络可以是前馈ANN,其包括被组织成残差块的隐藏层。第一残差块之后的每个残差块的输入可以是前一残差块的输出和前一残差块的输入的函数。作为示例而不是作为限制,残差块N的输入可以是F(x)+x,其中F(x)可以是残差块N-1的输出,x可以是残差块N-1的输入。尽管本公开描述了特定的ANN,但是本公开设想了任何合适的ANN。
在特定实施例中,激活函数可以对应于ANN的每个节点。节点的激活函数可以针对给定的输入定义节点的输出。在特定实施例中,节点的输入可以包括输入组。作为示例而不是作为限制,激活函数可以是恒等函数、二进制阶跃函数、逻辑函数或任何其他合适的函数。作为另一个示例而非限制,节点k的激活函数可能是sigmoid函数双曲正切函数整流器(rectifier)Fk(sk)=max(0,sk),或任何其他合适的函数Fk(sk),其中sk可能是节点k的有效输入。在特定实施例中,对应于节点的激活函数的输入可以被加权。每个节点可以使用基于加权输入的对应的激活函数来生成输出。在特定实施例中,节点之间的每个连接可以与权重相关联。作为示例而不是作为限制,节点805和节点815之间的连接825可以具有0.4的加权系数,这可以指示0.4乘以节点805的输出被用作节点815的输入。作为另一个示例而非限制,节点k的输出yk可以是yk=Fk(sk),其中Fk可以是对应于节点k的激活函数,sk=∑j(wjkxj)可以是节点k的有效输入,xj可以是连接到节点k的节点j的输出,以及wjk可以是节点j和节点k之间的加权系数。在特定实施例中,对输入层的节点的输入可以基于表示对象的向量。尽管本公开描述了节点的特定输入和输出,但是本公开设想了节点的任何合适的输入和输出。此外,尽管本公开可以描述节点之间的特定连接和权重,但是本公开设想了节点之间的任何合适的连接和权重。
在特定实施例中,可以使用训练数据来训练ANN。作为示例而不是作为限制,训练数据可以包括对ANN 800的输入和预期输出。作为另一示例而非限制,训练数据可以包括向量,每个向量表示训练对象和针对每个训练对象的预期标签。在特定实施例中,训练ANN可以包括通过优化目标函数来修改与ANN的节点之间的连接相关联的权重。作为示例而不是作为限制,可以使用训练方法(例如,共轭梯度法、梯度下降法、随机梯度下降)来反向传播作为表示训练对象的每个向量之间的距离而测量的误差平方和(例如,使用最小化误差平方和的成本函数)。在特定实施例中,可以使用丢弃(dropout)技术来训练ANN。作为示例而不是作为限制,在训练时可以暂时省略一个或更多个节点(例如,不接收输入并且不生成输出)。针对每个训练对象,ANN的一个或更多个节点可能具有被省略的可能性。针对特定训练对象省略的节点可以不同于针对其他训练对象省略的节点(例如,可以逐个对象地暂时省略节点)。尽管本公开描述了以特定方式训练ANN,但是本公开设想了以任何合适的方式训练ANN。
系统和方法
图9示出了示例计算机系统900。在特定实施例中,一个或更多个计算机系统900执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在特定实施例中,一个或更多个计算机系统900提供本文描述或示出的功能。在特定实施例中,在一个或更多个计算机系统900上运行的软件执行本文描述或示出的一个或更多个方法的一个或更多个步骤,或者提供本文描述或示出的功能。特定实施例包括一个或更多个计算机系统900的一个或更多个部分。在本文,在适当的情况下,对计算机系统的引用可以包括计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可以包括一个或更多个计算机系统。
本公开设想了任何合适数量的计算机系统900。本公开设想了采取任何合适的物理形式的计算机系统900。作为示例而不是作为限制,计算机系统900可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(诸如,模块上计算机(COM)或模块上系统(SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式信息亭、大型机、计算机系统网状网、移动电话、个人数字助理(PDA)、服务器、平板计算机系统或这些中的两个或更多个的组合。在适当的情况下,计算机系统900可以包括一个或更多个计算机系统900;是整体式的或分布式的;跨越多个位置;跨越多台机器;跨越多个数据中心;或者驻留在云中,云可以包括在一个或更多个网络中的一个或更多个云组件。在适当的情况下,一个或更多个计算机系统900可以在没有实质性空间或时间限制的情况下执行本文描述或示出的一个或更多个方法的一个或更多个步骤。作为示例而不是作为限制,一个或更多个计算机系统900可以实时地或以批处理模式来执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在适当的情况下,一个或更多个计算机系统900可以在不同的时间或在不同的位置处执行本文描述或示出的一个或更多个方法的一个或更多个步骤。
在特定实施例中,计算机系统900包括处理器902、存储器904、存储装置906、输入/输出(I/O)接口908、通信接口910和总线912。尽管本公开描述并示出了具有在特定布置中的特定数量的特定组件的特定计算机系统,但是本公开设想了具有在任何合适布置中的任何合适数量的任何合适部件的任何合适的计算机系统。
在特定实施例中,处理器902包括用于执行指令(诸如构成计算机程序的那些指令)的硬件。作为示例而不是作为限制,为了执行指令,处理器902可以从内部寄存器、内部高速缓存、存储器904或存储装置906中检索(或取回)指令;将它们解码并执行它们;以及然后将一个或更多个结果写到内部寄存器、内部高速缓存、存储器904或存储装置906。在特定实施例中,处理器902可以包括用于数据、指令或地址的一个或更多个内部高速缓存。本公开设想了处理器902在适当的情况下包括任何合适数量的任何合适的内部高速缓存。作为示例而不是作为限制,处理器902可以包括一个或更多个指令高速缓存、一个或更多个数据高速缓存以及一个或更多个转译后备缓冲器(translation lookaside buffer)(TLB)。在指令高速缓存中的指令可以是在存储器904或存储装置906中的指令的副本,并且指令高速缓存可以加速处理器902对这些指令的检索。在数据高速缓存中的数据可以是:在存储器904或存储装置906中的用于使在处理器902处执行的指令进行操作的数据的副本;在处理器902处执行的先前指令的结果,以用于由在处理器902处执行的后续指令访问或者用于写到存储器904或存储装置906;或其他合适的数据。数据高速缓存可以加速由处理器902进行的读或写操作。TLB可以加速关于处理器902的虚拟地址转译。在特定实施例中,处理器902可以包括用于数据、指令或地址的一个或更多个内部寄存器。本公开设想了处理器902在适当的情况下包括任何合适数量的任何合适的内部寄存器。在适当的情况下,处理器902可以包括一个或更多个算术逻辑单元(ALU);是多核处理器;或者包括一个或更多个处理器902。尽管本公开描述并示出了特定的处理器,但是本公开设想了任何合适的处理器。
在特定实施例中,存储器904包括用于存储用于使处理器902执行的指令或用于使处理器902操作的数据的主存储器。作为示例而不是作为限制,计算机系统900可以将指令从存储装置906或另一个源(诸如,例如,另一个计算机系统900)加载到存储器904。处理器902然后可以将指令从存储器904加载到内部寄存器或内部高速缓存。为了执行指令,处理器902可以从内部寄存器或内部高速缓存中检索指令并将它们解码。在指令的执行期间或之后,处理器902可以将一个或更多个结果(其可以是中间结果或最终结果)写到内部寄存器或内部高速缓存。处理器902然后可以将这些结果中的一个或更多个写到存储器904。在特定实施例中,处理器902仅执行一个或更多个内部寄存器或内部高速缓存中或在存储器904(而不是存储装置906或其他地方)中的指令,并且仅对一个或更多个内部寄存器或内部高速缓存中或在存储器904(而不是存储装置906或其他地方)中的数据进行操作。一个或更多个存储器总线(其可以各自包括地址总线和数据总线)可以将处理器902耦合到存储器904。如下所述,总线912可以包括一个或更多个存储器总线。在特定实施例中,一个或更多个存储器管理单元(MMU)驻留在处理器902和存储器904之间,并且便于由处理器902请求的对存储器904的访问。在特定实施例中,存储器904包括随机存取存储器(RAM)。在适当的情况下,该RAM可以是易失性存储器。在适当的情况下,该RAM可以是动态RAM(DRAM)或静态RAM(SRAM)。此外,在适当的情况下,该RAM可以是单端口RAM或多端口RAM。本公开设想了任何合适的RAM。在适当的情况下,存储器904可以包括一个或更多个存储器904。尽管本公开描述并示出了特定的存储器,但是本公开设想了任何合适的存储器。
在特定实施例中,存储装置906包括用于数据或指令的大容量存储装置。作为示例而不是作为限制,存储装置906可以包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器或这些中的两个或更多个的组合。在适当的情况下,存储装置906可以包括可移动或不可移动(或固定)介质。在适当的情况下,存储装置906可以在计算机系统900的内部或外部。在特定实施例中,存储装置906是非易失性固态存储器。在特定实施例中,存储装置906包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可变ROM(EAROM)或闪存或这些中的两个或更多个的组合。本公开设想了采用任何合适的物理形式的大容量存储装置906。在适当的情况下,存储装置906可以包括便于处理器902和存储装置906之间的通信的一个或更多个存储装置控制单元。在适当的情况下,存储装置906可以包括一个或更多个存储装置906。尽管本公开描述并示出了特定的存储装置,但是本公开设想了任何合适的存储装置。
在特定实施例中,I/O接口908包括提供用于在计算机系统900和一个或更多个I/O设备之间的通信的一个或更多个接口的硬件、软件或两者。在适当的情况下,计算机系统900可以包括这些I/O设备中的一个或更多个。这些I/O设备中的一个或更多个可以实现在人和计算机系统900之间的通信。作为示例而不是作为限制,I/O设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态相机、触笔、平板计算机、触摸屏、轨迹球、视频相机、另一个合适的I/O设备、或这些中的两个或更多个的组合。I/O设备可以包括一个或更多个传感器。本公开设想了任何合适的I/O设备以及用于它们的任何合适的I/O接口908。在适当的情况下,I/O接口908可以包括使处理器902能够驱动这些I/O设备中的一个或更多个的一个或更多个设备或软件驱动器。在适当的情况下,I/O接口908可以包括一个或更多个I/O接口908。尽管本公开描述并示出了特定的I/O接口,但是本公开设想了任何合适的I/O接口。
在特定实施例中,通信接口910包括提供用于在计算机系统900和一个或更多个其他计算机系统900或一个或更多个网络之间的通信(例如,基于包(packet-based)的通信)的一个或更多个接口的硬件、软件或两者。作为示例而不是作为限制,通信接口910可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(NIC)或网络适配器,或用于与无线网络(例如Wi-Fi网络)进行通信的无线NIC(WNIC)或无线适配器。本公开设想了任何合适的网络和用于它的任何合适的通信接口910。作为示例而不是作为限制,计算机系统900可以与自组织网络、个域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)或互联网的一个或更多个部分、或这些中的两个或更多个的组合进行通信。这些网络中的一个或更多个的一个或更多个部分可以是有线的或无线的。作为示例,计算机系统900可以与无线PAN(WPAN)(例如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(例如,全球移动通信系统(GSM)网络)、或其他合适的无线网络、或这些中的两个或更多个的组合进行通信。在适当的情况下,计算机系统900可以包括用于这些网络中的任一个的任何合适的通信接口910。在适当的情况下,通信接口910可以包括一个或更多个通信接口910。尽管本公开描述并示出了特定的通信接口,但是本公开设想了任何合适的通信接口。
在特定实施例中,总线912包括将计算机系统900的部件耦合到彼此的硬件、软件或两者。作为示例而不是作为限制,总线912可以包括加速图形端口(AGP)或其他图形总线、扩展工业标准体系结构(EISA)总线、前端总线(FSB)、HYPERTRANSPORT(HT)互连、工业标准体系结构(ISA)总线、INFINIBAND互连、低引脚数(LPC)总线、存储器总线、微通道体系结构(MCA)总线、外围部件互连(PCI)总线、PCI-Express(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会局域(VLB)总线或任何其他合适的总线或这些中的两个或更多个的组合。在适当的情况下,总线912可以包括一个或更多个总线912。尽管本公开描述并示出了特定总线,但是本公开设想了任何合适的总线或互连。
在本文,在适当的情况下,一个或更多个计算机可读非暂时性存储介质可以包括一个或更多个基于半导体的或其他集成电路(IC)(诸如,例如,现场可编程门阵列(FPGA)或专用IC(ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(HHD)、光盘、光盘驱动器(ODD)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(FDD)、磁带、固态驱动器(SSD)、RAM驱动器、安全数字卡(SECUREDIGITAL)或驱动器、任何其他合适的计算机可读非暂时性存储介质,或这些中的两个或更多个的任何合适的组合。在适当的情况下,计算机可读非暂时性存储介质可以是易失性的、非易失性的或者易失性和非易失性的组合。
其他
本文中,除非另有明确指示或通过上下文另有指示,否则“或”是包含性的而非排他性的。因此,在本文,除非另有明确指示或通过上下文另有指示,否则“A或B”意指“A、B或两者”。此外,除非另有明确指示或通过上下文另有指示,否则“和”既是联合的又是各自的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“A和B”意指“联合的或各自的A和B”。
本公开的范围包括本领域中的普通技术人员将理解的对本文描述或示出的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于本文描述或示出的示例实施例。此外,尽管本公开将本文的相应实施例描述并示为包括特定的组件、元件、特征、功能、操作或步骤,但是这些实施例中的任何一个可以包括本领域中的普通技术人员将理解的在本文任何地方描述或示出的任何组件、元件、特征、功能、操作或步骤的任何组合或排列。此外,在所附权利要求中对适合于、被布置成、能够、被配置成、实现来、可操作来、或操作来执行特定功能的装置或系统或装置或系统的组件的引用包括该装置、系统、组件,只要该装置、系统或组件是这样被调整、被布置、使能够、被配置、被实现、可操作的、或操作的,而不管其或该特定功能是否被激活、开启或解锁。此外,尽管本公开将特定实施例描述或示为提供特定优点,但是特定实施例可以提供这些优点中的一些、全部或不提供这些优点。
Claims (20)
1.一种方法,所述方法包括通过计算设备:
访问与期望任务相关联的第一符号组和与所述期望任务的背景相关联的一个或更多个模态;
使用与所述一个或更多个模态中的每个模态相关联的分类器网络,针对所述模态确定第二符号组;
通过将所述第一符号组和与所述一个或更多个模态中的每个模态相关联的所述第二符号组映射到嵌入空间来生成多个嵌入向量;以及
通过用编码器-解码器网络处理所述多个嵌入向量来产生解决所述期望任务的单词序列。
2.根据权利要求1所述的方法,其中,所述期望任务包括描述事件的字幕、对与所述事件相关的给定问题的回答、与所述事件相关的问题,或背景感知对话。
3.根据权利要求1所述的方法,其中,所述一个或更多个模态包括视频传感器数据、音频传感器数据、惯性测量单元(IMU)传感器数据,或光检测和测距(激光雷达)传感器数据。
4.根据权利要求1所述的方法,其中,所述多个嵌入向量中的每个嵌入向量具有在所述多个嵌入向量中的预定的相对位置。
5.根据权利要求1所述的方法,其中,所述编码器-解码器网络中的编码器通过处理所述多个嵌入向量来生成潜在表示。
6.根据权利要求1所述的方法,其中,所述编码器-解码器网络中的解码器通过处理所述潜在表示来一次产生一个单词,其中,所产生的单词是基于与词典中的每个单词相关联的概率从所述词典中选择的。
7.根据权利要求6所述的方法,其中,所述解码器将第k个产生的单词作为用于产生在所述单词序列中的第k+1个单词的输入。
8.根据权利要求1所述的方法,其中,针对所述一个或更多个模态中的每个模态确定符号组包括基于关于通过用与所述模态相关联的分类器网络处理所述模态而生成的多个类别的概率分布,在所述多个类别中采样对应于所述模态的一个或更多个类别。
9.根据权利要求8所述的方法,其中,所述采样包括用Gumbel-Softmax的分类再参数化或符号化的可微分近似化。
10.根据权利要求8所述的方法,其中,基于关于所述多个类别的概率分布在所述多个类别中采样对应于所述模态的一个或更多个类别是由可微分符号化单元执行的。
11.根据权利要求10所述的方法,其中,将属于模态的符号组映射到d维嵌入空间中的一个或更多个嵌入向量包括查找对应于所述模态的嵌入表。
12.根据权利要求11所述的方法,其中,对应于第一模态的第一嵌入表不同于对应于第二模态的第二嵌入表。
13.根据权利要求11所述的方法,其中,在训练过程开始时,与所述一个或更多个模态中的每个模态相关联的每个分类器网络、对应于所述第一符号组和所述第二符号组中的每个符号组的每个嵌入表,以及所述编码器-解码器网络用预训练的模型初始化。
14.根据权利要求13所述的方法,其中,在所述训练过程期间,所述分类器网络、所述嵌入表和所述编码器-解码器网络通过反向传播更新。
15.根据权利要求14所述的方法,其中,在所述反向传播期间,针对所述一个或更多个模态中的每个模态的所述多个类别中的每个类别的梯度是使用直通估计器估计的。
16.根据权利要求14所述的方法,其中,损失是基于解决所述期望任务的地面真实单词序列与由所述编码器-解码器网络中的所述解码器生成的单词序列之间的比较计算出的。
17.根据权利要求16所述的方法,其中,基于所述地面真实单词序列中的第k个单词和在所述地面真实单词序列中从第1个单词到第k-1个的单词的子单词序列作为输入被提供给所述解码器时生成的第k个单词之间的比较,计算关于第k个单词的部分损失。
18.一种或更多种计算机可读非暂时性存储介质,其包含在被执行时能够操作来执行以下操作的软件:
访问与期望任务相关联的第一符号组和与所述期望任务的背景相关联的一个或更多个模态;
使用与所述一个或更多个模态中的每个模态相关联的分类器网络,针对所述模态确定第二符号组;
通过将所述第一符号组和与所述一个或更多个模态中的每个模态相关联的所述第二符号组映射到嵌入空间来生成多个嵌入向量;以及
通过用编码器-解码器网络处理所述多个嵌入向量来产生解决所述期望任务的单词序列。
19.根据权利要求18所述的介质,其中,所述期望任务包括描述事件的字幕、对与所述事件相关的给定问题的回答、与所述事件相关的问题,或背景感知对话。
20.一种系统,包括:一个或更多个处理器;以及耦合到所述处理器的非暂时性存储器,所述非暂时性存储器包括能够由所述处理器执行的指令,当执行所述指令时,处理器能够操作来:
访问与期望任务相关联的第一符号组和与所述期望任务的背景相关联的一个或更多个模态;
使用与所述一个或更多个模态中的每个模态相关联的分类器网络,针对所述模态确定第二符号组;
通过将所述第一符号组和与所述一个或更多个模态中的每个模态相关联的所述第二符号组映射到嵌入空间来生成多个嵌入向量;以及
通过用编码器-解码器网络处理所述多个嵌入向量来产生解决所述期望任务的单词序列。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202163135456P | 2021-01-08 | 2021-01-08 | |
| US63/135,456 | 2021-01-08 | ||
| US17/339,759 US12236192B2 (en) | 2021-01-08 | 2021-06-04 | Task-specific text generation based on multimodal inputs |
| US17/339,759 | 2021-06-04 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN114756662A true CN114756662A (zh) | 2022-07-15 |
Family
ID=78957640
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210021120.4A Pending CN114756662A (zh) | 2021-01-08 | 2022-01-10 | 基于多模态输入的任务特定文本生成 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US12236192B2 (zh) |
| EP (1) | EP4030352A1 (zh) |
| CN (1) | CN114756662A (zh) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12340792B2 (en) * | 2021-05-17 | 2025-06-24 | Salesforce, Inc. | Systems and methods for few-shot intent classifier models |
| CN115312044B (zh) * | 2022-08-05 | 2024-06-14 | 清华大学 | 用于音视频问答的层次化声音-视觉特征融合方法及产品 |
| CN115379242B (zh) * | 2022-08-24 | 2025-09-23 | 四川省人工智能研究院(宜宾) | 一种三线性编码系统及视频-语言表征学习方法 |
| US12315052B2 (en) * | 2022-12-15 | 2025-05-27 | Accenture Global Solutions Limited | Generation of context-aware word embedding vectors for given semantic properties of a word using few texts |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018124309A1 (en) * | 2016-12-30 | 2018-07-05 | Mitsubishi Electric Corporation | Method and system for multi-modal fusion model |
| US20190138882A1 (en) * | 2017-11-07 | 2019-05-09 | Samusung Electronics Co., Ltd. | Method and apparatus for learning low-precision neural network that combines weight quantization and activation quantization |
| CN109783655A (zh) * | 2018-12-07 | 2019-05-21 | 西安电子科技大学 | 一种跨模态检索方法、装置、计算机设备和存储介质 |
| US20190278841A1 (en) * | 2018-03-12 | 2019-09-12 | Apple Inc. | Inverse text normalization for automatic speech recognition |
| CN110574049A (zh) * | 2017-05-19 | 2019-12-13 | 谷歌有限责任公司 | 多任务多模态机器学习系统 |
| CN112016332A (zh) * | 2020-08-26 | 2020-12-01 | 华东师范大学 | 基于变分推理和多任务学习的多模态机器翻译方法 |
-
2021
- 2021-06-04 US US17/339,759 patent/US12236192B2/en active Active
- 2021-12-21 EP EP21216259.8A patent/EP4030352A1/en not_active Withdrawn
-
2022
- 2022-01-10 CN CN202210021120.4A patent/CN114756662A/zh active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018124309A1 (en) * | 2016-12-30 | 2018-07-05 | Mitsubishi Electric Corporation | Method and system for multi-modal fusion model |
| CN110574049A (zh) * | 2017-05-19 | 2019-12-13 | 谷歌有限责任公司 | 多任务多模态机器学习系统 |
| US20190138882A1 (en) * | 2017-11-07 | 2019-05-09 | Samusung Electronics Co., Ltd. | Method and apparatus for learning low-precision neural network that combines weight quantization and activation quantization |
| US20190278841A1 (en) * | 2018-03-12 | 2019-09-12 | Apple Inc. | Inverse text normalization for automatic speech recognition |
| CN109783655A (zh) * | 2018-12-07 | 2019-05-21 | 西安电子科技大学 | 一种跨模态检索方法、装置、计算机设备和存储介质 |
| CN112016332A (zh) * | 2020-08-26 | 2020-12-01 | 华东师范大学 | 基于变分推理和多任务学习的多模态机器翻译方法 |
Non-Patent Citations (4)
| Title |
|---|
| ASHISH VASWANI 等: "Attention s all you need", ARXIV, 12 June 2017 (2017-06-12), pages 1 - 15, XP093242829 * |
| JIASEN LU 等: "ViLBERT: Pretraining Task-Agnostic Visiolinguistic Representations for Vision-and-Language Tasks", ARXIV, 31 August 2019 (2019-08-31), pages 1 - 11, XP093273221 * |
| LIUNIAN HAROLD LI 等: "VisualBERT: A SIMPLE AND PERFORMANTBASELINE FORVISIONAND LANGUAGE", ARXIV, 31 August 2019 (2019-08-31), pages 1 - 14 * |
| 李霞;马骏腾;覃世豪;: "融合图像注意力的多模态机器翻译模型", 中文信息学报, no. 07, 15 July 2020 (2020-07-15), pages 68 - 78 * |
Also Published As
| Publication number | Publication date |
|---|---|
| US12236192B2 (en) | 2025-02-25 |
| US20220222435A1 (en) | 2022-07-14 |
| EP4030352A1 (en) | 2022-07-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6980119B2 (ja) | 音声認識方法、並びにその装置、デバイス、記憶媒体及びプログラム | |
| US20230027828A1 (en) | Multiple classifications of audio data | |
| US12165337B2 (en) | Object detection based on pixel differences | |
| CN107918782B (zh) | 一种生成描述图像内容的自然语言的方法与系统 | |
| CN110444195B (zh) | 语音关键词的识别方法和装置 | |
| CN112183107B (zh) | 音频的处理方法和装置 | |
| CN113035231B (zh) | 关键词检测方法及装置 | |
| CN114756662A (zh) | 基于多模态输入的任务特定文本生成 | |
| WO2021057884A1 (zh) | 语句复述方法、训练语句复述模型的方法及其装置 | |
| WO2020168752A1 (zh) | 一种基于对偶学习的语音识别与语音合成方法及装置 | |
| KR102870187B1 (ko) | 복수 의도어 획득을 위한 합성곱 신경망을 가진 장치 및 그 방법 | |
| CN112668317B (zh) | 用于确定输出词法单元的方法和设备 | |
| CN110147806A (zh) | 图像描述模型的训练方法、装置及存储介质 | |
| US12354002B1 (en) | Customized machine learning models | |
| CN116312512A (zh) | 面向多人场景的视听融合唤醒词识别方法及装置 | |
| Goh et al. | Audio-visual speech recognition system using recurrent neural network | |
| JP7678228B2 (ja) | 言語アグノスティックの多言語エンドツーエンドストリーミングオンデバイス自動音声認識asrシステム | |
| KR20230120790A (ko) | 가변적 언어모델을 이용한 음성인식 헬스케어 서비스 | |
| CN120167072A (zh) | 使用词元级损失来增强对序列转导模型的训练 | |
| Zhu | English pronunciation standards based on multimodal acoustic sensors | |
| Kumar | Deep learning-based automatic speech and emotion recognition for students with disabilities: A review | |
| US12307214B2 (en) | Hybrid language translation on mobile devices | |
| US12136416B1 (en) | Private language model adaptation for speech recognition | |
| CN113593524A (zh) | 口音识别声学模型训练、口音识别方法、装置和存储介质 | |
| Ketab | A Survey on Speech Recognition from Lip Movement |
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 |