【LMM 009】MiniGPT-4:使用 Vicuna 增强视觉语言理解能力的多模态大模型
论文描述:MiniGPT-4: Enhancing Vision-Language Understanding with Advanced Large Language Models
论文作者:Deyao Zhu∗ Jun Chen∗ Xiaoqian Shen Xiang Li Mohamed Elhoseiny
作者单位:King Abdullah University of Science and Technology
论文原文:https://arxiv.org/abs/2304.10592
论文出处:–
论文被引:457(12/31/2023)
论文代码:https://github.com/Vision-CAIR/MiniGPT-4,21.4k star
项目主页:https://minigpt-4.github.io/
ABSTRACT
最近的 GPT-4 展示了非凡的多模态能力,例如直接从手写文本生成网站,以及识别图像中的幽默元素。这些功能在以往的视觉语言模型中很少见。然而,GPT-4 背后的技术细节仍未公开。我们认为,GPT-4 增强的多模态生成能力源于对复杂的大型语言模型(LLM)的利用。为了研究这一现象,我们提出了 MiniGPT-4,它使用一个投影层将冻结的视觉编码器与冻结的高级 LLM Vicuna 对齐。我们的研究首次发现,将视觉特征与先进的大型语言模型进行适当对齐,可以拥有 GPT-4 所展示的众多先进的多模态能力,例如生成详细的图像描述和根据手绘草稿创建网站。此外,我们还观察到 MiniGPT-4 的其他新兴/涌现能力(emerging capabilities),包括根据给定图像编写故事和诗歌,根据食物照片教用户如何烹饪等。在我们的实验中,我们发现在较短的图片描述对(image caption pair)上训练的模型可能会产生不自然的语言输出(e.g, repetition and fragmentation)。为了解决这个问题,我们在第二阶段策划了一个详细的图片描述数据集来对模型进行微调,从而提高了模型生成的可靠性和整体可用性。
1 INTRODUCTION
近年来,大型语言模型(LLMs)取得了突飞猛进的发展(Ouyang et al., 2022;OpenAI,2022;Brown et al., 2020;Scao et al., 2022a;Touvron et al., 2023;Chowdhery et al., 2022;Hoffmann et al., 2022)。这些模型具有超强的语言理解能力,能以零样本的方式完成各种复杂的语言任务。值得注意的是,最近推出的大规模多模态模型 GPT-4 展示了视觉语言理解和生成方面的多项令人印象深刻的能力(OpenAI,2023)。例如,GPT-4 可以生成详细而准确的图像描述,解释不寻常的视觉现象,甚至可以根据手写文本指令构建网站。
虽然 GPT-4 展示了非凡的视觉语言能力,但其卓越能力背后的方法仍是一个谜。我们认为,这些令人印象深刻的技能可能源于使用了更先进的大型语言模型(LLM)。LLM 已经展示了各种新兴/涌现能力(emergent abilities),GPT-3 的小样本提示设置(Brown et al., 2020)和(Wei et al., 2022)的研究结果都证明了这一点。在较小的模型中很难发现这种特性。据推测,这些新兴能力也适用于多模态模型,这可能是 GPT-4 令人印象深刻的视觉描述(visual description)能力的基础。
为了证实我们的假设,我们提出了一种名为 MiniGPT-4 的新型视觉语言模型。
- 它利用先进的大型语言模型(LLM)Vicuna(Chiang et al., 2023)作为语言解码器,该模型基于 LLaMA(Touvron et al., 2023)构建,据报道,根据 GPT-4 的评估,其质量达到 ChatGPT 的 90%。
- 在视觉感知方面,我们采用了与 BLIP-2(Li et al., 2023)相同的预训练视觉组件,其中包括来自 EVA-CLIP (Fang et al., 2022)的 ViT-G/14 和 Q-Former 网络。
- MiniGPT-4 增加了一个投影层,将编码的视觉特征与 Vicuna 语言模型对齐,并冻结了所有其他视觉和语言组件。
MiniGPT-4 最初在 4 个 A100 GPU 上以 256 的批量大小训练了 20k 步,利用了一个综合图像描述(image captioning)数据集,其中包括来自 LAION(Schuhmann et al., 2021),Conceptual Captions(Changpinyo et al., 2021;Sharma et al., 2018)和 SBU(Ordonez et al., 2011)的图像,以便将视觉特征与 Vicuna 语言模型对齐。然而,仅仅将视觉特征与语言模型(LLM)进行对齐还不足以确保强大的视觉对话能力,与聊天机器人的能力相仿。原始图像-文本对中存在的潜在噪声会导致不合格的语言输出。因此,我们又收集了 3500 对详细的图像描述,利用设计好的对话模板进一步微调模型,以提高生成语言的自然度和可用性。
我们在实验中发现,MiniGPT-4 拥有许多与 GPT-4 类似的功能。例如,MiniGPT-4 可以生成复杂的图像描述,根据手写文本指令创建网站,以及解释不寻常的视觉现象。此外,我们的研究结果表明,MiniGPT-4 还具有 GPT-4 演示中没有展示的其他各种有趣的能力。例如,MiniGPT-4 可以根据食物照片直接生成详细的烹饪食谱,根据图像灵感编写故事或诗歌,根据图像编写产品广告,识别照片中显示的问题并提供相应的解决方案,以及直接从图像中检索有关人物,电影或艺术的丰富事实,等等。以前的视觉语言模型,如 Kosmos-1(Huang et al., 2023)和 BLIP-2(Li et al., 2023),都不具备这些能力。这进一步验证了将视觉特征与先进的语言模型相结合是增强视觉语言模型的关键之一。
我们总结了我们的主要发现:
- 我们的研究以令人信服的证据表明,通过将视觉特征与先进的大型语言模型(如 Vicuna)对齐,MiniGPT-4 可以实现与 GPT-4 演示相媲美的先进视觉语言能力。
- 我们的研究结果表明,只需训练一个投影层,就能有效地将预先训练好的视觉编码器与大型语言模型对齐。我们的 MiniGPT-4 只需要在 4 个 A100 GPU 上训练大约 10 个小时。
- 我们发现,仅仅使用简短的图像描述对(image caption pairs)将视觉特征与大型语言模型对齐,不足以开发出性能良好的模型,还会导致语言生成不自然。使用小而详细的图像描述对进行进一步微调可以解决这一局限性,并显著提高其可用性。
2 RELATED WORKS
Large language models
近年来,由于训练数据的扩大和参数数量的增加,大型语言模型取得了巨大成功。早期的模型,如 BERT(Devlin et al., 2018),GPT-2(Radford et al., 2019)和 T5(Raffel et al., 2020),为这一进展奠定了基础。随后,GPT-3(Brown et al., 2020)以 1,750 亿个参数的庞大规模问世,在众多语言基准方面取得了重大突破。这一发展激励了其他各种大型语言模型的创建,包括:
- MegatronTuring NLG(Smith et al., 2022)
- Chinchilla(Hoffmann et al., 2022)
- PaLM(Chowdhery et al., 2022)
- OPT(Zhang et al., 2022)
- BLOOM(Scao et al., 2022b)
- LLaMA(Touvron et al., 2023)
(Wei et al., 2022)进一步发现了几种新出现的能力,它们只出现在大型模型中。这些能力的出现强调了在开发大型语言模型过程中扩大规模的重要性。此外,通过将预先训练好的大型语言模型GPT-3与人类意图,指令和人类反馈对齐,InstructGPT(Ouyang et al., 2022)和ChatGPT(OpenAI,2022)实现了与人类的对话式交互,并能回答各种不同的复杂问题。最近,基于 LLaMA(Touvron et al., 2023)开发的几个开源模型,如 Alpaca(Taori et al., 2023)和 Vicuna(Chiang et al., 2023),也表现出类似的性能。
Leveraging Pre-trained LLMs in Vision-Language Tasks.
近年来,在视觉语言任务中使用自回归语言模型作为解码器的趋势得到了极大的发展(Chen et al., 2022;Huang et al., 2023;Yang et al., 2022;Tiong et al., 2022;Alayrac et al., 2022;Li et al., 2023;2022;Driess et al., 2023)。这种方法利用了跨模态迁移的优势,允许在语言和多模态领域之间共享知识。
- VisualGPT(Chen et al., 2022)和 Frozen(Tsimpoukelli et al., 2021)等开创性研究证明了采用预先训练的语言模型作为视觉语言模型解码器的好处。
- Flamingo(Alayrac et al., 2022)利用门控交叉注意技术将预先训练好的视觉编码器和语言模型对齐,并在数十亿图像-文本对上进行了训练,展示了令人印象深刻的上下文少量学习能力。
- BLIP-2(Li et al., 2023)采用了带有 Q-Former 的 Flan-T5(Chung et al., 2022),将视觉特征与语言模型有效地对齐。
- 5620 亿参数的 PaLM-E(Driess et al., 2023)用于将真实世界的连续传感器模态集成到 LLM 中,从而在真实世界的感知和人类语言之间建立联系。
- GPT-4(OpenAI,2023)在对大量对齐图像文本数据进行预训练后,展示了更强大的视觉理解和推理能力。
事实证明,像 ChatGPT 这样的 LLM 可以通过与其他专业模型合作,成为提高视觉语言任务性能的强大工具。例如,
- Visual ChatGPT(Wu et al., 2023)和 MM-REACT(Yang* et al., 2023)展示了 ChatGPT 如何充当协调者的角色,与不同的视觉基础模型整合,促进它们的协作,以应对更复杂的挑战。
- ChatCaptioner (Zhu et al., 2023)将 ChatGPT 视为提问者,提出各种问题让 BLIP-2 回答。通过多轮对话,ChatGPT 从 BLIP-2 中提取视觉信息,并有效总结图像内容。
- Video ChatCaptioner(Chen et al., 2023)扩展了这一方法,将其应用于视频时空理解。
- ViperGPT (Sur ́ıs et al., 2023)展示了将 LLM 与不同视觉模型相结合,以编程方式处理复杂视觉查询的潜力。
- 相比之下,MiniGPT-4 直接将视觉信息与语言模型对齐,无需使用外部视觉模型即可完成各种视觉语言任务。
3 METHOD
MiniGPT-4 的目标是将来自预训练视觉编码器的视觉信息与先进的大型语言模型(LLM)对齐(Alignment)。具体来说,
- 使用 Vicuna(Chiang et al., 2023)作为语言解码器,该解码器基于 LLaMA(Touvron et al., 2023)构建,可以执行各种复杂的语言任务。
- 视觉感知方:采用与 BLIP-2 (Li et al., 2023)相同的视觉编码器,ViT Backbone(Fang et al., 2022)及其预先训练好的 Q-Former。
语言和视觉模型都是开源的。我们的目标是利用线性投影层弥合视觉编码器与 LLM 之间的差距,图 1 显示了模型概览。
为了实现有效的 MiniGPT-4,我们提出了一种两阶段训练方法。
- 第一阶段:在大量对齐的图像-文本对上对模型进行预训练,以获取视觉语言知识。
- 第二阶段:使用一个较小但高质量的图像-文本数据集对预训练模型进行微调,并设计了对话模板,以提高生成的可靠性和可用性。
3.1 FIRST PRETRAINING STAGE
在初始预训练阶段,该模型旨在从大量对齐图像-文本对中获取视觉-语言知识。我们将注入投影层的输出视为对 LLM 的软提示,促使它生成相应的地面实况文本。
在整个预训练过程中,预训练的视觉编码器和线性投影层都保持冻结状态,只有线性投影层进行了预训练。使用 Conceptual Caption(Changpinyo et al., 2021;Sharma et al., 2018),SBU(Ordonez et al., 2011)和 LAION(Schuhmann et al., 2021)的组合数据集来训练模型。经过 20,000 个训练步骤,批量大小为 256,约 500 万个图像-文本对。整个过程耗时约 10 个小时,使用了 4 个 A100 (80GB) GPU。
Issues of the first pretraining stage
第一个预训练阶段之后,MiniGPT-4 显示出拥有丰富知识的能力,并能对人类的询问做出合理的回答。不过,我们也观察到它产生不连贯语言输出的情况,如重复的单词或句子,支离破碎的句子或无关内容。这些问题阻碍了 MiniGPT-4 与人类进行流畅视觉对话的能力。
我们在 GPT-3 中也观察到了类似的挑战。尽管在大量语言数据集上进行了预训练,GPT-3 仍然难以生成与用户意图准确一致的语言输出。通过指令微调和从人类反馈中强化学习,GPT-3 演化成了 GPT-3.5(Ouyang et al., 2022;OpenAI,2022),并能够产生更多对人类友好的输出。这一现象与 MiniGPT-4 在初始预训练阶段后的现状相似。因此,我们的模型在这一阶段可能难以生成流畅自然的人类语言输出也就不足为奇了。
3.2 CURATING A HIGH-QUALITY ALIGNMENT DATASET FOR VISION-LANGUAGE DOMAIN.
为了使生成的语言更加自然,提高模型的可用性,第二阶段的对齐过程必不可少。虽然在 NLP 领域,指令微调数据集(Taori et al., 2023)和对话(sha,2023)很容易获得,但在视觉语言领域却没有相应的数据集。为了弥补这一不足,我们制作了一个详细的图像描述数据集,专门用于视觉语言对齐。在第二阶段对齐过程中,利用该数据集对 MiniGPT-4 进行微调。
Initial aligned image-text generation
在初始阶段,我们使用从第一个预训练阶段得到的模型来生成输入图像的描述。为了使模型能够生成更详细的图像描述,我们设计了一个符合 Vicuna(Chiang et al., 2023)语言模型对话格式的提示(Prompt),如下所示。在该提示中, 表示线性投影层生成的视觉特征。
###Human: <Img><ImageFeature></Img>Describe this image in detail. Give as many details as possible. Say everything you see. ###Assistant:
为了识别不完整的句子,我们会检查生成的句子是否超过 80 个词组。如果没有,则加入一个额外的提示:###Human: Continue ###Assistant:
,提示MiniGPT-4 延长生成过程。通过串联这两个步骤的输出,我们可以创建一个更全面的图像描述。通过这种方法,我们可以生成具有详细图像描述的图像-文本对。我们从Conceptual Caption dataset(Changpinyo et al., 2021;Sharma et al., 2018)中随机选取 5000 张图片,使用预训练模型为每张图片生成相应的语言描述。
Data post-processing
上述自动生成的图片说明包含噪音或不连贯的描述,例如单词或句子重复,句子支离破碎或内容不相关。为了解决这些问题,我们采用了 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…”, or “I apologize for that …”),然后用硬编码规则自动过滤掉这些错误。我们还通过人工方式完善生成的描述,剔除 ChatGPT 未能检测到的多余单词或句子。最后,在 5000 个图片-文本对中,只有约 3500 个符合我们的要求,这些图片-文本对随后被用于第二阶段的对齐过程。
3.3 SECOND-STAGE FINETUNING
在第二阶段,我们利用准备好的高质量图像-文本对微调预训练模型。在微调过程中,使用以下模板中的预定义提示:
###Human: <Img><ImageFeature></Img><Instruction>###Assistant:
在此提示中, 表示从我们预定义的指令集中随机抽取的指令,其中包含 “Describe this image in detail” 或 “Could you describe the contents of this image for me” 等不同形式的指令。我们并不计算这一特定文本图像提示的回归损失。
因此,MiniGPT-4 现在能够生成更自然,更可靠的语言输出。此外,我们还发现,这种微调过程的效率非常高,在批量为 12 的情况下,只需要 400 个训练步骤,而使用单个 A100 GPU 则需要 7 分钟左右。
4 EXPERIMENTS
在实验中,我们旨在通过各种定性实例展示 MiniGPT-4 模型的各种新兴能力。这些能力包括生成详细的图像描述,识别备忘录中有趣的方面,从照片中提供食物食谱,为图像写诗等。此外,我们还展示了图像描述任务的定量结果。
4.1 UNCOVERING EMERGENT ABILITIES WITH MINIGPT-4 THROUGH QUALITATIVE EXAMPLES
与传统的视觉语言模型相比,MiniGPT-4 展示了许多先进的能力。例如,它能详细描述图像,并能解释给定备忘录的幽默方面。在这里,我们将我们的模型与领先的视觉语言模型之一 BLIP-2(Li et al., 2023)进行了定性比较,并列举了八个不同的例子,每个例子都突出了一种不同的能力。
图 2 中的一个例子表明,MiniGPT-4 能有效识别图像中的各种元素,如繁忙的城市街道,钟楼,商店,餐馆,摩托车,人,路灯和云。相比之下,BLIP-2 在生成图像描述时只能涵盖城市街道,人和摩托车。图 4a 中的另一个例子表明,MiniGPT-4 成功地解释了该备忘录幽默的原因。它解释了躺着的狗和许多人在星期一的感受是一样的,星期一通常被认为是一周中最可怕的一天。相比之下,BLIP-2 只简单描述了图片内容,未能理解图片的有趣之处。
我们还展示了 MiniGPT-4 的其他独特能力。这些能力包括:
- 根据给定图像创建广告促销文案(图 3)
- 从电影照片中检索事实信息(图 8)
- 从食物图像生成食物食谱(图 11)
- 诊断植物疾病并提出治疗方案(图 12)
- 根据手写草稿创建网站(图 4b)
- 根据图像灵感写诗(图 10)
传统的视觉语言模型,如 BLIP-2(使用 Flan-T5 XXL(Chung et al., 2022)作为语言模型),使用功能较弱的语言模型,则不具备这些能力。这种对比表明,只有当视觉特征与 Vicuna(Chiang et al., 2023)等先进的 LLM 适当对齐时,才会出现这些先进的视觉语言能力。
4.2 QUANTITATIVE ANALYSIS
Advanced Abilities
为了量化高级视觉语言任务的性能,我们编制了一个由 4 个任务组成的小型评估数据集:
- Explain why this meme is funny
- How should I make something like this?
- Help me draft a professional advertisement for this.
- Can you craft a beautiful poem about this image?
我们总共收集了 100 张不同的图片,每项任务分配 25 张图片。我们请人类评估员确定模型生成是否满足要求。我们将结果与 BLIP-2(Li et al., 2023)进行了比较,结果见表 1。在备忘录解释,诗歌创作和广告创作方面,BLIP-2 在很大程度上难以满足任何要求。在食谱生成方面,BLIP-2 在 25 个案例中成功了 4 个。相比之下,MiniGPT-4 能在近 80% 的情况下满足食谱,广告和诗歌创作的请求。此外,在 25 个案例中,MiniGPT-4 在 8 个案例中正确理解了备忘录中具有挑战性的幽默理解。
Image Captioning
我们在 COCO 描述基准上评估了 MiniGPT-4 的性能,并将其与 BLIP-2 进行了比较(Li et al., 2023)。我们的模型生成的描述通常包含丰富的视觉细节。传统的基于相似性的图像描述评估指标很难对我们的模型进行准确评估。为此,我们借助 ChatGPT 来检查生成的描述是否涵盖了所有真实描述的信息,以此来评估模型的性能,详情见附录 A.3。表 2 中的结果表明,MiniGPT-4 在生成与真实视觉物体和关系更接近的描述方面优于 BLIP-2。MiniGPT-4 的成功率为 66.2%,比 BLIP-2 高出许多,后者的成功率仅为 27.5%。对传统 VQA 任务的进一步评估见附录 A.2。
4.3 ANALYSIS ON THE SECOND-STAGE FINETUNING
Effectiveness of the second-state finetuning
仅使用第一阶段预训练后的预训练模型可能会导致失败,例如出现重复的单词或句子,支离破碎的句子或不相关的内容。不过,通过第二阶段的微调过程,这些问题在很大程度上得到了缓解。从图 5 中可以看出,在第二阶段微调之前,MiniGPT-4 生成的描述并不完整。然而,经过第二阶段微调后,MiniGPT-4 能够生成完整流畅的描述。在本节中,我们将探讨第二阶段微调方法的重要性和有效性。
为了量化第二阶段微调的影响,我们从 COCO 测试集中随机抽取了 100 幅图像,并考察了模型在详细描述生成和诗歌创作这两项任务中的表现。使用的提示分别是:
- Describe the image in detail.
- Can you write a beautiful poem about this image?
模型在第二阶段微调之前和之后都执行了这些任务。我们人工统计了模型在每个阶段的失败的生成。结果如表 3 所示:在第二阶段微调之前,大约有 1/3 的生成输出与真实描述或诗歌不匹配。相比之下,经过第二阶段微调后的模型在这两项任务的 100 张测试图像中只有不到 2 个失败案例。这些实验结果表明,第二阶段微调能显著提高生成输出的质量。图 5 显示了第二阶段微调前后模型生成的定性示例。
Can the original BLIP-2 benefit from the second-stage data?
在本研究中,我们采用与 MiniGPT-4 相同的方法,利用我们的第二阶段数据对 BLIP-2(Li et al., 2023)进行了微调,并检验它是否能获得与 MiniGPT-4 类似的高级能力。经过微调的 BLIP-2 被称为 BLIP-2 FT。请注意,MiniGPT-4 使用与 BLIP-2 相同的视觉模块;而 BLIP-2 使用 FlanT5 XXL(Chung et al., 2022)作为语言模型,其强度不及 MiniGPT-4 模型中使用的 Vicuna(Chiang et al., 2023)模型。我们依靠相同的提示来评估我们模型的高级能力。定性结果如图 4,13 和 14 所示。我们发现,BLIP-2 FT 生成的反应仍然很短,而且无法推广到备忘录解释和网站编码等高级任务中(图 4)。我们的发现表明,BLIP-2 相对较弱的语言模型 FlanT5 XXL 从如此小的数据集中获益较少,并凸显了在 VLM 系统中更先进的 LLM 的有效性。
Second stage with Localized Narratives
Localized Narratives Dataset(Pont-Tuset et al., 2020)是一个详细的图像描述数据集,其中注释者在描述图像的同时对相应区域进行定位。在这里,我们用 Localized Narratives dataset 取代第二阶段的自收集数据集,以此测试我们模型的性能。该模型命名为 MiniGPT-4 LocNa。图 4,13 和 14 中的定性结果表明,MiniGPT-4 LocNa 可以生成较长的图像描述(图 14)。然而,生成的输出质量较低,表达单调。此外,MiniGPT-4 LocNa 在其他复杂任务中的泛化能力不如原始的 MiniGPT-4,如解释 meme 为何有趣(图 4a)。造成这种性能差距的原因可能是 Localized Narratives dataset 中单调重复的图像描述。
4.4 ABLATION ON THE ARCHITECTURE DESIGNS
为了进一步证明使用单个线性层将视觉特征与 LLM 对齐的有效性,我们进行了不同架构设计的实验,包括:
- a)移除 QFormer 并将 VIT 的输出直接映射到 Vicuna 的嵌入空间(不使用 Q-former)
- b)使用三个线性层而不是一个层
- c)在视觉模块中对 Q-Former 进行额外的微调
所有变体的训练方法与原始设计相同。表 4 中 AOK-VQA 数据集(Schwenk et al., 2022)和 GQA 数据集(Hudson & Manning, 2019)的结果表明,
- 变体 (a) MiniGPT-4 w/o Q-Former 的性能与原始设计相似。图 4,13 和 14 中该变体的定性结果也显示出类似的高级技能。这表明,BLIP-2 中的 Q-Former 对高级技能并没有起到关键作用。
- (b) MiniGPT-4+ 3 层和 © MiniGPT-4 + 微调 Q-Former 这两个变体的表现都略逊于原始的 MiniGPT-4。这表明,在我们有限的训练数据设置中,单个投影层足以使视觉编码器和大型语言模型保持一致。
4.5 LIMITATION ANALYSIS
Hallucination
由于 MiniGPT-4 建立在 LLM 的基础上,因此它也继承了 LLM 的局限性,如产生不存在知识的幻觉。图 6 中的一个例子表明,尽管图像中没有白色桌布,但 MiniGPT-4 却错误地识别出了桌布的存在。在这里,我们使用指标 CHAIRi(Rohrbach et al., 2018)来衡量生成的幻觉率,并用两种不同的提示来控制模型生成的长度:
- MiniGPT-4 (long): Please describe this image as detailed as possible.
- MiniGPT-4 (short): Please describe the image shortly and precisely, in less than 20 words.
表 5 中的结果显示,较长的描述往往会产生较高的幻觉率。例如,MiniGPT-4 (long) 生成的描述平均单词数为 175 个,幻觉率较高;而 MiniGPT-4 (short) 生成的描述平均单词数为 28.8 个,幻觉率较低。如表 2 所示,BLIP-2(平均 6.5 个单词)产生的幻觉较少,但涵盖的对象较少。 在详细的图像描述中产生幻觉仍是一个尚未解决的问题。利用带有幻觉检测模块的强化学习和人工智能反馈可能是一个潜在的解决方案。
Spatial Information Understanding
MiniGPT-4 的视觉感知能力仍然有限。它可能难以区分空间定位。例如,图 6 中的 MiniGPT-4 无法识别窗户的位置。这种局限性可能是由于缺乏专为空间信息理解而设计的对齐图像-文本数据。在 RefCOCO(Kazemzadeh et al., 2014)或 Visual Genome(Krishna et al., 2017)等数据集上进行训练可能会缓解这一问题。
5 DISCUSSION
MiniGPT-4 是如何获得这些高级能力的?GPT-4 展示的许多高级视觉语言能力可以理解为植根于两项基础技能的合成技能:图像理解和语言生成。以基于图像的诗歌创作任务为例。像 ChatGPT 和 Vicuna 这样的高级 LLM 已经可以根据用户的指令创作诗歌。如果它们掌握了理解图像的能力,那么即使在训练数据中没有图像-诗歌对,也可以将构图能力推广到基于图像的诗歌创作任务中。
在第一个预训练阶段,MiniGPT-4 通过对图像和来自图像描述数据集的简短图像描述之间的相关性建模来学习理解图像。然而,这些图像描述数据集的语言风格与现代 LLM 生成的语言风格不同,导致语言生成失真,阻碍了成功的构图泛化。因此,我们引入了第二阶段微调来恢复语言生成能力。经过两阶段训练后,MiniGPT-4 成功地泛化了许多高级的视觉语言合成能力,如根据草稿进行网站编码或进行 meme 解释,验证了我们的假设。未来的研究可能会深入探讨构 compositional generalization 的机制,并寻求提高该能力的方法。我们希望我们的工作,作为对这些基于视觉的 LLM 能力的早期探索,能推动这一领域的进一步研究。
相关文章:
【LMM 009】MiniGPT-4:使用 Vicuna 增强视觉语言理解能力的多模态大模型
论文描述:MiniGPT-4: Enhancing Vision-Language Understanding with Advanced Large Language Models 论文作者:Deyao Zhu∗ Jun Chen∗ Xiaoqian Shen Xiang Li Mohamed Elhoseiny 作者单位:King Abdullah University of Science and Techn…...
SpringBoot学习(三)-整合JDBC、Druid、MyBatis
注:此为笔者学习狂神说SpringBoot的笔记,其中包含个人的笔记和理解,仅做学习笔记之用,更多详细资讯请出门左拐B站:狂神说!!! 一、整合JDBC使用(理解) 创建项目 勾选依赖启动器 查看依赖 …...
如何选择合适的语音呼叫中心?
市场上不同的语音呼叫中心提供商,都有其独特的优势和不足。企业在选择语音呼叫中心服务公司时,主要考虑以下因素:服务质量、价格、技术支持、客户支持等。 首先,服务质量是选择语音呼叫中心需关注的最重要因素之一。 为确保语音…...
使用qtquick调用python程序
一. 内容简介 使用qtquick调用python程序 二. 软件环境 2.1vsCode 2.2Anaconda version: conda 22.9.0 2.3pytorch 安装pytorch(http://t.csdnimg.cn/GVP23) 2.4QT 5.14.1 新版QT6.4,,6.5在线安装经常失败,而5.9版本又无法编译64位程序…...
【Axure高保真原型】树形表格_多选效果
今天和大家分享树形表格_多选效果的原型模板,点击树的箭头可以展开或者收起子节点,点击多选按钮可以选中或取消选择该行以及子级行内容,同时反选父级行内容,父级行内容能根据子级选中的数量自动反选,包括全选、半选和未…...
【Filament】加载obj和fbx模型
1 前言 3D 模型的常用格式主要有 obj、fbx、gltf 等,Filament 中的 filamesh.exe 工具可以将 obj、fbx 格式转换为 filamesh 格式,然后再加载显示。对于 gltf 格式模型,可以通过 ModelViewer 加载显示,这不在本文的讨论范围内。 1…...
[USACO04OPEN] The Cow Lineup
题目描述 约翰的 N ( 1 ≤ N ≤ 100000 ) N ( 1 \leq N \leq 100000 ) N(1≤N≤100000) 只奶牛站成了一列。每只奶牛都写有一个号牌,表示她的品种,号牌上的号码在 1 … K &#x…...
软件工具集合
代码文档自动生成工具: Doxygen download 软件分析工具: perf gdb flamegraph 代码量统计: vscode插件:VS Code Counter 代码备注 vsocde插件: Line Note...
C#利用openvino部署PP-TinyPose人体姿态识别
【官方框架地址】 github.com/PaddlePaddle/PaddleDetection 【算法介绍】 关键点检测算法往往需要部署在轻量化、边缘端设备上,因此长期以来都存在一个难题:精度高、速度则慢、算法体积也随之增加。而PP-TinyPose的出世彻底打破了这个僵局,…...
MindSpore Serving与TGI框架 の 对比
一、MindSpore Serving MindSpore Serving是一款轻量级、高性能的服务工具,帮助用户在生产环境中高效部署在线推理服务。 使用MindSpore完成模型训练>导出MindSpore模型,即可使用MindSpore Serving创建该模型的推理服务。 MindSpore Serving包含以…...
两阶段提交协议三阶段提交协议
两阶段提交协议 分布式事务是指会涉及到操作多个数据库的事务,在分布式系统中,各个节点之间在物理上相互独立,通过网络进行沟通和协调。 XA 就是 X/Open DTP 定义的交易中间件与数据库之间的接口规范(即接口函数),交易…...
6-Docker Compose-tomcat application(指定官方镜像)
1.创建docker-compose.yml文件,添加如下内容并保存 vim docker-compose.yml [root@centos79 ~]# cat docker-compose.yml #yml文件 version: 3 #版本号,默认为3 services:tomcat-ztj: #定…...
宝塔安装的imagemagick不能用,必须自己手动安装
1 安装 用composer安装 2 宝塔安装的imagemagick不能用,必须自己手动安装(3.4.3版本 php 7.3) 1 步骤: wget https://pecl.php.net/get/imagick-3.4.3.tgz tar -zxf imagick-3.4.3.tgz cd imagick-3.4.3 /www/server/php/73…...
解决在test以外的目录下导入junit无效
以上引用来自src目录下的文件,可以看到,和junit有关的导入都飘红,但明明junit已经被正确导入进了项目中。 再看右侧的Maven的依赖下方,junit的右边有一个很不起眼的(test) 这是因为junit作为测试框架,可能包含仅适用于…...
docker 在线安装mysql 8.0.21版本
1、拉取mysql 8.0.21版本镜像 2、查看镜像 docker images 3、在宿主机 /usr/local/mysql 下的 conf 文件夹下,创建 my.cnf 文件,并编辑内容 [mysql] default-character-setutf8 [client] port3306 default-character-setutf8 [mysqld] port3306 se…...
WPF DatePicker与Calendar的使用和样式修改
什么是DatePicker,Calendar Calendar:日历(显示年月日视图控件)DatePicker:日期选择器(是一个更小的控件,点击控件时才会弹出一个日历) Calendar使用 常用属性 DisplayMode&#…...
从0开始python学习-40.通过正则表达式/json进行接口关联
目录 1. 正则表达式:使用re库(需安装-pip install re),只能提取字符串的数据。 1.1 re.seach:提取一个值,得到的是一个对象,通过下标group(1)取值,如果没有匹配到值则返回None 1.…...
【React系列】高阶组件
本文来自#React系列教程:https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. 高阶组件 1.1. 认识高阶组件 什么是高阶组件呢?相信很多同学都听说过,也用过 高阶函数&…...
听GPT 讲Rust源代码--src/tools(38)
File: rust/src/tools/clippy/clippy_dev/src/lib.rs rust/src/tools/clippy/clippy_dev/src/lib.rs文件是Clippy开发工具的入口文件,其作用是提供Clippy开发过程中所需的功能和工具。Clippy是一个Rust代码的静态分析工具,用于提供各种有用的代码规范、编…...
.NET C# 如何获取object对象的数据
如何获取object对象的数据 在DAL层,一般会封装一些返回值,返回的类型就会为object ,但是需要其中的值进行判断 public static object SaveFileIns(string filepath){return new { path pathlist, file_name fileNamelist, Message "…...
使用IDEA创建使用 JDK8 的 2.x.x 版本的 Spring Boot 项目以及 Spring Boot 项目如何修改JDK版本
目录 一、在阿里云上官网上创建项目 二、将 IDEA 中创建项目的源地址修改为阿里云官网 三、创建 3.x.x 的项目之后修改配置降低至 2.7.x 版本和使用 JDK8(修改 Spring Boot 的 JDK 版本同理) 从上面的 Spring Boot 官网的截图中可以发现,自…...
游戏服务器整体架构思考
1.启动层 不管是单体架构还是微服务架构,其实服务器本身都是要启动的。 不管是用grpc实现远程调用,还是dubbo,还是说就一个简单的tcp监听,都是要启动的。 启动的时候,肯定要整合下controller接入层,不管是叫…...
labelme 标注的数据集转化为Mask-Rcnn适用的数据集
labelme 标注的数据集转化为Mask-Rcnn适用的数据集 食用步骤 1.labelme标注数据时,将生成的json文件和原图保存在一起 2.只需提供labelme生成的数据的文件夹,和maskrcnn的数据集文件夹,运行代码就会自动进行处理 3.代码会在提供的maskrcn…...
x-cmd pkg | tig - git 文本模式界面
目录 简介首次用户功能特点类似工具与竞品进一步探索 简介 tig 由 Jonas Fonseca 于 2006 年使用 C 语言创建的 git 交互式文本命令行工具。旨在开启交互模式快速浏览 git 存储库的信息以及 git 命令的运行。 首次用户 使用 x tig 即可自动下载并使用 在终端运行 eval "…...
信息论与编码期末复习——概念论述简答题(一)
个人名片: 🦁作者简介:一名喜欢分享和记录学习的在校大学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:V…...
[Kubernetes]4. 借助腾讯云TKE快速创建Pod、Deployment、Service部署k8s项目
前面讲解了通过命令行方式来部署k8s项目,下面来讲讲通过腾讯云TKE来快速创建Pod、Deployment、Service部署k8s项目,云平台搭建Kubernetes可参考[Kubernetes]1.Kubernetes(K8S)介绍,基于腾讯云的K8S环境搭建集群以及裸机搭建K8S集群 一.通过腾讯云TKE创建集群 1.创建集群 参考上…...
二叉排序树的创建、插入、查找和删除【数据结构】
二叉排序树 若它的左子树不空,则左子树上所有结点的值均小于它根结点的值。若它的右子树不空,则右子树上所有结点的值均大于它根结点的值。它的左、右树又分为⼆叉排序树 二叉排序树也叫二叉查找树、二叉搜索树 二叉排序树的创建、插入、查找和删除 …...
【管理篇 / 恢复】❀ 07. macOS下用命令刷新固件 ❀ FortiGate 防火墙
【简介】随着苹果电脑的普及,很多管理员都会通过苹果电脑对飞塔防火墙进行管理。当防火墙需要命令状态下刷新固件时,在macOS下用命令刷新固件,将会是一个小小的挑战。 首先是硬件的连接,USB配置线的USB一头,接入MAC的U…...
工作纪实40-使用redis的几种姿势
线上查问题看某个redis的key值,记录一下 1.直接使用telnet进行连接(贼拉方便) telnet ip port > auth pwd1.模糊查询 scan 0 MATCH abc* 2.查看所有key keys * 3.ttl key 查看key的ttl2.使用redis-cli连接(费劲吧啦,还需要本地…...
修改 docker /dev/shm 的大小
修改 docker /dev/shm 的大小 1,获取完整id: docker inspect 245| grep Id rootlynxi:~# docker inspect 245| grep Id"Id": "245ab167ed9a79873b31b3a38df2053870fe72f267c3c1a660df25c63e37e88b",2,修改 ShmSize&…...
天津品牌网站建设公司/app怎么推广运营
目录 【JeecgBoot-Vue3】零基础入门 - 首页 一、场景 二、树结构表CRUD Step 1:新增表 Step 2:填写 表名 > 表描述 Step 3:新增字段 > 数据库属性 Step 4:新增字段 > 页面属性 Step 5:保存ÿ…...
约小姐的微信小程序是什么/百度关键词排名优化
Prism框架对象DelegateCommand 1、常规命令支持 2、泛型命令支持 3、事件命令支持 4、事件聚合器-》Messenger(事件订阅发布) 定义一个基本消息类型,继承PubSubEvent 5、复合命令<prism:PrismApplication x:Class="Zhaoxi.PrismLesson.App"xmlns="http:/…...
东莞网站建设方案/seo 资料包怎么获得
(1)你一般怎么建索引的?去my.cnf里配置三个配置打开慢查询日志slow_query_log1慢查询日志存储路径slow_query_log_file/var/log/mysql/log-slow-queries.logSQL执行时间大于3秒,则记录日志long_query_time3首先进行SQL优化然后遵守简历索引规则索引并非越…...
别人买了域名做违法网站/百度地图导航
一、在keycloak中定义基础数据 1、realm 如果多个模块使用不同的用户权限,就分realm 如果多个模块共用一套用户权限,就顶一个一个realm 2、每个模块是一个client-app 3、用户组、用户、角色、权限定义 用户组支持扩展属性,加入组的用户自动继…...
广州建网站兴田德润信任/百家号关键词排名
盒子模型(CPBM模型)|---- content 盒模型宽度和高度和我们平常所说的物体的宽度和高度理解是不一样的,css内定义的宽(width)和高(height),指的是填充以里的内容范围。 …...
兴平网站建设/百度云客服人工电话
类似于驾校考试的考试系统 使用到的是数据库表名为: yhks(用户考试)表,yhkstm(用户考试题目)表,kemu(科目)表,shititimu(试题题目)表,xuanxiang(选…...