Video Captioning by Adversarial LSTM 阅读笔记

本文提出了一种基于对抗学习的LSTM视频字幕生成方法,旨在解决传统LSTM在处理视频数据时的误差累积问题。通过引入生成器和鉴别器,生成器负责根据视频生成文本,而鉴别器则评估生成句子的合理性。利用3D-CNN和LSTM捕捉视频的时间特性,同时采用对抗性学习来减少语法错误和单调性。鉴别器采用卷积结构和多模态输入,以提高对输入视频相关描述的生成能力。实验表明,这种方法能生成更自然、合理的视频字幕。
摘要由CSDN通过智能技术生成

Video Captioning by Adversarial LSTM

本文提出了一种基于对抗学习和长短期记忆(LSTM)的视频字幕新方法。利用这种解决方案概念,旨在补偿基于LSTM的视频字幕方法的缺陷,这些方法在生成字幕时通常显示出有效处理视频数据的时间特性的潜力,但通常也会遭受指数误差累积。具体来说,我们采用标准的生成性对抗网络(GAN)架构,其特征是两个相互竞争的过程的相互作用:一个“生成器”,根据视频的视觉内容生成文本句子;一个“鉴别器”,控制生成句子的准确性。鉴别器作为生成器的“对手”,通过其控制机制,它帮助生成器变得更加精确。对于发生器模块,我们采用了一个使用LSTM网络的现有视频字幕概念。对于鉴别器,提出了一种新的实现方法,专门针对视频字幕问题,将句子和视频特征都作为输入。
与静态图片不同,视频的内容要丰富得多,而且将视频摘要简单地外推为图像开发的方法不太可能捕捉得好。这种丰富性主要来自视频内容的时间方面。与检索和注释技术相比,字幕任务更依赖于缩小视觉和文本信息之间的语义差距。为了考虑这一点,三维卷积神经网络(3D-CNN)结构不仅在空间上,而且在时间上应用卷积。而3D-CNN由于卷积核大小的限制,只能在短时间内捕获信息。一个长短期记忆(LSTM)网络是递归神经网络(RNNs)的变体,以模拟整个视频片段中的全局时间结构。然而,这种方法被证明会指数地累积语法错误,并随着视频长度的增加导致所生成的单词之间的关联性降低。此外,传统的字幕生成模型通常以最大概率选择单词,这通常导致生成的句子集合相当单调,例如围绕单词“playing”和“doing”,这两者在公共训练数据集中出现得相当频繁。
为了消除LSTM的这一缺陷,在本文中,我们提出了一种新的方法,**将LSTM的概念扩展为对抗性学习的概念。**如图1所示,这种扩展包括向系统体系结构添加一个“判别器”模块,它充当句子生成器的对手。虽然生成器的目标是使生成的句子尽可能接近其现有的生成模型,但判别者的目标是确保生成的句子是合理和自然的,以便人们更好地理解。这两个并发过程的相互作用最近被引入作为对抗性学习,以生成性对抗性网络作为基本实现。因此,我们称我们提出的方法为LSTM-GAN。
在这里插入图片描述
然而,将GAN应用于视频字幕环境并不简单。GAN是为实值但连续的数据设计的,可能很难处理上面提到的离散单词或标记序列。原因在于,基于发生器输出的来自鉴别器的损失的梯度被用来移动发生器以稍微改变句子生成的方式。然而,**如果生成器的输出由离散的标记组成,则鉴别器的微小变化指导可能不起作用,因为在所使用的字典中可能没有标记向发生器发信号表示期望的变化水平。
为了克服这个问题,我们提出了一个嵌入层,它可以将离散的输出转换成连续的表示。除此之外,由于我们的生成模型的输出是一个序列,由几个完全连接的层组成的普通区分模型对序列句的分类能力很差。为了解决这个问题,我们提出了一种新的判别模型的实现。具体地说,我们用一种新颖的卷积结构取代了最初提出的全连通层。我们的区分模型由卷积层、最大池层和全连通层组成。卷积层将产生局部特征,并保持序列句中每个单词周围的局部一致性。经过max-pooling层,句子最重要的信息将被有效提取。那些信息用一个固定长度的向量来表示。**此外,我们还为判别模型引入了多模态输入。我们不仅将句子发送到判别模块,还将从生成模块的第一LSTM层(编码器)生成的视频特征发送到判别模块。将原始输入与视频特征相结合的新颖方法将有助于生成关于输入视频的更多相关描述。
在这里插入图片描述
图2描述了我们的LSTM-GAN体系结构,它由一个发生器G和一个鉴别器D组成。发生器G使用一个编码器-解码器体系结构来产生相关视频的描述,在这个体系结构下,结合了CNN体系结构作为鉴别器D,用于评估所产生的句子是否合理。

