在自然语言处理领域,许多高难度的任务都可以归结进序列到序列(sequence to sequence)的框架中。
比如说,机器翻译任务表面上是将一种语言转换为另一种语言,本质上就是从一段不定长的序列转换为另一段不定长的序列。如今实现seq2seq最有效的方法即为LSTM,一种带门的RNN(Recurrent Neural Network,递归神经网络),它可以将源语言编码为一个固定长度含丰富语义的向量,然后作为解码网络的隐藏状态去生成目标语言。而Image Caption Generator(自动图像生成器)方法正是受到机器翻译中seq2seq进展的启发:何不将源语言信号替换成图像信号,这样就能够将机器翻译的任务转换也就是把图像转成自然语言,即图像自然语言描述。
可是简单地将图像信号直接作为输入是无法达到很好的效果,原因是原始的图像信号并不是一个紧致的表示,含有太多的噪声。所以需要引入DL(Deep Learning,深度学习)在机器视觉中最核心的部件:CNN(Convolutional Neural Network,卷积网络)。
在DCNN的高层神经元输出可以表示图像的紧致的高层语义信息,如今众多成功的机器视觉应用都得益于此,比如前段时间爆红的Prisma(《AI修图艺术:Prisma背后的奇妙算法》),其texture transfer(风格转换)算法正是巧妙的利用了含有高层语义的图像表示。
所以此图像文字描述方法的基本思想就是利用了DCNN生成图像的高层抽象语义向量,将其作为语言生成模型LSTM的输入进行sequence to sequence的转换,其结构图如下: