Multimodal Dual Attention Memory for Video Story Question Answering阅读笔记
本文提出了一种视频故事问答(QA)体系结构MDAM,关键的思想是使用双重注意机制与后期融合。MDAM首先使用self - attention来学习场景帧和字幕中的潜在概念。然后根据给出的问题,使用第二层注意这些潜在的概念。发表于ECCV2018,分别在PororoQA和MovieQA数据集上对MDAM进行了评估。
文章链接:Multimodal Dual Attention Memory for Video Story Question Answering
一、文章引入
基于多模态内容输入的视频故事问答是人工智能领域的一个新兴课题。近年来,多模态深度学习研究已经成功地提高了静止图像和视频的QA性能,以及字幕、脚本、剧情梗概等辅助内容。但由于以下两个原因,视频故事QA比图像QA更具挑战性。
首先,视频故事QA涉及到按时间序列排列的多模式内容。模型必须学习至少两个多模态内容和给定问题之间的联合表示,并且这些联合表示必须考虑时间序列上的动态模式。其次,视频故事QA需要从多模态内容中提取高层含义,即根据故事的一致性,对场景帧和字幕进行分割。然而,视频中的场景帧和字幕对于任务来说是冗余的、高度复杂的,有时甚至是模糊的信息,而人类可以在抽象层面上根据对视频故事情节的理解进行推理和推断。这意味着人类可以成功地提取出与多模态内容相关的潜在变量,并在推理和推理过程中加以利用。这些潜在的变量取决于给定的问题,以给出正确的答案。然而,之前关于视频故事QA的工作集中在对原始场景框架和字幕的理解上,并没有对潜在变量进行建模。
本文提出了一种新的视频故事QA任务模型——多模态双注意记忆(MDAM),该模型使用ResNet、GloVe、PE和casing feature来表示视频的场景帧和字幕。然后,利用多头注意力网络计算场景帧和字幕的潜在变量。对于给定的问题,MDAM关注潜在变量的子集,将场景帧和字幕信息压缩到每个单独的表示。然后,利用image QA中使用的多模态残差学习,在整个QA过程中只进行一次多模态融合。这个学习框架由五个子模块组成:预处理、自注意、问题注意、多模态融合和答案选择,这是端到端的监督学习。下图给出了抽象层次上的模型。
二、主要框架
本文的目标是构建一个视频QA模型,该模型通过注意力机制最大化QA所需的信息,并将多模态信息融合到较高的抽象水平。 作者通过引入两个注意层来解决这个问题,这两个注意层利用了多头注意,然后是多模态融合的残差学习。
下图展示了本文提出的用于视频故事质量保证的多模态双注意记忆(MDAM)模型的总体结构。MDAM由五个模块组成:(1)第一个模块是预处理模块。所有的输入包括给定视频的帧和字幕都被转换成张量格式。(2)在self-attention模块中,MDAM学习根据整个视频内容获取预处理帧和字幕的潜在变量。这个过程模拟了一个人观看视频的全部内容,然后通过使用episodic buffer(情景缓冲器)回忆画面和字幕来理解这个故事。(3)在attention by question模块中,MDAM学习给出注意分数,找到给定问题的相关潜在变量。它可以被视为一个认知过程,即根据所理解的故事找到包含答案信息的点。(4)在多模态融合模块中,利用残差函数将这些精细的帧和字幕以及问题进行融合。(5)最后,答案选择模块通过生成5个候选答案句子的置信度评分来选择正确答案。
2.1 Preprocessing
模型的输入由:一系列字幕视频片段I~clip ~= {Vframes,Ccaptions}的1)帧Vframe和 2)字幕Ccaptions,3)一个问题和4)一组五个候选答案Aanswers =(a1,…,a5)。 Vframe和Ccaptions由N个帧和字幕组成,Vframes =(v1,…,vN),Ccaptions =(c1,…,cN),其中ci是Iclip的第i个对话字幕,vi 是在字幕Ci的开始时间和结束时间之间的中点采样的图像帧。 故事长度N的值根据此工作中使用的数据集而不同地固定。 如果视频中的字幕数量少于N,则会进行零填充。
预处理模块的主要目的是将原始输入分别变换成张量格式,MV∈RN×2048, MC∈RN×512,q∈R512, A∈R5×512,并将其存储在长期内存,如RAM中。
Linguistic Inputs 先将Ccaptions, question, Aanswers转化为单词级张量表示,EC∈RN×M×305, Eq∈RM×305,EA∈R5×M×305。M表示一个句子中最大单词数的固定值。与故事长度N一样,M的值取决于数据集。对于少于M个单词的句子,将添加零填充。为了表示输入的每个单词,我们将300-D GloVe与PE和5-D casing features连接起来。
GloVe and positional encoding :句子中的每个单词都映射到GloVe嵌入,然后进行位置编码。
其中gi为GloVe嵌入,pi为位置索引i的可学习嵌入向量。ei为输出嵌入。
Casing features:与现有的NLP研究中使用的方法一样,为每个单词表示添加以下5-D标记。1)大写标记。如果一个单词至少有一个字符是大写的,则此标志将标签赋值为True。2)数字标记,如果至少有一个字符是数值型的,则将标签赋值为True。3)人称代词标记,捕捉单词是否是人称代词,例如,she, he, they。4)unigram标志和5)bigram标志,指示问题和字幕或问题和候选答案句子之间是否存在一个unigram/bigram匹配。Casing features被映射到一个五维的0-1向量。
为了得到512-D的句子级张量表示,将由不同窗口大小的滤波器组成的共享一维卷积层we1conv∈RM×1×1×128,we2 conv∈RM×2×1×128, we3conv∈RM×3×1×128,we4conv∈RM×4×1×128,以及最大池化操作应用到单词级张量表示EC, Eq, EA
其中conv (input, filters)表示卷积层,ReLU为逐元素的ReLU激活。最后,字幕、问题、答案的输出张量分别为MC∈RN×512、q∈R512、A∈R5×512,并存储到长期记忆中。
Visual Inputs 152-Layer 的ResNet产生的2048-D的激活输出用于将Vframe表示为MV∈RN×2048。 它存储在长期存储器中。
2.2 Self-attention
该模块从长期记忆中导入帧张量MV∈RN×2048,字幕张量MC∈RN×512作为输入。输出是利用注意层获得具有输入潜值的张量MselfV∈RN×2048, MselfC∈RN×512。该模块提供单独的框架和字幕注意。
图3(a)显示了由Lattn层组成的关注层的过程。 每一层都有两个子层: 1)多头自注意网络和2)全连接前馈网络。 每个子层之间都有残差连接和层归一化。 Lattn层为每个层使用不同的学习参数。
Multi-head Self-attention Networks在这个子层中,每个帧和标题可以注意所有的帧和标题,包括它自己,以获得一个潜在的变量。它是通过从视频帧或字幕中选择一个支点,并使用注意力机制更新它来实现的。图3 (b)给出了详细的过程。支点p∈rdk,键值集K∈RN×dk。K是前一层的输出或第一层的输入嵌入,即 MV, MC。K的每个行向量都是一个要计算其潜在变量的键。dk是键的维度,即,512或2048。支点p是从K的N个键中选出来的。
首先,网络使用不同的可学习投影矩阵将支点p和N个键投影到dproj维h次。 然后,对于每个投影,对通过支点p从基于点积的注意力得到的得分进行加权平均聚合N个键。
如果将支点p视为为K [j ,:],则h个输出将被连接并再次投影以成为更新的键值
⊗表示连接,Wo∈Rhdproj×dk为投影矩阵。网络将一个支点p从K[1,:]变换为K[N,:],并重复Eqn(5)-(7)获得更新的键值集˜K。本文中,h=8, dproj=64。
Feed Forward Networks全连接前馈网络对输入的每一点分别应用两个线性变换和一个ReLU激活函数。
其中x是输入点。输入和输出的尺寸大小为dk,内层尺寸大小为2dk。
2.3 Attention by Question
该模块获取自注意模块的最终输出张量MselfV, MselfC,并通过使用问题再次分别计算注意力得分。使用1-D卷积神经网络对注意信息进行聚合,对帧和标题分别生成v∈R512和c∈R512的输出。
Multi-head Attention Networks像第2.2节的自我注意模块一样,该模块使用由图3(a)中所示的Lattn相同层组成的注意层。 但是,注意层与自我注意模块的不同之处在于它们内部具有多头注意网络。
图3(c)显示了多头注意力网络。 网络如公式(5)-(7)一样通过关注键值集K来计算更新的键值集˜K。 但是在计算公式时有三个差异。 1)通过从长期记忆中读取以问题张量q为支点。 2)计算的注意力输出值不经过平均加权,即headi = DotProdAttn(…)∈RN×dproj。 3)Eqn(7)的输出变为˜K∈RN×dk,它不是˜K的特定点。
我们将注意层的最终输出表示为MqV∈RN×2048和MqC∈RN×512。然后,使用1-D卷积神经网络和max pooling操作分别对这些数据进行集合,得到输出v∈R512,c∈R512。
wviconv∈R2048×i×1×128表示MqV长度为i的一维卷积滤波器,wciconv∈R512×i×1×128表示MqC长度为i的一维卷积滤波器。
2.4 Multimodal Fusion
在整个QA过程中,多模态融合在本模块中只发生一次。该模块将帧v∈R512,字幕c∈R512,与问题q∈R512进行融合,输出单个表示o∈R512。我们借用了多模态残差学习的思想。
图4给出了我们的多模态融合模块的一个示例。最后的输出o是两个深度残差块的连接,然后是线性投影和tanh激活。每个深层残差块由问题q和帧v或q和标题c的逐元素相乘以及残差连接组成。
其中Lm为学习块的深度,对Lm使用不同的值。⊗串联操作,σ是逐元素tanh激活,H(Lm)(q,v)和H(Lm)(q,c)使用不同的学习参数。
给出了具有两个深度剩余块的多模态融合模块的原理图。最后的输出o是两个残差块H(2)(问题q-frame v)和H(2)(问题q -字幕c)的输出的串联,然后是线性投影和tanh激活。
2.5 Answer Selection
该模块通过多模态融合模块的输出o∈R512与答案张量A∈R5×512之间的基本元素计算,学习选择正确的答案句,该张量在softmax分类器后从长期记忆中读取。
其中otile∈R5×512是o的平铺张量。⊕是逐元素的加法。z∈R5是五个候选答案句子上的置信得分向量。最后,我们预测得分最高的答案y, y = argmaxi∈[1,5](zi)。
三、实验结果
MovieQA验证集上模型变量的结果。Lattn表示注意网络中的层数。lm表示多模态融合模块中学习块的深度。
在MovieQA挑战排行榜的视频QA部分与其他模型的性能比较。
四、总结
本文提出了一个视频故事QA架构MDAM。MDAM的基本思想是提供双重注意结构,通过学习视频输入的潜在变量来捕获整个视频内容的高级抽象,即在此基础上,提出了一种基于帧和字幕的多模态融合方法。我们通过在MovieQA和PororQA数据集上展示最先进的性能,以经验证明我们的体系结构选择是有效的。在消融研究中,我们探索了不同的替代模型,我们推测有以下两点:1)多模态融合在QA管道中的位置对提高性能很重要。我们了解到早期的融合模型容易出现过拟合,并且由于在时域上发生了多次融合,使得训练损失在训练阶段出现波动。另一方面,晚期融合模型的收敛速度较快,性能较好。2)对于一个给定的问题,在自我注意之后关注视频内容是有用的。因为问题和场景框架是不同的模态。在语言和视觉方面,如果两个隐藏的表示没有足够的对齐,那么使用一个问题来处理框架的一个子集往往会得到一个糟糕的结果。我们的自注意模块通过计算帧和字幕的潜在变量来解决这个问题。
Multimodal Dual Attention Memory for Video Story Question Answering阅读笔记相关推荐
- Holistic Multi-modal Memory Network for Movie Question Answering心得体会
根据多模态情景回答问题是一个具有挑战性的问题,因为它需要对不同的数据源进行深度集成.现有的方法只在一个关注跳中使用数据源之间的部分交互.本文提出了一个完整的多模态记忆网络(HMMN)框架,该框架充分考 ...
- Hierarchical Graph Network for Multi-hop Question Answering 论文笔记
Hierarchical Graph Network for Multi-hop Question Answering 论文笔记 2020 EMNLP,Microsoft 365, 这篇文章所提出的层 ...
- WeaQA:Weak Supervision via Captions for Visual Question Answering 论文笔记
WeaQA:Weak Supervision via Captions for Visual Question Answering论文笔记 一.Abstract 二.引言 三.相关工作 3.1 VQA ...
- 《Consistent Video Depth Estimation》阅读笔记
<Consistent Video Depth Estimation>阅读笔记 文章目录 <Consistent Video Depth Estimation>阅读笔记 前言: ...
- LPF: A Language-Prior Feedback Objective Function for De-biased Visual Question Answering 论文笔记
LPF: A Language-Prior Feedback Objective Function for De-biased Visual Question Answering 论文笔记 一.摘要 ...
- RFA-Net: Residual feature attention network for fine-grained image inpainting 论文阅读笔记
RFA-Net: Residual feature attention network for fine-grained image inpainting 论文阅读笔记 摘要 尽管大多数使用生成对抗性 ...
- 学习Knowledge Graph Embedding Based Question Answering代码笔记
前言 最近被导师安排学习一下[Knowledge Graph Embedding Based Question Answering] 这篇paper,这篇paper的重点在于运用了Knowledge ...
- iCAN: Instance-Centric Attention Network for Human-Object Interaction Detection 论文阅读笔记
摘要 本文研究场景图中人-物交互问题.其核心思想是人或物体实例的外观包含指示线索,利用这些信息可以注意到图像中可以促进交互预测的部分.为了利用这些线索,研究者提出了一个以实例为中心的注意力模块,学习根 ...
- A Graph-Based Temporal Attention Framework for Multi-Sensor Traffic Flow Forecasting阅读笔记
论文:基于图的多传感器交通流预测时间注意框架,A Graph-Based Temporal Attention Framework for Multi-Sensor Traffic Flow Fore ...
最新文章
- 从言行合一到知行合一
- python学习笔记四一列表元组字典等
- django.db.utils.OperationalError: no such column: catalogue_product.is_public
- StringEscapeUtils的资料
- Taskonomy: Disentangling Task Transfer Learning
- 数理化计算机电子 武大水平,全方位比较南开大学、武汉大学——以数据为基础.doc...
- [MUI框架]-滑动侧边栏-div同页结构
- 【渝粤题库】陕西师范大学200031 中国现代文学 作业
- Unity LightMap之动态切换LightMap模拟白天夜晚
- Apache运行正常,但是localhost却打不开页面
- vue-router删除页面参数或清除地址栏路由参数
- 智慧家庭解决方案-最新全套文件
- kettle的下载、安装和初步使用(windows平台下)(图文详解)
- Oracle产品服务和技术级别的介绍
- install samba on crux without net.
- form提交前进行确认提示
- Android7.0编译出现问题(Failed to contact Jack server)
- java使用Map缓存
- Android png转webP报错
- 发票二维码含义, 及java生成二维码
热门文章
- 复杂公式怎么用计算机计算,Excel复杂公式的两种理解方法!
- 万网云虚拟主机 mysql_万网虚机_虚拟主机购买_云虚拟主机租用_网站空间价格_虚拟云主机 - 阿里云...
- 算法-蓝桥杯习题(3-2)
- linux学成之路(基础篇)(九)linux网络管理
- 自己写编译器词法分析c语言,从零开始写个编译器吧 - 开始写词法分析器(3)...
- 八:对微服务通讯方式RPC vs REST的理解
- CF1430C Numbers on Whiteboard
- 牛客 寻找第k大数字
- java aes128位 cfb与gcm加解密 aes-128-cfb aes-128-gcm
- 推荐几本书(.net)