当前位置: 首页 > news >正文

陕西恒发建设网站/做一个电商平台大概需要多少钱

陕西恒发建设网站,做一个电商平台大概需要多少钱,哪家专门做特卖的网站,wordpress更改目录Learning Transferable Visual Models From Natural Language Supervision 前言Abstract1. Introduction and Motivating Work2. Approach2.1. Creating a Sufficiently Large Dataset2.2. Selecting an Efficient Pre-Training Method2.3. Choosing and Scaling a Model2.4. P…

Learning Transferable Visual Models From Natural Language Supervision

  • 前言
  • Abstract
  • 1. Introduction and Motivating Work
  • 2. Approach
    • 2.1. Creating a Sufficiently Large Dataset
    • 2.2. Selecting an Efficient Pre-Training Method
    • 2.3. Choosing and Scaling a Model
    • 2.4. Pre-training
    • 2.5. Using CLIP
  • 3. Analysis
    • 3.1. Initial Comparison to Visual N-Grams
    • 3.2. Zero-Shot Performance
    • 3.3. Representation Learning
    • 3.4. Robustness to Natural Distribution Shift
  • 4. Data Overlap Analysis
  • 5. Broader Impacts
  • 6. Limitations
  • 7. Related Work
  • 8. Conclusion
  • 阅读总结

前言

CLIP作为多模态对比学习里程碑式工作,在创新性,有效性和领域性三个方面都拉满了。它最伟大的地方在于,打破了固有的基于给定类别分类的壁垒,让即使是未见过的类也能给出很好的结果,这大大提升了模型的灵活性,也让其更适配多种下游任务。


Paperhttp://proceedings.mlr.press/v139/radford21a/radford21a.pdf
Codehttps://github.com/OpenAI/CLIP
FromICML2021

Abstract

目前CV系统最佳的模型都是基于固定对象类别进行训练的。这种监督训练方式限制了它们的通用性和可用性,直接从原始文本中学习图像是一种很有前途的替换方案,它可以利用更广泛的监督来源。作者证明,通过预测图像和其对应文本的简单预训练任务是一种高效可扩展的方案。作者从互联网上收集了4亿对图文数据,并在该数据集上重头开始训练。预训练后,通过自然语言来引导学习的视觉概念,实现在下游任务零样本迁移。作者研究了30多个下游任务上CLIP的性能,包括OCR、视频动作识别等,CLIP可以轻松迁移到各种任务上,甚至达到了完全监督训练的结果。

1. Introduction and Motivating Work

直接从原始文本中学习的预训练方法彻底改变了NLP领域,典型的模型如GPT-3,几乎不需要特定于数据集的训练就可以在很多下游任务上取得很好的结果。这一结果表明,大规模无标注数据集可实现的总体监督超过了高质量的人工标注数据集。但是在CV领域,主流的做法仍然是在监督数据集上预训练,亟待无监督的预训练方法在CV中带来突破。
此前就有科研人员在CV无监督学习上进行尝试。包括对图片和其caption建模,采用基于Transformer的机构建模,掩码语言建模以及对比学习等方法从文本中学习图像的表示潜力。
但是上述的方法仍然低于领域的SOTA。作者认为gap的产生主要来自于规模,因此作者研究大规模自然语言监督训练图像模型的行为。最后作者提出了CLIP模型用于对比语言图像预训练,这是一种从自然语言监督中学习的高效且可扩展的方法。
CLIP在预训练期间学习执行一系列任务,效果优于公开可用的ImageNet模型,并且计算高效。作者还发现CLIP模型在零样本下甚至能够达到监督训练的效果。

2. Approach

image.png

2.1. Creating a Sufficiently Large Dataset

作者发现,现有的图文数据集如MS-COCO、Visual Genome,虽然质量很高,但是规模太小,只有10万规模的数据。作为对比,其他CV系统在多达35亿张图像的Instagram数据集上训练。YFCC100M数据集虽然规模上亿,但是质量过低。因此作者构建了一个包含四亿对图文的数据集,这些数据从互联网各种公开来源收集。该数据集称作WIT。

2.2. Selecting an Efficient Pre-Training Method

