AI多模态技术介绍:视觉语言模型(VLMs)指南

本文作者:AIGCmagic社区 刘一手

AI多模态全栈学习路线

在本文中,我们将探讨用于开发视觉语言模型(Vision Language Models,以下简称VLMs)的架构、评估策略和主流数据集,以及该领域的关键挑战和未来趋势。通过了解这些基础方面,读者可以深入了解如何在包括医疗、机器人和媒体等行业中应用VLMs,以创建更复杂且具备上下文感知能力的人工智能系统。

曾经人工智能能够像人类一样有效地理解视觉和文本线索的想法,似乎遥不可及且难以想象。

然而随着多模态AI的出现,我们正在经历一场革命。AI现在可以同时理解多种模态,如文本、图像、语音、面部表情和手势等,以理解我们周围的世界。处理多种模态的能力为AI应用打开了各种途径。

多模态AI的一个主流的应用是视觉语言模型(VLMs)。这些模型可以同时处理和理解语言(文本)和视觉(图像)的模态,以执行高级的视觉语言任务,如视觉问答(VQA)、图像描述和文本到图像搜索。在本文中我们将介绍:

  • VLMs的主流架构;
  • VLMs的评估方法;
  • VLMs的数据集;
  • VLM的关键挑战、主要应用和未来趋势;

一、VLMs的一般定义

视觉语言模型(VLM)是视觉模型与自然语言模型的融合。它接收图像及其对应的文本描述作为输入,并学习将两种模态的知识关联起来。模型的视觉部分捕捉图像的空间特征,而语言模型则编码文本信息。

来自两种模态的数据,包括检测到的对象、图像的空间布局和文本嵌入,都会相互映射。例如,如果图像中有一只鸟,模型会学习将其与文本描述中的相关关键词关联。

通过这种方式,模型学会理解图像,并将知识转换为自然语言(文本),反之亦然。

VLM的训练

构建VLM涉及预训练基础模型和零样本学习。可以使用迁移学习技术,如知识蒸馏,对模型进行微调,以适应更具体的下游任务。

这些是相对简单的技术,需要较小的数据集和较少的训练时间,同时保持良好的效果。

现代框架则使用各种技术来获得更好的结果,例如:

  • 对比学习。
  • 掩蔽语言-图像建模。
  • 使用Transformer的编码器-解码器模块等。

这些架构能够学习各种模态之间的复杂关系,并提供最先进的结果。接下来,我们将详细讨论这些内容。


二、VLMs的主流架构

让我们来看看一些VLM架构,以及主流模型如CLIP、Flamingo和VisualBert等所使用的学习技术。

2.1 对比学习

对比学习是一种通过理解数据点之间差异来学习的方法。该方法计算数据实例之间的相似度得分,并旨在最小化对比损失。在半监督学习中尤为有用,因为只有少量标记样本指导优化过程,以标记未见过的数据点。

对比学习

 

理解猫的外形特征有多种方法,其中一种是将其与相似的猫图像和狗图像进行对比。对比学习模型通过识别面部结构、体型大小和毛发等特征来区分猫和狗。这些模型能够判断哪张图像与原始图像(称为"锚点")更相似,从而预测其类别。

CLIP是一个运用对比学习的典型模型。它使用文本和视觉编码器来计算文本与图像嵌入之间的相似度。为实现零样本预测,CLIP遵循以下三个步骤:

  • 在预训练阶段同时训练文本和图像编码器,学习图像-文本对的关系
  • 将训练数据集中的类别转换为文字描述
  • 对输入图像进行零样本预测时,估算最匹配的文字描述
CLIP预训练过程
CLIP推理过程

2.2 PrefixLM

PrefixLM 是一种主要用于模型预训练的自然语言处理学习技术。它输入部分文本(前缀),并学习预测序列中的下一个词。在视觉语言模型中,PrefixLM 使模型能够基于图像及其对应的前缀文本来预测下一个词序列。它利用视觉 transformer(ViT)将图像划分为一维的图像块序列,每个图像块代表一个局部图像区域。

