OpenAI 打破了自然语言与视觉的次元壁,推出了一个连接文本与图像的神经网络模型CLIP

相关资料

  • CLIP原论文:Radford et al. Learning transferable visual models from natural language
    supervision. In ICML, 2021. https://arxiv.org/pdf/2103.00020.pdf (阅读30%)
  • ⭐⭐⭐李沐CLIP论文解读:[video] CLIP 论文逐段精读【论文精读】 (阅读20%)
  • 代码:https://github.com/openai/CLIP
  • CLIP论文笔记–《Learning Transferable Visual Models From Natural Language Supervision》
  • CLIP: Connecting Text and Images https://openai.com/blog/clip/

CLIP预训练阶段(对比学习训练)

对比学习非常灵活,它只需要你一个正样本和负样本的定义,其他都是正常的套路

对角线上的是正样本,其他的都是负样本。上图共有N个正样本和N∗(N−1)N*(N-1)N∗(N−1)个负样本。有了正负样本,模型就可以用对比学习的方式训练起来了。完全不需要任何手工的标注。

OpenAI专门收集了一个数据集,里面有4亿个图片和文本的配对,这也是为什么CLIP这个预训练模型能那么强大的原因之一。作者用4亿对来自网络的图文数据集,将文本作为图像标签,进行训练。这个数据集称为WebImageText(小红书的笔记其实天然有这种图片和文本的配对关系,因为通常来说它里面的笔记图片和文本相关性是比较高的,小红书推荐系统的笔记多样性用到了CLIP模型)

# image_encoder - 残差网络 或者 ViT
# text_encoder - CBOW 或者 文本Transformer
# I[n, h, w, c] - 训练图像
# T[n, l] - 训练文本
# W_i[d_i, d_e] - 训练图像生成的特征向量
# W_t[d_t, d_e]  - 训练文本生成的特征向量
# t - softmax的温度(temperature)参数# 提取多模态的特征
I_f = image_encoder(I) #[n, d_i]
T_f = text_encoder(T) #[n, d_t]# 多模态特征向特征空间的映射
I_e = l2_normalize(np.dot(I_f, W_i), axis=1)
T_e = l2_normalize(np.dot(T_f, W_t), axis=1)# 计算余弦相似度
logits = np.dot(I_e, T_e.T) * np.exp(t)# 构建损失函数
labels = np.arange(n)
loss_i = cross_entropy_loss(logits, labels, axis=0)
loss_t  = cross_entropy_loss(logits, labels, axis=1)
loss = (loss_i + loss_t)/2

CLIP预测阶段

CLIP如何做zero shot推理?引入Prompt思想。

在预测时,如果直接用单词作为句子,过文本特征提取器的话,会导致跟训练阶段的模式不一致(训练阶段看到的一般都是一个句子),导致效果下降。

作者提出的预测过程非常巧妙:

  • 当来一张新图片,先过图片特征提取器,得到图片向量表征I1I_1I1​,然后跟所有的文本向量表征T1,T2,...,TNT_1, T_2, ..., T_NT1​,T2​,...,TN​去算余弦相似度,然后选择相似度最高的那个句子,把那个句子里面的类别单词,作为分类的结果。

CLIP彻底摆脱了categorical label的限制

之前的模型,如ResNet101,需要事先指定要1000个分类标签,然后进行模型训练和预测,并且来一张新的图片,模型只会去预测这种图片最像这1000个类别中的哪一个。

CLIP彻底摆脱了categorical label的限制,也就是在训练和预测时,我都不需要有提取定好的类别列表(如CIFAR10的10个类别标签)。任何给一张图片,如奥特曼,我只要在Prompt文本里去加入一些自己想的类别(如三轮车、奥特曼、马铃薯),然后模型就能预测这种图片是不是我感兴趣的物品。

CLIP的迁移效果很强

CLIP学习到的语义信息非常强大。

