查看原文
其他

【综述专栏】一文掌握多模态领域的可控文本生成

在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。

来源:知乎—金琴

地址:https://zhuanlan.zhihu.com/p/586914091

在多模态领域,图片/视频描述生成是一类经典的任务,致力于让机器像人一样能用自然语言去描述视觉内容。然而,所谓“一图胜千言”,我们可以有无数种方式/角度去描述同一张图片,而视频比图片多一个时域维度,包含的视觉信息就更加丰富和复杂。由此,衍生出了一个新的任务分支“可控的图像/视频描述生成”,即给定一种控制信号,更有目的地去描述图片或者视频,更好满足实际需求。
作者简介
姚林丽,硕士三年级,来自中国人民大学信息学院AI.M3实验室,研究方向为视觉-文本理解与生成。
杨丁一,博士二年级,来自中国人民大学信息学院AI.M3实验室,研究方向为风格化跨模态文本生成。

1. 文本内容的控制

首先,我们梳理文本内容层面的控制,即控制信号会影响生成文本的结构和内容。任务输入视觉模态(图片/视频)和控制信号,输出一句描述视觉内容且和控制信号一致的文本。
我们先按照年份简要整理相关论文,回答已有工作中“控制信号是什么?”这个问题,然后再详细介绍一篇相关工作,具体分析可控文本生成工作中的重点和难点。

1.1控制信号是什么?

近几年(2019年以来),可控图片描述生成(Controllable Image Captioning)和可控视频描述生成(Controllable Video Captioning)主题下出现了一系列的工作,它们提出了多种多样的控制信号,包括Part-Of-Speech, Length,Regions,Object words, Abstract Scene Graphs, Semantic Roles,Questions, Mouse track等等。下面我们将结合论文出现的年份,整理这些论文使用的控制信号和提出动机。
1)可控的图像描述生成
[CVPR 2019] Fast, Diverse and Accurate Image Captioning Guided By Part-of-Speech
控制信号:句子中单词的词性Part-of-speech
动机:
Image captioning是一个模糊的任务,一张图片有很多种合适的caption。为了解决这种模棱两可性,可以使用beam search来生成多句caption,但是它的计算复杂度比较高。
本文先对图片生成一种有意义的summary(part-of-speech),然后再指导生成caption。
[ECCV 2020] Length-Controllable Image Captioning
控制信号:
句子长度,句子越短内容越简洁、句子越长包含的细节(形容词词组)越多
动机:
句子的长度能反映一个句子中包含的信息量,可以通过控制句子的长度来控制生成比较粗糙的或者精细的句子。
优势是 controllability & diversity & decode efficiency (用了non-autoregressive模型)
[CVPR 2019] Show, control and tell: A framework for generating controllable and grounded captions.
控制信号:视觉特征 a sequence or set of image regions (多个image regions)如下图所示
动机:
一图胜千言,根据不同的目标和上下文,可以有无数种方式去描绘一张图片。提出了一个新的框架,输入一系列图片区域,能够实现grounding and controllability。
[CVPR 2019] Intention oriented image captions with guiding objects
控制信号:
a human-concerned object(单词形式),生成的句子中要包含这个object。
动机
现有的image captioning模型不能保证用户关注的object一定出现在生成句子中,尤其是图片中不起眼的object或者是训练集中没出现过的novel object。
可以生成更 comprehensive 和 diverse 的描述,在描述 novel objects方面更有优势。
[COLING 2020] Language-driven region pointer advancement for controllable image captioning.
控制信号: region pointer,即指定图中几个regions + 每个region出现的次序
[CVPR 2020] Say As You Wish: Fine-grained Control of Image Caption Generation with Abstract Scene Graphs
控制信号:Abstract Scene Graph(ASG) 抽象的语义图
ASG中一共包含三种抽象节点:物体(object),属性(attribute),关系(relationship)。可以自动地/人工指定一个ASG作为控制信号,例如下图中,指定该图对应的ASG中有两个object节点、一个relation节点、左边object又有两个attribute节点、右边object有一个attribute节点。生成的文本需要满足ASG的结构去具体描述该图片。
动机
经典的图像描述生成任务没有考虑用户感兴趣的图片内容,以及生成描述的粒度粗细。已有的可控图像描述生成任务,将图像区域或者词性等作为控制信号,只能在粗粒度的层面进行控制。为了解决这些问题,本文提出了ASG作为控制信号,能进行更细粒度、精细化的控制。
[CVPR 2021] Human-like Controllable Image Captioning with Verb-specific Semantic Roles
控制信号:Verb-specific Semantic Roles (VSR) 动词为中心的语义角色
动机:
已有的相关工作忽略了控制信号的两个原则:1)Event-compatible,即生成句子中的视觉内容要围绕同一个事件(activity);2)Sample-suitable,即控制信号要和输入的图片样例相适配。为了满足这两个原则,本文提出了一种新的控制信号VSG,定义了一个目标的事件,以及涉及到该事件中的语义角色(semantic roles)。
[ACMMM 2021] Question-controlled Text-aware Image Captioning.
控制信号:human language 用户提出的一个问题,句子形式
动机
对于一张包含很多场景文字的图片,不同的人可能对不同的文本信息感兴趣。对于视障人群来说,一种渐进式的描述方式是更容易接受的,如上图,机器先自动为他们描述一幅图的整体内容,然后他们可以根据自己的兴趣点继续提问得到更多对应的细节描述(coarse-to-fine)。
相比于现有的controllable image captioning工作,使用object tokens、image regions、abstract scene graphs等作为控制信号,使用问题这种自然语言的形式,对盲人更加友好和灵活,他们不需要事先知道图片中有哪些object、regions。根据question作为控制信号,能够生成更有信息量(informative)、丰富(diverse)的描述生成
[ACL 2021] Control Image Captioning Spatially and Temporally
控制信号:mouse trace 鼠标轨迹
用户关注图像的哪个部分,就将鼠标移到哪个部分,根据图像+鼠标轨迹生成对应的图像描述段落。
动机:
用鼠标控制图片描述生成,在实际应用中是一种更自然的交互方式,用户可以很容易地移动鼠标让AI Agent自动描述对应的视觉内容,尤其是能更好地帮助视觉障碍的人群。
2)可控的视频描述生成
[ICCV 2019] Controllable Video Captioning with POS Sequence Guidance Based on Gated Fusion Network
控制信号:句子中单词词性Part-of-Speech (POS)
动机:在decoder部分进行语法的控制,可以提升生成描述的质量,还可以提升diversity。
[ACMMM 2020] Controllable Video Captioning with an Exemplar Sentence
控制信号:exemplar sentence 样例句子
输出的caption要保持和样例句子一样的句法(语法结构层面的控制)
动机:输入不同的样例句子,就能生成不同的captioning输出,能增强视频描述的diversity。
[ACL Findings 2021] O2NA: An Object-Oriented Non-Autoregressive Approach for Controllable Video Captioning
控制信号:objects,生成的caption里面要提到desired objects
动机:提出了一个更难的问题,controllable video captioning比controllable image captioning更难,希望能生成更多样的视频描述,且有更快的inference speed。