随后,模型对处理后的图像块应用卷积或线性投影,以生成上下文化的视觉嵌入。对于文本模态,模型将与图像块相关的文本前缀转换为词元嵌入。transformer 的编码器-解码器模块接收视觉和词元嵌入。在这个过程中,模型学习嵌入之间的关系。

SimVLM 是一个采用 PrefixLM 学习方法的流行架构。相比其前身,它具有更简单的 transformer 架构,在多个基准测试中取得了更好的结果。

它使用 transformer 编码器来学习图像-前缀对,并使用 transformer 解码器来生成输出序列。该模型还展示了良好的泛化能力和零样本学习能力。

SimVLM 架构

同样地,VirTex 使用卷积神经网络来提取图像特征,并使用带有 transformer 的文本处理模块来管理文本前缀。通过向文本处理模块输入图像-文本对,你可以端到端地训练模型来预测正确的图像描述。

VirTex 架构

 2.3 Frozen PrefixLM

虽然 PrefixLM 技术需要从头开始训练视觉和文本编码器,但冻结 PrefixLM 允许你使用预训练网络,只更新图像编码器的参数。

例如,下面的架构展示了如何使用预训练语言模型和视觉编码器来实现冻结机制。文本编码器可以来自任何大型语言模型(LLM),视觉编码器也可以是预训练的视觉基础模型。

你可以微调图像编码器,使其图像表示与文本嵌入对齐,从而使模型能够做出更好的预测。

Frozen PrefixLM 架构

 Flamingo 的架构采用了更先进(SOTA)的方法。它使用类似 CLIP 的视觉编码器和一个名为 Chinchilla 的大型语言模型。通过保持 LLM 固定不变,你可以在文本之间交错插入图像来训练视觉编码器。

视觉编码器通过 Perceiver Sampler 处理图像。这种技术可以实现更快的推理速度,使 Flamingo 特别适合少样本学习。

Flamingo 架构

2.4 使用交叉注意力的多模态融合

这种方法通过添加交叉注意力层,利用预训练 LLM 的编码器进行视觉表示学习。VisualGPT 是一个主要的示例,它允许快速调整 LLM 的预训练编码器权重以适应视觉任务。

VisualGPT 架构

研究人员从输入图像中提取相关对象,并将它们输入到视觉编码器中。生成的视觉表示随后被输入到解码器中,并根据预训练的 LLM 进行权重初始化。解码器模块通过自恢复激活单元(SRAU)来平衡视觉和文本信息。

SRAU 方法避免了梯度消失的问题,这是深度学习中的一个常见问题,即由于梯度过小导致模型权重无法更新。因此,VisualGPT 的性能优于多个基准模型,如普通 transformer、注意力上的注意力(AoA)transformer 和 X-transformer。

2.5 掩码语言建模(MLM)和图像-文本匹配(ITM)

MLM 在 BERT 等语言模型中的工作原理是通过掩盖或隐藏文本序列的一部分,并训练模型来预测缺失的文本。ITM 则涉及预测句子 Y 是否跟随句子 X。

可以将 MLM 和 ITM 技术应用于视觉任务。下图展示了在 COCO 数据集上训练的 VisualBERT 架构。它通过引入图像序列和带掩码的文本描述来增强 MLM 过程。基于视觉嵌入,其目标是预测缺失的文本。同样地,ITM 预测某个描述文本是否与图像匹配。

VisualBERT 架构

2.6 无需训练的方法

你可以直接使用大规模预训练的视觉-语言模型,而无需任何微调。例如,MAGIC 和 ASIF 是免训练框架,旨在预测与输入图像紧密对齐的文本描述。

MAGIC 使用基于 CLIP 生成的图像嵌入的专门评分来指导语言模型的输出。使用这个评分,LLM 生成与图像语义紧密对齐的文本嵌入,使模型能够以零样本方式执行多模态任务。

ASIF 使用相似图像具有相似描述的理念。模型计算训练数据集中查询图像和候选图像之间的相似度。接下来,它比较查询图像嵌入与相应候选图像的文本嵌入。

