论文阅读_图像生成文本_CLIP

news2024/9/25 13:21:30

name_en: Learning Transferable Visual Models From Natural Language Supervision
name_ch: 从自然语言监督中学习可迁移的视觉模型
paper_addr: http://arxiv.org/abs/2103.00020
doi: 10.48550/arXiv.2103.00020
date_read: 2023-02-09
date_publish: 2021-02-26
tags: [‘算法’,‘自然语言’,‘图形图像’]
author: Alec Radford
citation: 3518
code: https://github.com/OpenAI/CLIP

读后感

使用大量数据的对比学习,基于对齐图片和文本嵌入的原理,实现了根据图像生成描述文本的功能,为后续根据文本生成图像奠定了基础。

介绍

文中提出CLIP(Contrastive Language-Image Pre-training)方法,即:对比式语言-图像预训练。它的先进性在于:之前模型只能判断图片是否属于固定类别,而它可以根据一张图片内容,生成文本描述,或者利用文本描述的新类别匹配图片,而无需根据新类别调优模型,即零样本学习。
具体实现方法利用少量有标注数据和大量无标注数据(4亿个图片文本对)方法建模,利用对比学习训练模型,对齐文本和图像的嵌入。 通过在30多个不同的现有视觉数据集上进行基准测试,证明该模型能很好地应用到大多数任务中。
它为后面一系列的图像生成模型(利用文本生成图片)奠定了基础。比如:用DALL-E(unCLIP) 用“小狗吹喇叭”自动生成对应的图片。

方法

数据

虽然MS - COCO和Visual Genome是高质量的人工标记数据集,但按现代标准它们都很小。YFCC100M,在1亿张照片中,保留带有自然语言标题和/或英文描述的图片,仅有1500万张。这与ImageNet的大小大致相同。
CLIP 构建了一个新的数据集,从互联网上的各种公开来源收集了4亿(图像、文字)对,得到的数据集与用于训练GPT - 2的超文本数据集具有相似的总词数,并将该数据集称为WIT for WebImageText。

方法

将目标定义为:预测文本与图像配对,而不是文本的确切单词。这种方法与之前方法相比大大提升了效率。

下图总结了具体的实现方法,左侧为训练,右测为预测。针对文本T和图像I分别训练编码器,然后用模型学习正确的配对(对角线上为正确配对);在预测阶段,根据类别生成描述文本,并选择与图片最为匹配的文本作为描述,以实现零样本分类器。

具体训练时,假设一个Batch中包含N个图文对,则有NxN种可能的组合。利用多模态技术,训练图片编码器(如ResNet)和文本编码器(如CBOW),将图文转换到嵌入空间,使同一含义的图文表示的cosine距离更近,不同含义的距离更远。具体方法如图-3所示:

CLIP 使用了大量数据从头训练图片和文本模型参数。并只使用线性投影,将每个编码器的表示映射到多模态嵌入空间。数据增强方法仅使用了从调整大小的图像中随机产生的正方形裁剪。

底层模型

在图像编码器方面尝试了两种架构,一种是在ResNet基础版本上做了一些修改,如:锯齿模糊池化,将全局平均池化层替换为注意力池化机制等。另一个是在较新的Vision Transformer架构上做了微调。文本编码器使用了Transformer模型。在图像的宽度深度扩展方面,使用了Tan & Le ( 2019 )提出的EfficientNet架构。

3. 实验

实现主要涉及零样本分类问题和表示学习。
对于零样本迁移图像分类结果,和Visual N-Grams对比结果如下(当然CLIP计算量也大得多):

另一方面也讨论了模型表征学习的能力,评测时使用的主要方法是:在从模型中提取的表示上拟合一个线性分类器,并在各种数据集上测量其性能。以评测与任务无关的数据表征,对比效果如下:

可以看到,当在足够大的数据集上训练时,视觉转换器(vision transformers)比卷积神经网络具有更好的效果。

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

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

相关文章

【1138. 字母板上的路径】

