2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > OpenAI打破文本和图像次元壁 提出基于对比学习的多模态预训练模型CLIP

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

时间:2023-07-05 19:29:38

相关推荐

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

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

相关资料

CLIP原论文:Radford et al. Learning transferable visual models from natural language

supervision. In ICML, . /pdf/2103.00020.pdf (阅读30%)⭐⭐⭐李沐CLIP论文解读:[video] CLIP 论文逐段精读【论文精读】 (阅读20%)代码:/openai/CLIPCLIP论文笔记–《Learning Transferable Visual Models From Natural Language Supervision》CLIP: Connecting Text and Images /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学习到的语义信息非常强大。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。