CLIP论文笔记——Learning Transferable Visual Models From Natural Language Supervision

这篇具有很好参考价值的文章主要介绍了CLIP论文笔记——Learning Transferable Visual Models From Natural Language Supervision。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

CLIP论文精读

CLIP是什么

一个强大的无监督训练模型

通过NLP来的监督信号得到迁移学习

进行图片与文字的配对实现监督的信号,解决了需要打标签进行训练的限制,增强了模型的泛化能力

CLIP结构

CLIP的结构包含两个模型Text EncoderImage Encoder,Text Encoder用于提取文本特征,Image Encoder用来提取图像特征

CLIP训练

CLIP论文笔记——Learning Transferable Visual Models From Natural Language Supervision,论文阅读,深度学习,人工智能

CLIP的训练数据是图像-文本对,如图上方是对小狗的描述,而下方是这张图片,通过对文本的特征提取与对图像的特征提取进行对比学习,对于N个图像文字对,预测出 N 2 N^2 N2个相似度,这里的相似度直接结算文本特征和图像特征的余弦相似性,实际上真实对应的相似对是位于对角线上的元素,我们的目的就是最大化对角线上的元素而减小非对角线上的元素

实现zero-shot分类

CLIP论文笔记——Learning Transferable Visual Models From Natural Language Supervision,论文阅读,深度学习,人工智能

首先先将分类标签扩充成句子后输入到 TextEncoder中,而进行分类时的标签并不需要是训时存在的标签 ,你完全可以新加一个背带裤的标签进行分类,训练与推理时都没有标签的限制,属实是将视觉与文字的语义相关性真正学习到了。

使用clip可以辅助实现风格迁移,AI换脸换衣,图像检测 分割,视频检索

论文部分

采用有限制性的监督信号会限制模型的泛化性这一点毋庸置疑 ,要识别新的物体类别时候就有了困难

所以CLIP的想法就是由语言生成监督信号

经过测试,CLIP在ImageNet上可以跟专门为了ImageNet训练出来的resnet50打成平手 达到了非常好的效果

并且可以随着两个模型性能继续增长后可以达到不断的进步

从文本出来的弱监督信号不实用,是因为数据量不足够与算力消耗大

方法上实际上都差不多,但是数据量规模是其想成长的必要因素

像VirTex,ICMLM,ConVIRT这些工作都进行过类似的尝试,但是都是只训练了几天的规模,并不足以达到很好的效果

于是openAI团队为了证明这一点 收集了超级大规模的数据想要达到比较好的效果

再加上大模型的加持,可以达到非常不错的效果,这就是CLIPContrastive Language-Image Pre-training

对于模型选择,作者团队也尝试了多种的尝试,发现CLIP的效果跟模型规模是有正相关的

最终得到的效果是,CLIP在30多个数据集上基本都能与精心设计的模型打成平手甚至胜利,并且会有更好的泛化性

使用CLIP的好处有很多,其中之一就是CLIP不需要再对数据进行标注,只需要获得文本—图像对就可以,像在社交平台上获得的图片跟他发布时的TAG就是一个很好的途径,这种数据往往比标注的数据更容易获取,另外,通过文本—图像对的这种数据集训练,使得其拥有了多模态的效果

在预训练过程中,作者团队采用了对比学习的方法,之所以使用这样的方法而不是用GPT就是因为语言的多样性导致对应关系有很多(例如一张图片可以从多个角度描述),所以我们只需要让图片与文本配对即可,通过这样就能达到很高的效率

代码的实现

在实现方面,通过论文所给伪代码

# image_encoder 	- ResNet or Vision Transformer
# text_encoder 		- CBOW or Text Transformer
# I[n, h, w, c] 	- minibatch of aligned images
# T[n, l] 			- minibatch of aligned texts
# W_i[d_i, d_e] 	- learned proj of image to embed
# W_t[d_t, d_e] 	- learned proj of text to embed
# t 				- learned temperature parameter

# 分别提取图像特征和文本特征
I_f = image_encoder(I) 	#[n, d_i]
T_f = text_encoder(T) 	#[n, d_t]
# 在得到特征时一般会尝试归一化 在归一化前,还涉及到了投射层,即np.dot(I_f, W_i),主要用来学习如何从单模态投射到多模态 
# 对两个特征进行线性投射,得到相同维度的特征,并进行l2归一化
I_e = l2_normalize(np.dot(I_f, W_i), axis=1)
T_e = l2_normalize(np.dot(T_f, W_t), axis=1)

# 计算缩放的余弦相似度:[n, n]
logits = np.dot(I_e, T_e.T) * np.exp(t)

# 对称的对比学习损失:等价于N个类别的cross_entropy_loss
labels = np.arange(n) 	# 对角线元素的labels
loss_i = cross_entropy_loss(logits, labels, axis=0)
loss_t = cross_entropy_loss(logits, labels, axis=1)
loss = (loss_i + loss_t)/2

步骤解释

  1. 提取图像特征和文本特征:
    • 使用预训练的 image_encoder 和 text_encoder 分别提取图像 I 和文本 T 的特征,得到形状为 [n, d_i] 和 [n, d_t] 的特征向量。
  2. 线性投射和归一化:
    • 对两个特征进行线性投射,分别用矩阵 W_i 和 W_t,得到相同维度的特征向量 I_e 和 T_e。
    • 对投射后的特征进行 l2 归一化,保证它们具有单位长度。
  3. 计算缩放的余弦相似度:
    • 通过计算余弦相似度矩阵,得到形状为 [n, n] 的 logits 矩阵。这一步涉及将图像特征和文本特征进行相似度计算,并使用温度参数 t 进行缩放。
  4. 对称的对比学习损失:
    • 创建标签 labels,其中包含了元素从 0 到 n-1。
    • 计算两个方向上的交叉熵损失:loss_i 是以图像为查询,文本为正样本的损失;loss_t 是以文本为查询,图像为正样本的损失。
    • 最终的损失是两个方向上损失的平均值,即 (loss_i + loss_t) / 2。

