多模态大模型MiniGPT4论文《Minigpt-4: Enhancing vision-language understanding with advanced large languag》简要介绍

本文是关于多模态大模型论文《Minigpt-4: Enhancing vision-language understanding with advanced large language models》的简要介绍,MiniGPT4在Github上有24k+start,是非常流行的多模态大语言模型框架。

有关本专栏的更多内容,请参考大语言模型文献调研专栏目录

1. 论文基本信息

1.1 资源

项目连接:https://minigpt-4.github.io/

文章链接:https://arxiv.org/pdf/2304.10592.pdf

代码链接:https://github.com/Vision-CAIR/MiniGPT-4

文章引用:

@article{zhu2023minigpt,
  title={Minigpt-4: Enhancing vision-language understanding with advanced large language models},
  author={Zhu, Deyao and Chen, Jun and Shen, Xiaoqian and Li, Xiang and Elhoseiny, Mohamed},
  journal={arXiv preprint arXiv:2304.10592},
  year={2023}
}

1.2 概要介绍和Motivation

最近发布的GPT-4表现出非凡的多模态能力,比如直接从手写文本生成网站和识别图像中的幽默元素,这些能力在先前的工作中很少见,但是GPT-4背后的技术细节仍未公开。作者认为GPT-4增强的多模态生成能力源于利用复杂的大型语言模型(LLM)。为了研究这一现象,我们提出了MiniGPT-4,通过一个映射层(Projection )将一个冻结的视觉编码器与一个冻结的先进LLM Vicuna进行对齐。

这项工作首次揭示,正确地将视觉特征与先进的大型语言模型对齐可以具备GPT-4展示的许多高级的多模态能力,甚至可以根据给定图像撰写故事和诗歌,以及根据食物照片教用户如何烹饪等。作者发现在图像短标题配对上训练的模型可能会产生并不自然的语言输出(重复和碎片化)。因此作者提出一个详细的图像描述数据集来微调模型,从而提高模型的生成可靠性和整体可用性。

MiniGPT-4的结构

2. 相关工作

2.1 大语言模型

近年来,大型语言模型(LLM)取得了巨大成功,这要归功于训练数据规模的扩大和参数数量的增加。

  • BERT、GPT-2和T5等早期模型为大型语言模型的发展奠定了基础。
  • 随后推出的拥有1750亿参数的GPT-3在多项语言测试中取得显著突破,引发了其他大型语言模型的创建,如MegatronTuring NLG、Chinchilla和PaLM。
  • Wei等人发现大型模型具有独特的涌现能力(emergency ability),强调了规模化对大型语言模型发展的重要性。
  • InstructGPT和ChatGPT通过将预训练的GPT-3与人类意图、指令和反馈对齐,实现了与人类进行对话互动,并回答各种复杂问题。
  • 最近,一些开源模型如Alpaca和Vicuna基于LLaMA开发,表现出良好性能。

2.2 使用大语言模型解决视觉-语言任务

利用预训练的大型语言模型(LLM)进行视觉-语言任务已经成为近年来的一个明显趋势。各项研究强调了在视觉-语言任务中使用自回归语言模型作为解码器的优势。这种方法利用跨模态转移,促进了语言和多模态领域之间的知识共享。

  • 开拓性工作如VisualGPT和Frozen证明了采用预训练语言模型作为视觉-语言模型解码器的优点。
  • 进一步的进展包括开发了Flamingo,该模型通过门控交叉注意力将预训练的视觉编码器和语言模型对齐,展示了令人印象深刻的上下文少样本学习能力。
  • BLIP-2结合了Flan-T5和Q-Former,以有效地将视觉特征与语言模型对齐。
  • PaLM-E具有5620亿个参数,专注于将真实世界的传感器模式整合到LLM中,从而建立了真实世界感知和人类语言之间的联系。
  • GPT-4在对齐的大量图像-文本数据上进行预训练后展现出增强的视觉理解和推理能力。ChatGPT等LLM已被证明是提升视觉-语言任务性能的重要工具。
  • Visual ChatGPT和MM-REACT展示了ChatGPT与不同视觉基础模型的协调能力,促进它们的协作以应对更复杂的挑战。
  • ChatCaptioner将ChatGPT视为提问者,为BLIP-2提供各种问题进行回答,通过多轮对话有效地总结图像内容。
  • Video ChatCaptioner将这一方法扩展到视频时空理解。
  • ViperGPT展示了将LLM与不同视觉模型结合以程序化解决复杂视觉查询的潜力。
  • MiniGPT-4直接将视觉信息与语言模型对齐,以完成各种视觉-语言任务,而无需使用外部视觉模型。

