一、图文匹配原理
Clip
通过图像编码器和照片编码器将两者区分成N项,然后让它们相互内积,能够匹配得上的则内积值为1,不能够匹配上的则内积为-1,也就是负样本,如上图,除了对角线的正样本,周围其余的都是负样本。
当N比较大的时候,负样本的数量会远大于正样本,存在正负样本不均衡的问题,为解决正负样本不均衡的问题,需要对负样本进行采样,如采样N个负样本,从而达到正负样本均衡。但采样的原则是什么?采样难度比较大的样本,相似度比较高的负样本。(相当于考完试的时候,把做错的题进行复习一遍,这样子的效率相对比较高一点)相似度比较高的负样本,说明模型不太给力,从而进行一种强化。
像上面这幅图片,现将文字类别通过编码器区分成不同的各类。然后将图片通过编码器识别它的信息,然后将图片信息和文字类进行配对,像狗图片匹配到狗文字,他两的相似度最接近,因此匹配成功,得到(A photo of a dog.)
resnet只能区分类,它只是一种标定,无法理解文字意义。就像他无法识别狮虎兽属于哪一类。但clip不同,它能够理解文字,并进行学习,Clip在泛化能力上是很强的。就像上图,如果识别狮虎兽,它能够找到(tiger 和 lion),clip是能够理解文字意思的。
注:图像编码不能够使用bert编码,因为bert编码只能够使用在文字编码上
像识别香蕉,ResNet只能够识别具体的香蕉,一旦香蕉比较抽象,它的识别能力就会直线下降。而CLIP不同,它是泛化能力极强的,像像素画风,可爱画风,它都能识别的出来是香蕉。
二、文生图DALL-E模型原理
DALL-E训练分为两个阶段,一是训练一个变分自编码器用于图像编解码,二是训练一个文本和图像的自回归解码器用于预测生成图像的Tokens。
one-hot是一种常见的词向量模型,目的是将字符串,转为计算机能够处理的数字。
loss损失函数就是:处理后的图片-处理前的图片
dVAE Encoder就相当于token产生器,把图片打上相应的token
第一步先通过one-hot形成token(令牌)。先通过编码器形成token,再通过解码器再转换成图片。
其目的是对图像进行无损压缩(实际上也是有损失的,只不过是损失更小),通过无损压缩来尽可能储存图像信息,也是用于给第二步自回归编码器进行学习(因为形成了token)。
第二步是通过gpt技术中的自回归编码进行文字预测图片的token
通过文字“带着贝雷帽的狗”来识别出众多样本tokens,然后生成那三张带着贝雷帽的狗图片,再通过CLIP技术(也就是上图狮虎兽识别那技术),通过对生成的图片进行相似度匹配,找到相似度最高的那张图片,从而得到最终的结果。步骤一的无损压缩也是为了能够生成一种token,用于在这步骤中进行匹对。
三、Bridge-Tower,GPT4模型原理
Bridge-Tower模型左边文字,右边是图片,使用Cross Attention进行层层迭代训练,最后进行一个分类,0-1的分类,用来做图文匹配。
GPT4模型
token和向量其实就是一种映射。
GPT4其实就是将文字转换成token,图片也转换成token,从而将两者进行结合起来。
图文结合其实就两种技术:
1.文字token+图像token
2.文字embedding+图像embedding
注:NLP和CV的区分其实就是现阶段技术不够的问题从而区分出来的,人们各自解决其中的问题。到以后NLP会吃掉CV,进行技术的合并,因为NLP才是大股东。它们只会是历史的产物,到以后这两条线会合并起来,形成一条技术线。