大多数的图像描述都是一次性生成一整个句子,忽略了句子的语法结构。《Phrase-based image caption generator with hierarchical LSTM network》这篇文章从短语出发,用两层LSTM先生成短语,再生成句子。
给定一个CNN编码的图片,首先用短语解码器解码为名词短语(NP),这些名词短语描述图片中的实体域,同时短语解码器也编码每个NP为一个组合向量,这些组合向量作为后面缩写句子(AS)解码器的输入。AS解码器解码一个描述的缩写形式,这个缩写形式由每个NP的最后一个单词和连接短语的剩余单词组成。最后通过逐步生成的短语与句子组合来形成完整的描述,推理阶段使用束搜索。
短语解码器类似《show and tell》的结构,解码图像特征为NP,架构如下:
每个NP的组合向量表示即为LSTM在最后时刻的隐藏状态,。
AS解码器结构与短语解码器类似,结构如下:
AS解码器在每个时刻有两个输出:一个二进制的短语指示符,表示下一刻的输入是单词还是短语;以及下一个单词的softmax预测。如下一个输入指示为短语,则输入短语解码器输出的组合向量表示;若下一个输入指示为单词,则输入单词的词嵌入向量。
最后,给定图像I和描述S,令R为描述中短语的个数,N为缩写句子的长度,和分别为LSTM块在时刻、的概率输出,则句子S的困惑度为:
其中,
使用铰链损失作为短语知识目标的分类器:
其中W是分类器的可训练参数,若下一个输出是短语y=+1,否则y=-1;。因此,对于P个训练样例,模型的整个目标函数为:
其中, 是模型的所有可训练参数。