论文浅尝 | Flamingo:一个小样本学习的视觉语言模型

c9d5aa93a665d54ee0fc37e23bcf0007.png

笔记整理:许彤,浙江大学博士

链接:https://arxiv.org/pdf/2204.14198v1.pdf

1. 动机

人工智能的一个关键方面是在给定少量指令的情况下,能够快速学习新任务的能力。虽然在计算机视觉领域已经在类似的能力上有所进展,但最常用的范式仍然是先对从网络上收集的大量有监督的多模态数据进行预训练,然后对感兴趣的任务进行模型微调。然而,为了成功进行微调,通常需要数千个带注释的数据。除了注释成本之外,这种方法通常需要仔细地对每个任务进行单独的超参数调优,并且非常耗费资源。最近,使用对比学习目标训练的多模态视觉语言模型实现了对新任务无需微调的零样本迁移,然而,由于这些模型只是简单地提供文本和图像之间的相似性评分,因此它们只能处理有限的任务形式,例如分类任务。它们的关键缺陷是缺乏生成语言的能力,这使得它们不适合更加开放的任务,比如字幕生成或视觉问答。其他人则探索了视觉条件语言生成,但是在低数据量的条件下表现的效果不好。因此,作者提出了Flamingo,一个视觉语言模型,该模型仅仅通过使用一些输入/输出样例作为提示,就在几种开放视觉和语言任务上达到了新的SOTA。

2. 贡献

(1)提出了一个Flamingo视觉语言模型,它可以通过少量的几个输入/输出样例来执行多个多模态任务(如字幕生成、视觉对话、分类和视觉问答)。模型的创新点包括一个新的架构,一个新的训练策略以及一个适应不同大小的视觉输入有效方法。

(2)定量评估了如何通过few-shot学习将Flamingo模型适应各种任务。作者特意保留了一系列基准测试,这些基准尚未用于验证该方法的任何设计决策或超参数。作者使用这些基准来估计模型的few-shot表现。

(3)Flamingo在16种多模态语言和图像/视频理解任务上通过few-shot学习的方式达到了新的SOTA。

3. 方法

c202e0d58cea23e01d1a7b71a7f781f5.png

如图所示,Flamingo模型是一种视觉语言模型,该模型接受交替的文本与图像/视频作为输入,并输出纯文本。首先,视觉编码器会从图像或视频中得到编码出的时空特征。之后,Perceiver Resampler会接收这些时空特征,并输出固定数量的视觉token。这些token用于重新初始化交叉注意力层来调节冻结的语言模型,这些注意力层在预训练的LM层之间交错。这些层为语言模型提供了一种新的表达方式,可以将视觉信息整合到下一个单词预测的任务中。Flamingo以交替的图像和视频x为条件,建模输出文本y:

4ed450485a6080c47da058b61501f34f.png

模型使用的视觉编码器是一个预训练且参数被固定的NormalizerFree ResNet (NFNet)。Perceiver Resampler模块将视觉编码器连接到如图所示的参数固定的语言模型。它以来自视觉编码器的可变数目的图像或视频特征作为输入,并生成固定数量的视觉输出。

6a497538d254dba77e6523dec32367cf.png

文本生成是由Transformer解码器执行的,以由Perceiver Resampler生成的视觉表示为条件。作者交替堆叠了参数固定的纯文本LM层和从头开始训练的交叉注意力层。

作者使用了三种数据集的混合集来训练Flamingo模型,来自网页的交错图像和文本数据集,图像和文本对,以及视频和文本对数据集。通过最小化期望数据集中文本的负对数似然的加权总和来训练模型。

3a17d28816ae05d8b70d397b76856ca2.png

4. 实验

作者在三种模型尺寸上进行实验,其中作者将冻结语言模型从1.4B缩放到7B和70B;并对其他部件的参数计数进行相应的调整,最终得到了三个版本的模型Flamingo-3B, Flamingo-9B和Flamingo-80B

作者使用了16任务来对模型进行测试,数据集及对应的评价指标如图所示:

fd471a1912b83441bedf1bbaf6066317.png

实验结果展示了Flamingo模型有非常好的少样本学习的能力,如图所示,单个Flamingo模型在广泛的图像和视频任务上达到了最先进的水平,每个任务只需从4个示例中进行上下文学习,大大击败了以前的零样本或少样本方法。更重要的是,仅使用32个示例并且不调整任何模型权重,Flamingo在7个任务上优于当前最佳方法,这些任务对数千个带注释的示例进行了微调。

73d89942edf93341579655612593b15a.png

Flamingo模型也可以用于标准的分类任务。作者观察到与视觉语言基准测试相同的趋势:更大的模型表现更好,更多的照片也有帮助。

52818a47e0d00ea14b9e59d0e6a5e3cd.png

5. 总结

本文提出了一个名为Flamingo的视觉大语言模型,将视觉特征融入到大语言模型之中。通过将视觉编码器从图片或视频中提取到的视觉特征融入到大语言模型的注意力机制中,使得大语言模型在生成文本的过程中,在下一个单词预测的任务中参考了相关的视觉信息,从而使得最终生成的纯文本与得到的视觉信息相关。该模型能够通过借助大语言模型的语言生成能力来对不止是图片分类的更广泛的任务实现很好的少样本学习的效果,仅仅通过使用一些输入/输出样例作为提示,就在几种开放视觉和语言任务上达到了新的SOTA。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

8ebbc8fb4b8fc78d5088fe271ad26a9a.png

点击阅读原文,进入 OpenKG 网站。

  • 21
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio Flamingo 是一个 Android 应用开发的集成开发环境(IDE),可以帮助开发者进行应用程序的编写、调试、测试和发布。以下是关于如何下载 Android Studio Flamingo 的指南: 1. 首先,打开您的互联网浏览器,并访问 Android Studio 的官方网站,网址为:https://developer.android.com/studio/flamingo/index.html。 2. 在主页中,您可以看到一个按钮,上面写着 "Download Android Studio"。点击该按钮。 3. 网页会自动识别您的操作系统(Windows、Mac 或 Linux),并为您提供相应的下载选项。请确保选择适合您操作系统的版本。 4. 点击下载按钮后,您将被引导到下载页面。此页面将向您展示有关下载进度以及相关的安装说明。请耐心等待,直到下载完成。 5. 下载完成后,双击下载文件以运行安装程序。根据屏幕上显示的指示,您需要选择安装目录、配置虚拟设备等。 6. 在安装过程中,您可能需要同意一些许可协议和条款。请仔细阅读并同意。 7. 安装完成后,您可以在开始菜单或应用程序文件夹中找到 Android Studio Flamingo 的图标。双击图标打开 IDE。 8. 第一次运行 Android Studio Flamingo,您可能需要下载一些额外组件或依赖项。请按照屏幕上显示的指示进行操作,并等待下载完成。 9. 完成上述步骤后,您现在已经成功地下载和安装了 Android Studio Flamingo。您可以立即开始使用它来开发您的 Android 应用程序了。 希望以上指南能帮助您顺利下载和使用 Android Studio Flamingo。祝您在 Android 应用开发的旅程中取得成功!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值