首页> 中国专利> 基于动态卷积和捷径的视频检索模型

基于动态卷积和捷径的视频检索模型

摘要

本文提出了一种视频检索框架,其包括视频编码器,视频编码器采用MMT对输入视频中提取的多个模态进行处理,所述MMT包括:与多个模态对应的多个输入端,用于接收与所述多个模态相对应的多个视频嵌入,用于输出输入视频的视频特征表示的多个输出端,以及在多个输入端与多个输出端之间的、以转换器编码器为节点的全连接网络,其中,转换器编码器包括多头注意力模块,其接收查询(Q)、键(K)和值(V)作为输入,并且进一步包括:子注意力子模块,其接收查询(Q)、键(K)和值(V),并将查询和一组键‑值对映射到输出;基于跨度的动态卷积子模块,其接收查询(Q)、键(K)和值(V),对键(K)应用卷积以得到卷积键(Ks),并将查询和一组卷积键‑值对映射到输出;以及联接器,其用于连接子注意力子模块的输出和基于跨度的动态卷积子模块的输出。

著录项

  • 公开/公告号CN114579803A

    专利类型发明专利

  • 公开/公告日2022-06-03

    原文格式PDF

  • 申请/专利权人 北方工业大学;

    申请/专利号CN202210223064.2

  • 发明设计人 刘志;张萌萌;

    申请日2022-03-09

  • 分类号G06F16/78;G06F16/783;G06K9/62;G06N3/04;G06N3/08;

  • 代理机构

  • 代理人

  • 地址 100144 北京市石景山区晋元庄路5号北方工业大学

  • 入库时间 2023-06-19 15:32:14

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-03

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及视频处理技术和神经网络在视频处理领域中的应用,更具体而言,本发明涉及用于基于神经网络的视频检索的方法、设备和介质。本发明特别适合于在线视频的检索。

背景技术

由于视频捕获动态事件和提供直接视觉和声音感受的能力,视频成为最常用的媒体形式之一。目前,在线视频在视频应用中占据了越来越大的比例。各个在线视频平台中存在数以亿小时计的视频(或短视频),如果我们不能高效地访问这些视频,则这些视频就无法得到有效地利用。因此,如何通过检索来检索相关视频成为关键。

针对数以百万计的视频,显然不可能完全通过人工方式对视频附加合理的标题和内容描述。即使是每个视频在制作时被创造者添加了标题和内容描述,这种标题和内容描述可能也不能完整地概况视频内容用于后续的视频检索。因此,目前大量研究集中在如何使用神经网络来进行高效地视频检索。

对于视频检索,目前存在两种任务:“标题到视频”和“视频到标题”。“标题到视频”是指给出标题形式的检索(例如,“如何盖房子”),检索目标则是该标题能够最佳描述的视频(例如,解释如何盖房子的视频)。这里的“标题”应该表示视频标题、视频表述文字等等与视频内容相关联的各种文本。这里的“视频”狭义上包括随时间采集的图片集(即视觉视频),广义上则包括视觉视频、音频、语音、字幕(嵌入式或单独的字幕文件)、各种音轨(嵌入式或单独的音轨文件)、相关封面(例如DVD光盘中使用的电影封面)、时间标签、位置标签、视频片段(例如,DVD和蓝光光盘中使用的视频片段)、与视频片段相关的各种信息(例如,用于视频片段的封面、时间标签、子标题、内容描述等等)等等能够形成现有各种视频内容的成分。在线视频的示例可以是YouTube、抖音、Tiktok、哔哩哔哩(bilibili)上的各种短视频。

对于“标题到视频”任务,针对每个具体检索,通过给定“标题-视频”对的集合,并对所有视频候选进行排序来使得与该标题最相关的视频顺序最高来实现。另一方面,“视频到标题”任务的目的则是在一组标题候选中找到能够最佳地描述所检索的视频的标题(检索目标)。

针对以上两种视频检索的公共方法是相似度学习,即我们如何学习能够最佳地描述两个元素(即,查询与候选)之间的相似度的函数。然后,我们就能够根据各个候选与查询之间的相似度(相似度估计)来对候选(视频或标题)进行排序。

因此,目前视频检索的主流框架包括三个部分:视频编码器、文本编码器、相似度估计。视频编码器获得输入视频的视频特征表示;文本编码器获得输入文本(即,标题,视频表述文字等等与视频内容相关联的文本)的文本特征表示;相似度计算则通过计算所述视频特征表示与所述文本特征表示之间的相似度来找到匹配的视频和文本。这样就将相似度学习拆分为视频编码器和文本编码器的学习以及相似度估计函数。