A. Long Short-Term Memory Networks

传统的RNNs在文本生成和语音识别方面已被证明是成功的,但是由于梯度消失和梯度爆炸等问题,很难很好地处理长时间依赖的视频。由Hochreiter和Schmidhuber等人提出的LSTM网络已经证明能够有效地防止在通过时间的反向传播期间梯度消失和爆炸问题。这是因为它结合了存储单元,这有助于网络学习长期的时间依赖性,忘记以前隐藏的状态,并在给定新信息的情况下更新它们。更具体地说,如图3所示,LSTM合并了几个控制门和一个存储单元,让xt,ct和ht分别代表每个时间t的输入,单元存储和隐藏控制状态。给定输入序列(x1,…,xT),LSTM将计算隐藏控制序列(h1,…hT)和单元存储序列(c1,…,cT)。从形式上来说,这个过程可以用下面一组方程来描述:
在这里插入图片描述
这里,⊙代表元素方式的乘积,Wj类矩阵是LSTM权重参数。此外,σ和ϕ分别表示sigmoid和双曲线非线性函数。
在这里插入图片描述

B. Generative Adversarial Networks

基于GAN的学习方法包括同时训练两个网络模型,生成器G和鉴别器D。通过这两个学习过程的相互作用,G和D模型相互促进,以交互方式单独实现它们的目标。生成器G试图在给定噪声z~ Pnoise(z)的情况下生成真实数据,而鉴别器D~ n[0,1]旨在对真实数据x~ pdata(x)和从G生成的伪数据G(z)~ PG(z)进行分类。更具体地说,生成器G还通过将噪声数据z~Pnoise(z)转换为Gz(z将在我们后面的实验中被输入视频替换以生成相应的描述)来学习从生成器分布生成样本。同样,D的目标是尽可能准确地区分来自真实数据分布data和生成器分布PG的样本。在两个过程之间经过一段时间的竞争后,两个网络模型将达到某种程度的平衡,最佳鉴别器为D(x) = Pdata(x)/(Pdata(x)+PG(z)),生成器能够生成鉴别器D难以从训练数据或合成数据中区分的数据。这种“博弈”是由通过损失函数表达的优化标准导向收敛的,损失函数是为通用和通用设计的。我们定义了以下损失函数LG和LD:
在这里插入图片描述
其中{z(1)、…,z(m)}是通过随机初始化和{ x(1)}得到的m个噪声样本的小批量,{x(1)…x(m)}是来自真实数据分布pdata(x)的m个样本的小批量。

C. problem Definition

V是包括n个样本帧序列的视频,其中,V={v1,v2…,vn},带有相关摘要S,其中S = {w1,w2,…,wm}由m个单词组成。vi∈ RDv和wj∈ RDw分别表示描述视频V中第i帧的Dv维视觉信息和句子S中第j个单词的Dw维文本特征。在我们的工作中,我们的目标是最大化输出序列的条件概率(w1,…,wm)给定输入序列(v1,…,vn)。句子的条件概率可以定义如下:
在这里插入图片描述
这个问题类似于自然语言处理中的机器翻译问题,在该问题中,单词序列作为输入被输入到生成模型中,生成模型输出单词序列作为翻译结果。与上述不同的是,在我们的工作中,我们用视频帧代替文本输入,并期待字幕序列作为输出。更重要的是,我们不仅希望得到输入视频的相关描述,而且希望使句子自然合理,便于人们理解。

D. Proposed Solution

