当前位置:   article > 正文

Vision-CAIR/MiniGPT-4:使用先进的大型语言模型增强视觉-语言理解_minigpt4的损失函数

minigpt4的损失函数

Vision-CAIR/MiniGPT-4:使用先进的大型语言模型增强视觉-语言理解

摘要

视觉-语言理解是人工智能领域的一个重要方向,它涉及到图像和文本之间的复杂交互。近年来,大型语言模型(LLM)在自然语言处理(NLP)领域取得了令人瞩目的成就,但是它们在视觉-语言任务上的应用还有很多挑战。本文提出了一种新颖的模型,称为MiniGPT-4,它能够利用先进的LLM来增强视觉-语言理解。MiniGPT-4使用一个投影层将冻结的视觉编码器与冻结的LLM对齐,然后通过两个阶段的训练来优化模型。第一个阶段是传统的预训练,使用大约500万个图像-文本对来训练模型。第二个阶段是微调,使用一种创新的自我生成方式来构建高质量的图像-文本对,并在一个对话模板上进行训练。我们在Vicuna-13B这个类似于GPT-4的LLM上实现了MiniGPT-4,并在多个视觉-语言任务上进行了评估。实验结果表明,MiniGPT-4能够展现出类似于GPT-4的多样化和有趣的视觉-语言能力,同时具有较低的计算成本和较高的可用性。

引言

视觉和语言是人类最基本和最常用的两种信息载体,它们之间的交互和融合是人工智能领域的一个重要方向。视觉-语言理解(VLU)涉及到从图像中提取视觉特征,并将其与文本中的语义信息相结合,以完成各种任务,如图像描述、图像问答、视觉对话等¹。这些任务不仅需要模型具有对图像和文本内容的深入理解,还需要模型具有一定的推理、创造和沟通能力。

近年来,随着深度学习技术的发展,大型语言模型(LLM)在自然语言处理(NLP)领域取得了令人瞩目的成就²。LLM通常使用大量的无标注文本数据进行预训练,然后在特定任务上进行微调或零样本推理。LLM不仅能够提高NLP任务的性能,还能够展现出一些超越单纯语言理解的能力,如生成、推理、常识等³。其中,最引人注目的是GPT-4⁴,这是一个拥有1750亿个参数的LLM,它在多个NLP任务上都达到了最先进或接近最先进的水平,并且展现出了惊人的生成能力和多样化能力。

然而,将LLM应用到视觉-语言任务上还面临着很多挑战。首先,LLM通常只接受文本作为输入,而不能直接处理图像信息。因此,需要设计一种有效的方式来将图像编码为与文本兼容的表示,并将其与LLM进行融合。其次,LLM通常需要大量的数据和计算资源来进行预训练和微调,而现有的视觉-语言数据集往往规模较小、质量较低或者分布不均匀。因此,需要设计一种有效的方式来利用现有数据集或者构建新数据集来优化模型。最后,LLM通常只能输出单一或者固定格式的文本,并不能根据不同场景或者用户需求来生成多样化和有趣的文本。因此,需要设计一种有效的方式来提高模型的生成可靠性和整体可用性。

为了解决这些挑战,我们提出了一种新颖的模型,称为MiniGPT-4,它能够利用先进的LLM来增强视觉-语言理解。MiniGPT-4使用一个投影层将冻结的视觉编码器与冻结的LLM对齐,并通过两个阶段的训练来优化模型。第一个阶段是传统的预训练,使用大约500万个图像-文本对来训练模型。第二个阶段是微调,使用一种创新的自我生成方式来构建高质量的图像-文本对,并在一个对话模板上进行训练。我们在Vicuna-13B这个类似于GPT-4⁴但更小一些(只有130亿个参数)的LLM上实现了MiniGPT-4,并在多个视觉-语言任务上进行了评估。实验结果表明,MiniGPT-4能够展现出类似于GPT-4⁴ 的多样化和有趣

Vision-CAIR/MiniGPT-4 原理

在本节中,我们将介绍MiniGPT-4的模型架构和训练方法。

模型架构

MiniGPT-4的模型架构如图1所示,它主要由三个部分组成:视觉编码器、投影层和LLM。

MiniGPT-4的模型架构
图1:MiniGPT-4的模型架构

视觉编码器是用来从图像中提取视觉特征的模块,我们使用了BLIP-2作为视觉编码器,它是一个基于ViT的预训练模型,能够在多个视觉任务上达到最先进的性能。视觉编码器将输入图像划分为多个块,并对每个块进行编码,得到一个特征序列。我们将这个特征序列与一个特殊的图像标记([IMG])拼接起来,作为视觉编码器的输出。

投影层是用来将视觉特征与文本特征对齐的模块,它是一个简单的线性变换层,将视觉编码器的输出映射到与LLM相同的维度。投影层是唯一需要训练的部分,其余部分都是冻结的。

LLM是用来从文本中提取语义特征和生成文本的模块,我们使用了Vicuna-13B作为LLM,它是一个类似于GPT-4但更小一些(只有130亿个参数)的预训练模型,能够在多个NLP任务上达到最先进或接近最先进的水平,并且展现出了惊人的生成能力和多样化能力。LLM将输入文本转换为词向量,并与投影层的输出拼接起来,作为LLM的输入。LLM使用自注意力机制和多层变换器结构来对输入进行编码,并使用语言模型损失来预测下一个词。

训练方法

我们使用两个阶段的训练方法来优化MiniGPT-4:预训练和微调。

预训练阶段是传统的预训练方法,使用大量的图像-文本对来训练模型。我们使用了Conceptual Captions数据集作为预训练数据集,它包含了约500万个图像-文本对,其中文本是从网页上自动抽取和过滤得到的图像描述。我们使用交叉熵损失函数来优化模型在给定图像和文本上下文时生成下一个词的概率。我们在4个A100 GPU上进行预训练,每个GPU有8GB显存。我们使用AdamW优化器,学习率为1e-4,批量大小为32,总共训练了10个小时。

微调阶段是一种创新的微调方法,使用一种自我生成方式来构建高质量的图像-文本对,并在一个对话模板上进行训练。我们首先从Conceptual Captions数据集中随机抽取了1000个图像,并使用ChatGPT作为一个对话代理与MiniGPT-4进行交互。ChatGPT是一个基于DialoGPT微调得到的对话生成模型,能够根据上下文生成流畅和有趣的对话。我们让ChatGPT扮演用户的角色,提出一些关于图像内容或者属性的问题或者评论,并让MiniGPT-4扮演助手的角色,回答或者响应用户的问题或者评论。通过这种方式,我们可以利用ChatGPT和MiniGPT-4之间的互动来生成高质量和多样化的图像-文本对。我们从这些对话中筛选出了3500个高质量的图像-文本对,并将其作为微调数据集。我们使用相同的损失函数和优化器来优化模型在给定图像和对话上下文时生成下一个词的概率。我们在单个A100 GPU上进行微调,每个GPU有40GB显存。我们使用学习率为5e-5,批量大小为8,总共微调了7分钟。

优缺点

MiniGPT-4相比于其他视觉-语言模型有以下几个优点:

  • 它能够利用先进的LLM来增强视觉-语言理解,展现出类似于GPT-4 的多样化和有趣
    好的,我会尽快写完文章。

    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/693814
推荐阅读
相关标签