《深入浅出多模态》:多模态任务介绍与背景
一、多模态的概念与应用
多模态大模型在许多领域都有广泛的应用,例如自然语言处理、计算机视觉、音频处理等。可以用于文本和图像的语义理解、视频的分类和识别、音频的情感分析和语音识别等任务。通过多模态大模型,可以更好地理解和处理复杂的多模态数据,提高人工智能的应用性能。
二、多模态主要技术难点
表征概念
如何挖掘模态间的互补性或独立性以表征多模态数据。
表征学习是多模态任务的基础,其中包含了一些开放性问题,例如:如何结合来源不同的异质数据,如何处理不同模态的不同噪声等级,测试样本的某种模态缺失怎么办。
原理介绍
现有多模态表征学习可分为两类:Joint(联合,也称为单塔结构)和Coordinated(协作,双塔结构)。下图分别为.Joint representation(单塔)与Coordinated representation(双塔)。
-
Joint结构注重捕捉多模态的互补性,融合多个输入模态 _x_1, _x_2 ,获得多模态表征 x**m= f( _x_1 , _x_2 ) ,进而使用 x**m 完成某种预测任务。网络优化目标是某种预测任务的性能。
-
Coordinated结构并不寻求融合而是建模多种模态数据间的相关性,它将多个(通常是两个)模态映射到协作空间,表示为:f( _x_1 )~g( _x_2 ) ,其中~表示一种协作关系。网络的优化目标是这种协作关系(通常是相似性,即最小化cosine距离等度量)。
❝
在测试阶段,由于Coordinated结构保留了两个模态的表示空间,它适合仅有一个模态作为输入的应用,如跨模态检索,翻译,grounding和zero-shot learning。但是Joint结构学习到的 x_m 只适用于多模态作为输入,例如视听语音识别,VQA,情感识别等。
讨论
相较于多模态,基于单模态的表征学习已被广泛且深入地研究。在Transformer出现之前,不同模态所适用的最佳表征学习模型不同,例如,CNN广泛适用CV领域,LSTM占领NLP领域。较多的多模态工作仍旧局限在使用N个异质网络单独提取N个模态的特征,之后采用Joint或Coordinated结构进行训练。近几年来,基于Transformer的多模态预训练模型喷涌而出,如LXMERT[5], Oscar[6], UNITER[7]属于Joint结构,CLIP[8], BriVL[9] 属于Coordinated结构。
三、多模态下游任务:
跨模态定位和关系识别任务
-
Visual Grounding:给定一个图像与一段文本,定位到文本所描述的物体。
-
Temporal Language Localization: 给定一个视频与一段文本,定位到文本所描述的动作(预测起止时间)。
-
Video Summarization from Text Query:给定一段话(query)与一个视频,根据这段话的内容进行视频摘要,预测视频关键帧(或关键片段)组合为一个短的摘要视频。
-
Video Segmentation from Natural Language Query: 给定一段话(query)与一个视频,分割得到query所指示的物体。
-
Video-Language Inference: 给定视频(包括视频的一些字幕信息),还有一段文本假设(hypothesis),判断二者是否存在语义蕴含(二分类),即判断视频内容是否包含这段文本的语义。
-
Object Tracking from Natural Language Query: 给定一段视频和一些文本,追踪视频中文本所描述的对象。
-
Language-guided Image/Video Editing: 一句话自动修图。给定一段指令(文本),自动进行图像/视频的编辑。
跨模态生成任务
-
Vision-Language
-
Image/Video-Text Retrieval (图(视频)文检索): 图像/视频<–>文本的相互检索。
-
Image/Video Captioning(图像/视频描述):给定一个图像/视频,生成文本描述其主要内容。
-
Visual Question Answering(视觉问答):给定一个图像/视频与一个问题,预测答案。
-
Image/Video Generation from Text:给定文本,生成相应的图像或视频。
-
Multimodal Machine Translation:给定一种语言的文本与该文本对应的图像,翻译为另外一种语言。
-
Vision-and-Language Navigation(视觉-语言导航):给定自然语言进行指导,使得智能体根据视觉传感器导航到特定的目标。
-
Multimodal Dialog(多模态对话):给定图像,历史对话,以及与图像相关的问题,预测该问题的回答。
-
Language-Audio
-
Text-to-Speech Synthesis: 给定文本,生成一段对应的声音。
-
Audio Captioning:给定一段语音,生成一句话总结并描述主要内容。(不是语音识别)
-
Vision-Audio
-
Audio-Visual Speech Recognition(视听语音识别):给定某人的视频及语音进行语音识别。
-
Video Sound Separation(视频声源分离):给定视频和声音信号(包含多个声源),进行声源定位与分离。
-
Image Generation from Audio: 给定声音,生成与其相关的图像。
-
Speech-conditioned Face generation:给定一段话,生成说话人的视频。
-
Audio-Driven 3D Facial Animation:给定一段话与3D人脸模版,生成说话的人脸3D动画。
四、多模态数据集总结:
常见数据集:CC+COCO+SBU+Flickr30k+VQA
1. Image Caption
1.1 概念介绍
该任务是给图像生成描述,一般输入 prompt 为:“ a picture of {}”
模型的回答为:girls holding umbrellas.
1.2 常用数据集介绍
Microsoft COCO Captions
COCO Captions更关注场景的所有重要部分,而不描述重要细节,COCO Captions对于关注的对象更突出。
164,062张图像,包括:82,783个训练图像、40,504个验证图像、40,775个测试图像、995,684个captions,平均每张图片6个captions,描述这个场景的所有重要部分;不描述不重要的细节;不描述在未来或过去可能发生的事情;不描述一个人可能会说什么;不提供专有的人名;这些句子应该至少包含8个单词。(人物动作,交通工具等)
数据集:https://cocodataset.org/#home
paper:https://arxiv.org/pdf/1504.00325.pdf
SBU Captions
SBU Captions数据集最初将图像字幕作为一个检索任务,包含 100 万个图片网址 + 标题对。(数据来源于Flickr)
网站:https://huggingface.co/datasets/sbu_captions
paper:http://tamaraberg.com/papers/generation_nips2011.pdf
-
image_url
: Static URL for downloading the image associated with the post. -
caption
: Textual description of the image. -
user_id
: Author of caption.
2.Visual Grounding
Visual Grounding任务常用的数据集有五个:RefCOCO、RefCOCO+、RefCOCOg、ReferItGame和Flickr30K Entities
RefCOCO、RefCOCO+、RefCOCOg
参考下方介绍。
ReferItGame
该数据集有来自SAIAPR12的20000张图像。它在训练集、验证集和测试集中分别有54,127 / 5,842 / 60,103个引用表达式。
Flickr30K Entities
Flickr30K Entities有31,783张图像,包含427K个实体。Flickr30K Entities中的查询多为短名词短语.。
3.Referring Expression Comprehension(REC)
3.1 概念介绍
这个任务是框出文本中提到的一个特定目标,如输入文本为 “穿红短袖且背球拍的人”,则输出就会框出一个目标 person
3.2 常用数据集介绍
Refcoco 论文:Modeling Context in Referring Expressions
标注文件下载:https://github.com/lichengunc/refer
RefCOCO, RefCOCO+, RefCOCOg:
-
是三个从 MSCOCO 中选取图像得到的数据集,数据集中对所有的 phrase 都有 bbox 的标注
-
RefCOCO 有19,994幅图像,包含142,210个引用表达式,包含50,000个对象实例。
-
RefCOCO+ 共有19,992幅图像,包含 49,856 个对象实例的 141,564 个引用表达式。
-
Ref COCOg 有25,799幅图像,指称表达式 95,010 个,对象实例 49,822个。
下图是论文中的一个图,每个图的 caption 描述在图片正下方,绿色是根据下面的 caption 标注的 gt,蓝色是预测正确的框,红色是预测错误的框。
❝
testA中的图像包含多人,testB中的图像包含所有其他对象。RefCOCO +中的查询不包含绝对的方位词,如描述对象在图像中位置的右边。RefCOCOg在在非交互场景中收集,RefCOCOg的查询长度普遍大于RefCOCO和RefCOCO +:RefCOCO、RefCOCO +、RefCOCOg的平均长度分别为3.61、3.53、8.43。
4. Visual Question Answer(VQA)
4.1 概念介绍
该任务是输入问题和图像,输出模型的回答
如输入 “左侧女孩手里拿的是什么”,模型会回答 “雨伞”
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。