VLE 视觉-语言多模态预训练模型开源项目

我要开发同款
匿名用户2023年05月04日
39阅读
开发技术Python
所属分类人工智能、机器学习/深度学习
授权协议Apache-2.0

作品详情

VLE (Vision-Language Encoder)是一种基于预训练文本和图像编码器的图像-文本多模态理解模型,可应用于如视觉问答、图像-文本检索等多模态判别任务。特别地,在对语言理解和推理能力有更强要求的视觉常识推理(VCR)任务中,VLE取得了公开模型中的最佳效果。

在线演示地址:https://huggingface.co/spaces/hfl/VQA_VLE_LLM

VLE模型采用双流结构,与METER模型结构类似,由两个单模态编码器(图像编码器和文本编码器)和一个跨模态融合模块构成。VLE与METER的结构上的差异在于:

VLE使用DeBERTa-v3作为文本编码器,其性能优于METER中使用的RoBERTa-base。在VLE-large中,跨模态融合模块的隐层维度增加至1024,以增加模型的容量。在精调阶段,VLE引入了额外的token类型向量表示。预训练VLE使用图文对数据进行预训练。在预训练阶段,VLE采用了四个预训练任务:

MLM (MaskedLanguageModeling):掩码预测任务。给定图文对,随机遮掩文本中的部分单词,训练模型还原遮掩的文本。ITM (Image-TextMatching):图文匹配预测任务。给定图文对,训练模型判断图像和文本是否匹配。MPC (MaskedPatch-boxClassification):遮掩Patch分类任务,给定图文对,并遮掩掉图片中包含具体对象的patch,训练模型预测被遮掩的对象种类。PBC (Patch-boxclassification):Patch分类任务。给定图文对,预测图片中的哪些patch与文本描述相关。VLE在14M的英文图文对数据上进行了25000步的预训练,batch大小为2048。下图展示了VLE的模型结构和部分预训练任务(MLM、ITM和MPC)。

下游任务适配视觉问答(VQA)遵循标准做法,使用VQA的训练集(trainingset)和验证集(validationset)训练模型,在test-dev集上进行验证。采用模型的融合层的pooler的输出进行分类任务的训练。视觉常识推理(VCR)将VCR格式化为一个类似于RACE的选择题任务,并对于每张图像中的对象,将覆盖该对象的patch的表示的平均池化值添加到融合模块之前的图像特征序列中。还为图像和文本中的对象添加额外的token_type_ids,以注入不同模态之间的对齐信息,提升模型的对齐性能。模型下载本次发布了VLE-base和VLE-large两个版本的预训练模型,模型权重为PyTorch格式,可以选择手动从
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论