该论文提出了一种通过记忆机制对语言风格相关的知识进行编码的风格化图像描述方法。由于语言风格无法直接从图像中得到,我们使用记忆模块存储语言风格相关的知识,并在生成风格化描述时根据图片中的内容检索这些知识。
论文链接:https://wuxinxiao.github.io/assets/papers/2020/MemCap.pdf
一.研究动机
图像的自然语言描述(image caption)任务涉及对图像内容的理解与自然语言的生成,是连接了计算机视觉与自然语言处理两个领域的问题。目前的大多数图像描述方法专注于为图像生成准确,客观的描述,这些描述没有明显的语言风格。实际上,特定语言风格的描述更具有应用价值。例如,用户在社交网络中上传了图 1(a) 所示的图片,普通的图像描述模型可能将其描述为「一只头上套着袋子的猫坐在沙发上」,虽然准确,但吸引力有限。如果生成的描述带有语言风格,如「这只淘气的喵星人想体验窒息的感觉」,会在社交网络中带来更好的传播效果,引起更多人的注意。又例如图 1(b) 中视频的推荐标题,带有鲜明的语言风格。若能自动生成类似的、带有某种风格的描述并作为标题,将极大地减轻视频推荐平台的运营人员的负担,提高视频推荐的分发效果。
风格化图像描述既要求能准确地理解视觉信息以体现客观内容,又要求能生成合适的语言风格以表达主观情感。然而,与语言风格相关的内容一般较为抽象,无法直接从视觉内容感知,这使得生成风格化描述变得十分困难。人们在理解图像内容时,通常可以利用联想能力,从先验知识中搜索并提取相应的风格化语料。当人们看到图 2,用正面的情感倾向描述其内容时,经常会将「好吃」与「食物」建立联系。本文作者提出了 MemCap 方法以模仿这一过程,通过风格化记忆模块,存储与语言风格相关的知识。在生成描述时,从风格化记忆模块中提取相关的知识,得到风格化的语句。
考虑到在实际的语料中,与视觉内容相关的词汇一般与体现语言风格相关的词汇共存,使得风格化记忆模块难以学习到干净的风格化语料。我们在本文中提出一种句子分解算法,分离与视觉内容相关的部分以及与语言风格相关的部分。
二.方法
方法概览
MemCap 模型包含风格化记忆模块 M,风格化图像描述模块 C,图片场景图生成器 E,句子场景图生成器 F 以及风格化句子分解模块 P,如图 3 所示。风格化记忆模块将场景图作为输入,检索与场景图有关的风格化知识 m。这部分知识与场景图送入图像描述模块 C 中,生成最终的描述。
由于本文方法只使用未配对的风格化句子进行微调,我们将风格化的句子分解为与内容相关的部分 W_c 和与风格相关的部分 W_s,并将 W_c 转换为场景图,作为 M 和 C 的输入。同时,W_s 被用于更新 M 中存储的风格化知识。M 与 C 通过端到端的方式进行训练。在测试时,将图片转换为场景图,作为 M 和 C 的输入。
风格化句子分解
给定风格化句子 y^s,句子分解的目的是分离出与风格无关的部分 W_c 以及与语言风格有关的部分 W_s。考虑到与语言风格有关的部分在客观描述(factual description)中很少出现,我们先获取句子的依存解析树,然后从解析树中去除导致较高困惑度的部分,即与语言风格有关的部分。在依存树中,每个单词 w_i 对应树中的一个节点 v_i。将第 t 次迭代中剩余的句子记作 y_((t))^s。在第 t 次迭代中,尝试去除节点 v_j 及其子树,并重新评价剩余的句子的困惑度。若困惑度最低的句子 y ̂_((t,j))^s 的困惑度小于 y_((t))^s 的困惑度则进入下一次迭代,否则算法中止,并将 y_((t))^s 作为与风格无关的部分。
场景图的向量表示
对于场景图 G=(V,E),其节点集合 V 包含三种不同的节点:物体节点 o_i,关系节点 r_ij 以及属性节点 a_i^k。对于每个节点,使用其对应的类别标签的词嵌入作为节点的向量表示。对于物体节点 o_i 与关系节点 r_ij,其上下文相关的表示 u_(o_i ) 以及 u_(r_ij ) 分别使用如下公式计算:
(1)
其中 e_(o_i ),e_(r_ij ) 以及 e_(a_i^k ) 分别为物体 o_i,关系 r_ij 以及属性 a_i^k 的向量表示。整个场景图 G 的向量表示 e_c 为所有物体节点与关系节点的上下文相关表示的平均,即
风格化记忆模块
对于风格 s,风格化记忆模块包含两个矩阵 M_s 以及〖M'〗_s,分别存储与语言风格相关的知识以及与之对应的客观内容。风格化记忆模块使用注意力机制实现对风格化知识的更新以及提取。在更新过程中,使用表示整个场景图的向量 e_c 为〖M'〗_s 的每一列计算权重,并根据这些权重,分别使用 e_c 以及表示所有风格化词汇的向量 e_s 更新〖M'〗_s 中的每一列以及 M_s 中对应的列。在风格化知识的提取过程中,通过类似的方式为〖M'〗_s 的每一列计算权重,并对 M_s 中对应的列加权并求和,作为记忆模块的输出 m。
生成风格化描述
本文提出的风格化描述模型基于 Up-Down 模型 [2],使用风格化记忆模块的输出 m 初始化两层 LSTM 网络的状态。第一层 LSTM 网络使用注意力机制对场景图中所有上下文相关表示 u_p 进行编码,第二层 LSTM 网络输出词汇表中每个单词的概率。
训练策略
MemCap 的训练分为预训练阶段与微调阶段。预训练阶段将图像以及对应的客观描述作为训练数据,采用交叉熵损失函数进行训练。在微调阶段,先使用交叉熵损失函数对模型进行微调,之后使用 self-critical 方法 [1] 对模型进行更新。将多个不同的评价指标(包括 CIDEr,对句子是否带有风格的评价以及句子的困惑度)加权,作为强化学习中的奖励。
三.实验
本文使用 MSCOCO 数据集对模型进行预训练,并使用来自 SentiCap 数据集的风格化语料(包括正面、负面两种风格)以及来自 FlickrStyle10K 数据集的风格化语料(包括浪漫、幽默两种风格)对模型进行微调。我们将 MemCap 方法与多种不同的方法进行比较,包括使用图片与配对的风格化描述的方法 SF-LSTM [4],使用未配对风格化语料的方法 StyleNet [5] 以及 MSCap [3]。为了与 MSCap 进行公平的比较,在实验中同时使用了多个风格化记忆模块,训练了能够同时生成多种风格的描述的模型。表 1 和表 2 分别为单一风格(为每种风格训练一个模型)和多风格(训练能够同时生成多种风格的描述的模型)实验的结果。此外,还进行了消融实验以验证模型中不同模块的有效性。
定量结果
本文采用 Bleu-1,Bleu-3,METEOR,CIDEr 等指标评价生成的句子是否与图片相关,采用平均困惑度(ppl)评价句子是否流畅,使用风格准确率(cls)评价生成的句子是否符合对应的风格。具体地,使用在风格化文本上训练好的语言模型计算平均困惑度,使用能够判断语言风格的分类器计算风格准确率。需要指出的是,平均困惑度越低越好,其他指标越高越好。
表 1 :单风格图像描述的实验结果,B-1,B-3,M,C 分别表示 Bleu-1,Bleu-3,METEOR,CIDEr;ppl 表示句子的平均困惑度,cls 表示风格准确率。
定性结果
图 4 展示了一些风格化图像描述的例子。可以发现,MemCap 生成的句子能够正确地描述图片的内容,并且具有明显的语言风格。
四.总结
本文提出了为图像生成风格化描述的 MemCap 方法,使用记忆模块对与语言风格有关的知识进行记忆,并在生成描述时检索相关的语言风格知识。因此,MemCap 方法生成的句子能够准确地描述图片中的内容,同时体现出语言风格。在两个风格化图像描述数据集上的实验证明了方法的有效性。
参考文献:
[1] Rennie, Steven J., et al. "Self-critical sequence training for image captioning." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017.
[2] Anderson, Peter, et al. "Bottom-up and top-down attention for image captioning and visual question answering." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.
[3] Guo, Longteng, et al. "MSCap: Multi-Style Image Captioning With Unpaired Stylized Text." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019.
[4] Chen, Tianlang, et al. "``Factual''or``Emotional'': Stylized Image Captioning with Adaptive Learning and Attention." Proceedings of the European Conference on Computer Vision (ECCV). 2018.
[5] Gan, Chuang, et al. "Stylenet: Generating attractive visual captions with styles." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017.