这个损失函数的设计旨在通过最大化正样本之间的相似度、最小化负样本之间的相似度,来学习图像和文本之间的语义对应关系。这种对称性的设计可以帮助提升模型的泛化能力,使得图像和文本之间的表示更加一致和可靠。文章来源地址https://www.toymoban.com/news/detail-780844.html

到了这里,关于CLIP论文笔记——Learning Transferable Visual Models From Natural Language Supervision的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 论文笔记 | Learning from Noisy Labels with Decoupled Meta Label Purifier(DMLP)

    深度学习识别任务依赖于大量可靠标记的数据集,但通过爬虫等收集到的数据不可避免地会有噪声标签。这些标签不适合直接用来训练,因为复杂的模型容易记住噪声标签,导致泛化能力下降 1.经典的LNL方法 识别噪声样本,减小它们对参数更新的影响(舍弃或者降低权重或半

    2024年02月05日
    浏览(34)
  • 论文笔记(三十九)Learning Human-to-Robot Handovers from Point Clouds

    作者:Sammy Christen,Wei Yang,Claudia P´erez-D’Arpino,Otmar Hilliges,Dieter Fox,Yu-Wei Chao 来源:Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 9654-9664) 原文:https://openaccess.thecvf.com/content/CVPR2023/papers/Christen_Learning_Human-to-Robot_Handovers_From_Point_Clouds_CVPR_2023_paper.pdf 代

    2024年01月16日
    浏览(43)
  • VL 模型 Open-Set Domain Adaptation with Visual-Language Foundation Models 论文阅读笔记

    写在前面   又是一周周末,在家的时间感觉过得很快呀,下周就能回学校啦~ 论文地址:Open-Set Domain Adaptation with Visual-Language Foundation Models 代码地址:当前版本暂未提供代码地址 预计提交于:CVPR 2024 Ps:2023 年每周一篇博文阅读笔记,主页 更多干货,欢迎关注呀,期待 5

    2024年02月14日
    浏览(44)
  • 【自监督论文阅读笔记】EVA: Exploring the Limits of Masked Visual Representation Learning at Scale

            本文推出了 EVA ,这是一个 以视觉为中心 的基础模型,旨在仅使用可公开访问的数据来 探索大规模 视觉表示的 局限性 。EVA 是一种经过预训练的普通 ViT,用于 重建 以可见图像块为条件的 屏蔽掉的 图像-文本对齐(image-text aligned)的视觉特征 。通过这个前置任

    2024年02月06日
    浏览(58)
  • 【自监督论文阅读笔记】Self-Supervised Learning from Images with a Joint-Embedding Predictive Architecture

    2023         本文展示了一种 学习高度语义图像表示 的方法,而 不依赖于手工制作的数据增强 。本文介绍了 基于图像的联合嵌入预测架构 (I-JEPA) ,这是一种用于从图像进行自监督学习的 非生成方法 。 I-JEPA 背后的想法很简单: 从单个上下文块,预测同一图像中各种目

    2024年02月09日
    浏览(45)
  • 论文阅读--Diffusion Models for Reinforcement Learning: A Survey

    一、论文概述 本文主要内容是关于在强化学习中应用扩散模型的综述。文章首先介绍了强化学习面临的挑战,以及扩散模型如何解决这些挑战。接着介绍了扩散模型的基础知识和在强化学习中的应用方法。然后讨论了扩散模型在强化学习中的不同角色,并对其在多个应用领域

    2024年03月20日
    浏览(51)
  • 论文解读 X-CLIP : Expanding Language-Image Pretrained Models for General Video Recognition

    如何将现有的图像 - 文本多模态大模型(例如 OpenAI CLIP)用于视频内容理解,是一个非常实用且具有前景的研究课题 。它不仅可以充分挖掘图像大模型的潜力,还可以为视频大模型的设计和研究铺平道路。 在视频内容理解领域,为节省计算 / 数据开销,视频模型通常 「微调

    2024年02月02日
    浏览(45)
  • 论文解读:(UPL)Unsupervised Prompt Learning for Vision-Language Models

    存在的问题 之前的来自目标数据集的标记数据(有监督学习)可能会限制可伸缩性。 动机 通过无监督提示学习(UPL)方法,以避免提示工程,同时提高类clip视觉语言模型的迁移性能。 主张top-k而不是top-p 注:top-k是指挑选概率最大的k个,top-p是指挑选预测概率大于p的那些数据 看

    2024年04月23日
    浏览(58)
  • 【对抗攻击论文笔记】对抗迁移性:Delving Into Transferable Adversarial Examples And Black-Box Attacks

    发表于ICLR2017,论文地址:https://arxiv.org/pdf/1611.02770——深入研究可迁移的对抗样本和黑盒攻击 迁移性是指 一个模型生成的一些对抗样本也可能被另一个模型错误分类 。 这篇文章其实是基于 Transferability in Machine Learning: from Phenomena to Black-Box Attacks using Adversarial Samples 的改进和

    2023年04月08日
    浏览(61)
  • 论文阅读---Albert :Few-shot Learning with Retrieval Augmented Language Models

    增强语言模型 Augmented Language Models https://arxiv.org/abs/2208.03299 提前知识: BERT (Bidirectional Encoder Representations from Transformers)是一种预训练语言模型,它通过在大规模文本数据上进行预训练,学习文本的双向表示,并在多种NLP任务中展现出卓越的性能。BERT的双向性意味着它能够

    2024年04月23日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包