1.2 具体工作介绍

一篇控制信号相关的工作,一般都是根据实际的需求或者动机提出一个新的控制信号,然后标注/自动构造相关的数据,以及设计能衡量控制效果的新指标。在方法层面,主要考虑使用attention机制或者prompt等方法,将输入的控制信号融入到经典的编码器-解码器结构中去,加强控制效果。我们将一篇工作总结为如下五方面:
下面我们详细介绍一篇相关工作。
[ACL 2021] Control Image Captioning Spatially and Temporally
控制信号:user intention 具体是指mouse trace 鼠标轨迹
用户关注图像的哪个部分,就将鼠标移到哪个部分,根据图像+鼠标轨迹生成对应的描述
动机
用鼠标控制图片描述生成,在实际应用中是一种更自然的交互方式,用户可以很容易地移动鼠标让AI Agent自动描述对应的视觉内容,尤其是能更好地帮助视觉障碍的人群。
方法
模型的具体模块设计如下:
1) Caption Generation
基于一个encoder-decoder的Transformer结构,输入包括图片的object embedding V和鼠标轨迹embedding T。整体目标是基于图片和轨迹信息,去生成图像描述。
Trace输入处理:
原始的trace输入是一系列tracepoints coordinates + timestamps。用一个固定的time windows(0.4s)去切分鼠标轨迹,然后每个trace segment被转换为最小的bounding rectangle,用5D向量来表示(左上角、右下角坐标,以及占全图面积的比例)。这样就将输入的trace也转换成了一系列的embedding T = {t1, .., tm}
2)Spatial Grounding
整体思想是将trace作为中间桥梁,在空间上显式对齐文本token和视觉object。
Language-trace temporal alignment: 先在时域上对trace和tokens(文中称为utterance)进行对齐,利用数据集中的timestamp标注,使得每个utterance都有对应的一系列tracepoints Pu。
Language-vision spatial alignment: 然后将tracepoint Pu在空间上对应到具体的visual regions,通过算trace和region之间的spatial overlap来得到两者的alignment score,即算一条trace上的tracepoint落在一个object bounding box中的比例
约束目标是让caption和visual tokens之间的cross attention score和计算得到的alignment score matrix尽可能接近。为了减轻噪声的影响,会在cross attention matrix中mask掉一些停用词等不重要的caption token。
3)Temporal localization
整体思想是显式增强轨迹和生成文本句子顺序在时域上的对齐。
用了对比学习在时域上增强Trace的控制,先将段落切分成句子,然后根据之前得到的utterance-tracepoint对齐关系得到sentence-trace segment关系。用NCE loss拉近匹配的sentence-trace segment对,推远同一个数据样例中的非匹配对。
数据集
人工标注数据集 Localized Narratives,来自论文 Connecting Vision and Language with Localized Narratives [ECCV 2020]。数据集中有对齐的(图像,轨迹,文本段落)训练数据。
评测和实验
没有显式衡量控制信号和文本间的一致性,用了传统的衡量caption质量的BLEU, METEOR, ROUGEL, ROUGE-1-F1, CIDEr-D 指标。因为本文使用的数据集质量很高,人工标注句子中已经包含了和轨迹的一致性,所以直接计算标注句子和生成句子之间的指标。
实验证明了本文提出的方法LoopCAG的有效性,以及提出的两个约束模块分别的有效性。

