大模型 Dalle2 学习三部曲(二)clip学习

news2024/12/24 2:33:40

clip论文比较长48页,但是clip模型本身又比较简单,效果又奇好,正所谓大道至简,我们来学习一下clip论文中的一些技巧,可以让我们快速加深对clip模型的理解,以及大模型对推荐带来革命性的变化。


clip结构

首选我们来看看clip的结构,如图clip结构比较直观,训练的时候把文本描述和图像分别过一个encoder。生成对应的向量,然后向量两两组对,对角线上的都为正样本,不在对角线上的为负样本。然后用个对比学习loss进行训练。

预测:

预测和训练的不同之处,把每个分类结合promote组成句子,然后和训练一样分别过encode,再求出图像和分类相似度最高的一个。后面我们再介绍一下promote 是如何制作的。

论文摘要,引言 要点

1,利用自然语言作为监督来源,提升了模型的通用性和可用性。

clip认为目前需要额外标记数据的监督形式限制了它们的通用性和可用性,因此直接从关于图像的原始文本中学习是一种有前途的替代方法。clip证明,预测标题与哪个图像相配的简单预训练任务是一种高效且可扩展的方式。

2,该模型在大多数任务上都能进行高效的迁移,clip在预训练之后,用于对下游任务的零样本迁移。clip通过在30多个不同的计算机视觉数据集上进行基准测试来研究对比这种方法的性能,涵盖了OCR、视频中的动作识别、地理定位和许多类型的细粒度对象分类等任务。发现通常无需进行任何特定数据集的训练,就能与完全监督的基准模型竞争

3,强调数据的规模的重要性。

clip指出弱监督模型与最近直接从自然语言中学习图像表示的探索之间的关键区别在于规模。在这项工作中,clip弥合了过去模型数据量不足的差距,通过利用互联网上大量可用的这种形式的数据,创建了一个包含4亿(图像,文本)对的新数据集。从而达到了一个从所未有的效果高度。

4, 发现数据规模和迁移能力成平滑正比

clip还通过训练一系列8个模型来验证CLIP的可扩展性,跨越近2个数量级的计算和观察,发现迁移能力和规模成平滑正比

这点非常重要,从而我们可以根据自己模型的大小大致判断迁移后的效果,而不是在等待模型能力的涌现

clip方法和技巧

2.1. 自然语言监督,zero-shot 带来的能力提升

clip方法的核心理念是从自然语言中获得的监督中学习感知。与其他训练方法相比,从自然语言中学习具有几个潜在优势。与标准的基于众包的图像分类标签相比,扩展自然语言监督要容易得多,因为它不需要将精力放在“机器学习兼容格式”中,如规范的1-of-N多数投票“标签”。相反,可以在互联网上大量存在的文本中被动地学习使用自然语言的方法。从自然语言中学习还具有一个重要的优势,即它不仅可以学习表示,而且还可以将该表示与语言联系起来,从而实现灵活的零样本迁移。

2.2. 创建足够大的数据集

clip认为之前类似模型结构之所以没取得效果,主要是因为数据集的规模,所以clip构建了一个新的大数据集,包括从互联网上各种公开来源收集的4亿个(图像,文本)对。为了尝试尽可能涵盖广泛的视觉概念,在构建过程中搜索包含500,000个查询之一的文本的(图像,文本)对通过每个查询包含多达20,000个(图像,文本)对来平衡结果。生成的数据集与用于训练GPT-2的WebText数据集具有相似的总词数。clip将此数据集称为WIT,代表WebImageText。

2.3. 选择高效的预训练方法

  • clip发现训练效率是成功扩展自然语言监督的关键。 为了解决训练效率,clip做了以下优化
  • clip探索了仅预测哪个文本作为一个整体与哪个图像配对,而不是预测该文本的确切单词。效率提升了三倍
  • chip将预测目标替换为对比目标,并观察到在零样本迁移到ImageNet的速率上进一步提高了4倍的效率

  • clip还删除了文本转换函数tu,该函数从文本中均匀抽取一个句子,因为CLIP的预训练数据集中的许多(图像,文本)对只有一个句子。
  • clip还简化了图像变换函数tv。在训练期间使用的唯一数据增强是从调整大小的图像中随机裁剪一个正方形。
  • 最后,控制softmax中logits范围的温度参数τ,作为对数参数化的乘法标量直接在训练过程中进行优化,以避免将其作为超参数调整。

下图是效率提升对比图(橙色为使用了整体文本,绿色为使用了对比学习loss)

prompt 工程

使用prompt的动机

1,解决问题多义性。

当类别的名称是提供给CLIP文本编码器的唯一信息时,由于缺乏上下文,它无法区分是指哪个词义。在某些情况下,同一个词的多个意义可能被包含在同一个数据集的不同类别中!比如在ImageNet数据集中,其中既包含建筑起重机,也包含飞行的鹤。另一个例子是在Oxford-IIIT Pet数据集的类别中,其中单词"boxer"从上下文来看,明显是指一种狗的品种,但对于缺乏上下文的文本编码器来说,它同样可能指的是一种运动员类型。

2,训练和预测一致性,

