Unifying Visual-Semantic Embeddings with Multimodal Neural Language Models

加拿大高级研究所 Ryan kiros, Ruslan Salakhutdinov, Richard S. Zemel
2014 NIPS deep learning workshop

1. 主要思想

  学习了一个图片-句子 embedding space,以及一个解码这个空间的语言模型

2. embedding space如下图结构所示

Unifying Visual-Semantic Embeddings with Multimodal Neural Language Models_第1张图片

CNN模型学习图片表示,LSTM的最后的隐藏状态为句子的表示,分别进行训练。
学习两个矩阵(即两个单层的全连接网络)Wi 和 Wv 分别对图片表示和句子表示映射 到同一个空间中,如图所示最右边的紫色方块。
学习两个矩阵运用pairwise ranking loss进行训练,公式如下,
这里写图片描述
其中,非图像对的描述是从训练数据中随机抽样的,并且每一个epoch都进行重抽样。

*

3. 介绍了两个 语言模型: Log-bilinear neural language models以及Multiplicative neural language models

*
LBL学习了一个上下文表示矩阵C,C是一个 n-1 * K * K的三维矩阵,N-1表示句子的长度,K是词表示的维度。对每一个顺序的词都会学到一个上下文参数矩阵。运用C对句子中的词向量进行线性相加,得到下一个词的表示Wn,运用softmax获得下一个词的准确值,计算公式如下:
Unifying Visual-Semantic Embeddings with Multimodal Neural Language Models_第2张图片

Multiplicative neural language models
Unifying Visual-Semantic Embeddings with Multimodal Neural Language Models_第3张图片
这里Multiplicative的含义是将图片的表示分解为三个矩阵相乘的模式。

4. 该文提出的SC-NLM模型

是将每个时刻的内容的表示,添加了后面词汇表示的混合表示。形式有些想 Bi-RNN.

5. 代码实现,参见

https://github.com/linxd5/VSE_Pytorch
基于pytorch的实现,简单的看了一下代码,没有看到SC-NLM模型,不知道该代码是否是只学习了image-sentence空间,进行的image sentence pair rank。待验证。

参考 :
[1]: Ryan Kiros, Ruslan Salakhutdinov, et al. Unifying Visual-Semantic Embeddings with Multimodal Neural Language Models. NIPS, 2014

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