作者最初的方法也是采用生成式方法来预测图像的标题,但是这种方法计算量大,效率低下。如下图所示:
image.png
因此作者探索一个系统可以解决更容易的代理任务。作者发现,如果将预测任务更换为文本与哪个图像配对,即换成对比学习的方法,效率提升了四倍。
整体的过程第二节开头的流程图和下面的伪代码所示:
image.png
给定一批图文对,分别用两个编码器对图文进行编码,图片的编码器可以是ResNet,也可以是ViT;文本的编码器是Transformer。CLIP通过联合训练图像和文本编码来学习多模态嵌入空间,以最大化批次中N个图像和其对应文本的余弦相似度,并最小化与其它 N 2 − N N^2-N N2N个负样本的余弦相似度。
由于模型规模和数据集相匹配,CLIP不会出现过拟合的问题。作者重头开始训练CLIP,并且将表示对比嵌入空间之间的非线性投影替换为了线性投影。作者还删除了文本转换函数,简化了图像转换函数,只保留了随机裁剪的数据增强。最后作者将温度 τ \tau τ优化为可学习参数(调参成本太高了)。

2.3. Choosing and Scaling a Model

作者考虑了两个不同的图像编码架构,即ResNet50和ViT。前者使用广泛,后者潜力无限。文本编码器采用Transformer。作者分别对这些模型进行了简单的变体,具体可见原文。

2.4. Pre-training

作者训练了5种ReNets和3种ViT,ResNet分别采用了RestNet50,ResNet101,以及另外三个变体,RN50×4,RN50×16,RN50×64,代表相对ResNet50的计算量。对于ViT,训练了ViT-B/32、ViT-B/16和ViT-L/14。最好的训练模型是ViT-L/14@336px,后面所提到的CLIP都是指该模型。

这里@336px代表的是以336像素的分辨率额外进行了预训练,从而提升模型的性能,该方法在FixRes上得到证实。

2.5. Using CLIP

CLIP经过预训练,可以预测图像和其对应的文本是否在WIT中配对。为了探索CLIP应用于下游任务的功能,作者对其进行了零样本性能测试。对于每个数据集,作者使用数据集中的类作为潜在的文本配对的集合。此外,作者还尝试为CLIP提供文本prompt以提升性能。

3. Analysis

3.1. Initial Comparison to Visual N-Grams

Visual N-Grams方法是已知和本文类似的工作,同样进行了zero-shot迁移。下表是CLIP和Visual N-Grams的zeroshot对比:
image.png
在ImageNet上,CLIP将性能从11.5%提升到76.2%。并且达到了与原始ResNet相近的性能。此外,CLIP的Top-5准确率明显更高,当然这样的比较并不公平,Visual N-Grams无论从模型大小还是训练数据的规模都远远落后于CLIP。

3.2. Zero-Shot Performance

CV中的zero-shot一般指的是对未见目标的泛化,本文在更广泛的意义上定义该任务,即对未见的数据集的泛化。虽然无监督学习的研究集中在学习表征上,但是本文希望其作为衡量机器学习特定任务的学习能力。从这个角度出发,一个数据集用于评估特定分布上任务的表现,但是许多热门CV数据集的构建是作为基线指导通用图像分类方法的开发,而不是衡量特定任务的性能。
作者在30多个数据集上进行评估,并与50多个现有的CV系统进行比较。首先是CLIP在分类任务上的表现与监督ResNet50的对比,如下所示:
image.png
CLIP在27个数据集中的16个上取得更好的性能。对于细粒度的分类任务上,CLIP的优势明显,作者推测自然语言为涉及动词的视觉概念提供了更广泛的监督。在一些专门、复杂或抽象上的任务上,CLIP表现相当薄弱,这些结果表明了CLIP在更复杂的任务上能力较差,可能的原因是缺乏相应的领域知识。
虽然将CLIP的零样本能力和完全监督模型进行比较可以体现CLIP的任务学习能力,但是小样本可以是更直接的比较,零样本可以认为是极限的小样本任务。下图可视化了多个模型线性层微调的小样本性能,当然也包括了CLIP的零样本性能。
image.png
有趣的是,4-shot以下的CLIP性能不如零样本CLIP,这是二者方法之间差异导致的,零样本CLIP通过自然语言引导,可以直接具体化视觉概念,但是监督学习需要间接从训练样本中推断概念。但是基于自然语言引导的学习缺点是许多不同的假设和数据保持一致,即不能再提供更细致化的视觉信息,因此当样本数量增多,监督学习的性能还是超过了零样本性能。
和其他模型相比,CLIP的小样本性能都要更优。

3.3. Representation Learning

与其惊叹于CLIP的零样本能力,不如关注于CLIP的表征学习能力。作者对多个模型进行线性层全量数据集微调,得到如下图的结果:
image.png
最好的CLIP模型比现有最好的模型平均高出2.6%,此外,与之前端到端训练的单个计算机视觉模型相比,CLIP模型可以学习到更广泛的任务,结果如右图所示,这是在27个更广泛的数据集上评估的性能。CLIP的优势更加明显,比之前系统提升了2.6%到5%。