OpenAI打破文本和图像次元壁,提出基于对比学习的多模态预训练模型CLIP相关推荐

  1. MICCAI 2022 | CLFC:基于对比学习的多模态脑肿瘤分割与单模态正常脑图像的特征比较

    MICCAI 2022 | CLFC基于对比学习的多模态脑肿瘤分割与单模态正常脑图像的特征比较 Multimodal Brain Tumor Segmentation Using Contrastiv ...

  2. NAACL 2021 | AWS AI 提出基于对比学习的端到端无监督聚类方法

    ©PaperWeekly 原创 · 作者 | 李婧蕾 学校 | 北京邮电大学硕士生 研究方向 | 自然语言处理 Abstract 无监督聚类的目的是根据在表示空间中的距离发现数据的语义类别.然而,在学 ...

  3. EMNLP'22 Findings | 南大提出:从文本视角探究多模态预训练模型的语义对齐能力...

    每天给你送来NLP技术干货! 来自:南大NLP 01 研究动机 对齐不同模态的语义是多模态预训练 (VLP) 模型的一个重要能力.然而,VLP模型的内部对齐机制是不可知的.许多研究已经关注到这个问题, ...

  4. KD-VLP:知识蒸馏和预训练还能这么结合?上科大IntelMSRA提出基于知识蒸馏的端到端多模态预训练模型...

    关注公众号,发现CV技术之美 本文分享论文『KD-VLP: Improving End-to-End Vision-and-Language Pretraining with Object Knowl ...

  5. ECCV 2022 | 浙大快手提出CoText:基于对比学习和多信息表征的端到端视频OCR模型...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入-> CV 微信技术交流群 转载自:CSIG文档图像分析与识别专委会 本文是对快手和浙大联合研 ...

  6. PCL-SISR:基于对比学习的单幅图像超分辨率重建方法

    ©作者 | 高帆 学校 | 北京邮电大学 研究方向 | 计算机视觉 随着 Transformer 的提出以及在底层任务上应用的进一步探索,相信在很多底层任务数据集上可以取得新的 SOTA 成绩.但是不 ...

  7. 引燃AI社区,不用跨界也能从文本生成图像,OpenAI新模型打破自然语言与视觉次元壁...

    视学算法报道 作者:魔王.杜伟.蛋酱 艺术创作的事,以后人类只要动手打几个字,其他的交给 AI 就行了. 自然语言与视觉的次元壁正在被打破.这不,OpenAI 最近连发大招,提出两个连接文本与图像的神 ...

  8. 引燃AI社区,OpenAI新模型打破自然语言与视觉次元壁

    2021-01-06 13:42:03 艺术创作的事,以后人类只要动手打几个字,其他的交给 AI 就行了. 自然语言与视觉的次元壁正在被打破.这不,OpenAI 最近连发大招,提出两个连接文本与图像的 ...

  9. 大神开源AI代码!这次我也可以亲自上手、模仿OpenAI利用文本合成图像啦!

    作者 | 耳洞打三金 大家好我是三金,相信大家都还记得上周报道的OpenAI新出的名叫DALL.E的120亿参数神经网络模型,它可以魔法一般按照自然语言文字描述直接生成对应图片! 效果如下所示: 文本 ...

最新文章

  1. Java 设计模式 -- 建造者模式
  2. 【LiveVideoStack线上分享】— FreeSWITCH视频会议“标准”解决方案
  3. 第三周总结 类、对象、包
  4. python生成多个列表_python生成多个只含0,1元素的随机数组或列表(代码)
  5. C语言 *p++/*(p)++/*(p++)/*p++ - C语言零基础入门教程
  6. 8th 本周工作量及进度统计
  7. 设为首页 添加到收藏夹 (share)
  8. c++模板函数实例化的偏序机制
  9. springboot前台页面写Java代码,接收后台数据,SpringBoot整合Thymeleaf的使用
  10. Android PackageManager详解
  11. 高效能人士的七个习惯读后感与总结概括-(第五章)
  12. ensp 不兼容 virtualbox,virtualbox version not support (AR 报错40 41 解决思路)
  13. Chaos Mesh介绍
  14. Spyder中不能输入中文注释
  15. java旅游管理项目描述,201Java基于SpringBoot框架的旅游管理系统
  16. 字数统计,一个英文字母算一个字,一个汉字算一个字,一个符号算一个字
  17. 《Steam平台上的VR虚拟现实》(Yanlz+Unity+XR+VR+AR+MR+Steam+SteamVR+Vive+Oculus+Valve+立钻哥哥+==)
  18. 前后端交互之——AJAX提交
  19. 自力更生给笔记本电脑换固态并重装系统
  20. java调用webservice axis

热门文章

  1. 9款好看又实用的手机APP UI模板
  2. 黑马程序员_HTML基础
  3. linux_zsh/oh my zsh 版本检查/使用帮助(check and update)/安装最新版zsh
  4. 基于百度飞桨的单/多镜头行人追踪(非官方Baseline)
  5. 疯狂架构师最强分享:分布式架构与性能优化,你学会了吗?
  6. java基于ssm+vue的的KTV点歌歌曲播放系统 element
  7. 【unmatched host】nfs挂载 提示“: refused mount request from xx for /nfsdata (/nfsdata): unmatched host ”
  8. 2021年数据库课设该怎么做?一个超市管理系统,简单的前后端分离项目,带你从概要设计走到项目发布!(Vue.js+SpringBoot+MybatisPlus)
  9. 美团2021校招笔试-编程题(通用编程试题,第10场)
  10. 前端开发基础知识汇总