【论文阅读】多模态模型CoCa

news2025/1/16 18:43:00

Introduction

在这项工作中,我们统一了单编码器、双编码器和编码器-解码器范式,并训练了一个包含三种方法优点的图像-文本基础模型。我们提出了对比Captioner模型(CoCa),该模型采用经过对比损失和captioning损失训练的编码器-解码器架构。如图1所示,我们将Transformer解码器解耦为两部分,分别是单模态解码器和多模态解码器。我们省略了单模态解码器中的交叉注意力来编码纯文本表示,并用交叉注意力将图像编码器的输出和多模态解码器级联起来,以学习多模态图像-文本表示。
我们在图像编码器和单模态文本解码器的输出之间应用对比损失,并在多模态解码器的输出处应用captioning损失。此外,通过将所有标签简单地视为文本,我们利用有标签图像数据和带噪声图像-文本数据对CoCa进行了训练。图像注释文本上的生成损失提供了类似于单编码器交叉熵损失的细粒度训练信号,有效地将上述三种预训练范式纳入到统一的方法中。


—翻译自原文

在这里插入图片描述

图1. coca整体结构

Reated Work

CoCa模型结构整体与ALBEF很相似,此处介绍两者区别

ALBEF模型使用了双编码器结构且结合了对比损失和MLM损失,然而我们的模型能更简单更有效的训练来获得更多的能力:
(1)在每个文本-图片对的batch中,CoCa只执行一次前向和反向传播,然而ALBEF需要执行两次(一次是以随机mask token的形式输入,另一种是正常形式输入)
(2)CoCa仅通过两个目标来训练模型,而ALBEF通过预训练的图像和文本编码器初始化需要包括动量模型在内的额外训练信息
(3)使用生成损失的解码器结构更适合自然语言生成,因此可以直接用于图像描述的zero-shot学习

Approach

用不同自然语言监督的基础图像模型包括如下三种:

  • Single-Encoder Classification
    通过使用交叉熵分类的形式来进行预训练模型
  • Dual-Encoder Contrastive Learning
    使用两个编码器分别对图像和文本编码,然后利用对比学习进行联合优化两个编码器,双编码器对比学习形式的优点:能促进文本语义和图像语义对齐,可在与跨模态语义对齐中应用
  • Encoder-Decoder Captioning
    输入图像,然后自回归的形式生成文字,适用于通过自然语言生成的方式来进行图像描述的应用

论文提出的方法: Contrastive Captioners Pretraining

参考

[1] CoCa: Contrastive Captioners are Image-Text Foundation Models

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/23972.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言源代码系列-管理系统之职工工资管理系统

往期文章分享点击跳转>《导航贴》- Unity手册,系统实战学习点击跳转>《导航贴》- Android手册,重温移动开发 👉关于作者 众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过…

数据存储策略——lsm-tree

文章目录一、背景二、lsm-tree简介三、lsm-tree设计思想四、lsm-tree原理1.写操作2.读操作3.有序表持久化4.后台压缩五、lsm-tree的应用六、lsm-tree优缺点分析总结一、背景 由于传统机械磁盘的原理,它在读写时有个寻道的操作,在读写时都需要消耗一个寻…

基于PHP+MySQL网上报名系统的设计与实现

一直以来如何更好的实现校园现代化和信息化是当前很多高校一直探索的问题,随着时代的发展,高校内各类考试和报名也越来越多,如何通过互联网直接进行在线报名是本系统研究的一个重点内容。 本系统是一个网上报名系统,为了能够更加灵…

[计算机毕业设计]机器学习的数据驱动股票价格预测

前言 📅大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过…

财政政策与货币政策(下)

财政政策与货币政策(下) – 潘登同学的宏观经济学笔记 文章目录财政政策与货币政策(下) -- 潘登同学的宏观经济学笔记粘性价格下的货币经济总供给曲线总供给曲线斜率与价格粘性菲利普斯曲线的消失货币政策的“动态不一致”财政政策与货币政策的配合财政主导 vs. 货币主导恶性通…

【学习记录】实例分割的发展与区别

【学习记录】实例分割的发展与区别 参考于《The Evolution Of Instantce Segmentation》 文章目录【学习记录】实例分割的发展与区别发展历程RCNNFast RCNNMultipath NetworkFaster RCNNMask RCNN发展历程 RCNN 开发集成了RCNN技术产生了AlexNet,以及使用选择性搜索…

浅谈App的启动优化