3.4. Robustness to Natural Distribution Shift

虽然深度学习在ImageNet的性能超过了人类的判断,但是其仍会出现很多简单的错误。作者认为是否是因为训练和微调都是在ImageNet数据集上进行了,所以来带了观察上鲁棒性的gap。而CLIP并没有在ImageNet上训练,只是做零样本学习,直观上不会利用领域的特定模式或关系。所以CLIP理应表现更高的鲁棒性。下图是零样本CLIP与现有模型在自然分布变化上的性能。
image.png
所有CLIP模型都大幅提高了鲁棒性。这些结果表明,最近面向大规模任务和数据集无关的预训练的转变,可以提供对真实模型性能更准确的评估。

4. Data Overlap Analysis

CLIP性能表现如此好,是否是因为收集得到的4亿样本有下游任务上的数据泄露?为此作者进行了重复数据删除分析。在研究的35个数据集中,有9个数据没有重叠,平均重叠为3.2%,重叠量很小,对结果的影响微乎其微。

5. Broader Impacts

CLIP由于数据集分布的问题,可能会带来一定的偏见。包括种族,性别,年龄的歧视问题。作者希望这项工作能够激发未来对此类模型的能力、缺点和偏差的表征的研究。

6. Limitations

零样本的CLIP只能和传统的ResNet-50基线模型进行比较,远低于现有的SOTA。当前的硬件不足以支撑其达到SOTA的能力。因此有必要进一步研究提高CLIP计算和数据效率。
尽管作者强调零样本的迁移,但是还是反复通过测试性能来指导开发(即调参)。因此作者希望能够有个专门的评估数据集,只用于评估,而不作为调参的工作。

7. Related Work

略。

8. Conclusion

本文提出CLIP,用于研究其迁移学习的能力。为了优化其目标,作者采用自然语言引导的方式来利用模型学习到的特征,实现零样本迁移。在足够的规模下,这种方法的性能可以与特定任务的监督模型相媲美,尽管仍有很大的改进空间。

阅读总结

CLIP作为一种多模态对比学习方法,在创新性,有效性和领域性三个领域上都拉满了,可谓是十分硬核的里程碑式的工作。创新性上,作者采用了文本和图像两个模态信息进行对比学习,让模型同时学到文本和视觉语义信息;零样本实验采用自然语言引导,帮助模型理解任务。有效性上,零样本的CLIP可以达到监督训练ResNet-50的性能,线性层微调也超过了当前多个SOTA方法。领域性上,CLIP是无监督学习方法,本质上是对图像表征的学习,通过文本和图像两个模态信息的结合,CLIP可以学习到强大的表征,在多个CV下游任务上经过简单的微调甚至是零样本,就能得到部分领域的SOTA性能。
由于最近对无监督学习有比较多的理解,在我看来,CLIP这篇工作还有很多可以改进的地方,首先对比学习可以采用生成式的代理任务,更难的代理任务往往能学习到更复杂的表征。其次预训练的数据集可以是清理过的数据,并且进一步扩大规模,图像的编码器可以换成swin Transformer,能够学习到更复杂的图像表征。

相关文章:

【论文精读】Learning Transferable Visual Models From Natural Language Supervision

Learning Transferable Visual Models From Natural Language Supervision 前言Abstract1. Introduction and Motivating Work2. Approach2.1. Creating a Sufficiently Large Dataset2.2. Selecting an Efficient Pre-Training Method2.3. Choosing and Scaling a Model2.4. P…...

缓存和分布式锁笔记

缓存 开发中,凡是放入缓存中的数据都应该指定过期时间,使其可以在系统即使没有主动更新数据也能自动触发数据加载进缓存的流程。避免业务崩溃导致的数据永久不一致 问题。 redis作为缓存使用redisTemplate操作redis 分布式锁的原理和使用 分布式加锁&…...

React笔记(七)Antd

