论文阅读:《Multimodal Few-Shot Learning with Frozen Language Models》

大规模的自回归语言模型具有很好的学习新任务的能力,如GPT-2,给定几个“示例”,GPT-2能很快的学习到任务形式并回答新的问题。此文试图将这种能力迁移到多模态场景之下,通过一个图像编码器将图像转换为连续的嵌入序列,作为一种prompt,与文本信息一起送入语言模型中。在多个few-shot场景下的测试表明,此文的算法在多模态少样本情况下表现出比基线较好的效果。

Motivation

大规模的预训练transformer模型在少样本情况下可以表现出良好的效果,例如:通过提示,可以快速学习新的任务;利用相关的上下文,可以快速检索出相关的知识;给定新单词的意义后,可以用正确的方式使用它。虽然在文本上,LM可以表现出很好的少样本学习能力,但是对于视觉等其他领域就无能为力了。

冻结的预训练Transformer(FPT)将LM在多个场景下进行了测试,发现将transformer的参数冻结,只训练输入层、输出层、位置编码层和层归一化相关参数时,LM将其已有的知识作为一种有效的先验应用到其他任务中。然而,FPT仅仅将图片或其他领域的数据“拉平”后直接输入到LM中,并分析LM参数对结果的影响。如何将LM应用到多模态领域并保留LM的少样本学习能力成为了关键。

近段时间,Prompt或Prefix掀起了一股热潮。通过手动或自动的添加prompt,可以很好的从LM中获得与任务相关知识,并使模型在few-shot和zero-shot场景下产生惊人的效果。Prefix是通过自动学习和连续型prompt,仅需要很少的参数便能达到甚至超过基线的效果。在训练初期,Prefix随机生成或随意指定几个词语,之后随着训练不断优化,测试时,Prefix固定。prefix或prompt已在文本领域“势不可挡”,那能不能将其应用到多模态领域呢?

Architecture

本文提出一种叫做“Frozen”的模型结构,它的主要思想是:利用图像编码器把图像作为一种动态的prefix,与文本一起送入LM中,从而更好地获得LM中的先验知识,此外,为了将LM中的知识迁移到多模态领域,在训练时选择冻结LM的参数,仅优化图像编码器有关参数,模型结构如下图所示:

模型结构图

主要包括两个部分:

  1. 预训练自回归语言模型:使用了7billion参数transformer模型,在公开数据集C4上进行训练。

  2. 视觉编码器:以NF-ResNet-50为backbone,目标是将输入的原生图像转化为连续的序列,以便与文本一起送入语言模型中。

    视觉前缀的构造方式:将视觉编码器的输出映射为D*n的矩阵,D为嵌入维度,n可以看作token的个数,经过测试,n=2时效果最佳。

Training

训练时统一使用Conceptual Captions作为训练集,Conceptual Captions的输入是一张图片,输出是关于此图片的描述,所以在训练时语言模型是在做生成任务。训练时还固定了LM的所有参数,仅优化视觉编码器的参数。这是因为few-shot场景下数据较少,若不固定LM的话,反而会破坏LM原有的信息,甚至使模型产生灾难性遗忘。

训练时的输入是形如(image, text)的一堆pair,但是few-shot场景下可能会输入多个(image, text)pair,所以在位置编码上使用了相对位置编码,从而保证image相对于text是在其前面的。

Experiments

主要从三个部分进行了实验:1.Rapid Task Adaptation. 2.Encyclopedic Knowledge. 3.Fast Concept Binding.

  1. Rapid Task Adaptation

这个任务用来测试在conceptual Captions上训练的数据集能否在VQA数据集上取得良好的效果。VQA是图片问答数据集,输入格式如下图所示,涉及到的问题比较简单,可以直接根据图片进行回答。


作者测试了给出不同示例个数下模型的效果,可以发现,当给出示例数增加的时候,模型的效果也会有所提升。作者还比较了不同训练方式对结果的影响。其中Frozen是论文提出的模型,Frozen_scratch是LM随机初始化,Frozen_finetuned是LM使用预训练权重,训练时进行微调,Frozen_train-blind是视觉编码器输入的图像为涂黑的图像,相当于固定了图像输入,Frozen_VQA是在训练的时候使用了部分VQA的数据。

  1. Encyclopedic Knowledge

    这个任务使用了OKVQA数据集,OKVQA同样也是图片问答,但是无法仅根据图片直接回答问题,需要一定的外部知识,旨在检查在模型是否能利用LM预训练所保留的知识背景。


作者比较了不同大小的模型的效果,可以发现,模型越大,预训练阶段保留的知识越丰富,结果也就越好。同样,固定LM参数要比微调效果好。

  1. Fast Concept Binding

    快速概念绑定是指给定几个新词,并给出新词的使用方式,测试模型能否学习到新词的含义并正确的使用。如下图所示,用blicket表示狮子类别,用dax表示狗这一类别(blicket和dax都不是实际的单词),在给定几个示例后,测试模型能否用新词正确回答问题。


Frozen(Real-Name)是指用真实的单词来测试,与Frozen进行对比,可以发现模型效果随示例增多有所提升,说明模型对新的单词有一定的学习能力。

作者还测试了有五个新单词时模型的表现,此时,Frozen就无法很好的将5个新单词与概念进行绑定。但随着给的示例的增多,Frozen的效果有所提升。

Conclusion

本文将文本中的Prefix应用到了图片、文本多模态领域,将图片作为prefix,与文本一起送入语言模型中,利用Image Caption数据集训练了一个生成式语言模型。在VQA、OKVQA、miniImageNet等多个数据集验证了迁移学习的效果,在few-shot场景下验证了prefix对模型的提升。通过将图片作为prefix,从而将文本中的静态prefix转化为动态prefix,能更好的适应不同的任务。但是,由于Visiual Encoder和文本的处理比较简单,模型效果离SOTA有一定的距离。

你可能感兴趣的:(论文阅读:《Multimodal Few-Shot Learning with Frozen Language Models》)