当前位置: 首页 > article >正文

【论文笔记】Flamingo: a Visual Language Model for Few-Shot Learning

🍎个人主页:小嗷犬的个人主页
🍊个人网站:小嗷犬的技术小站
🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。


基本信息

标题: Flamingo: a Visual Language Model for Few-Shot Learning
作者: Jean-Baptiste Alayrac, Jeff Donahue, Pauline Luc, Antoine Miech, Iain Barr, Yana Hasson, Karel Lenc, Arthur Mensch, Katherine Millican, Malcolm Reynolds, Roman Ring, Eliza Rutherford, Serkan Cabi, Tengda Han, Zhitao Gong, Sina Samangooei, Marianne Monteiro, Jacob L Menick, Sebastian Borgeaud, Andy Brock, Aida Nematzadeh, Sahand Sharifzadeh, Mikołaj Bińkowski, Ricardo Barreira, Oriol Vinyals, Andrew Zisserman, Karén Simonyan
发表: Advances in Neural Information Processing Systems 35 (NeurIPS 2022)
arxiv: https://arxiv.org/abs/2204.14198

基本信息

摘要

构建仅使用少量标注示例即可快速适应新任务的模型,是跨模态机器学习研究的一个开放挑战。

我们介绍了Flamingo,这是一系列具有这种能力的视觉语言模型(VLM)。
我们提出了关键架构创新:

  1. 连接强大的预训练视觉和语言模型。
  2. 处理任意交织的视觉和文本数据序列。
  3. 无缝地摄入图像或视频作为输入。

得益于其灵活性,Flamingo模型可以在包含任意交织文本和图像的大规模多模态网络语料库上进行训练,这对于赋予它们上下文少样本学习能力至关重要。

我们对我们的模型进行了彻底的评估,探索并测量了它们快速适应各种图像和视频任务的能力。

这些任务包括开放性任务,如视觉问答,其中模型被提示一个问题,它必须回答;字幕任务,评估描述场景或事件的能力;以及封闭性任务,如多项选择视觉问答。对于这个范围内的任何任务,单个Flamingo模型可以通过提示特定任务的示例,仅通过少样本学习实现新的最先进水平。

在众多基准测试中,Flamingo优于在数以千计的任务特定数据上微调的模型。

主要贡献

  1. 引入了Flamingo系列VLM,它可以从少量输入/输出示例中执行各种多模态任务(如标题生成、视觉对话或视觉问答)。得益于架构创新,Flamingo模型可以高效地接受任意交织的视觉数据和文本作为输入,并以开放式生成文本。
  2. 定量评估了Flamingo模型如何通过少样本学习适应各种任务。
  3. Flamingo在16个多模态语言和图像/视频理解任务上达到了少样本学习的SOTA水平。

概览图表

选自Flamingo-80B的输入和输出示例。Flamingo能够通过少量提示快速适应各种图像/视频理解任务(顶部)。开箱即用,Flamingo还具备多图像视觉对话功能(底部)。

Flamingo结果概述。左:我们最大的模型,称为Flamingo,在16个任务中有6个优于最先进的微调模型,且未进行微调。对于9个已发布少量样本结果的任务,Flamingo设定了新的少量样本最佳水平。注意:我们省略了第16个基准RareAct,因为它是一个零样本基准,没有可比较的微调结果。右:Flamingo的性能随着模型大小和样本数量的增加而提高。

方法

整体架构

Flamingo架构概述。Flamingo是一种视觉语言模型(VLM)家族,它以视觉数据与文本交织的形式作为输入,并产生自由形式的文本作为输出。

  • Visual Encoder: NFNet-F6,由像素图像得到视觉特征。
  • Perceiver Resampler: 类似 Perceiver 和 DETR,转换视觉特征到固定数量的视觉输出。

GATED XATTN-DENSE layers

GATED XATTN-DENSE layers。为了使语言模型对视觉输入进行条件化,我们在现有的预训练和冻结的语言模型层之间插入新的交叉注意力层。这些层的键和值来自视觉特征,而查询来自语言输入。随后是密集的前馈层。这些层是门控的,以确保在初始化时语言模型保持完整,从而提高稳定性和性能。