一、登录功能 首先要使用antd,要先下载 yarn add antd 登录页面关键代码 import React from react /*1、如果要在react中完成样式隔离,需要如下操作1)命名一个xx.module.scss webpack要求2) 在需要的组件中通过ES6方式进行导入&#x…...

无涯教程-Android - RadioButton函数

RadioButton有两种状态:选中或未选中,这允许用户从一组中选择一个选项。 Radio Button 示例 本示例将带您完成一些简单的步骤,以展示如何使用Linear Layout和RadioButton创建自己的Android应用程序。 以下是修改后的主要Activity文件 src/MainActivity.java 的内容。 packa…...

kafka如何避免消费组重平衡

目录 前言: 协调者 重平衡的影响 避免重平衡 重平衡发生的场景 参考资料 前言: Rebalance 就是让一个 Consumer Group 下所有的 Consumer 实例就如何消费订阅主题的所有分区达成共识的过程。在 Rebalance 过程中,所有 Consumer 实例…...

浅谈一下企业信息化管理

企业信息化管理 企业信息化是指将企业的生产过程,物料,事务,财务,销售等业务过程数字化,通过各种信息系统网络价格成新的信息资源,提供给各层次的人们东西观察各类动态业务中的一切信息,以便于…...

北京APP外包开发团队人员构成

下面是一个标准的APP开发团队构成,但具体的人员规模和角色可能会根据项目的规模和需求进行调整。例如,一些小型项目或初创公司可能将一些角色合并,或者聘请外包团队来完成部分工作。北京木奇移动技术有限公司,专业的软件外包开发公…...

Node基础and包管理工具

Node基础 fs 模块 fs 全称为 file system,称之为 文件系统,是 Node.js 中的 内置模块,可以对计算机中的磁盘进行操作。 本章节会介绍如下几个操作: 1. 文件写入 2. 文件读取 3. 文件移动与重命名 4. 文件删除 5. 文件夹操作 6. …...

【python使用 Pillow 库】缩小|放大图片

当我们处理图像时,有时候需要调整图像的大小以适应特定的需求。本文将介绍如何使用 Python 的 PIL 库(Pillow)来调整图像的大小,并保存调整后的图像。 环境准备 在开始之前,我们需要安装 Pillow 库。可以使用以下命令…...

解决Ubuntu 或Debian apt-get IPv6问题:如何设置仅使用IPv4

文章目录 解决Ubuntu 或Debian apt-get IPv6问题:如何设置仅使用IPv4 解决Ubuntu 或Debian apt-get IPv6问题:如何设置仅使用IPv4 背景: 在Ubuntu 22.04(包括 20.04 18.04 等版本) 或 Debian (10、11、12)系统中,当你使用apt up…...

Xubuntu16.04系统中解决无法识别exFAT格式的U盘

问题描述 将exFAT格式的U盘插入到Xubuntu16.04系统中,发现系统可以识别到此U盘,但是打不开,查询后发现需要安装exfat-utils库才行。 解决方案: 1.设备有网络的情况下 apt-get install exfat-utils直接安装exfat-utils库即可 2.设备…...

Pygame中Trivia游戏解析6-1

1 Trivia游戏简介 Trivia的含义是“智力测验比赛中的各种知识”。Trivia游戏类似智力竞赛,由电脑出题,玩家进行作答,之后电脑对玩家的答案进行判断,给出结果并进行评分。该游戏的界面如图1所示。 图1 Trivia游戏界面 2 游戏流程 …...

idea中创建springboot项目显示Spring Initializr Error

很长时间不创建springboot项目了,今天发现创建完成idea显示: Spring Initializr Error error:status:500项目中没有pom.xml文件.检查了一下原因是在创建的时候类型没有创建正确(之前记得都是默认),默认如下 需要选择创建maven完整工程那种,最下面那种只会生成pom.xml不会…...

VScode 国内下载源 以及 nvm版本控制器下载与使用

VScode 国内下载源 进入官网 https://code.visualstudio.com/ 点击下载 复制下载链接到新的浏览器标签 将地址中的/stable前的az764295.vo.msecnd.net换成vscode.cdn.azure.cn,再回车就会直接在下载列表啦。 参考大神博客 2.使用nvm 对 node 和npm进行版本控制…...

GO|经典错误之回车与\n

学习go的输入输出语句,于是在笔记本上写了这么一段代码: func main() {reader : bufio.NewReader(os.Stdin)input, _ : reader.ReadString(\n)input input[:len(input)-1]i, _: strconv.Atoi(input)fmt.Println(i) } 运行,输入99&#xff…...

【MATLAB第71期】基于MATLAB的Abcboost自适应决策树多输入单输出回归预测及多分类预测模型(更新中)

【MATLAB第71期】基于MATLAB的Abcboost自适应决策树多输入单输出回归预测及多分类预测模型(更新中) 一、效果展示(多分类预测) 二、效果展示(回归预测) 三、代码获取 CSDN后台私信回复“71期”即可获取下…...

ARM编程模型-内存空间和数据

ARM属于RISC体系,许多指令单周期指令,是32位读取/存储架构,对内存访问是32位,Load and store的架构,只有寄存器对内存,不能内存对内存存储,CPU通过寄存器对内存进行读写操作。 ARM的寻址空间是线…...

leetcode原题: 最大数

题目: 给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。 注意:输出结果可能非常大 所以你需要返回一个字符串而不是整数。 示例1: 输入:nums [10,2] 输…...

docker 是什么

目录 docker是一个软件 Docker 是一种运行于 Linux 和 Windows 上的软件,用于创建、管理和编排容器。 为什么要使用 Docker? 1、 更快速的交付和部署 2、 更高效的虚拟化 3、 更轻松的迁移和扩展 4 、更简单的管理 docker是一个软件,是…...

基于Gin框架的HTTP接口限速实践

在当今的微服务架构和RESTful API主导的时代,HTTP接口在各个业务模块之间扮演着重要的角色。随着业务规模的不断扩大,接口的访问频率和负载也随之增加。为了确保系统的稳定性和性能,接口限速成了一个重要的话题。 1 接口限速的使用场景 接口…...

WSL中为Ubuntu和Debian设置固定IP的终极指南

文章目录 **WSL中为Ubuntu和Debian设置固定IP的终极指南****引言/背景****1. 传统方法****2. 新方法:添加指定IP而不是更改IP****结论**WSL中为Ubuntu和Debian设置固定IP的终极指南 引言/背景 随着WSL(Windows Subsystem for Linux)的普及,越来越多的开发者开始在Windows…...

axios+vite配置反向代理踩坑记录

aixosvite配置反向代理跨域踩坑记录 ​ 最近,实习中,一直在写公司的项目。因为公司的项目大多都已经将工程化的东西已经配置好了。导致我昨天自己写项目的时候配置工程化出错!其实,这是一个很简单的问题。之前熟练的时候能够很熟…...

Spring IOC的理解

总: 控制反转(IOC):理论思想,传统java开发模式,对象是由使用者来进行管理,有了spring后,可以交给spring来帮我们进行管理。依赖注入(DI):把对应的…...

2023年京东箱包行业数据分析(京东数据运营)

当前,旅游业全面复苏,这一现象也带动了周边产业的火爆。在全国游客的出行热带动下,箱包产业迎来消费热潮。 根据鲸参谋电商数据分析平台的相关数据显示,2023年7月,京东箱包大盘整体的销量为266万,同比增长…...

对称加密 非对称加密 AC认证 https原理

文章目录 对称加密及漏洞非对称加密及漏洞什么是数据摘要(也称数据指纹)什么是CA认证CA证书签发过程https通信方案 对称加密及漏洞 对称加密是一种加密算法,使用相同的密钥(也称为对称密钥)用于加密和解密数据。在对称…...

如何在PyQt应用程序中使用Qt Designer和Pyuic工具?

如果你想在PyQt应用程序中使用Qt Designer和Pyuic工具,那么首先你需要确保你已经安装了这些工具。你可以通过以下命令在你的Python环境中安装它们: pip install pyqt5 pip install pyqt5-tools安装完成后,你就可以开始使用Qt Designer设计…...

【云计算•云原生】5.云原生之初识DevOps

文章目录 1.DevOps背景2.DevOps概念3.DevOps工具链 1.DevOps背景 软件开发必须包含两个团队:开发团队和运维团队 开发团队负责开发项目,系统迭代更新运维团队负责项目测试以及部署上线,维持系统稳定运行 一个软件周期中是由这两个团队相互…...

20230830工作心得:巧用标记位和For循环遍历

1 巧用标记位和For循环遍历 您可以使用一个 Map<String, List<xxx>> 类型的数据结构来根据手机号分组并保存多条线索。然后&#xff0c;可以按照以下方式进行操作&#xff1a; 1. 设置一个标志位&#xff0c;比如一个布尔变量&#xff0c;用于记录是否已经成功推…...

AUTOSAR规范与ECU软件开发(实践篇)7.9 MCAL模块配置方法及常用接口函数介绍之Can的配置

目录 1、前言 2 、Can模块 (1) Can General配置 (2) CanConfigSet配置 (3) CanMainFunctionRWPeriods配置...

SpringBoot整合websockt实现消息对话

文章目录 前言websockt什么是websockt&#xff1f;websockt和Socket区别代码部分实战应用 前言 websockt 什么是websockt&#xff1f; WebSocket是一种在Web应用程序中实现实时双向通信的技术。Web应用程序通常是基于HTTP协议的&#xff0c;HTTP是一种请求/响应式的协议&…...