在”Show and Tell: Lessons learned from the 2015 MSCOCO Image Captioning Challenge.“这篇论文中用TensorFlow实现了图文模型的转换,作者是Oriol Vinyals, Alexander Toshev, Samy Bengio, Dumitru Erhan。
Show and Tell模型是一个深度神经网络,学习如何描述图像的内容。例如:
3.Architecture
Show and Tell模型是一个encoder-decoder神经网络的例子。首先它将图像“encoder”为固定长度的向量表示,然后将表示“decoder”为自然语言描述。
图像编码器(encoder)是深度卷积神经网络。这种类型的网络被广泛用于图像任务,比如目标识别和检测最新技术。我们特别选择的网络是在ILSVRC-2012-CLS图像分类数据集上预先训练的Inception v3图像识别模型。
解码器(decoder)是一个长期的短期记忆(LSTM)网络。这种类型的网络通常用于序列建模任务,如语言建模和机器翻译。在Show and Tell模型中,LSTM网络被训练成一个以图像编码为条件的语言模型。
字幕中的字用嵌入模型表示。词汇表中的每个词都与在训练期间学习的固定长度的向量表示相关联。
下图说明了模型架构。