我们的总体框架由生成模型G和区分模型D组成。生成模型G类似于序列到序列模型,定义了在给定短视频的情况下生成相关描述序列的策略。判别模型D是以一系列句子{s,y}为输入,输出表示句子是否自然、合理、语法正确的标签D(S) ∈ [0,1]的二元分类器。
1) 目标函数:为了实现更快的目标收敛,我们首先分别对生成模型G和判别模型D进行预训练。对于G,类似于序列到序列模型[47],我们的目标是估计条件概率p(S|V),其中V = (v1,v2,…vt)是由帧样本和S = (w1,w2,…wt1)是作为输入视频的描述性纹理的相应输出序列。t和t1分别表示视频和输入句子的长度。作为序列到序列模型,我们得出以下目标函数:
在这里插入图片描述
对于θ和输出序列为S = (w1,w2,…,wt1),我们可以通过以下公式获得最佳θ:
在这里插入图片描述
其中HN+t-1表示时间步长n+t-1时的隐藏状态,这将在下一节中详细介绍。对于D,我们的主要目的是训练一个分类器,该分类器可用于句子编码,并将输入句子映射到输出D(S)∈[0,1],表示S的概率来自真实字幕,而不是来自对抗生成器。用于预训练的目标函数可以形式化为如下的交叉熵损失:
在这里插入图片描述
其中m表示batch_size,Yi和 D(Si))分别表示鉴别器的真实标签和预测值。
因此,当我们训练LSTM-GAN时,整个训练过程与图2相同。我们旨在将对数可能性降至最低,公式如下:
在这里插入图片描述
2)Generative Model:使用联合递归神经网络,类似于序列到序列模型也称为编码器-解码器LSTM,作为生成模型。编码器架构用于将视频特征编码成固定维度向量。而解码器架构将向量解码成自然句子。首先,我们采用VGG16作为CNN架构来映射序列帧V = (v1,v2,…,vt)转换成特征矩阵Wv∈ RDd×Dt= (wD1,…,wDt)。Dd和Dt分别表示特征向量的维数和帧数。特别地,被称为“编码器”的编码器LSTM网络映射输入嵌入表示wD1,…,wDt,即特征矩阵,转换成隐藏状态h1,h2,…ht,迭代地更新函数。
根据以上描述,从“编码器”生成的作为整个视频的呈现的最后状态ht将被输入到解码器LSTM,这就是解码器。具体来说,给定ht(在我们的图(2)中标记为ht-1)和相应的句子S(也指图1中的文本描述),用一个ont-hot编码(1/N编码,其中N是词汇的大小),解码器LSTM一步一步地以第t个词和先前的ht-1为条件,并被训练产生输入视频描述的下一个单词。将目标函数最小化为公式(5)生成最优的生成模型。这些单词的概率通过应用于解码器输出的softmax函数来建模。
这些单词应该是一个one-hot编码,它不仅是高维度的,而且是离散和不连续的。将那些带有一个one-hot格式的单词传递给判别器会使梯度更新难以通过。虽然基于得分函数的算法,如RENFORCE通过使用蒙特卡罗估计,能够获得离散变量的无偏梯度估计。然而,梯度估计的方差可能很大。为了解决这个问题,我们采用了soft-argmax函数:
在这里插入图片描述
这里,我们We∈RZ×C是一个单词嵌入矩阵(待学习),它类似于GloVe ,将单词的one-hot编码转换为密集的低维嵌入,C是嵌入单词的维数(在我们的实验中为1024),Z是我们的训练数据中的词汇量大小。v是参数集,将ht-1编码成向量。Wt-1表示在第t步骤生成的LSTM词。L是一个足够大的整数,这将使softmax< Vht-1⊙L>的向量接近一个one-hot形式。它的每个值被限制为大约0或1,这有助于wt-1更接近We[t-1] (假设t-1位置的值是Vht-1的最大值),也有助于单词嵌入更平滑和加速损失函数收敛。ε表示将解码器输出空间映射到字空间的函数
**3)Discriminative Model:**在判别器D中,我们的主要目的是最大化为训练句子和从G生成的句子分配正确标签的概率。众所周知,深度判别模型,如深度神经网络(DNN) 、卷积神经网络(CNN) 和递归卷积神经网络(RCNN) 在复杂的序列分类任务中表现出令人印象深刻的性能。在我们的论文中,参考最近显示出的在使用CNN的文本分类中的良好性能,我们选择CNN作为我们的判别器。
如图2所示,判别器由一个卷积层和一个max-pooling组成,它可以在每个特征映射的整个句子中捕获由卷积层产生的最有用的局部特征。我们的判别器的输入句子包含作为真实标签的基本真实句子(在图1中也称为文本描述)和由我们的生成器生成的作为虚假标签的生成句子。为了方便起见,我们采用小批量最长句子的长度(必要时加0)来固定输入句子的长度。长度为T的句子表示为矩阵Xd∈ RC×T= (xd1,…,xdT)将单词嵌入连接成列,其中T是句子的长度,C是单词的维数。然后,核Wc∈ RC×l对T个字的窗口大小应用卷积运算,以产生特征映射作为输入句子的表示之一。类似于图4的具体过程可以表述如下:
在这里插入图片描述
在这里插入图片描述
其中f(.)是非线性激活函数(在我们的实验中,我们使用RELU),b∈RT-l+1是偏置向量,而*表示卷积算子。然后,我们对生成的要素地图应用max-pooling操作,并取其最大值,Out = max{Out1,…outT-l+1 }。,最大池操作不仅可以通过有效地过滤掉信息量较少的单词成分来帮助捕获最重要的特征,还可以保证提取的特征与输入句子的长度无关。为了更有说服力,我们在鉴别器上分别使用最大池和均值池进行对比实验。最大池化法的分类准确率比平均池化提高了1.8%,证明最大池化法具有更好的句子分类能力。用于分类的数据集由相应视频的基本事实和生成器生成的错误句子组成。
上述过程描述了如何从CNN为句子提取特征。虽然目前的CNN架构在复杂的序列分类任务中表现出色。但在本文中,我们致力于生成既要自然合理让人理解,又能准确描述输入视频的句子。为了克服这一困难,我们采用了一种线性连接方法,该方法可以将视频特征和来自不同核的集合特征集成到一个新的表示中。给定从生成器的编码器中的最后一个隐藏层提取的视频特征F ∈ RH,其中H是隐藏层的维数,我们将其与其对应的文本特征Out ∈ RH1连接,其中H1是Out的维数。我们将得到一个合成特征向量Fnew∈ RH+H1。然后将Fnew通过一个全连接的softmax层来获得概率分布D(Xd)∈[0, 1],一个接近于1的输出表示X大概率是从真实数据分布中得到的,反之亦然。
使用基于梯度的方法训练GAN模型非常困难。为了减少训练过程中的不稳定性,我们通过预先训练一个标准的encoder-decoder LSTM模型和一个标准的CNN分类模型来初始化生成器的LSTM参数和判别器的CNN参数。