3. 结构

MiniGPT-4的目标是将预训练的视觉编码器的视觉信息与大型语言模型(LLM)对齐。有以下要点需要读者留意:

  • 语言解码器: 采用Vicuna作为语言解码器,可执行各种复杂的语言任务。
  • 视觉感知: 使用与BLIP-2相同的视觉编码器ViT骨干结构,并结合预训练的Q-Former。
  • 差距弥合: 使用线性投影层来弥合视觉编码器与LLM之间的差距。
  • 两阶段训练: 采用两阶段训练方法。首先在对齐的图像-文本对上进行预训练,获取视觉语言知识。然后在较小但高质量的图像-文本数据集上微调预训练模型,使用设计好的对话模板来增强生成可靠性和可用性。

3.1 第一阶段预训练:初步调整视觉语言映射层参数

第一阶段模型的训练目标是从大量对齐的图像-文本对中获取视觉语言知识。作者将映射层的输出视为LLM的软提示,促使其生成相应的真实文本。

  • 固定基座参数:整个预训练过程中,预训练的视觉编码器和LLM保持冻结状态,只有线性映射层进行了预训练。
  • 训练集使用:使用了Conceptual Caption、SBU和LAION等数据集来训练我们的模型。
  • 训练参数和过程:模型训练了20,000个迭代次数,批量大小为256,涵盖了约500万个图像-文本对。整个过程大约需要10个小时,利用了4个A100(80GB)GPU。

3.2 第二阶段的准备:制作高质量视觉文本数据集

为了实现生成语言的自然性并增强模型的可用性,第二阶段对齐过程至关重要。在NLP领域,细化调整数据集和对话数据容易获取,但在视觉语言领域却没有等效的数据集。为了解决这一不足,作者制作了一个详细的图像描述数据集,专门用于视觉语言对齐目的。此数据集随后被用于在第二阶段对齐过程中微调MiniGPT-4模型。作者把数据集的制作过程分为初步制作和后处理两步。

初步制作。作者利用从第一预训练阶段得到的模型来生成输入图像的全面描述,设计了一个符合Vicuna语言模型对话格式的提示,其中代表线性投影层产生的视觉特征。

###Human: <Img><ImageFeature></Img>Describe this image in detail. Give as many details as
possible. Say everything you see. 

###Assistant:

有时模型输出句子中间断掉,为了识别不完整的句子,作者检查生成的句子是否超过80个标记。如果没有超过,会加入一个额外的提示:###Human: Continue,促使MiniGPT-4延长生成过程。通过连接两个步骤的输出,我们可以创建更全面的图像描述。这种方法使我们能够生成具有详细和信息丰富图像描述的图像-文本对。从Conceptual Caption数据集中随机选择5,000张图像,并使用预训练模型为每张图像生成相应的语言描述。

数据集的后处理。上述自动生成的图像描述包含嘈杂或不连贯的描述,如重复的单词或句子、片段化的句子或无关内容。为了解决这些问题,作者使用ChatGPT通过以下提示修复描述:

Fix the error in the given paragraph. 
Remove any repeating sentences, meaningless characters, not English sentences, and so on. 
Remove unnecessary repetition. Rewrite any incomplete sentences.
Return directly the results without explanation. 
Return directly the input paragraph if it is already correct without explanation.

完成后处理阶段后,作者手动验证每个图像描述的正确性,以确保其高质量。具体的,首先识别了一些频繁出现的错误(例如“I’m sorry I made a mistake…”或“I apologize for that …”),用硬编码规则自动过滤它们。然后通过消除ChatGPT未能检测到的多余单词或句子来手动完善生成的标题。最终,只有约5,000个图像-文本对中的大约3,500对符合我们的要求,这些样本对随后用于第二阶段对齐过程。

