【多模态】Flamingo: a Visual Language Model for Few-Shot Learning

链接:https://arxiv.org/pdf/2204.14198
论文:Flamingo: a Visual Language Model for Few-Shot Learning

Introduction

  1. Motivation:仅使用少量标注样本来快速适应新任务的建模方式是多模态机器学习研究的一个挑战与难点
  2. 定位:a family of Visual Language Models (VLM),visually-conditioned自回归文本生成模型(以图像/视频作为输入)
  3. 创新点:
    • 弥合强大的pretrained vision-only and language-only模型
    • 处理任意交错的视觉和文本数据的序列
    • 无缝接收图像或视频输入
      主打一个flexibility,因为其在任意交错的文本和图像大规模多模态网页数据集上训练,赋予其上下文小样本学习能力(in-context few-shot learning)
  4. 结构:互补的预训练视觉模型感知视觉场景和冻结的执行推理的LLM模型,添加新组件连接二者以保留其预训练期间积累的知识。
  5. 优点:可以处理高分辨率图像或视频,在给定大量和可变数量的视觉输入特征的情况下为每个图像/视频生成少量固定数量的视觉标记
  6. 其处理效果
    Few shot prompt:
    在这里插入图片描述
    可以处理视频:
    在这里插入图片描述

multi-image visual dialogue
在这里插入图片描述
7. 实验效果
在16个任务上有6个超过了sota(包括微调)结果。
在这里插入图片描述

Methods

  1. Overview
    Perceiver Resampler接收从Vision Encoder输出的时空特征,输出特定数量的视觉tokens。这些视觉tokens用于Pre-Trained LM 中的cross-attention(随机初始化的)来调节冻结的 LM。这些新引入的层将视觉信息引入next-token prediction task。
    在这里插入图片描述

  2. Visual processing and the Perceiver Resampler

    • Vision Encoder: from pixels to features-frozen NormalizerFree ResNet (NFNet) 【Batch Normalization (BN) 能够使模型更加稳定,加速收敛且有正则化效果,但增加了计算平均数和标准差的计算,额外引入超参数,破坏了batch训练数据间的独立性,导致对batch size非常敏感,所以该模型引入了 Adaptive Gradient Clipping (AGC)进行动态梯度裁剪,可以使用更大的batchsize与更强的数据增强】
    • 在处理视频数据时,需要做一个flatten,如下图所示
      在这里插入图片描述
    • Perceiver Resampler: from varying-size large feature maps to few visual tokens.连接视觉encoder和frozen language model。引入预定数量的latent queries与图像特征做cross attention。
    • Conditioning frozen language models on visual representations:通过Transformer decoder,基于Perceiver Resampler输出的视觉表征进行文本生成,frozen text-only LM blocks,只训练cross-attend to the visual output部分和Perceiver Resampler。
      • 在frozen pretrained LM间穿插new GATED XATTN-DENSE layers:引入tanh-gating mechanism,alpha为layer-specific初始化0的可学习数值。详情见下图:
        在这里插入图片描述
      • 建模了不同大小的模型,building on the 1.4B, 7B, and 70B parameter,命名为Flamingo-3B, Flamingo-9B and 5 Flamingo-80B。
      • Multi-visual input support: per-image/video attention masking,只关注最近出现的图像,由mask实现任意数量的图像输入。在交错的数据集上训练时,每个序列最多5张图像
        在这里插入图片描述
      • Training on a mixture of vision and language datasets:训练数据集包括三种类型的网络数据,1.交错的图像文本,2.image-text pairs,3.video-text pairs,第一种的数据处理方式为,使用<image>和<EOC> (end of chunk)标记,如上图所示输入,𝐿 = 256 tokens且最多五张图像;在不同的数据集上,使用不同的权重,M为数据集数量。
        在这里插入图片描述

    在这里插入图片描述

Experiments

  1. SOTA实验:the larger the model, the better the few-shot performance;the largest model better exploits larger numbers of shots。虽然训练只用了最多五张图片,但是在推理时可以使用32张图片。
    在这里插入图片描述
    微调对比:
    在这里插入图片描述

  2. 消融实验
    在这里插入图片描述
    Flaminggo的分类性能落后于最先进的对比模型(直接优化文本图像检索)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/394351.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