1.3 内容控制小结

纵观上述可控图像/视频文本描述生成工作,我们发现控制信号从最开始的结构控制(词性、长度),到视觉内容的控制(图像区域特征、感兴趣的物体词),慢慢发展为更细粒度的、精细化的控制(抽象语义图、动词语义角色),然后开始考虑更真实、复杂的现实需求(盲人追问问题、鼠标轨迹)。
整体来说,视频方面比图像方面的相关工作要少很多,内容也还停留在简单的结构/内容控制上。考虑到视频本身包含的视觉信息要比图像更富有挑战性,未来可以考虑视频相关的场景,设计一些满足人机交互需求的新的控制信号。

2. 文本风格的控制

2.1 研究现状

现阶段的跨模态文本生成通常着重于描述的正确性,而不关注句子的语言风格。在实际的应用中,生成带有一定风格的描述文本更能吸引到相关的用户。近年来,有少量工作对风格化图像描述(图1)进行了探索。由于构建大规模的风格化图像描述数据需要大量的人力物力(常用的SentiCap, FlickrStyle数据集规模都较小),大部分工作都是在无监督的设定下进行研究。本文梳理了其中的一些工作,主要分为以下三个方面:
• 显式风格-内容分离:在token层面将风格化句子切分为风格相关部分和内容相关部分,分别进行处理。
• 隐式风格-内容分离:很多情况下,风格会融合在整个句子中,没有明显的风格化词组/子句。此时隐式的分离方法更适用——借助风格化向量或风格相关的参数进行风格控制。
• 数据集增强:构造质量较高的成对数据,对原有的小规模数据集进行扩充。
图1 风格化图像描述示例
该任务的评价指标通常有以下三种:
1) Semantic:衡量和视觉信息的相关性
• 与captioning的GT计算常规的BLEU, METEOR, ROUGE, CIDER指标
2) Style:衡量是否以目标风格进行描述
• 训练风格分类器,计算风格正确的比例
3) G-Score:衡量风格化与语义相关性的平衡
• 计算Style和Semantic的几何平均值,作为综合评价指标

2.2 无监督风格化图像描述相关工作