在各个 LM block 之间插入 GATED XATTN-DENSE 来获取视觉特征。

Multi-visual input support: per-image/video attention masking

通过 Mask 限制每个文本 token 能够看到的视觉 token。模型仅能关注到之前的一个视觉 token,而非前文出现过的所有视觉 token。这一限制比允许模型直接注意所有视觉 token 效果更好。

训练

使用三类数据进行训练:

  1. M3W,交错图像和文本数据。
  2. ALIGN,图像文本对数据。
  3. LTIP,视频文本对数据。

实验

主实验

与SOTA方案的比较

Flamingo模型在广泛的图像(I)和视频(V)理解任务中,通过少样本学习达到了SOTA水平,显著优于之前最佳的无样本和少样本方法,只需四个示例即可。更重要的是,仅使用32个示例且未调整任何模型权重,Flamingo在七个任务上优于当前最佳方法——这些方法是在数千个标注示例上微调的。

微调Flamingo与SOTA方案的比较

作者在Flamingo使用少量样本学习未能达到SOTA的九项任务上对Flamingo进行了微调。在其中的五项任务上,Flamingo创造了新的SOTA,超越了使用诸如模型集成或特定领域指标优化(例如CIDEr优化)等技巧的方法(标记为†)。

消融实验

消融实验

  1. 训练数据混合的重要性。(i)对训练数据进行了消融实验,特别是对M3W图文交织数据的有无进行了消融,发现图文交织数据能提供大约17%的提升。
  2. 视觉训练的冻结LM。(iii)不使用tanh gating会导致约4.2%的性能下降,且会使训练不稳定。(iv)使用GATED XATTN-DENSE比使用原始的Transformer交叉注意力效果更好。
  3. 计算/内存与性能权衡。(v)添加新的GATED XATTN-DENSE块的频率越高,模型效果越好,但模型的可训练参数数量和时间复杂度会显著增加。每四个块插入一次可以加速训练66%,同时整体分数仅下降1.9%。(vi)MLP和原始Transformer在性能和速度上都不如Perceiver。
  4. 视觉编码器。(vii)NFNet-F6的效果比CLIP ViT-L/14好5.8%,比NFNet-F0好8.0%。
  5. 冻结LM组件可防止灾难性遗忘。(viii)训练随机初始化的LM层,性能会下降12.9%。微调预训练LM也会导致性能下降8.0%。这表明模型出现了“灾难性遗忘”,即模型在训练新目标时逐渐忘记了其预训练。在本文的设置中,冻结语言模型是比在混合中使用预训练数据集(MassiveText)进行训练更好的替代方案。

http://www.kler.cn/a/327062.html

相关文章:

  • MySQL45讲 第十四讲 count(*)这么慢,我该怎么办?
  • C++中的继承——第二篇
  • 缓存、注解、分页
  • 《Java 实现希尔排序:原理剖析与代码详解》
  • conda找不到对应版本的pytorch,就会自动下载cpu版本的
  • Linux 之 信号概念、进程、进程间通信、线程、线程同步
  • Redis篇(应用案例 - 附近商户)(持续更新迭代)
  • Pgsql 数据库操作
  • 【运动控制】关于GPIO通用输入口是NPN型数字输入
  • Grafana指标汉化
  • 【测试-BUG篇】软件测试的BUG知识你了解多少呢?
  • 自动驾驶系列—DOW(开门预警):让每一次开门都更安心
  • 水囊在消防灭火工作中的作用
  • 机器人的性能指标
  • C++ | Leetcode C++题解之第448题找到所有数组中消失的数字
  • 使用 pypdf 给 PDF 添加目录书签
  • 如何避免IP污染
  • POST与GET有哪些区别?
  • Xcode手动安装SDK模拟器
  • 【Golang】Go语言中如何面向对象?
  • 【Git】Git在Unity中使用时的问题记录
  • 集师专属知识付费小程序搭建 心理咨询小程序搭建
  • 记录|Modbus-TCP产品使用记录【摩通传动】
  • c#代码介绍23种设计模式_11外观模式
  • 机器学习 | Scikit Learn中的普通最小二乘法和岭回归
  • 计算机是怎么工作的