例如,在相似度学习(即训练阶段)中,假设X代表用于训练的视频集合,Y代表所有视频的相关标题(本文中也称为“文本”)。给定B对数据{(v

s=d(F

其中,d表示经学习的相似度函数(或者距离函数);s是用于进行匹配排序的相似度估计。在一个具体实施例中,d可以采用余弦相似度函数,即给定两个属性向量,A和B,其余弦相似性θ由点积和向量长度给出,如下所示:

这里的A

由于文本分析相对简单,并且针对文本检索的研究已经进行了数十年,因此用于生成文本特征表示的文本编辑器已经相对成熟和高效。例如,Radford等人在“Learningtransferable visual models from natural language supervision”arXiv preprintarXiv:2103.00020(以下称为“文献1”)中使用了CLIP文本编码器和基于Transformer结构的图像编码器,作者搜集4亿对文本图像数据对,图像和文本对在语义上是匹配的,在通过文本编码器和图像编码器得到特征后计算相似度,然后使用对比损失函数训练,最终达到匹配的文本和图片之间相似度高,不匹配的相似度低。经过上述训练的CLIP文本编码器是网上可以获得的。

目前的研究主要集中在视频编码器的设计上。由于视频内容的多样性(如上所述),如何使得视频编码器能够充分利用视频内容中的多种模态(视觉视频、音频、语音、字幕、时间标签、位置标签、文字等等)并将各种模态进行关联来输出具有能够充分表述视频内容信息的视频特征表示,成为目前研究的核心之一。对于视频内容中多种模态的应用的一种有效现有技术是google的Gabeur,V.等人基于转换器(Transformer)技术提出的多模态转换(MMT)("Multi-modal transformer for video retrieval,"In Computer Vision–ECCV 2020:16th European Conference,Glasgow,UK,August 23–28,2020,Proceedings,Part IV 16(pp.214-229).Springer International Publishing)(以下称为“文献2”),其使用预先训练的N个专家(expert)F

现有技术中的视频检索框架,特别是视频编码器的设计,仍然存在很大的改进需求。例如,文献3的转换器(Transformer)框架虽然得到了广泛应用,但是该框架由于缺乏归纳偏置,导致学习局部依赖的效率低下;另一方面,随着模型深度的增加,学习到的特征很可能会产生学习偏差,这主要是由于模型层数越深,梯度越容易发散,误差越大,导致难以训练,从而影响模型的性能。

发明内容

为了解决上述技术问题,本文提出了一种新颖的视频编码器,以用于视频检索。

在一个方面,本文考虑到转换器(Transformer)框架中的上述缺点,在转换器的多头注意力(Multi-Head Attention)模块中采用了子注意力子模块与基于跨度的动态卷积子模块的组合。子注意力子模块用于针对全连接网络中的每个层,关注所输入的所有视频嵌入,提取输入视频中的在多个模态中数个模态上发生的事件的语义。基于跨度的动态卷积子模块使用逐深度的可分离卷积来收集关于标志(token)(其表示矩阵上的单个元素)跨度的信息,然后动态地生成卷积核,以便能够基于输入标志的局部上下文来收集输入标志的局部关系。基于跨度的动态卷积子模块能够解决自注意力中缺乏归纳偏置的问题,并且这种基于跨度的卷积可以更高效地收集上下文信息。最终的输出被送到前馈层进行进一步处理。

在另一方面,本文考虑到转换器(Transformer)框架中的上述缺点,在转换器的多头注意力(Multi-Head Attention)模块中,除了使用本层的捷径之外,还另外使用了来自先前层的捷径作为增强捷径。通过将联合卷积和自注意力的多头注意力模块与更多的恒等投影并行化来减轻学习偏差。

根据本发明的一个方面,提出了一种视频检索设备,其可以包括:

视频编码器,其获得输入视频的视频特征表示,所述视频编码器采用多模态转换器(MMT)对所述输入视频中提取的多个模态进行处理,所述MMT包括:

与所述多个模态对应的多个输入端,用于接收与所述多个模态相对应的多个视频嵌入(E1-EN),

用于输出所述输入视频的视频特征表示(T1-TN)的多个输出端,以及

在所述多个输入端与所述多个输出端之间的、以转换器编码器(Trm)为节点的全连接网络;

文本编码器,其获得输入文本的文本特征表示;

相似度计算单元,其计算所述视频特征表示与所述文本特征表示之间的相似度,以用于确定视频和文本的匹配,

其中,所述转换器编码器(Trm)包括多头注意力模块,所述多头注意力模块接收查询(Q)、键(K)和值(V)作为输入,并且所述多头注意力模块进一步包括:

子注意力子模块,其接收所述查询(Q)、所述键(K)和所述值(V),并将所述查询和一组键-值对映射到输出;

基于跨度的动态卷积子模块,其接收所述查询(Q)、所述键(K)和所述值(V),对所述键(K)应用卷积以得到卷积键(Ks),并将查询和一组卷积键-值对映射到输出;以及

联接器,其用于连接所述子注意力子模块的输出和所述基于跨度的动态卷积子模块的输出。

根据一个进一步的方面,所述子注意力子模块包括:

用于分别对所述查询(Q)、所述键(K)和所述值(V)执行线性组合的第一线性层、第二线性层和第三线性层;

第一乘法器,用于对所述第一线性层和所述第二线性层的输出进行张量矩阵相乘;

缩放器,用于对第一乘法器的输出进行缩放;

SoftMax单元,用于对所述缩放器的输出进行SoftMax函数处理;

第二乘法器,用于对SoftMax单元与所述第三线性层的输出进行张量矩阵相乘;以及

第四线性层,其接收所述第二乘法器的输出,执行线性组合,并输出以作为所述子注意力子模块的输出。

根据一个进一步的方面,所述基于跨度的动态卷积子模块进一步包括

用于分别对所述查询(Q)和所述值(V)执行线性组合的第五线性层和第六线性层;

卷积层,用于对所述键(K)执行矢量卷积,并输出所述卷积键(K);

第三乘法器,用于对所述第五线性层和所述卷积层的输出进行张量矩阵逐点相乘;

第七线性层,用于接收所述第三乘法器的输出,并进行线性处理;

SoftMax单元,用于对所述第七线性层的输出进行SoftMax函数处理;

轻权重卷积单元,用于对所述SoftMax单元的输出和所述第六线性层的输出进行轻权重矢量卷积;以及

第八线性层,用于接收所述轻权重卷积单元的输出,执行线性组合,并输出。

根据一个进一步的方面,所述转换器编码器(Trm)包括:

所述多头注意力模块,其接收所述转换器编码器(Trm)的输入;

第一加法器,其将所述多头注意力模块的输出与所述转换器编码器(Trm)的输入相加;

第一层标准化模块,用于对所述第一加法器的输出进行层标准化;

前向反馈模块,其接收所述第一层标准化模块的输出,执行前向反馈;

第二加法器,其将所述前向反馈模块的输出与所述第一层标准化模块的输入相加;以及

第二层标准化模块,用于对所述第二加法器的输出进行层标准化。

根据一个进一步的方面,所述转换器编码器(Trm)包括:

所述多头注意力模块,其接收所述转换器编码器(Trm)的输入;

第一加法器,其将所述多头注意力模块的输出、所述转换器编码器(Trm)的输入以及N个增强捷径相加;

第一层标准化模块,用于对所述第一加法器的输出进行层标准化;

前向反馈模块,其接收所述第一层标准化模块的输出,执行前向反馈;

第二加法器,其将所述前向反馈模块的输出、所述第一层标准化模块的输入以及N个增强捷径相加;以及

第二层标准化模块,用于对所述第二加法器的输出进行层标准化。

根据一个进一步的方面,所述增强捷径是来自先前层的捷径连接经过参数化投影得到的。

根据一个进一步的方面,所述参数化投影是线性投影和激活函数的序列。

根据一个进一步的方面,所述视频编码器还包括:卷积神经网络,用于接收所述输入视频,并对所述输入视频提取所述多个模态。

根据一个进一步的方面,所述文本编码器采用CLIP文本编码器。

根据一个进一步的方面,使用余弦相似度来计算所述相似度。

根据本发明的另一方面,提供了一种使用所述视频检索设备来检索视频的方法,包括:

使用视频编码器来获得输入视频的视频特征表示,所述视频编码器采用多模态转换器(MMT)对所述输入视频中提取的多个模态进行处理,所述MMT包括:

与所述多个模态对应的多个输入端,用于接收与所述多个模态相对应的多个视频嵌入(E1-EN),

用于输出所述输入视频的视频特征表示(T1-TN)的多个输出端,以及

在所述多个输入端与所述多个输出端之间的、以转换器编码器(Trm)为节点的全连接网络;

使用文本编码器来获得输入文本的文本特征表示;

计算所述视频特征表示与所述文本特征表示之间的相似度,

其中,所述转换器编码器(Trm)包括多头注意力模块,所述多头注意力模块接收查询(Q)、键(K)和值(V)作为输入,并且所述多头注意力模块进一步包括:

子注意力子模块,其接收所述查询(Q)、所述键(K)和所述值(V),并将所述查询和一组键-值对映射到输出;

基于跨度的动态卷积子模块,其接收所述查询(Q)、所述键(K)和所述值(V),对所述键(K)应用卷积以得到卷积键(Ks),并将查询和一组卷积键-值对映射到输出;以及

联接器,其用于连接所述子注意力子模块的输出和所述基于跨度的动态卷积子模块的输出。

根据本发明的另一方面,所述视频检索设备是由代码实现的软件模块,所述代码当被执行时,实现所述视频检索设备或执行所述用于检索视频的方法。

根据本发明的另一方面,所述视频检索设备是由专门用于神经网络的处理器实现的硬件模块。

根据本发明的另一方面,所述视频检索设备是由可执行代码结合专门用于神经网络的硬件处理器实现的软硬件架构,其中,所述专门用于神经网络的硬件处理器可以以硬件功能模块的形式实现视频检索设备的一部分架构,例如全连接网络、卷积神经网络(CNN)等等。

附图说明

图1示出了根据本发明的一个实施例的用于视频检索的视频检索框架的示意图。

图2示出了根据本发明的一个实施例的用于视频检索的视频检索框架中的视频编码器的示意图。

图3示出了根据本发明的一个实施例的用于视频检索的视频编码器中的MMT的示意图。

图4示出了根据本发明的一个实施例的转换器编码器(Trm)的一个实施例的结构示意图。

图5示出了根据本发明的一个实施例的转换器编码器(Trm)中的子注意力(SA)子模块的一个实施例的结构示意图。

图6示出了根据本发明的一个实施例的转换器编码器(Trm)中的基于跨度的动态卷积(SDC)子模块的一个实施例的结构示意图。

图7示出了根据本发明的一个实施例的转换器编码器(Trm)的另一个实施例的结构示意图。

图8示出了用于实现本发明的一个实施例的视频检索设备的示意图。

具体实施方式

现在参考附图来描述各种方案。在以下描述中,为了进行解释,阐述了多个具体细节以便提供对一个或多个方案的透彻理解。然而,显然,在没有这些具体细节的情况下也能够实现这些方案。

如在本申请中所使用的,本文中的涉及人工智能的“设备”、“框架”、“编码器”、“模块”、“单元”、“子模块”等等旨在指代与计算机相关的实体,例如但不限于,硬件、由通用或专用处理器执行的软件、固件、软件、或者其任何组合。例如,这些“设备”、“框架”、“编码器”、“模块”、“单元”、“子模块”可以是但不限于:在处理器上运行的进程、处理器、对象、可执行体(executable)、执行线程、程序、和/或计算机。举例而言,运行在计算设备上的应用程序和该计算设备都可以是这些“设备”、“框架”、“编码器”、“模块”、“单元”。这些“设备”、“框架”、“编码器”、“模块”、“单元”、“子模块”中的一个或多个可以位于执行进程和/或者执行线程内,并且这些“设备”、“框架”、“编码器”、“模块”、“单元”可以位于一台计算机上和/或者分布在两台或更多台计算机上。另外,这些“设备”、“框架”、“编码器”、“模块”、“单元”、“子模块”可以从具有存储在其上的各种数据结构的各种计算机可读介质执行。组件可以借助于本地和/或远程进程进行通信,例如根据具有一个或多个数据分组的信号,例如,来自于借助于信号与本地系统、分布式系统中的另一组件交互和/或者与在诸如因特网之类的网络上借助于信号与其他系统交互的一个组件的数据。

当用硬件实现时,这些“设备”、“框架”、“编码器”、“模块”、“单元”、“子模块”可以用通用处理器、神经网络处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑器件、分立硬件组件或者设计为执行本文所述功能的其任意组合,来实现或执行。通用处理器可以是微处理器,但是可替换地,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器的组合、一个或多个微处理器与DSP内核的组合或者任何其它此种结构。另外,至少一个处理器可以包括可操作以执行上述的一个或多个步骤和/或操作的一个或多个模块。神经网络处理器可以用于实现神经网络的各种基本模块,例如,全连接网络、卷积神经网络(CNN)等等。

当用硬件实现时,这些“设备”、“框架”、“编码器”、“模块”、“单元”、“子模块”在片上系统(SOC)上实现。

当用ASIC、FPGA等硬件电路来实现这些“设备”、“框架”、“编码器”、“模块”、“单元”、“子模块”时,其可以包括被配置为执行各种功能的各种电路块。本领域技术人员可以根据施加在整个系统上的各种约束条件来以各种方式设计和实现这些电路,来实现本发明所公开的各种功能。

当用软件实现时,这些“设备”、“框架”、“编码器”、“模块”、“单元”、“子模块”可以是处理器或计算机可执行代码,所述代码可以存储在计算机或处理器可读存储介质上,或者存储在网络的云端(服务器群),并且所述代码在被执行时可以实现这些“设备”、“框架”、“编码器”、“模块”、“单元”、“子模块”,或者实现使用这些“设备”、“框架”、“编码器”、“模块”、“单元”、“子模块”的方法。

本发明涉及基于神经网络的视频检索。本文中的视频检索框架可以应用于两种任务:“标题到视频”和“视频到标题”。在这两种任务中,大致区别在于如何组成(视频,标题)对。在“标题到视频”任务中,具体检索是输入的标题,检索目标是相关的视频,因此视频检索框架的输入是多个(视频候选,标题)对;而在“视频到标题”任务中,具体检索是输入的视频,检索目标是相关的标题或相关文字描述,因此视频检索框架的输入是多个(视频,标题候选)对。

在本文中所提及的“视频检索框架”、“视频检索设备”、“视频检索模块”、“视频检索单元”都指代可以被实现为软件、硬件、或软件与硬件的组合的任何视频检索功能,这些术语在本文中可以互换地使用。另外,“相似度估计”、“相似度计算”、“相似度确定”是可互换地使用的,表示由硬件、软件、或硬件与软件的组合实现的用于计算两个输入(例如视频特征表示和“文本特征表示”)。另外,术语“训练”和“学习”在本文中通常可互换地使用。

如上所述,本发明主要是针对文献2中存在的技术问题提出的。该MMT框架是一种用于视频检索的编码器,其是基于文献3提出的基于关注(attention)的转换器(Transformer)架构所提出的。因此,这两篇论文及其所引用的多个文献以引用的方式并入本文中,作为本公开内容的一部分,以使得本文的公开完整。

如上所述地,在MMT中所使用的转换器框架由于缺乏归纳偏置,导致学习局部依赖的效率低下;另一方面,随着模型深度的增加,学习到的特征很可能会产生学习偏差,这主要是由于模型层数越深,梯度越容易发散,误差越大,导致难以训练,从而影响模型的性能。

为了解决上述技术问题,本文提出了一种新颖的视频编码器,以用于视频检索。

在一个方面,本文考虑到转换器框架中的上述缺点,在转换器的多头注意力模块中采用了子注意力子模块与基于跨度的动态卷积子模块的组合。

子注意力子模块用于针对全连接网络中的每个层,关注所输入的所有视频嵌入,提取输入视频中的在多个模态中数个模态上发生的事件的语义。

基于跨度的动态卷积子模块与所述子注意力子模块共享查询,但与所述子注意力子模块使用不同的键以便与所述子注意力子模块分别地生成注意力映射核卷积核。基于跨度的动态卷积子模块融合了全局、局部和上下文的视觉/文本信息,可以产生具有更大判别力的特征。更具体而言,基于跨度的动态卷积子模块使用逐深度的可分离卷积来收集关于标志(其表示矩阵上的单个元素)跨度的信息,然后动态地生成卷积核,以便能够基于输入标志的局部上下文来收集输入标志的局部关系。基于跨度的动态卷积子模块能够解决自注意力中缺乏归纳偏置的问题,并且这种基于跨度的卷积可以更高效地收集上下文信息。最终的输出被送到前馈层进行进一步处理。

在另一方面,本文考虑到转换器框架中的上述缺点,在转换器的多头注意力模块中,除了使用本层的捷径之外,还另外使用了来自先前层的捷径作为增强捷径。通过将联合卷积和自注意力的多头注意力模块与更多的恒等投影并行化,能够有效地稳定模型能力,并防止深度网络可能产生的学习偏差。

图1示出了根据本发明的一个实施例的用于视频检索的视频检索框架的示意图。如图所示,本文的视频检索框架包括视频编码器、文本编码器和相似度估计单元。

视频编码器接收视频输入,使视频输入通过神经网络,并在输出端获得视频输入的视频特征表示。

文本编码器接收文本输入,并获得文本输入的文本特征表示。在“标题到视频”任务中,文本输入可以是查询,而在“视频到标题”,本文输入可以来自预先设置的候选标题库中的候选标题。

如上所述地,由于文本分析相对简单,并且针对文本检索的研究已经进行了数十年,因此用于生成文本特征表示的文本编辑器已经相对成熟和高效。例如,文献3中使用了CLIP文本编码器。文本编码器的一个具体实施例可以采用Radford等人的CLIP文本编码器。因此,该论文及其所引用的多个文献以引用的方式并入本文中,作为本公开内容的一部分,以使得本文的公开完整。当然,本发明并不局限于此,而是可以使用任何文本编码器。所使用的文本编码器可以是在对本视频检索框架进行训练时进行初始化的文本编码器,也可以是预先采用大量训练数据进行了训练的文本编码器。在采用预先采用大量训练数据进行了训练的文本编码器时,可以使用根据本发明的一个方面的用于训练该视频检索框架的两步训练方法来获得最佳的文本编码器和视频检索框架。

相似度估计接收来自视频编码器的视频特征表示和来自文本编码器的文本特征表示,并对其进行相似度估计。例如,采用如上公式(1)和(2)中的方式进行相似度估计。

图2示出了根据本发明的一个实施例的用于视频检索的视频检索框架中的视频编码器的示意图。该视频编码器包括卷积神经网(CNN)和多模态转换器(Multi-modaltransformer,以下简称MMT)。CNN从视频输入中提取出多种模态,例如,运动、RGB、场景、人脸、OCR、语音和音频,这些模态都由其领域中的预训练网络进行预处理。例如,文献2及其引用文献中详细论述了多种模态提取的细节。

由CNN提取的多种模态作为多个视频嵌入而输入到MMT中,见图2中的E1-EN,其中E1,E2,…,EN表示与各个模态相对应的视频嵌入。在一个具体实施例中,N=7,并且E1,E2,…,EN表示与运动、RGB、场景、人脸、OCR、语音和音频7种模态相对应的视频嵌入。当然,本发明并不限于此。例如,模态还可以包括字幕、图形等等。

MMT是由多个转换器编码器(Trm)为节点的全连接网络,如图2左侧所示。MMT的输入端是与各个模态相对应的视频嵌入E1,E2,…,EN。在一个优选实施例中,每个视频嵌入由提取的特征、特征种类编码、时序信息、位置信息等等编码构成。

在一个优选实施例中,MMT可以包含Trm构成的6层网络,即在输入端与输出端之间存在6层Trm网络。每个Trm的输入体现为查询(Q)、键(K)和值(V)的形式。该形式是本领域公知的(例如,在文献3中),在此不再赘述。

图2右侧示出了MMT网络中的每个Trm的示例性结构。每个Trm包括多头注意力(MSA)模块,其接收作为Trm的输入的查询(Q)、键(K)和值(V)并将所述查询和一组键-值对映射到输出。

每个Trm还包括在多头注意力模块的输出端的加法器(例如第一加法器),其将MSA模块的输出与该Trm的输入(即MSA模块的输入)相加,从而实现带有捷径的MSA模块,其可以表示为

ShortcuMSA(Z

其中,恒等投影(即Z

每个Trm还在第一加法器后面的层标准化模块(例如,第一层标准化模块),其对所述第一加法器的输出进行层标准化。

每个Trm还包括前向反馈模块,其接收第一层标准化模块的输出,执行前向反馈。在一个优选实施例中,该前向反馈采用全连接前向反馈网络的形式。

每个Trm还包括在前向反馈模块输出端的加法器(例如第二加法器),其将前向反馈模块的输出与前向反馈模块的输入相加,从而实现带有捷径的前向反馈模块,其可以表示为类似于以上公式(3)的形式。

每个Trm还包括在第二加法器后面的层标准化模块(例如,第二层标准化模块),其对所述第二加法器的输出进行层标准化。

在一个实施例中,将第二层标准化模块的输出作为相应Trm的输出。在其他实施例中,可以在第二层标准化模块与相应Trm的输出之间添加其他可选模块,例如线性模块、Softmax模块等等。

如上所述,MMT可以包含多个Trm构成的6层的全连接网络,因此这些Trm形成了多次迭代的效果。

图4示出了根据本发明的一个实施例的转换器编码器(Trm)的一个实施例的结构示意图。在图4中,给出了根据本发明的在Trm中的示例性多头注意力(MSA)模块的高级框图。如图4所示,MSA模块包括子注意力(SA)子模块和基于跨度的动态卷积(SDC)子模块。SA子模块和SDC子模块同时接收Trm的输入的查询(Q)、键(K)和值(V),分别进行处理,二者的输出端通过联接模块(联接器)联接在一起,并输出。在一个实施例中,将联接器的输出作为相应MSA模块的输出。在其他实施例中,可以在联接器的输出与相应MSA模块的输出之间添加其他可选模块,例如线性模块、Softmax模块等等。

在一个实施例中,可以对多个并行MSA层进行并行处理,并在每个并行MSA层后将联接器的输出通过一个线性层进行线性组合。

图5示出了根据本发明的一个实施例的转换器编码器(Trm)中的子注意力(SA)子模块的一个实施例的结构示意图。子注意力子模块接收输入的查询(Q)、键(K)和值(V),并将查询和一组键-值对映射到输出。

如图5所示,SA子模块包括分别对查询(Q)、键(K)和值(V)执行线性组合的三个线性层,例如,第一线性层、第二线性层和第三线性层。容易理解,对于本领域技术人员而言,这些线性层仅仅是对查询(Q)、键(K)和值(V)的元素进行重新排列(即线性组合),而并未对其进行进一步的变换,因此,图5中的各个线性层的输出仍然对应于查询(Q)、键(K)和值(V)。

SA子模块还包括在第一和第二线性层(对应于Q和K)的输出端的“Mat Mul”(例如,第一乘法器)。该“Mat Mul”通常使用torch.matmul函数来实现两个张量矩阵相乘,这是本领域公知的,在此不再赘述。因此,该第一乘法器用于对第一线性层和第二线性层的输出进行张量矩阵相乘。

SA子模块还包括在“Mat Mul”输出端的缩放模块(例如缩放器),其目的是对矩阵数值做缩放,以缓解梯度消失。

SA子模块还包括在缩放器输出端的SoftMax单元,这是使用Softmax函数对缩放器的输出进行数值处理。

SA子模块还包括另一“Mat Mul”(例如,第二乘法器),其对SoftMax单元的输出与第三线性层(对应于V)的输出进行另一张量矩阵相乘。

SA子模块还包括第四线性层,其接收第二乘法器的输出,执行线性组合,并输出以作为所述子注意力子模块的输出。

在一个实施例中,将第四线性层的输出作为相应SA子模块的输出。在其他实施例中,可以在第四线性层的输出与相应SA子模块的输出之间添加其他可选模块,例如另一缩放模块、Softmax模块等等。

图6示出了根据本发明的一个实施例的转换器编码器(Trm)中的基于跨度的动态卷积(SDC)子模块的一个实施例的结构示意图。SDC子模块接收输入的查询(Q)、键(K)和值(V),并将查询和一组卷积键-值对映射到输出。

与图5的SA子模块相比,图6中的SDC子模块的主要不同在于用卷积层(Conv)替代了对应于键(K)的线性层。通过使用该卷积层,使得SDC不仅具有动态卷积的灵活性,而且允许在当前标志的局部范围内生成内核。这种卷积可以有效地利用局部依赖关系,并且能够区分同一标志的不同含义。基于跨度的动态卷积首先使用深度可分离卷积来收集基于跨度的标志信息,如图6所示,然后动态生成卷积核。通过根据其局部上下文而不是单个标志生成输入标志的局部关系,内核可以有效地捕获局部依赖关系。具体来说,以查询Q和键Ks作为输入,内核由(4)生成:

f(Q,K

其中⊙表示逐点乘法,W

SDC(Q,K

其中,Lconv表示按深度的轻权重矢量卷积,其沿着通道维度将所有权重绑定在一次,但在每个位置使用不同的卷积核,其计算可以公式(6)所示:

其中,W

Lconv的一个更详细的实施例在Felix Wu等人的“Felix Wu,Angela Fan,AlexeiBaevski,Yann N Dauphin,and Michael Auli.Pay less attention with lightweightand dynamic convolutions.arXiv preprint arXiv:1901.10430,2019.”(文献4)中给出,该论文及其所引用的多个文献以引用的方式并入本文中,作为本公开内容的一部分,以使得本文的公开完整。

如图6所示,SDC子模块包括用于分别对查询(Q)和值(V)执行线性组合的线性层,例如,第五线性层和第六线性层。

SDC子模块还包括卷积层,用于对键(K)执行矢量卷积,并输出卷积键(K)。如图6所示,通过使用卷积层,将SDC子模块的输入转换为Q、Ks和V。

SDC子模块还包括乘法器(“相乘”,例如第三乘法器),其用于对第五线性层和卷积层的输出进行张量矩阵逐点相乘。本领域技术人员容易理解,这是因为针对键(K)采用了卷积层。

SDC子模块还包括在第三乘法器的输出端的线性层(例如,第七线性层),其用于对第三乘法器的输出进行线性处理。

SDC子模块还包括在第七线性层的输出端的SoftMax单元,这是使用Softmax函数对缩放器的输出进行数值处理。

SDC子模块还包括Lconv单元(轻权重卷积单元),其对SoftMax单元的输出和与V相对应的第六线性层的输出进行轻权重矢量卷积。该轻权重矢量卷积例如可以采用如上结合公式(5)和(6)所描述的方式。该轻权重矢量卷积可以有效地收集局部依赖关系。例如,这可以使得在进行视频检索时相似度高的片段可以获得高分数;而SA子模块中的“Mat Mul”在进行视频检索时可以使得与内容向量中相关性强的帧获得更高的分数。

SDC子模块还包括在Lconv单元的输出端的线性层(例如,第八线性层),其接收所述轻权重卷积的输出,执行线性组合,并输出。在一个实施例中,第八线性层的输出可以作为SDC子模块的输出。在其他实施例中,可以在第八线性层的输出与相应SDC子模块的输出之间添加其他可选模块,例如缩放模块、Softmax模块等等。

图7示出了根据本发明的一个实施例的转换器编码器(Trm)的另一个实施例的结构示意图。

与图4相比,图7添加了更多的捷径。具体而言,如上所述,在图4中,实现带有捷径的MSA模块和前向反馈模块,其可以表示为公式(3),其中,恒等投影(即Z

图7中在图4的本层(“l”)捷径的基础上,对MCA模块和前向反馈模块增加了N个增强型捷径。以MCA模块为例,配备N个增强型捷径的MCA模块可以表示为:

其中,“l”表示第l层,例如6层Trm中第l层。

其中

在一个优选实施例中,N=1,即可以添加一个增强捷径连接。

除了原始的捷径之外,增强型捷径提供了更多替代路径来绕过注意力机制。增强型捷径提供了更多绕过注意力机制的替代路径,而相同的增强捷径强化了原始特征,抑制了梯度发散,并且不会导致标志随着网络的加深而逐渐产生学习偏差。

对于前向反馈模块的增强型捷径可以采用类似的方式,再次不再赘述。

图8示出了用于实现本发明的一个实施例的视频检索设备的示意图。该设备包括处理器和存储器。如上所述,所述处理器可以是通用处理器、神经网络处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑器件、分立硬件组件、或者被设计执行本文所述功能的任何电路模块。所述处理器包括位于远程计算机或服务器或服务器群或云中的各种处理器。

存储器可以是任意能够存储程序、代码和被操作数据的存储器类型。存储器包括位于远程计算机或服务器或服务器群或云中的各种存储。存储器中包含指令,所述指令当被处理器执行时,能够实现本文所述的方法或实现本文所述的设备。存储器中还可以存储本文所述的方法和设备所操控的数据,例如视频输入、文本输入、中间数据、各种模型参数、神经网络参数等等。

该设备也可以在片上系统(SOC)中实现。

本发明的上述各个方面,可以归结为如下非限定性的多个方面,容易理解,这些方面可以进行任意形式的合并、删除和替换。

方面1,一种用于检索视频的方法,包括:

使用视频编码器来获得输入视频的视频特征表示,所述视频编码器采用多模态转换器(MMT)对所述输入视频中提取的多个模态进行处理,所述MMT包括:

与所述多个模态对应的多个输入端,用于接收与所述多个模态相对应的多个视频嵌入(E1-EN),

用于输出所述输入视频的视频特征表示(T1-TN)的多个输出端,以及

在所述多个输入端与所述多个输出端之间的、以转换器编码器(Trm)为节点的全连接网络;

使用文本编码器来获得输入文本的文本特征表示;

计算所述视频特征表示与所述文本特征表示之间的相似度,

其中,所述转换器编码器(Trm)包括多头注意力模块,所述多头注意力模块接收查询(Q)、键(K)和值(V)作为输入,并且所述多头注意力模块进一步包括:

子注意力子模块,其接收所述查询(Q)、所述键(K)和所述值(V),并将所述查询和一组键-值对映射到输出;

基于跨度的动态卷积子模块,其接收所述查询(Q)、所述键(K)和所述值(V),对所述键(K)应用卷积以得到卷积键(Ks),并将查询和一组卷积键-值对映射到输出;以及

联接器,其用于连接所述子注意力子模块的输出和所述基于跨度的动态卷积子模块的输出。

方面2,方面1所述的方法,其中,所述子注意力子模块包括:

用于分别对所述查询(Q)、所述键(K)和所述值(V)执行线性组合的第一线性层、第二线性层和第三线性层;

第一乘法器,用于对所述第一线性层和所述第二线性层的输出进行张量矩阵相乘;

缩放器,用于对第一乘法器的输出进行缩放;

SoftMax单元,用于对所述缩放器的输出进行SoftMax函数处理;

第二乘法器,用于对SoftMax单元与所述第三线性层的输出进行张量矩阵相乘;以及

第四线性层,其接收所述第二乘法器的输出,执行线性组合,并输出以作为所述子注意力子模块的输出。

方面3,方面1或2所述的方法,其中,所述基于跨度的动态卷积子模块进一步包括:

用于分别对所述查询(Q)和所述值(V)执行线性组合的第五线性层和第六线性层;

卷积层,用于对所述键(K)执行矢量卷积,并输出所述卷积键(K);

第三乘法器,用于对所述第五线性层和所述卷积层的输出进行张量矩阵逐点相乘;

第七线性层,用于接收所述第三乘法器的输出,并进行线性处理;

SoftMax单元,用于对所述第七线性层的输出进行SoftMax函数处理;

轻权重卷积单元,用于对所述SoftMax单元的输出和所述第六线性层的输出进行轻权重矢量卷积;以及

第八线性层,用于接收所述轻权重卷积单元的输出,执行线性组合,并输出。

方面4,方面1-3任一方面所述的方法,其中,所述转换器编码器(Trm)包括:

所述多头注意力模块,其接收所述转换器编码器(Trm)的输入;

第一加法器,其将所述多头注意力模块的输出与所述转换器编码器(Trm)的输入相加;

第一层标准化模块,用于对所述第一加法器的输出进行层标准化;

前向反馈模块,其接收所述第一层标准化模块的输出,执行前向反馈;

第二加法器,其将所述前向反馈模块的输出与所述第一层标准化模块的输入相加;以及

第二层标准化模块,用于对所述第二加法器的输出进行层标准化。

方面5,方面1-3任一方面所述的方法,其中,所述转换器编码器(Trm)包括:

所述多头注意力模块,其接收所述转换器编码器(Trm)的输入;

第一加法器,其将所述多头注意力模块的输出、所述转换器编码器(Trm)的输入以及N个增强捷径相加;

第一层标准化模块,用于对所述第一加法器的输出进行层标准化;

前向反馈模块,其接收所述第一层标准化模块的输出,执行前向反馈;

第二加法器,其将所述前向反馈模块的输出、所述第一层标准化模块的输入以及N个增强捷径相加;以及

第二层标准化模块,用于对所述第二加法器的输出进行层标准化。

方面6,方面5所述的方法,其中,所述增强捷径是相应的捷径连接经过参数化投影得到的。

方面7,方面6所述的方法,其中,所述参数化投影是线性投影和激活函数的序列。

方面8,方面1-7任一方面所述的方法,所述视频编码器还包括:

卷积神经网络,用于接收所述输入视频,并对所述输入视频提取所述多个模态。

方面9,一种视频检索设备,包括:

视频编码器,其获得输入视频的视频特征表示所述视频编码器采用多模态转换器(MMT)对所述输入视频中提取的多个模态进行处理,所述MMT包括:

与所述多个模态对应的多个输入端,用于接收与所述多个模态相对应的多个视频嵌入(E1-EN),

用于输出所述输入视频的视频特征表示(T1-TN)的多个输出端,以及

在所述多个输入端与所述多个输出端之间的、以转换器编码器(Trm)为节点的全连接网络;

文本编码器,其获得输入文本的文本特征表示;

相似度计算单元,其计算所述视频特征表示与所述文本特征表示之间的相似度,以用于确定视频和文本的匹配,

其中,所述转换器编码器(Trm)包括多头注意力模块,所述多头注意力模块接收查询(Q)、键(K)和值(V)作为输入,并且所述多头注意力模块进一步包括:

子注意力子模块,其接收所述查询(Q)、所述键(K)和所述值(V),并将所述查询和一组键-值对映射到输出;

基于跨度的动态卷积子模块,其接收所述查询(Q)、所述键(K)和所述值(V),对所述键(K)应用卷积以得到卷积键(Ks),并将查询和一组卷积键-值对映射到输出;以及

联接器,其用于连接所述子注意力子模块的输出和所述基于跨度的动态卷积子模块的输出。

方面10,方面9所述的设备,其中,所述子注意力子模块包括:

用于分别对所述查询(Q)、所述键(K)和所述值(V)执行线性组合的第一线性层、第二线性层和第三线性层;

第一乘法器,用于对所述第一线性层和所述第二线性层的输出进行张量矩阵相乘;

缩放器,用于对第一乘法器的输出进行缩放;

SoftMax单元,用于对所述缩放器的输出进行SoftMax函数处理;

第二乘法器,用于对SoftMax单元与所述第三线性层的输出进行张量矩阵相乘;以及

第四线性层,其接收所述第二乘法器的输出,执行线性组合,并输出以作为所述子注意力子模块的输出。

方面11,方面9或10所述的设备,其中,所述基于跨度的动态卷积子模块进一步包括

用于分别对所述查询(Q)和所述值(V)执行线性组合的第五线性层和第六线性层;

卷积层,用于对所述键(K)执行矢量卷积,并输出所述卷积键(K);

第三乘法器,用于对所述第五线性层和所述卷积层的输出进行张量矩阵逐点相乘;

第七线性层,用于接收所述第三乘法器的输出,并进行线性处理;

SoftMax单元,用于对所述第七线性层的输出进行SoftMax函数处理;

轻权重卷积单元,用于对所述SoftMax单元的输出和所述第六线性层的输出进行轻权重矢量卷积;以及

第八线性层,用于接收所述轻权重卷积单元的输出,执行线性组合,并输出。

方面12,方面9-11任一方面所述的设备,其中,所述转换器编码器(Trm)包括:

所述多头注意力模块,其接收所述转换器编码器(Trm)的输入;

第一加法器,其将所述多头注意力模块的输出与所述转换器编码器(Trm)的输入相加;

第一层标准化模块,用于对所述第一加法器的输出进行层标准化;

前向反馈模块,其接收所述第一层标准化模块的输出,执行前向反馈;

第二加法器,其将所述前向反馈模块的输出与所述第一层标准化模块的输入相加;以及

第二层标准化模块,用于对所述第二加法器的输出进行层标准化。

方面13,方面9-11任一方面所述的设备,其中,所述转换器编码器(Trm)包括:

所述多头注意力模块,其接收所述转换器编码器(Trm)的输入;

第一加法器,其将所述多头注意力模块的输出、所述转换器编码器(Trm)的输入以及N个增强捷径相加;

第一层标准化模块,用于对所述第一加法器的输出进行层标准化;

前向反馈模块,其接收所述第一层标准化模块的输出,执行前向反馈;

第二加法器,其将所述前向反馈模块的输出、所述第一层标准化模块的输入以及N个增强捷径相加;以及

第二层标准化模块,用于对所述第二加法器的输出进行层标准化。

方面14,方面13所述的设备,其中,所述增强捷径是相应的捷径连接经过参数化投影得到的。

方面15,方面14所述的设备,其中,所述参数化投影是线性投影和激活函数的序列。

方面16,方面9-15任一方面所述的设备,其中,所述视频编码器还包括:

卷积神经网络,用于接收所述输入视频,并对所述输入视频提取所述多个模态。

方面17,一种计算机可读存储介质,其存储了用于执行视频检索的代码,所述代码当被执行时,能够实现如方面1-8任一方面所述的方法或如方面9-16任一方面所述的框架。

尽管前述公开文件论述了示例性方案和/或实施例,但应注意,在不背离由权利要求书定义的描述的方案和/或实施例的范围的情况下,可以在此做出许多变化和修改。而且,尽管以单数形式描述或要求的所述方案和/或实施例的要素,但也可以设想复数的情况,除非明确表示了限于单数。另外,任意方案和/或实施例的全部或部分都可以与任意其它方案和/或实施例的全部或部分结合使用,除非表明了有所不同。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号