然后,它预测嵌入与查询图像最相似的描述,从而实现与 CLIP 和 LiT 等模型相当的零样本性能。

ASIF 预测策略

2.7 知识蒸馏

这种技术涉及将知识从一个训练良好的大型教师模型转移到参数较少的轻量级学生模型。这种方法允许研究人员从更大的预训练模型中训练视觉语言模型(VLM)。

例如,ViLD 是一个使用知识蒸馏方法开发的流行 VLM。该模型使用预训练的开放词汇图像分类模型作为教师来训练两阶段检测器(学生)。

该模型将文本编码器的文本嵌入与图像嵌入进行匹配。

ViLD 架构

 知识蒸馏将知识从图像编码器转移到骨干模型,以自动生成区域嵌入。在推理过程中,只有骨干模型生成区域嵌入,并将其与未见过的文本嵌入进行匹配。

其目标是根据文本描述在图像中为对象绘制正确的边界框。


三、VLMs的评估方法

VLM 验证涉及评估图像和文本数据之间关系的质量。对于图像描述模型来说,这意味着将生成的描述与真实描述进行比较。

你可以使用各种基于 n-gram 的自动评估策略来比较预测标签的准确性、语义和信息精确度。以下是几个关键的 VLM 评估指标:

  • BLEU:双语评估替补(BLEU)指标最初是为评估机器翻译任务而提出的。它通过考虑候选句子中有多少词出现在参考句子中,来计算目标文本相对于参考文本(真实值)的精确度。
  • ROUGE:面向召回率的摘要评估替补(ROUGE)通过考虑参考句子中有多少词出现在候选句子中来计算召回率。
  • METEOR:显式排序翻译评估指标(METEOR)计算精确度和召回率的调和平均值,对召回率给予更大的权重,并将其与惩罚项相乘。该指标是对其他仅使用精确度或召回率的指标的改进,因为它结合了两者的信息来提供更好的评估。
  • CIDEr:基于共识的图像描述评估(CIDEr)通过使用 TF-IDF 分数计算参考句子和目标句子之间的平均相似度,将目标句子与一组人工句子进行比较。

四、VLMs的数据集

既然你已经了解了视觉语言模型(VLM)相关的评估指标,了解如何为这些模型整理数据集也是至关重要的。一个合适的数据集为 VLM 的训练和验证提供了肥沃的土壤,并且在决定模型在各种任务中的表现方面起着关键作用。

收集 VLM 的训练数据比传统 AI 模型更具挑战性,因为它涉及多种数据模态的收集和质量保证。Encord Index 通过提供全面的数据管理和整理解决方案来简化这个过程。以下是几个结合图像和文本数据用于多模态训练的数据集:

LAION-5B:实践者使用 LAION-5B 数据集来构建大型预训练 VLM。该数据集包含超过 50 亿个由 CLIP 生成的图像-文本对,包含英语和其他语言的描述,适用于多语言领域。

PMD:公共模型数据集(PMD)最初出现在 FLAVA 论文中,包含 700 亿个图像-文本对。它是从其他大规模数据集(如 COCO、Conceptual Captions(CC)、RedCaps 等)收集而来的数据集合。这个数据集是多模态数据的宝库,有助于稳健的模型训练。

VQA:专家使用 VQA 数据集来微调预训练的 VLM,以用于下游的视觉问答和视觉推理任务。该数据集包含超过 20 万张图像,每张图像有 5 个问题,每个问题有 10 个正确答案和 3 个错误答案。ImageNet:ImageNet 包含超过 1400 万张图像,这些图像根据 WordNet 层次结构进行注释分类。它有助于构建用于简单下游任务的模型,如图像分类和对象识别。


五、VLMs的关键挑战

尽管 VLM 在理解视觉和文本模态以处理信息方面很强大,但它们面临三个主要挑战:

模型复杂性

语言和视觉模型本身就相当复杂,将两者结合只会使问题更加严重。它们的复杂性在获取强大的训练计算资源、收集大型数据集以及在物联网设备等弱硬件上部署时带来了额外的挑战。

数据集偏差

