文章目录
- 前言
- 1 如何实现?
- 1.概论
- 2 训练
- 3.有什么用?
- 1.如何进行推理
- 4 通过代码来玩clip模型
前言
本文专门开一节写SD原理相关的内容,在看之前,可以同步关注:
stable diffusion实践操作
CLIP,OPENAI 的产品,它解决文字和图片之间对应的问题。
我们常规训练模型后,万一要新增一个分类,这个时候只能重新训练,然后重复之前的工作。
那么有没有一个办法,让我们不用重复之前的工作呢?
GPT中有一个zero-shot,我们只要训练好一个大模型,然后通过一些提示,就能让它自动分类识别。
足够大的模型,足够大的语料就能完成这个任务
我们想要一个足够大的图片模型,然后能做成zeroshot,比如原来只有1k个类别,突然来了一个新的类别,它也能认识,不需要再训练了。
把GPT中文本的方法也用到视觉中来,一个迁移能力非常强的能力(自动认识新类别)。
1 如何实现?
transform 模型
文本的encoder就是transtorm,就是一个GPT,把一个词语提取特征转成向量
图像转特征
1.概论
clip需要大数据量
预训练模型,没有针对任何分类类别做的,而是通过对比学习的思想来通过文本指引帮我们生成任务
2 训练
对角线是正样本,对比学习。
比如,文本描述:狗,图片:狗,这个就是正样本
什么是对比学习?
一批batch,让对角线自己和自己的描述一致,这就是正样本。
让模型学习这幅图片大致描述的是什么。
现在关注的不是类别,而是本质。
3.有什么用?
1.如何进行推理
一个图片,想要分类,你就给它类别,对比相似度。
提示词的好坏,决定了结果。