1. 应用启动的方式 在Android中,应用启动一般可分为三种:冷启动、温启动、热启动。 那么什么是冷启动、温启动和热启动呢?下面我们来简单看一下它们的定义: 冷启动:当启动应用时,后台没有该应用的进程。这…

Allegro导入导出设计数据操作指导

Allegro导入导出设计数据操作指导 Allegro有个非常好用的功能,就是支持设计数据的导入和导出,让协同设计变得更加方便,具体操作如下 以下面的设计数据为例,需要把这些数据导入到另外一个版本中 点击file-export-subdrawing Options所有的项目都勾选起来 Find选择需要导…

linux笔记(7):东山哪吒D1H使用framebuffer控制HDMI直线

文章目录1.测试流程和结果1.1 使能HDMI1.2 framebuffer操作流程1.3 测试结果2.测试过程详述2.1 编译源码2.2上传可执行文件2.3修改文件的权限,执行文件3.源码解释3.1 HDMI使用的颜色格式是ARGB4.源码工程链接这部分linux笔记是记录我入门的过程,内容基本…

【Flutter】【widget】Table 表格widget

文章目录前言一、Table 是什么?二、使用步骤1.Table 基础使用2.宽度3.设置边框4.TableCell设置单元格式widget等其他设置总结前言 Table 表格widget,其实很少使用到的,等有需要的时候在查看该widget 一、Table 是什么? 表格widg…

Trino源码Gitlab CICD单测环境建设

在中大型公司,由于对Presto源码的定制魔改量越来越大,会随着时间推移而增大出现冷门bug的概率,所以建立一套自动测试机制,在魔改源码合入主分支时可以自动触发test case,通过特定单测的执行失败,来更清晰的…

多云管理产品组合VMware Aria,开启多云管理新篇章

今年8月份,VMware Explore美国大会上宣布了多云管理产品组合VMware Aria,宣布之后,市场上关注度非常高,而且受到了热捧。Aria这个名字动听且贴切,中文意思是 “咏叹调”,也就是说要用统一的、一致的曲调来歌…

big.LITTLEDynamIQ

最近看到了DynamIQ,于是来了解一下什么是DynamIQ? 前言 首先要知道DynamIQ,那么你肯定得知道big.LITTLE。因为DynamIQ可以说是big.LITTLE新一代或者是升级版。 那么在这之前你肯定得知道什么是big.LITTLE? 然后知道了后你就会…

旋转框目标检测mmrotate v0.3.1 训练DOTA数据集(三)——配置文件优化技巧

1、 目标检测比赛中的tricks DOTAv2遥感图像旋转目标检测竞赛经验分享(Swin Transformer Anchor free/based方案) 目标检测比赛中的tricks(已更新更多代码解析) 水下目标检测算法赛解决方案分享 | 2020年全国水下机器人&#xf…

基于布谷鸟搜索混合灰狼优化算法求解单目标优化问题(AGWOCS)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

【工具】typora的一些配置

文章目录1. 自动编号1.1 大纲编号1.2 目录编号3. 正文部分2. 自定义快捷键1. 自动编号 我们在查看文档时候,希望编译器能够自动根据标题样式按顺序编号,不需要用户自行添加相应标题。这样也方便用户随时更新文档时候不会因为修改了某个编号而要去修改其…

分享3个文字配音软件,帮助你们轻松制作短视频

有没有刚踏入自媒体行业的小伙伴呀?那你们是不是为视频的后期工作所困惑着呢? 大家平时刷到的视频虽然看起来简短又有趣,但其实后期制作并没那么简单,是由许多道工序环环相扣而成的,其中比较重要的,就是为视…

JavaEE进阶:Spring 更简单的读取和存储对象

文章目录前言一、存储 Bean 对象1、前置⼯作:配置扫描路径(重要)2、添加注解存储 Bean 对象① Controller(控制器存储)② Service(服务存储)③ Repository(仓库存储)④ C…

栈的实现.

文章目录1.栈的概念及结构2.栈的实现(数组实现)2.1栈头文件2.2函数实现3.栈的习题3.1有效的括号3.1.1思路分析3.1.2代码实现1.栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删…

Qt第二十一章:Qt Designer 之 布局

简单场景:页面上放一个QTextEdit控件 预览后发现,拖拽放大窗口,QTextEdit控件不会进行缩放,就像下边自适应缩放 我们看到了QTextEdit控件撑满了整个界面:在控件sizePolicy属性的允许范围中尽可能的撑满界面。 如果换成…