读书笔记---Explain Images with Multimodal Recurrent Neural Networks

     之前的方法将image caption任务看成检索任务,对句子和图像提取特征,并将他们映射到相同的语义嵌入空间,只能对数据集中已经存在的图像进行注释,不能描述先前看不到的对象和场景。

     这篇文章提出了一个多模式递归神经网络模型(m-RNN)用于解释图像的内容。这个模型根据已经给出的图片和之前生成的单词来预测下一个单词。m-RNN主要是由两个子网络组成的:用于句子的深度递归网络和用于图像的深度卷积网络。这两个子网络的各层都相互作用从而形成整个m-RNN模型。另外,这个任务也可以用于检查图像和句子检索任务,并且有显著的性能提高。整个m-RNN架构包含语言模型部分,图像部分和多模态部分。语言模型部分学习词典中每个单词的密集特征嵌入,并存储在复现层中的语义时间上下文。图像部分包含一个深层次的神经网络(CNN),用于提取图像特征。多模式部分通过单层表示将语言模型和深度CNN连接起来。我们的m-RNN模型是使用基于混淆的成本函数学习的。误差反向传播到m-RNN模型的三个部分,同时更新模型参数。据我们所知,这是第一个将递归神经网络结合到深层多模式架构中的工作。                              读书笔记---Explain Images with Multimodal Recurrent Neural Networks_第1张图片

               简单递归神经网络(RNN)和多模式递归神经网络(m-RNN)结构图解 (a) 简单的RNN (b) m-RNN模型 (c) 展开的m-RNN

    输入函数,递归函数和输出函数分别是x(t),r(t),y(t)。

     

   这种RNN能够适应输入的语句的长度,并且递归层在不同的时间帧将子网络进行了连接,因此我们在做反向传播的时候需要递归网络来传递错误。

   这篇文章提出的模型比简单的RNN层数更深。在每个时间帧上都有六层:文字输入层,两个文字嵌入层,递归层,多模态层和softmax层。这两个文字嵌入层能将one-hot编码嵌入到一个紧密的文字表示中。首先,这样的单词嵌入层能够将词向量降维到128维,有效地减少网络中参数的数量。其次,可以通过计算单词嵌入层两个密集词向量之间的欧氏距离,可以找到语义相关词。

   递归层: 采用RELU方法,避免了梯度消失的问题。

   多模态层:用来连接语言模型部分和图像部分。语言模型部分分文单词嵌入层和递归层。图像部分主要是来进行图像特征提取。我们将每个图层特征映射到相同的特征空间,并将他们呢相加来获得多模态层的特征向量。


   本文的模型对句子采用的损失函数是  

   对单词所采用的损失函数增加了一个正则项:

   利用这个模型我们可以完成三个任务:1,句子生成;2,句子检索;3,图像检索





   





你可能感兴趣的:(image,caption)