当 VLM 在没有真正解决问题的情况下记住训练集和测试集中的深层模式时,就会出现数据集偏差。例如,在使用从互联网上收集的图像训练 VLM 时,可能导致模型记住特定模式,而不是学习各种图像之间的概念差异。

评估策略

上面讨论的评估策略仅将候选句子与参考句子进行比较。这种方法假设参考句子是唯一的真实标准。然而,特定图像可能有多个真实描述。

虽然像 CIDEr 这样基于共识的指标考虑了这个问题,但当特定图像的共识度较低时,使用这些指标就变得具有挑战性。

多张图片可以用同一个描述

 如图所示,VLM 可以标注或检索多个与通用描述匹配的相关图像。然而,实际上,模型仅仅是一个词袋。它只是考虑"城市"、"公交车"、"灯光"等词来描述图像,而不是真正理解描述文本的顺序和真实的上下文含义。

此外,用于视觉问答的 VLM 可能会对无意义的问题生成高置信度的答案。例如,对于一张包含白马的图像,如果问 VLM "汽车是什么颜色?",它会回答"白色",而不是指出图片中没有汽车。

最后,VLM 缺乏组合泛化能力。这意味着当它们处理新颖概念时,性能会下降。例如,VLM 可能无法将黄色马识别为一个类别,因为马很少与黄色关联。

尽管在开发和部署方面存在许多挑战,研究人员和实践者在采用 VLM 解决实际问题方面已取得重大进展。下面简要讨论这些进展。


六、VLMs的主要应用

虽然前面讨论的大多数 VLM 主要用于图像描述,但它们的实用性延伸到了各种利用视觉和语言模态桥接能力的领域。以下是一些额外的应用:

图像检索:像 FLAVA 这样的模型通过帮助用户基于语言查询找到相关照片,来协助他们浏览图像库。电商网站就是一个相关的例子。访问者可以在搜索栏中描述他们想要找的东西,VLM 会在屏幕上显示合适的选项。这种应用在智能手机上也很流行,用户可以输入关键词(如风景、建筑等)从相册中检索相关图像。

生成式 AI:通过文本提示生成图像是一个不断发展的领域,像 DALL-E 这样的模型允许用户根据他们的描述创建艺术作品或照片。这种应用在设计师和发明家想要可视化不同产品创意的企业中很实用。它还有助于创建网站和博客内容,并辅助讲故事。

分割:像 SegGPT 这样的 VLM 有助于实例分割、全景分割、语义分割等任务。SegGPT 通过理解用户提示并利用独特的配色方案来分割上下文中的对象。例如,用户可以要求 SegGPT 从多张图像中分割彩虹,SegGPT 将高效地标注所有彩虹。


七、VLMs的未来趋势

以下是 VLM 领域几个关键的未来研究方向:

更好的数据集

研究界正在努力构建更好的训练和测试数据集,以帮助 VLM 提高组合理解能力。CLEVR 就是一个很好的例子。如图所示,它包含新颖的形状、颜色的图像以及相应的问题,使专家能够测试 VLM 的视觉推理能力。

CLEVR 示例

更好的评估方法

评估挑战需要对更好的评估方法进行深入研究,以构建更稳健的 VLM。一种替代方案是通过 ARO 基准测试来评估 VLM 的各项技能。

属性识别、关系推理和词序敏感性(ARO)是 VLM 必须掌握的三项技能。下图解释了 ARO 在不同上下文中的含义。使用这样的数据集,专家可以分析 VLM 学到了什么,以及如何改进结果。

ARO 示例

机器人技术

研究人员也在使用 VLM 构建特定用途的机器人。这些机器人可以帮助导航环境,通过监控物品改进制造业的仓库运营,并通过让机器人理解人类的面部表情、肢体语言、语音语调等手势来增强人机交互。

医疗视觉问答

VLM 标注图像和识别复杂对象的能力可以帮助医疗专业人员进行医疗诊断。例如,他们可以向 VLM 询问关于 X 光片或 MRI 扫描的关键问题,以尽早确定潜在问题。