训练和预测都是一个完整句子。clip遇到的另一个问题是,在clip的预训练数据集中,图像配对的文本通常不只是一个单词,而是一个描述图像的完整句子。为了弥补这种分布差异,clip发现使用提示模板"A photo of a {label}."作为默认值是一个很好的选择,它有助于指定文本与图像内容相关。这通常比仅使用标签文本的基准性能更好。例如,仅使用这个提示,在ImageNet上的准确率提高了1.3%。

使用prompt的一些技巧

1,指定分类。

clip发现,在几个细粒度图像分类数据集上,指定类别有助于提供上下文。例如,在Oxford-IIIT Pets数据集上,使用"A photo of a {label}, a type of pet."来提供上下文效果很好。同样,在Food101上指定一种食物,在FGVC Aircraft上指定一种飞机也有帮助。

2,添加引号。

对于OCR数据集,clip发现在要识别的文本或数字周围加上引号可以提高性能。最后,clip发现在卫星图像分类数据集上,指定图像的形式有所帮助,clip使用了类似于"a satellite photo of a {label}."的变体。

3,使用多个零样本分类器进行集成的方法来提高性能。

这些分类器使用不同的上下文提示,例如"A photo of a big {label}"和"A photo of a small {label}"。clip在嵌入空间而不是概率空间上构建集成。这样,clip可以缓存一组平均的文本嵌入,使得集成的计算成本与使用单个分类器时相同,当在许多预测上进行摊销时。clip观察到,通过对许多生成的零样本分类器进行集成,可以可靠地提高性能,并且在大多数数据集上使用这种方法。在ImageNet上,clip集成了80个不同的上下文提示,这使性能比上面讨论的单个默认提示额外提高了3.5%。综合考虑提示工程和集成,ImageNet的准确率提高了近5%。

添加prompt如下图示意

效果

接下来论文大幅的篇幅就是效果对比,clip通过在30多个不同的计算机视觉数据集上进行基准测试来研究对比这种方法的性能,涵盖了OCR、视频中的动作识别、地理定位和许多类型的细粒度对象分类等任务。发现通常无需进行任何特定数据集的训练,就能与完全监督的基准模型竞争,这里就不复述了,反正就是很强很牛逼非常牛逼。下步看看能不能复现一下代码和实现。

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

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

相关文章

智慧公厕是对智慧城市“神经末梢”的有效激活,公共厕所实现可感知、可视化、可管理、可控制

在当今科技迅速发展的时代,智慧城市已经成为人们关注的热点话题。作为城市基础设施的重要组成部分,公共厕所也逐渐融入到智慧城市的建设中,成为城市管理的焦点之一。智慧公厕作为智慧城市的“神经末梢”,通过可感知、可视化、可管…

期权开户平台:怎样0门槛开户期权,不懂别乱来!

“期权开户平台有传统券商平台、在线期权分仓开户平台、期权科普馆等。具体可用的期权开户平台会因各地区的监管规定和券商政策而有所不同,下文为大家介绍期权开户平台:怎样0门槛开通期权,不懂别乱来!本文来自:期权酱 …

无涯教程-JavaScript - MINUTE函数