3.3 第二阶段:优化微调

在第二阶段,作者使用精心设计的高质量图像-文本对对预训练模型进行微调,使用以下模板中预定义的提示:

###Human: <Img><ImageFeature></Img><Instruction>
###Assistant:

其中,代表从预定义的指令集中随机抽样的指令,包含各种形式的指令,如“详细描述这幅图像”或“你能为我描述这幅图像的内容吗”,但是不为这个特定的文本-图像提示计算回归损失。到此,MiniGPT-4能够产生更自然和可靠的语言输出。这一微调过程非常有效,只需400个迭代,批量大小为12,单个A100 GPU大约需时7分钟就可以完成。

4. 实验结果

作者通过各种定性示例展示MiniGPT-4模型的多样化和涌现能力。这些能力包括生成详细的图像描述、识别图片中有趣的方面、根据照片提供食谱、为图片写诗等。此外,还提供了图像字幕任务的定量结果。

4.1 定性研究MiniGPT-4的涌现能力

相比传统的视觉语言模型,MiniGPT-4展示了许多先进的能力。例如,它可以详细描述图像,或者解释图片笑点在哪。作者将MiniGPT-4与先进的BLIP-2在8个不同示例上进行了定性比较,当视觉特征与先进的LLM(如Vicuna)完美对齐时,这些先进的视觉语言能力才会涌现,而这些能力在传统视觉语言模型(如BLIP-2)中是缺失的。

  • 图片详细描述:MiniGPT-4有效识别图像中的各种元素,如繁忙的城市街道、钟楼、商店、餐馆、摩托车、人群、路灯和云。相比之下,BLIP-2在生成图像字幕时只能涵盖城市街道、人群和摩托车。案例1-详细奥数

  • 幽默解释:MiniGPT-4成功解释笑点。它解释说躺平的狗感觉像周一一样,这通常被认为是一周中最令人恐惧的日子。相比之下,BLIP-2只简单描述图像内容,未能理解图像的有趣之处。案例2-笑点解释

  • 写广告:基于给定图像生成广告宣传。案例3-写广告

  • 电影检索:从电影照片中提取事实信息。案例4-电影检索

  • 菜谱生成:通过食物图像生成详细的食谱。案例5-菜谱生成

  • 病虫害诊断:针对植物疾病进行诊断,并提出相应的治疗方案。案例6-病虫害诊断

  • 根据手稿写网页:根据手写草稿制作网站。

    案例7-根据手稿写网页

  • 写诗:获取图像灵感,创作诗歌。

    案例8-写诗

4.2 定量分析

为了量化评价MiniGPT-4在高级视觉语言任务上的表现,作者制作了一个包括4个任务的小数据集,总共收集了100张多样化的图像,每个任务有25张图像,请人类评估员确定模型生成是否满足要求。

  • 笑点解释(“解释这个图为什么有趣。”)
  • 食谱生成(“我应该怎样制作类似的东西?”)
  • 广告创作(“帮我起草一个专业的广告。”)
  • 诗歌创作(“你能为这幅图像写一首美丽的诗吗?”)

作者将结果与BLIP-2进行比较:

MiniGPT-4与BLIP-2的比较

作者对MiniGPT-4在COCO图像标题基准上的性能进行评估,并与BLIP-2进行比较。模型生成的字幕通常包含丰富的视觉细节。因此,传统基于相似度的图像字幕评估指标难以准确评估模型。作者借助ChatGPT的帮助检查生成的标题是否涵盖了所有真值标题的信息来评估性能,相比于BLIP-2,MiniGPT-4在生成与真值和关系更密切对齐,MiniGPT-4的成功率达到66.2%,远高于只有27.5%成功率的BLIP-2。

标题生成任务定量评价

4.3 第二阶段微调的作用

仅利用第一预训练阶段之后的模型可能导致失败,例如出现重复的单词或句子、碎片化的句子或无关内容,通过第二阶段微调过程,这些问题可以得到缓解。

第二阶段微调后,模型输出完整流畅