推荐阅读

AI多模态核心架构五部曲:

AI多模态模型架构之模态编码器:图像编码、音频编码、视频编码

AI多模态模型架构之输入投影器:LP、MLP和Cross-Attention

AI多模态模型架构之LLM主干(1):ChatGLM系列

AI多模态模型架构之LLM主干(2):Qwen系列

AI多模态模型架构之LLM主干(3):Llama系列  

AI多模态模型架构之输出映射器:Output Projector  

AI多模态模型架构之模态生成器:Modality Generator

AI多模态实战教程:

AI多模态教程:从0到1搭建VisualGLM图文大模型案例

AI多模态教程:Mini-InternVL1.5多模态大模型实践指南

AI多模态教程:Qwen-VL升级版多模态大模型实践指南

AI多模态实战教程:面壁智能MiniCPM-V多模态大模型问答交互、llama.cpp模型量化和推理


技术交流

加入「AIGCmagic社区」群聊,一起交流讨论,涉及AI视频、AI绘画、数字人、多模态、大模型、传统深度学习、自动驾驶等多个不同方向,可私信或添加微信号:【lzz9527288】,备注不同方向邀请入群!

更多精彩内容,尽在AIGCmagic社区」,关注了解全栈式AIGC内容!

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

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

相关文章

IP 地址与蜜罐技术

基于IP的地址的蜜罐技术是一种主动防御策略,它能够通过在网络上布置的一些看似正常没问题的IP地址来吸引恶意者的注意,将恶意者引导到预先布置好的伪装的目标之中。 如何实现蜜罐技术 当恶意攻击者在网络中四处扫描,寻找可入侵的目标时&…

PLC实现HTTP协议JSON格式数据上报对接的参数配置说明

IGT-SER系列PLC通讯智能网关支持HTTP协议GET和POST、PUT请求模式。支持JSON格式的文件,也可以实现WebService的调用。 通常智能网关是HTTP协议的客户端,也可以同时作为HTTP的服务端。相关案例 作为客户端时支持触发、周期、混合等多种工…

设计模式-结构型-组合模式

1. 什么是组合模式? 组合模式(Composite Pattern) 是一种结构型设计模式,它允许将对象组合成树形结构来表示“部分-整体”的层次结构。组合模式使得客户端对单个对象和组合对象的使用具有一致性。换句话说,组合模式允…

30天开发操作系统 第 12 天 -- 定时器 v1.0

前言 定时器(Timer)对于操作系统非常重要。它在原理上却很简单,只是每隔一段时间(比如0.01秒)就发送一个中断信号给CPU。幸亏有了定时器,CPU才不用辛苦地去计量时间。……如果没有定时器会怎么样呢?让我们想象一下吧。 假如CPU看不到定时器而仍想计量时…

【Linux】sed编辑器

一、基本介绍 sed编辑器也叫流编辑器(stream editor),它是根据事先设计好得一组规则编辑数据流。 交互式文本编辑器(如Vim)中,可以用键盘命令交互式地插入、删除或替换文本数据。 sed编辑器是根据命令处理…

RK3568 Android 13 内置搜狗输入法小计

问:为什么写? 答:网上搜出来的都试过了,不行!下面直接上代码和注意事项! 首先到这个目录(/RK3568/Rockchip_Android13_SDK_Release/device/rockchip/rk356x/tl3568_evm/preinstall&#xff09…

IT面试求职系列主题-人工智能(一)

想成功求职,必要的IT技能一样不能少,再从人工智能基础知识来一波吧。 1)您对人工智能的理解是什么? 人工智能是计算机科学技术,强调创造能够模仿人类行为的智能机器。这里智能机器可以定义为能够像人一样行动、像人一…

数据挖掘实训:天气数据分析与机器学习模型构建

随着气候变化对各行各业的影响日益加剧,精准的天气预测已经变得尤为重要。降雨预测在日常生活中尤其关键,例如农业、交通和灾害预警等领域。本文将通过机器学习方法,利用历史天气数据预测明天是否会下雨,具体内容包括数据预处理、…