来源:力扣(LeetCode) 描述: 我们从一块字母板上的位置 (0, 0) 出发,该坐标对应的字符为 board[0][0]。 在本题里,字母板为 board ["abcde", "fghij", "klmno", "pq…

文本比对工具【UltraCompare附安装包】Mac和Windows下载使用

UltraCompare 强大的文件,文件夹,PDF, Word和Excel比较。文件夹同步,二进制/十六进制比较。下载一个免费的全功能试用版,看看为什么。适用于Windows、Mac和Linux。 文章目录软件功能1、文本比较2、快速二进制比较3、智慧二进制比较…

Python快速上手系列--类--详解篇

本章是自动化测试的真正开始,因为在后续的过程中,你会接触到unittest框架,pytest框架,而不仅仅只是写一个函数selenium脚本这么简单了。1、创建类1.1、了解类我们首先了解一下,为什么要使用类,类可以拿来干…

2023同等学力申请硕士计算机综合国考

同等学力国考报名要开始了 2023年2月15日,中国教育考试网和“全国同等学力人员申请硕士学位管理工作信息平台”(https://tdxl.chsi.com.cn,联系服务电话:010-67410388)公布报名工作通知。考生须按照通知要求进行注册或…

Win11下Linux子系统迁移方法及报错解决

Win11 将Linux子系统从C盘迁移到其他盘Win11下Linux子系统迁移方法及报错解决1、下载LxRunOffline2、ERROR:directory is not empty 报错解决参考链接Win11下Linux子系统迁移方法及报错解决 C盘满了,Ubuntu子系统占了100多G怎么办?直接将子系…

相机出图画面一半清晰,一半模糊的原因是什么?

1、问题背景:在做项目的过程中,有遇到过几次,出图后画面是一半清晰,一半模糊的现象,再重新对焦也是一样。但换了个镜头后就好了,这应该是镜头的质量问题,但导致镜头出现这种问题的具体原因是什么…

【2023unity游戏制作-mango的冒险】-3.基础动作和动画API实现

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 收录于专栏:unity游戏制作 ⭐mango的基础动作动画的添加⭐ 文章目录⭐mango的基础动作动画的添加⭐&#x1f…

本周大新闻|传微软解散工业元宇宙团队,MIT研发垂直堆叠全彩Micro LED

本周大新闻,AR方面,消息称微软解散工业元宇宙团队;德国AR公司Gixel GmbH亮相;Brilliant推出单片式附加形态AR眼镜;MIT研发垂直堆叠全彩Micro LED;谷歌XR串流正式上线。VR方面,索尼发布了PS VR2的…

【手写 Vuex 源码】第八篇 - Vuex 的 State 状态安装

一,前言 上一篇,主要介绍了 Vuex 模块安装的实现,针对 action、mutation、getter 的收集与处理,主要涉及以下几个点: Vuex 模块安装的逻辑;Vuex 代码优化;Vuex 模块安装的实现;Vue…

leetcode-每日一题-2335(简单,贪心)

自己打表看一下过程就可以发现,其实就是每次选两个大的进行--之后秒数加1即可现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满 2 杯 不同 类型的水或者 1 杯任意类型的水。给你一个下标从 0 开始、长度为 3 的整数数组 amount &am…

元学习(Meta Learning)最全论文、视频、书籍资源整理

Meta Learning,叫做元学习或者 Learning to Learn 学会学习,包括Zero-Shot/One-Shot/Few-Shot 学习,模型无关元学习(Model Agnostic Meta Learning)和元强化学习(Meta Reinforcement Learning)。元学习是人工智能领域&…

Redis基础篇

Redis基础篇 来自黑马的redis课程的笔记 【黑马程序员Redis入门到实战教程,深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目】 目录Redis基础篇一、初识Redis1.安装2. 数据结构二、Redis常见命令1. Redis通用命令2. string类型2.1 key的层级格式…

【成为架构师课程系列】预备架构 Pre-Architecture 的故事

目录 前言 Pre-architecture的故事 Pre-architecture 核心“四步法” 需求结构化 架构约束

1行Python代码去除图片水印,网友:一干二净

大家好,这里是程序员晚枫。 最近小明在开淘宝店(店名:爱吃火锅的少女),需要给自己的原创图片加水印,于是我上次给她开发了增加水印的功能:图片加水印,保护原创图片,一行…

伏并网低电压穿越技术

国内光伏并网低电压穿越要求 略: 低电压穿越方法 当前,光伏电站实现低电压穿越可通过两种方式,即增加硬件设备或者改变控制策略。本节对基于储能设备、基于无功补偿设备、基于无功电流电压支撑控制策略三种实现LVRT的典型方法进行介绍。 …

【MT7628】开发环境搭建-Fedora12一步一步设置共享文件夹

1.按照下图操作,打开设置界面 2.点击设置,弹出如下对话框

【博客620】prometheus如何优化远程读写的性能

prometheus如何优化远程读写的性能 场景 为了解决prometheus本地存储带来的单点问题,我们一般在高可用监控架构中会使用远程存储,并通过配置prometheus的remote_write和remote_read来对接 远程写优化:remote_write 远程写的原理&#xff1a…

Springboot扩展点之@PostConstruct

前言postContruct全限定类名是javax.annotation.PostConstruct,可以看出来其本身不是Spring定义的注解,但是Spring提供了具体的实现,所以这篇文章主要分析的是PostConstruct在Spring项目开发中的功能特性、实现方式和基本工作原理。功能特性从…

Linux c编程之Wireshark

Wireshark是一个网络报文分析软件,是网络应用问题分析必不可少的工具软件。网络管理员可以使用wireshark排查网络问题。程序开发人员可以用来分析应用协议、定位分析应用问题。无论是网络应用程序开发人员、测试人员、部署人员、技术支持人员,掌握wireshark的使用对于分析网络…

【LeetCode】每日一题(2)

目录 题目:1138. 字母板上的路径 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:1138. 字母板上的路径 - 力扣&am…