Describtion Video by Exploting Temporal Structurre

作者提出了将3D卷+attention机制融入encoder-decoder结构中,同时考虑了局部时序信息和全局时序信息。

Encoder-Decoder框架

Encoder网络φ将输入编码为连续特征序列V, Encoder网络根据输入决定。
将V进行特征转化,加入了attention机制。
Decoder将V解码,在每一个时刻将V作为输入,结合上一时刻的隐藏状态与输出,得出当前时刻的隐藏状态与输出。

t时刻的隐藏状态为:
其中
式中,ot 为output gate, σ是sigmod函数,φt是encoder阶段的特征向量的转化函数,Wo, Uo, Ao 和 bo 分别是输入对应的矩阵,前一时刻隐藏状态对应的矩阵,特征向量对应的矩阵和偏置。E是词向量。

式中,ct为memory state,用前一时刻的状态ct-1和新的memory内容更新向量。


Describtion Video by Exploting Temporal Structurre_第1张图片
式中,ft为forget gate,it为input gate

输入

作者取视频的前240帧来提取特征(不够的补零),在240帧中抽出26帧做卷积获取图像特征,然后利用3D卷积获取局部时空信息。利用GoogLeNet来得到1024维特征,然后3D卷积得到352位特征,最终提取的特征向量的大小为26*1376。

3D卷积:

Describtion Video by Exploting Temporal Structurre_第2张图片
3D卷积过程

首先以16*12*2为单位计算出每个单位的运动信息,得到了一个20*20*120的运动特征向量,然后将向量随机裁剪为15*15*120的特征向量。
3D卷积
文中的3D卷积没有太看懂,按照15*15*120算着不对。

Attention机制

在将encoder输出的特征转为Decoder阶段的输入时,需要用到特征转换函数,原来使用的是平均值:

Attention机制中,使用的是加权,对于不同的部分有不同的关注度

在解码阶段,在时刻t,利用评分函数:
算出每一帧vi的分数,然后更新每一帧的权重:

流程为:
Describtion Video by Exploting Temporal Structurre_第3张图片

训练

在训练时,计算最大似然:

,有N个视频,视频中有n个单词。
使用Adadelta作为优化器进行反向传播。

你可能感兴趣的:(Describtion Video by Exploting Temporal Structurre)