Figma如何装中文字体-PingFang苹方字体、Alibaba PuHuiTi阿里普惠

**写在前面: 工具类软件更新迭代如此快的世界,不能靠历史知识来做操作反应。需要着眼于当下工具的形态来思考用法。另外,有人说,当前的用户越来越少发教程类的图文消息了(转去了视频),现在很多…

欧拉公式和傅里叶变换

注:英文引文机翻,未校。 中文引文未整理去重,如有异常,请看原文。 Euler’s Formula and Fourier Transform Posted byczxttkl October 7, 2018 Euler’s formula states that e i x cos ⁡ x i sin ⁡ x e^{ix} \cos{x} i …

docker搭建atlassian-confluence:7.2.0

文章目录 引言I 部署前准备数据库镜像准备自己构建镜像dockerhub第三方镜像II 安装启动容器基础配置(获取服务器ID)授权码获取集群选择设置数据库配置管理员账号引言 准备数据库、镜像启动容器获取服务器ID根据服务器ID等信息,基于atlassian-agent.jar 授权I 部署前准备 数…

抢占欧洲电商高地,TikTok 运营专线成 “秘密武器”

在当今数字化浪潮席卷全球的时代,社交媒体平台已成为商业拓展的关键阵地,TikTok 更是其中的闪耀新星。近日,一则重磅消息引发行业关注:TikTok 正计划于 2025 年初进军荷兰电商市场。这一战略布局,不仅彰显了 TikTok 对…

牛客网刷题 ——C语言初阶——BC96-有序序列判断

1. 题目描述——BC96-有序序列判断 牛客网OJ题链接 描述:输入一个整数序列,判断是否是有序序列,有序,指序列中的整数从小到大排序或者从大到小排序(相同元素也视为有序)。 示例1 输入: 5 1 6 9 22 30 输出&#xff…

LabVIEW软件Bug的定义与修改

在LabVIEW软件开发过程中,bug(程序错误或缺陷)指的是程序中导致不符合预期行为的任何问题。Bug可能是由于编码错误、逻辑漏洞、硬件兼容性问题、系统资源限制等因素引起的。它可能会导致程序崩溃、功能无法正常执行或输出结果不符合预期。理解…

HBuilderX打包ios保姆式教程

1、登录苹果开发者后台并登录已认证开发者账号ID Sign In - Apple 2、创建标识符(App ID)、证书,描述文件 3、首先创建标识符,用于新建App应用 3-1、App的话直接选择第一个App IDs,点击右上角继续 3-2、选择App&#x…

【PyTorch入门】使用PyTorch构建一个简单的图像分类模型

本次分享一个简单的使用PyTorch进行图像分类模型搭建的小案例,让大家对PyTorch的流程有一个认知。 1. 导入必要的库 import torch import torch.nn as nn import torchvision import numpy as np from torch.autograd import Variable import matplotlib.pyplot as…

【SpringAOP】Spring AOP 底层逻辑:切点表达式与原理简明阐述

前言 🌟🌟本期讲解关于spring aop的切面表达式和自身实现原理介绍~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 &am…

智慧公厕大数据驱动下的公共卫生管理与优化

在快速发展的城市化进程中,公共卫生问题日益凸显,成为城市管理的重要议题。智慧公厕,作为公共卫生设施的一次革命性创新,正借助物联网技术的东风,引领公共卫生进入一个全新的生态时代。本文将深入探讨智慧公厕如何利用…

Git:Cherry-Pick 的使用场景及使用流程

前面我们说了 Git合并、解决冲突、强行回退等解决方案 >> 点击查看 这里再说一下 Cherry-Pick功能,Cherry-Pick不是merge,只是把部分功能代码Cherry-Pick到远程的目标分支 git cherry-pick功能简介: git cherry-pick 是用来从一个分…

Windows 安装 Docker 和 Docker Compose

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall ︱vue3-element-admin︱youlai-boot︱vue-uniapp-template 🌺 仓库主页: GitCode︱ Gitee ︱ Github 💖 欢迎点赞 👍 收藏 ⭐评论 …