E. Attention Mechanism

注意力不是将整个图像压缩成静态表示,而是允许显著特征根据需要动态地出现在最前面。例如,当一个字幕模型用“一个孩子在地上跑”来描述一张图片时,注意力模型会在模型生成单词“孩子”时聚焦在孩子位于图片中的区域,而在生成单词“地面”时,模型会聚焦在图片中的地面。在我们的注意模型中,我们在生成单词时使用了生成模型中的注意结构。在每个时间步长t,注意力模型接受视频的视觉信息,这是一个n乘d的矩阵,其中“n”是视觉向量的数量,“d”是视觉向量的维数。在注意结构中,每个视觉向量由不同的权重α进行多像素化,这反映了相应视觉向量在该时间步长中的重要性。之后,向量相加在一起,成为LSTM单元的输入,生成一个新单词。比如在生成“男孩”这个词时,带有男孩信息的视觉向量的权重会更大;在生成单词“足球”时,包含足球信息的视觉向量的权重会更大。上述视觉信息是我们论文中图2所示编码器隐藏层的输出。时间戳t处的权重α是时间戳t-1处隐藏状态和视觉信息组合的softmax结果。对于具有n个视觉上下文的视频,C = c1,c2,…,cn,我们有:
在这里插入图片描述
其中ht-1是最后一个时间戳时隐藏状态的转置向量,Uc是映射矩阵,ci是第i个视觉向量。在我们的注意力模型中,我们使用注意力机制来生成输入视频的描述。在每个时间步t,注意力单元接受视频视觉信息向量ct,它是本文图2所示编码器结构的隐藏层的输出。在编码阶段之后,我们得到(c1,…,cn)其中n表示输入视频的帧数。(问题定义使用a n,需要检查)如等式12所示,向量乘以关注单位中的不同权重,这些权重可以确定输入视频的哪一帧st应该与当前时间步长相关。之后,yt和最后一个隐藏状态表示下一个LSTM单元的新输入,以生成新单词。上面提到的权重是动态计算的,这些权重的总和是1。
在这里插入图片描述
带有注意机制的公式(2)应该被写成:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值