案例分享-国外UI设计界面赏析

国外UI设计倾向于简洁的布局和清晰的排版&#xff0c;减少视觉干扰&#xff0c;提升用户体验。通过合理的色彩搭配和图标设计&#xff0c;营造舒适愉悦的使用氛围。 设计师不拘泥于传统框架&#xff0c;勇于尝试新元素和理念&#xff0c;使界面独特有趣。同时&#xff0c;强调以…

指纹失效,忘记iPhone屏幕解锁密码怎么应对?

为保证手机的安全及隐私&#xff0c;我们会给手机设置屏幕锁屏密码&#xff0c;通过输入设置密码来解锁手机屏幕锁&#xff0c;但为了给大家提供快速便捷的解锁方式&#xff0c;苹果公司提供了指纹解锁&#xff0c;不仅解锁更便捷了还极大地增强了设备的安全性。但有时我们手指…

Prompt万能框架与常用评估指标

引言 在人工智能的飞速发展中&#xff0c;大型语言模型&#xff08;LLM&#xff09;已成为研究和应用的热点。LLM以其强大的语言理解和生成能力&#xff0c;在诸如自然语言处理、文本生成、问答系统等多个领域展现出巨大潜力。然而&#xff0c;要充分发挥LLM的能力&#xff0c…

【Material-UI】按钮组:Split Button 详解

文章目录 一、Split Button 概述1. 组件介绍2. 基本用法 二、Split Button 的应用场景1. 提交操作2. 导出操作3. 文件操作 三、Split Button 的样式定制1. 变体&#xff08;Variants&#xff09;2. 颜色&#xff08;Colors&#xff09; 四、Split Button 的优势1. 提升用户体验…

信创安全 | 新一代内网安全方案—零信任沙盒

在当今数字化时代&#xff0c;访问安全和数据安全成为企业面临的重要挑战。传统的边界防御已经无法满足日益复杂的内网办公环境&#xff0c;层出不穷的攻击手段已经让市场单一的防御手段黔驴技穷。当企业面临越来越复杂的网络威胁和数据泄密风险时&#xff0c;更需要一种综合的…

数字新时代,如何守护网络空间安全?(非常详细)零基础入门到精通,收藏这一篇就够了

- 书籍推荐 - 网络空间已经成为继陆、海、空、天之后的第五疆域。随着大数据、云计算、人工智能的迅速发展&#xff0c;网络入侵、信息恶意窃取、数据篡改以及伪造攻击等行为严重影响国家安全&#xff0c;也损害公民、法人及其他组织的合法权益。毫无疑问&#xff0c;网络空间安…

华为OD-D卷多段线数据压缩

下图中&#xff0c;每个方块代表一个像素&#xff0c;每个像素用其行号和列号表示。 为简化处理&#xff0c;多段线的走向只能是水平、竖直、斜向45度。 上图中的多段线可以用下面的坐标串表示&#xff1a;(2, 8), (3, 7), (3, 6), (3, 5), (4, 4), (5, 3), (6, 2), (7, 3), (8…

Java语言程序设计基础篇_编程练习题**16.11(创建表示字母出现次数的直方图)

目录 题目&#xff1a;**16.11&#xff08;创建表示字母出现次数的直方图&#xff09; 习题思路 1.HistogramPane类 2. HistogramPaneDemo类 代码示例 结果展示 题目&#xff1a;**16.11&#xff08;创建表示字母出现次数的直方图&#xff09; 编写一个程序&#xff0c;从文件…

CAD启动时自动加载vba程序方法

启动AutoCAD时自动启动你的dvb文件&#xff0c;方法如下&#xff1a; 方法一、加载 VBA 时&#xff0c;它会在 AutoCAD安装 目录中&#xff0c;查找名为 acad.dvb 的工程删除&#xff0c;将你的dvb文件命名为acad.dvb,替换掉原始文件即可。方法二、启动 AutoCAD 时&#xff0c…