作者量化第二阶段微调的影响,从COCO测试集中随机抽取了100张图像,并对两个任务进行了模型性能研究:详细描述生成和诗歌创作。提示词:“详细描述图像。”和“你能为这幅图像写一首美丽的诗吗?”。这些任务分别由模型在第二阶段微调前后执行。作者手动计算了每个阶段模型的失败生成次数。在第二阶段微调之前,大约1/3的生成输出未能匹配地面真实字幕或诗歌。相反,在第二阶段微调后,对于这两项任务的100张测试图像,模型的失败案例少于两个。这些实验结果表明,第二阶段微调显著改善了生成输出的质量。

有一些问题也值得关注,**原始BLIP-2是否从第二阶段数据中受益?**作者以与MiniGPT-4相同的方式对BLIP-2进行第二阶段数据的微调,并检查它是否可以获得类似于MiniGPT-4的先进能力。微调后的BLIP-2被表示为BLIP-2 FT。注意MiniGPT-4使用与BLIP-2相同的视觉模块;而BLIP-2使用FlanT5 XXL作为语言模型,这个模型不如MiniGPT-4模型中使用的Vicuna模型强大。作者使用相同的提示来评估模型,发现BLIP-2 FT仍然生成简短的回复,并且无法推广到像解释梗图和编写网站代码这样的高级任务。因此,BLIP-2相对较弱的语言模型FlanT5 XXL在这样一个小数据集中受益较少,突显了在VLM系统中使用更先进LLM的有效性。

物体位置信息的加入,数据集Localized Narratives是一个详细的图像描述数据集,其中标注者在描述图像的同时定位相应的区域。在这里,作者通过用Localized Narratives数据集替换我们在第二阶段收集的数据来测试我们模型的性能。这个模型被标记为MiniGPT-4 LocNa。MiniGPT-4 LocNa可以生成长的图像描述。结果发现,生成的输出质量较低,表现出单调的语言。此外,MiniGPT-4 LocNa在其他复杂任务中的泛化能力不及原始的MiniGPT-4,比如解释梗图为什么好笑。作者分析性能差距可能是由Localized Narratives中单调重复的图像描述导致的。

4.3 模型结构消融实验

实验采用了不同的架构设计进行了如下措施,以进一步展示使用单个线性层来对齐视觉特征与LLM的有效性:

  • (a) 移除了QFormer,并直接将VIT的输出映射到Vicuna的嵌入空间(即没有Q-former)。
  • (b) 使用了三个线性层而不是一个层。
  • © 另外对视觉模块中的Q-Former进行微调。

所有的变体都以与原始设计相同的方式进行训练。在AOK-VQA和GQA数据集上的结果表明:

  • 变体(a) MiniGPT-4无Q-Former的性能与原始设计相似,这表明Q-Former在高级技能中并不起关键作用。
  • 变体(b) MiniGPT-4 + 3层和© MiniGPT-4 + 微调Q-Former的性能略逊于原始的MiniGPT-4,这表明在有限的训练数据环境中,一个单独的映射层足以对齐视觉编码器和大型语言模型。

4.4 局限

作者从两方面介绍方法的局限性:

局限性分析

  • 幻觉问题: MiniGPT-4建立在LLMs之上,因此继承了它们的一些限制,作者使用度量标准CHAIRi来衡量生成的幻觉率,结果显示,更长的字幕往往具有更高的幻觉率。例如,MiniGPT-4(长)生成的字幕平均为175个词,具有更高的幻觉率,而MiniGPT-4(短)平均为28.8个词,幻觉率较低。BLIP-2平均为6.5个词,幻觉较少,但涵盖的对象较少。详细图像描述中的幻觉仍然是一个未解决的问题,使用强化学习与AI反馈和幻觉检测模块可能是一个潜在的解决方案。
  • 空间信息理解: MiniGPT-4的视觉感知仍然受限,可能难以区分空间定位。例如上图中,它未能识别窗户的位置。这种限制可能源于缺乏针对空间信息理解的图像文本对齐数据。在类似RefCOCO或Visual Genome的数据集上训练可能有助于缓解这个问题。

有关本专栏的更多内容,请参考大语言模型文献调研专栏目录

者自知才疏学浅,难免疏漏与谬误,若有高见,请不吝赐教,笔者将不胜感激!

softargmax

2024年4月3日

  • 26
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值