多模态模型CLIP

Contrasitive Language-Image Pre-Training(利用文本的监督信号训练一个迁移能力强的视觉模型)
在传统的诗句任务中无法识别出我们训练之外的类别,训练1000个类别,预测就是者1000个类别的概率,无法拓展;如果新增类别还得重新训练不能一劳永逸,然而clip可以解决这个问题,可以不用学习新增类别就可以识别出新的类别。

CLIP 在完全不适用ImageNet中所有数据训练的前提下,直接Zero-short得到的结果与Resnet在128W Image数据训练后效果一样

如何训练模型(训练过程通过对比学习进行训练)

对图像数据中的文本标签(对图像的描述),我们使用CNN、TransFormer提取图像中的特征,将图像特征转成向量,并且将文本做成向量。I1、I2…IN表示的是不同的图像特征向量(可能I1是狗,I2是飞机…),T1、T2…TN表示的是不同文本标签的特征向量(可能T1是“一只狗”,T2是一架飞机…);CLIP在此过程中并不是计算这个Image图像中是什么(不是概率),而是相似度,狗这个图像和文本提取的特征哪个相似度最高(对比学习,来找出相似度最高的特征匹配)。所以在计算的时候我们只需要对角线上的描述相似度最高即可。因此这个过程中正样本(图像描述和文本描述相同一致的)有N个,负样本(图片和文本描述是不一致的)有N^2-N个。
在这里插入图片描述

如何进行推理

当我们拿到一个图片,通过Image Encoder将图片的特征转换成特征向量 I1 ,这时我们要在文本中给出所有的图像的可能性,给出N个他的文本输入;然后模型根据文本样本和图像特征计算相似度,当他描述的是一条狗那就会和文本中是狗的特征相似度匹配最高。
提示的文本可以给任意个,clip会对文本和图像的相似度进行计算,给出这些配对中相似度最高的文本。
在进行text Encoder之前需要将单个单词补全为一句话,提供更丰富的上下文语意,这样避免单个单词造成歧义
在这里插入图片描述

合理的提示

在进行预测的时候,提示非常重要,提示就是我们将文本单词转换为一句话输入给text Encoder 进行特征提取,因为有些单词在不同的场景下有不同的语意,丰富的上下文提示可以有效提高模型的准确率。clip里面也给出了一套自动的添加上下文语意的模板,开始就只有一个模板,就是“这是一个XX的图片”,后面随着模型的改进,他们也融合了对歌中可能出现的环境进行描述的句子。

利用clip实现的系统

DALL-E
使用GAN和CLIP结合生成的对抗生成网络(对抗生成网络包含生成器和判别器,在学习的过程冲,生成器从随机噪声中生成图像或者数据,来欺骗判别器,生成器判别数据或者图片是真实的还是生成的。在学习过程中生成器和判别器不断对抗,接收对方的反馈来调整自己的参数,不断提高生成器和判别器的性能),可以通过输入的一个文本描述,生成出一些文本描述的图像数据

CLIP相当于判别器
VQGAN(Vector Quantized GAN)相当于生成器

Codebook
NLP中提到文本向量化,那么是否可以对图片进行离散向量化呢,答案是肯定的。Codebook就是先把图像特征离散化在整合实现图片离散化;那怎么进行特征离散化呢,模型在训练的过程中将图片的特征比如颜色,物品的大小,形状,颜色等都使用数字进行记录
在这里插入图片描述
然后再通过编码器得到的特征,按照相似度得到特片的离散特征,就是通过查询codebook来得到整个图片的离散特征
在这里插入图片描述
DALL-E生成特想的时候就是根据特征序列逐步生成

在这里插入图片描述
DALL-E如何生成结果
在这里插入图片描述

Action CLIP(视频分类)
在这里插入图片描述

CLIP-Event
在这里插入图片描述
在这里插入图片描述
首先使用文本信息抽取模型抽取文本信息
在这里插入图片描述
正负样本的制作(因为CLIP就是通过对比学习,使用正负样本相似度来进行判别的),正样本可以就是图片中人所执行的事件,负样本呢可以是随机替换的其他和图中任务不想关的事件(替换事件,替换主题…)
在这里插入图片描述
将正负样本进行组合,不同人,不同事
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值