1)显式风格-内容分离
[CVPR 2018] SemStyle: Learning to Generate Stylised Image Captions using Unaligned Text
本文核心思路:提取句子主干词作为内容相关部分。
两阶段模型:
• Stage 1: 根据图片生成Semantic Terms,在无风格的image captioning数据上进行训练。
• Stage 2: 根据Semantic Terms生成风格化描述,在非成对的风格化文本语料上进行训练。
优势:简单,相同思路可以迁移到video captioning等其他跨模态captioning任务上。
缺陷:Semantic Terms可能也与风格相关,无法达到预期效果。
[AAAI 2020] MemCap: Memorizing Style Knowledge for Image Captioning
核心思路:
• 将句子分割为内容相关部分和风格相关部分。
• 对风格化语料的内容相关部分,提取其文本scene graph,借助图像scene graph进行跨模态对齐。
训练与预测:
• 预训练:captioner输入图像scene graph,生成无风格描述。
• 微调:captioner输入文本scene graph,结合提取的风格vector,生成风格化文本。
• 预测:captioner结合图像scene graph和风格vector生成风格化描述。
模型效果:对于简单的风格(POS/NEG),其语义相似度指标可以接近有监督的方法;然而对于较为复杂的风格,效果较差。
2)隐式风格-内容分离
[CVPR 2017] StyleNet: Generating Attractive Visual Captions with Styles
主要贡献:本文提出了FlickrStyle10K数据集,并提出了简单的端到端风格化文本生成架构。
策略:
模型同时进行无风格图像描述生成和风格化文本生成的训练。训练时,若为跨模态生成,decoder输入为视觉向量和x0的拼接;其中decoder共享大部分参数,除了用于风格提取的少量参数。进行预测时,将风格相关的参数替换为目标风格的参数即可(例如下图中,想生成romantic风格,便将SF替换为SR)。
缺陷:当风格化语句和无风格描述的开头部分相似时,才有不错的效果。
[AAAI 2019] Unsupervised Stylish Image Description Generation via Domain Layer Norm
动机:将图像和文本投影到同一个隐空间里,再进一步投影到不同风格的文本空间中。前者进行模态对齐,后者进行风格控制。
模型:和StyleNet相似,无风格图像描述任务和风格化文本还原任务同时训练;Encoder部分,图像通过CNN、文本通过Skip-Thought Vectors分别投影到同一隐空间中;Decoder中,大部分参数共享,用于抓取两个domain中相似的内容部分;Layer Norm参数不共享,用于风格控制。
[CVPR 2019] MSCap: Multi-Style Image Captioning With Unpaired Stylized Text
动机:引入无监督文本风格转换的常见训练方法,提升模型的效果。
模型训练:
• 预训练: 使得caption generator可以融合视觉vector和文本风格vector进行风格化文本生成。
• 微调:
• Adversarial loss: 常规的对抗学习,使得生成的文本与真实的文本相近。
• Classifier loss: 风格分类器,保证风格化程度。
• Back translation loss: 将生成的风格化描述转换为无风格描述,尽可能与图像描述的GT接近,保证风格化文本与图片内容的相关性。
实验:
根据文中的对比实验可见,对风格化 (Acc.) 带来最大提升的是Classifier loss,对视觉相关性 (Cider) 带来提升最大的是Back translation loss,与其设计思路一致。
[MM 2022] Detach and Attach: Stylized Image Captioning without Paired Stylized Dataset
动机:剥离出文本风格向量,再结合视觉内容向量进行风格化文本生成。文本提出三种injection方法,以达成style和content之间的平衡(trade-off)。
模型:
1)首先进行风格detach:在风格化文本语料上剥离出风格向量s,除了重构loss外,还包含以下几个loss:
• Jmul(s): 分类器,使得s可以预测为某类风格
• Jdis(c):对抗学习,使得内容向量c不包含风格信息
• Jmul(s):使得c仅仅包含句子的内容信息
• Jdis(c):对抗学习,使得风格向量s不包含内容信息
2)而后进行风格attach:
• 在风格化语料和captioning语料同时训练,使得decoder可以融合风格向量s和图片内容向量c进行跨模态文本生成
• 提出三种风格注入的方法
实验:本文的方法在处理复杂风格时有较好的综合效果,简单风格上不如MemCap
3)数据集增强
[MM 2021] Similar Scenes arouse Similar Emotions: Parallel Data Augmentation for Stylized Image Captioning
动机:认为相似的图片会含有相似的风格化短语,基于这个假设进行数据集扩充
实验:效果很好,但由于需要提取style phrase,对于复杂的风格不适用

2.3 小结

当前的研究方法中,显式内容-风格分离将风格化句子分为语义内容部分和风格部分,两阶段处理,但只适用于pos/neg这一类具有显著风格词的简单风格;隐式内容-风格分离用风格化向量或风格相关的参数进行风格控制,但不一定成功进行了图像和风格化文本的跨模态对齐。
当前研究局限于图像caption,未来的研究可以扩展到更general、更困难的跨模态生成任务;可以尝试使用大规模预训练模型来提升模态间的对齐效果;对于复杂的文本如何更好进行风格的提取和融合也是需要解决的问题。

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“综述专栏”历史文章


更多综述专栏文章,

请点击文章底部“阅读原文”查看



分享、点赞、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存