赞
踩
所谓 Image Caption,是指从图片中自动生成一段描述性文字。要完成 Image Caption,机器不仅要能检测出图像中的物体,而且要理解物体之间的相互关系,最后还要用合理的语言表达出来。本文介绍 Image Caption 的几篇经典的论文,接着会介绍 Google 公司官方的 TensorFlow 实现 。
一、 Image Caption 技术概述
1、Encoder-Decoder 模型
在机器翻译任务中, 原语言句子的长度和目标语言句子的长度往往不同,因此需要将原始序列映射为一个不同长度的序列。 Encoder-Decoder 模型解决了这样一个长度不一致的映射问题。Encoder-Decoder 结构最初是在论文 Learning Phrase Representations using RNN Encoder- Decoder for Statistical Machine Translation 中提出并应用到机器翻译系统中的 。现在看看如何把 Encoder-Decoder结构用到 ImageCaption上。
2、将 Encoder-Decoder 应用到 Image Caption 任务中
在机器翻译任务中,输入和输出都是单词序列。而在 Image Caption 任务中,输入是图像,输出是单词序列,应该怎么建模呢?
很简单,只需要将原来的 Encoder RNN 换成 CNN,为图像提取一个“视觉特征” I,然后还是使用Decoder将 I 解码为输出序列即可,这是论文Show and Tell: A Neural Image Caption Generator 中的想法 。先看提取图像特征的 CNN部分, 由于这篇论文是 Google 公司出品的,因此这部分使用了 Inception 模型。再看 Decoder 部分,将RNN换成了性能更好的 LSTM,输入还是 word embedding,每步的输出是单词表中所有单词的概率。接下来的三种模型,以它为基础,进行了改进。
3、对 Encoder-Decoder的改进 1:加入注意力机制
针对翻译精度的下降问题,论文 Neural machine translation by jointly learning to align and translate提出了一种注意力机制,不再使用统一的语义特征, 而让 Decoder 在输入序列中自由选取需要的特征,从而大大提高了 Encoder-Decoder 的模型性能。在 Image Caption 任务中,同样可以利用注意力机制对原来的 Encoder-Decoder机制进行改
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。