描述 MINUTE函数返回时间值的分钟。分钟以整数形式给出,范围为0到59。 语法 MINUTE (serial_number)争论 Argument描述Required/OptionalSerial_number 您想要找到的包含分钟的时间。 可以输入时间 作为引号内的文本字符串(如" 6:45 PM") 为十进制数字(如0.7812…

简易实现QT中的virtualkeyboard及问题总结

文章目录 前言:一、虚拟键盘的实现综合代码 二、为什么选用QWidget而不适用QDialog实现键盘三、从窗体a拉起窗体b后,窗体b闪退问题的探讨四、关闭主窗口时子窗口未关闭的问题 前言: 本文章主要包含四部分: 虚拟键盘的实现&#…

【LeetCode-中等题】207. 课程表

文章目录 题目方法一:bfs广度优先 有向图的拓扑排序(入度)方法二:dfs 深度优先搜索 题目 此题就可以转换为,求一个有向图是否存在环; 存在环,拓扑排序得出的结果是不完整的, 如果不…

Vue+NodeJS上传图片到腾讯云Cos

一.前端Vue 1.选择图片 --HTML <input type"file" accept"image/*" change"handleFileChange"> <el-button size"large" click"changeAvatar">上传头像</el-button> //选择图片 function handleFileC…

⽹络与HTTP 笔试题精讲1

OSI七层与TCP/IP 这个就是OSI参考模型,⽽实际我们现在的互联⽹世界是就是这个理论模型的落地叫做TCP/IP协议 TCP的三次握⼿与四次挥⼿ 客户端想要发送数据给服务端,在发送实际的数据之前,需要先在两端之间建⽴连接,数据发完以后也需要将该连接关闭。建⽴连接的过程就是我们…

Visual Studio 新建类从默认internal改为public

前言 之前一直用的Resharp辅助编写C#代码&#xff0c;Resharp用起来的确方便不少&#xff0c;但是太消耗开发机内存了。重装电脑后&#xff0c;还是决定使用Visual Studio内置的功能。 默认情况下&#xff0c;Visual Studio 中生成一个类或接口是internal类型的&#xff0c;而…

让你忘了自己还戴着耳机,南卡OE Pro 00压开放式耳机

开放式耳机的好处很多&#xff0c;不入耳不会产生异物感&#xff0c;在户外运动可以时刻保持与外界连接更安全&#xff0c;也不会因为耳塞的卫生问题造成耳道感染&#xff0c;因此对于需要长时间佩戴耳机的户外运动&#xff0c;尤其对于一些患有耳道疾病的用户&#xff0c;需要…

LM-Infinite: 一种简单有效的大模型即时长度泛化,解决更长文本推理问题

深度学习自然语言处理 原创作者&#xff1a;qazw 论文&#xff1a;LM-Infinite: Simple On-the-Fly Length Generalization for Large Language Models地址&#xff1a;https://arxiv.org/abs/2308.16137 进NLP群—>加入NLP交流群 摘要 近年来&#xff0c;LLM在各个领域的性…

问道管理:A股休息时间表?

在股票买卖中&#xff0c;歇息时刻能够给股民们喘息的时机&#xff0c;也是一种标准和保证买卖的方法。那么&#xff0c;A股的歇息时刻是什么时分&#xff1f;为什么要有这样的歇息时刻&#xff1f;歇息时刻对股民和商场又有哪些影响呢&#xff1f;本文将从多个角度剖析A股的歇…

Day 41 动态规划part03 : 343. 整数拆分 96.不同的二叉搜索树

96. 不同的二叉搜索树 给你一个整数 n &#xff0c;求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种&#xff1f;返回满足题意的二叉搜索树的种数。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;5示例 2&#xff1a; 输入&#xff1a;n 1…

【耗时50天报告】南卡/韶音/cleer等开放式耳机最详测评,2023开放式耳机机皇花落谁家

随着移动互联网的发展,蓝牙耳机已成为大众生活中不可或缺的移动设备。在蓝牙耳机这一种类中,开放式蓝牙耳机以其超强的舒适、安全、便携等优势而备受关注。相比传统蓝牙耳机,开放式耳机只需一个小巧的主体直接挂在耳朵上,不会给耳部带来任何压迫感,具有出色的通风性和舒适性&am…

【AIGC专题】Stable Diffusion 从入门到企业级实战0402

一、概述 本章是《Stable Diffusion 从入门到企业级实战》系列的第四部分能力进阶篇《Stable Diffusion ControlNet v1.1 图像精准控制》第02节&#xff0c; 利用Stable Diffusion ControlNet Openpose模型精准控制图像生成。本部分内容&#xff0c;位于整个Stable Diffusion生…

文件系统与inode编号

文件描述符fd 0&1&2 Linux 进程默认情况会有3个缺省打开的文件描述符&#xff0c;分别是标准输入0&#xff0c; 标准输出1&#xff0c; 标准错误2. 0,1,2对应的物理设备一般是&#xff1a;键盘&#xff0c;显示器&#xff0c;显示器 所以输入输出还可以采用如下方式 …

晶圆键合对准机的原理与应用

一、晶圆键合设备的工作原理 1、 第一个晶圆面朝下置于晶圆对准设备卡盘并传送到对准机内&#xff1b; 2、对准机内&#xff0c;晶圆在Z轴方向上移动直到被顶部的传输夹具真空吸附固定&#xff1b; 3、被传输夹具固定的第一个晶圆将成为后续对准工艺的基准&#xff0c;确定所…

SAP 获取本机信息(IP及电脑名称)<转载>

原文链接&#xff1a;https://blog.csdn.net/JYH1999/article/details/126489974 导语&#xff1a;最近在做日志的东西&#xff0c;需要记录用户的IP&#xff0c;以及电脑名称&#xff0c;找了一下&#xff0c;SAP有两个类可以实现。 一、效果展示 二、代码 *&----------…

一文学会K8s集群搭建

环境准备 节点数量&#xff1a;2台虚拟机 centos7硬件配置&#xff1a;master节点内存至少3G&#xff08;2G后面在master节点初始化集群时会报错&#xff0c;内存不够&#xff09;&#xff0c;node节点可以2G&#xff0c;CPU至少2个&#xff0c;硬盘至少30G网络要求&#xff1…

双向圆周阵列及阵列间距调整

SOLIDWORKS提供的阵列功能是非常实用的快速建模功能&#xff0c;可以帮助我们快速的形成重复特征。在以往的版本中&#xff0c;无论是线性阵列还是其他阵列都提供了可以双向进行的阵列选项。也就是可以帮助我们保证两个方向的阵列属性。 今天我们要讲的是在圆周阵列中增加双向的…

【EPLAN】统一修改项目中字体大小

需求&#xff1a;当A3图框时&#xff0c;“设备标识符”等字体太小&#xff0c;影响查看图纸。需要统一调大。 通过“层管理”改变字体大小。 “项目数据”->“层管理” 找到需要改变字体的大小如“设备标识符”&#xff1a; Over。 效果&#xff08;2.5mm 调整到了 3.5mm&a…