Python 异步编程:Sqlalchemy 异步实现方式

SQLAlchemy 是 Python 中最流行的数据库工具之一&#xff0c;在新版本中引入了对异步操作的支持。这为使用异步框架&#xff08;如 FastAPI&#xff09;开发应用程序带来了极大的便利。在这篇文章中&#xff0c;简单介绍下 SQLAlchemy 是如何利用 Greenlet 实现异步操作的。 什…

proteus仿真c51单片机(四)双机串口通信(电路设计及代码)

实验要求 1.通过甲机的按键给乙机发送控制字符&#xff0c;同时也可以实现乙机给甲机发送控制字符 2&#xff0e;用PROTEUS软件根据所给电路画出电路图&#xff0c;用KEIL软件调试程序和编译&#xff0c;最后在PROTEUS软件中实现仿真。 3.甲乙两个单片机通过串口进行通信&am…

第R2周:Pytorch实现:LSTM-火灾温度预测

nn.LSTM() 函数详解 nn.LSTM 是 PyTorch 中用于创建长短期记忆&#xff08;Long Short-Term Memory&#xff0c;LSTM&#xff09;模型的类。LSTM 是一种循环神经网络&#xff08;Recurrent Neural Network&#xff0c;RNN&#xff09;的变体&#xff0c;用于处理序列数据&#…

工业设计用什么CAD软件?SolidWorks 成为您创意实现的得力助手

随着科技的发展&#xff0c;工业设计已经进入了数字化时代。对于设计师来说&#xff0c;选择一款高效、功能全面的设计软件至关重要。在市场上众多的CAD&#xff08;计算机辅助设计&#xff09;软件中&#xff0c;SolidWorks因其出色的性能和广泛的适用性而备受青睐。本文将介绍…

5.1 Python 函数的定义

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; 工&#x1f497;重&#x1f497;hao&#x1f497;&#xff1a;野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、HR面试真题.…

【网络】协议与网络版计算器

协议与网络版计算器 文章目录 1.协议的概念1.1序列化与反序列化 2.网络版计算器2.1封装套接字2.2协议定制2.2.1Jsoncpp2.2.2报文处理 2.3会话层&#xff1a;TcpServer2.4应用层&#xff1a;Calculate2.5表示层&#xff1a;Service2.6应用层、表示层和会话层->应用层 1.协议…

PHP企业培训考试系统小程序源码

&#x1f680;企业培训考试系统&#xff0c;赋能员工成长新引擎&#x1f4da; &#x1f331; 开篇&#xff1a;解锁企业培训新篇章 在快速变化的商业环境中&#xff0c;员工的能力提升是企业持续发展的关键。&#x1f680; 传统的培训方式已难以满足现代企业的需求&#xff0…

获取客户端真实IP

出于安全考虑&#xff0c;近期在处理一个记录用户真实IP的需求。本来以为很简单&#xff0c;后来发现没有本来以为的简单。这里主要备忘下&#xff0c;如果服务器处于端口回流&#xff08;hairpin NAT&#xff09;,keepalived&#xff0c;nginx之后&#xff0c;如何取得客户端的…

【5G NAS】全球唯一临时标识符GUTI介绍

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G技术研究。 博客内容主要围绕…

通过python搭建文件传输服务器;支持多台电脑之间互相传输文件(支持局域网或广域网)(应该也能用于虚拟机和宿主机之间)

因为公司网络防火墙限制,所以在公司的电脑之间传输文件还是非常不方便的;所以自己搭建了一个文件传输服务器,用于多台电脑间的文件传输; 先放上最终效果: 文章目录 一、运行环境要求二、环境搭建2.1 安装python2.2 搭建虚拟环境方法1:创建Anaconda虚拟环境方法2:创建pyt…

行业大模型——详细介绍

行业垂类模型 行业垂类模型是指针对特定行业或领域而设计的人工智能模型&#xff0c;它们通过大量行业数据的训练&#xff0c;具备较高的专业性和针对性&#xff0c;能够更好地解决行业内的特定问题。以下是一个详细的构建行业垂类模型的步骤&#xff1a; 行业垂类模型的需求分…