SD理论-WEBUI
2024-06-25 18:02:38 1 举报
AI智能生成
SD理论-WEBUI是一个基于SD理论的设计框架,它提供了一个全面的指南,帮助开发者创建出更加高效、易用和美观的Web应用程序。这个理论强调了组件的可重用性、模块间的低耦合性以及用户界面的直观性。通过应用SD理论-WEBUI,开发者可以减少开发时间,降低维护成本,提高用户体验。
作者其他创作
大纲/内容
历史
GAN
基于对抗网络实现
生成速度快,主要是不需要进行下一步预测
DALL-E 2 (OpenAI)
2022-04
主要技术
unClip
直接文本表征到图像表征的显式转换
扩散先验模型
缺点
逻辑支持不好
生成文字不行
Imagen (google)
2022-05
主要技术
只要文本模型足够大,就不需要扩散先验模型
没有使用 CLIP的文本和图像编码器, 使用的是文本大模型 T5来完成文本编码任务
https://arxiv.org/abs/1910.10683
Imagen 没有使用 unCLIP 结构,而是直接把文本表征输入给图像解码器,生成目标图像。
Imagen 对扩散模型预测的噪声使用了动态阈值的策略,提升了 AI 绘画效果的稳定性。
工作原理
可以看到,文本描述经过文本编码器得到文本表征(Text Embedding),该文本表征不仅用于引导低分辨率图像的扩散生成,也用于指导连续的两个超分模块发挥作用。和我们前面学的 DALL-E 2 类似,Imagen 首先会生成 64x64 分辨率的低分辨率图像,然后经过连续两次基于扩散模型的超分模块,将图像分辨率提升至 256x256、1024x1024。
训练过程中,首先要将文本表征、初始噪声作为扩散模型的输入,去噪后的图像作为目标输出,就得到了低分辨率扩散模型;然后将低分辨率图像、文本表征作为输入,去噪后的图像作为目标输出,得到更高分辨率的扩散模型。
DeepFloyd (StabilityAI)
2023-04
主要技术
依赖 Imagen 进行改进
工作原理
Stable Diffusion
历史脉络
SD1.X系列
SD 新模型
简单串联
原始扩散模型的两个短板
第一是不能通过 prompt 指令来完成 AI 绘画,而是从纯噪声出发,绘画过程有点类似于开盲盒
第二是加噪和去噪的过程都是在图像空间完成,使用高分辨率训练扩散模型,会占用较多的显存
文本生图
潜在扩散模型的前身便是扩散模型,它一方面将扩散过程从图像空间转移到了潜在空间,通过使用 VAE 变分自编码器来压缩和恢复图像,大大提高了速度和效率;另一方面利用 CLIP 等模型的文本编码器,将文本信息转化为文本表征,并通过交叉注意力机制将这些文本信息融入到图像信息空间中,最终实现文本生图。
整体方案
组成模块
VAE
潜空间,超分模块 64x64 -> 512x512
UNet
一起预测噪声
CLIP编码器
提取文本表征
注意力机制(Tranformer)
一起预测噪声
采样器
去除噪声
模型参数
SD1.X
VAE 0.084B
CLIP 文本编码器 0.123B
UNet 0.86B
总共大概 1B的参数量
SD-WebUI
界面功能
Prompt
关键词分割
关键词使用逗号分割
1 girl, long hair
混合提示词
使用|混合提示词
1 girl, long red|green hair
渐变
使用 [关键词1关键词2:百分比]
1 girl, long [white:black:0.5] hair
交替
[关键词 1|关键词 2]
[cat|dog] in a field
巧用标签
强化效果
强化效果
masterpiece
杰作
best quality
最好的质量
增强提示词权重
使用()
(dog)
让单词产生1.1倍的强度
((dog))
1.1 x 1.1 倍的强度
(dog:1.5)
直接指定倍率
不建议该权重超过 1.3
1.3
添加 LoRA
LoRA
<lora: 模型文件名: 权重 >
权重范围
0 - 1
0 不启作用
负面提示词
lowres
低分辨率
bad anatomy
解刨结构不好
extra digits
手指多余
low quality
质量不高
控制类
强化形态
xxx, xxx, xxx full body shot (全身照)
光线
cinematic lighting (电影光)
dynamic lighting (动感光)
视线
looking at viewer
looking at another
looking away
looking back
looking up
画风
sketch
视角
dynamic angle
from above
from below
wide shot
举个例子
prompt
(masterpiece),(best quality),(ultra-detailed), (full body:1.2), 1girl,chibi,cute, smile, flower, outdoors, playing guitar, jacket, blush, shirt, short hair, cherry blossoms, green headwear, blurry, brown hair, blush stickers, long sleeves, bangs, headphones, black hair, pink flower, (beautiful detailed face), (beautiful detailed eyes),
negative prompt
(low quality:1.3), (worst quality:1.3)
通用反义词
nsfw, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, bad feet,
真实例子
高清修复
子主题
重绘幅度(denoising strength)
图生图则是在你原有的基础上加噪声,噪声权重自己控制,webui界面是不是有个重绘幅度,就是这个
一般情况这些配置会产生不错的效果
采样步数
30
重绘强度
0.6
迭代次数
迭代次数就是我们webui界面的采样步数
随机种子seed
随机种子seed就是我们初始随机得到的一个噪声图,所以如果想要复刻得到一样的图,seed要保持一致
采样器
采样器类型
Euler a
DDIM
DPM
采样器是什么
采样器如何运作
各种不同的采样器,在表现形式上便是不同的 xt−1 计算公式
有哪些区别
CFG (7左右)
文生图的引导
无分类器引导
提示词相关性
无分类器引导
提示词相关性
引导权重越大,生成的图像与给定的文本越相关
最终噪声 = w * 条件预测 + (1 - w) * 无条件预测
Negative Prompt
反向引导词,避免生成不想要的内容
CLIP Skip = 2
为了获得更靠近原始文本的特征,能让 AI绘画模型更听话
目录
模型Models
stable-diffusion-webui / models / Stable-diffusion
lora
stable-diffusion-webui / models / Lora
扩展插件
controlNet
extensions-builtin/sd-webui-controlnet/models
关键技术揭秘
文本引导图片生成原理探秘
文本引导图像生成的过程采用了无分类器引导(Classifier Free Guidance)
这个技巧对应的就是 webui 中我们使用的 CFG Scale
有分类器(Classifier Guidance)
具体做法是训练一个图像分类器,这个分类器需要在加噪之后的数据上进行训练。在文生图的过程中,每一步去噪都需要使用这个分类器计算梯度,用该梯度修正预测的噪声(对应 DDIM 采样),或者用来修正去噪后的图像(DDPM 采样)
有分类器引导的方案需要训练额外的分类器,并且文本对于图像生成的控制能力不强,因此,它逐渐被无分类器引导的方法取代
无分类器(Classifier Free Guidance)
无分类器引导技术巧妙地引入了一个 Guidance Scale 参数,无需训练额外的分类器,就能实现文本对图像生成的控制。具体来说,在每次扩散模型预测噪声的过程中,我们需要使用 UNet 预测两次。
为什么要做两次预测呢?这是因为两次预测有着不同的目的:一次完成有条件的预测,一次完成无条件的预测。我们通过控制有条件预测和无条件预测的插值,便能更好地平衡生成图像的随机性、多样性和图文一致性。
最终噪声
注意力机制原理
介绍
SD 的扩散模型是一个 0.86B 的 UNet,我们在第 11 讲曾经说过,对于 512x512 分辨率的训练数据,经过 VAE 模块之后,我们可以得到 64x64x4 维度的潜在表示。使用这个潜在表示作为 UNet 的输入,可以得到同样维度的输出,预测的是需要去除的噪声值。你可以点开图片了解这里的 UNet 结构。
对于 UNet 的编码器部分,潜在表示分别经过 3 个连续的 CADB(CrossAttnDownBlock2D)模块,分辨率从 64x64x4 降采样到 8x8x1280,得到了对应的特征。接着,这些特征被送入一个不带注意力机制的 DB(DownBLlock2D)模块和一个 MBCA(MidBlock2DCrossAttn)注意力模块。这样,就完成了 UNet 的特征编码。UNet 的解码器部分与编码器部分完全对应,只不过用上采样计算替代了编码器部分的降采样计算。编码器和解码器之间存在跳跃连接,这是为了进一步强化 UNet 模型的表达能力。
Unet
prompt 时间步t 起作用时机
那么,prompt 的文本表征和时间步 t 的编码是如何起作用的呢?用显微镜看看 CADB 模块的内部结构。
图生图计算过程
介绍
方向描述词作用机制
Negative Prompt 和 CLIP Skip
Negative Prompt 和 CLIP Skip
方向提示词
Negative Prompt
Negative Prompt
CLIP Skip = 2
模型
模型分类
CheckPoint(ckpt)
模型体积比较大 几G
基础模型
只能选一个
常见
SD 1.4
SD 1.5
SDXL (SD2.0)
Diffusers
将各个部分拆出来(unet, vae, clip, bin, scheduler, tokenizeer)
Safetensors
Hugging Face 推出自己的存储格式,比 ckpt格式加载速度更快,更安全
LoRa
模型提交比较小,几百M
ke
规定一张脸的样式
规定一类风格
或者规定一些精细的部分
模型提供方
Civitai
https://civitai.com/
Hugging Face
https://huggingface.co/spaces/huggingface-projects/diffusers-gallery
常见大模型
novelai
二次元
guofeng3
国风 3
dreamlike
逼真,仿mid
protogen
真人风格
幽墨人造人 SDXL 1.0
https://civitai.com/models/131800/xlmoyouartificialpersonxl
幽墨人造人 SD1.5
https://civitai.com/models/86232/moyouartificialperson
https://civitai.com/models/86232/moyouartificialperson
CounterFeit
https://civitai.com/models/4468?modelVersionId=57618
可以生成比较精美的漫画形象
ToonYou
https://civitai.com/models/30240?modelVersionId=125771
可以生成很好看的美漫风格
模型转换
FP32
单精度浮点数
FP16
半精度浮点数
BF16
(Brain Float16) 是 FP32尾数截断
模型融合
将不同模型独特的风格和擅长的方面融合
扫盲
关键词
Diffusion
扩散
Stable Diffusion
稳定扩散
ControlNet
Lineart
Canny
Tile
OpenPose
CFG Scale
大致理解为提示词对扩散过程的指导强度。CFG yued
Denoising Strength
重绘强度
原理
机器学习过程
训练数据-》
训练算法-》
模型==》
预测=》
输出结果
Model文件
训练过程图示
具体步骤
Clip
clip会把文本对应一个词表,每个单词标点符号都有相对应的一个数字,我们把每个单词叫做一个token,之前stablediffusion输入有限制只能75个单词(现在没了),也就是75个token,看上面你可能发现6个单词怎么对应8个token,这是因为还包含了起始token和结束token,每个数字又对应这一个768维的向量
四大主流生成模型
生成对抗模型
GAN
变分自动编码器
VAE
流模型
Flow based Model
扩散模型
Diffusion Model
加噪去噪的过程
SD的扩散模型
基本认知
扩散模型的灵感源自 “热力学”扩散效应
图片多步加噪变为噪声,噪声多步去噪变为干净图像
原理都是从模糊到清晰
细节探究
加噪
参数化马尔科夫链将干净的图片逐步变成纯噪声
每一步的加噪结果仅依赖于上一步的加噪结果和一个加噪过程
对于一张干净的图像,可以通过一次计算得到任意 T步加噪声的结果
去噪
从噪声出发,逐步预测噪声并去除噪声
预测噪声
UNet
训练一个 UNet模型来预测噪声值
去除噪声
采样器
DDPM
根据加噪图像和噪声值,使用采样器去除噪声
训练过程 6 步走
随机抽取一张图
随机采样时间步
随机生成一个噪声
一步计算加噪结果
使用 UNet预测噪声
计算第 5 步和第3 步的噪声误差
推理过程 3 步走
获取当前噪声图
使用UNet预测噪声值
使用采样器去除噪声
扩散模型 VS GAN
TransFormer
作用
1. 提升去除噪声的效果
2. 是实现 prompt控制图像内容的关键技术
3. Transformer结构也是 GPT系列工作的核心模块之一
注意力模块通常作为一个子结构嵌入到更大的模型中,
作用是提供全局上下文信息的感知能力。
作用是提供全局上下文信息的感知能力。
关键词
Add & Norm
Feed Forward
Multi-Head Attention
初识序列任务解决方案
CNN
卷积神经网络
解决空间数据问题
图像分类
目标检测
LSTM
长短时记忆网络
解决时序数据问题
RNN
循环神经网络
解决时序数据问题
TransFormer
来源
2017 年由 Google 提出的 Transformer,
是一种基于自注意力机制(self-attention)的模型,
它有效解决了 RNN 类方法的并行计算和长时依赖两大痛点
是一种基于自注意力机制(self-attention)的模型,
它有效解决了 RNN 类方法的并行计算和长时依赖两大痛点
并行计算
长时依赖
组成
Transformer 结构包括编码器(Encoder)和解码器(Decoder)两个部分
编码器
编码器负责处理输入序列。它会根据全局上下文,提取输入数据中的有用信息,并学习输入序列的有效表示。
解码器
解码器则会根据编码器输出的表示,生成目标输出序列。它会关注并利用输入序列的表示以及当前位置的上下文信息,生成输出序列中每个元素的预测。
6层编码器,6 层解码器
通过这两个部分完成对输入序列的表示学习和输出序列的生成
Attention(注意力)机制
应用领域
AI绘画
ChatGPT
AI绘画中也是复用了注意力机制来实现 prompt 对图像内容的控制。
四个关键概念
源序列
源序列就是输入的文本序列。
例如待翻译的文本
例如待翻译的文本
目标序列
目标序列是输出的文本序列。
例如翻译后的文本,通常就是目标语言
例如翻译后的文本,通常就是目标语言
Token(词符)
Token是文本序列中的最小单位,可以是单词、字符等形式。
文本可拆分为一系列的 tokens
文本可拆分为一系列的 tokens
举个例子,文本 Hello world 经过特殊的分词,可以被分为以下 tokens:[“Hello”, " world"]。Token 的词汇表中包含了所有可能情况,每个 token 预先被分配了唯一的数字 ID,称为 token ID。
token ID(每个词都有 token, 每个 token都有一个ID)
词嵌入(Word Embedding)
向量
向量
词嵌入的目标是把每一个 token转换为固定长度的向量表示,
这些向量可以根据 token ID 在训练好的词嵌入库(例如:Word2Vec)中拿到。
这些向量可以根据 token ID 在训练好的词嵌入库(例如:Word2Vec)中拿到。
在 Transformer中,编码器和解码器的输入都是序列经过 token 化之后得到的词嵌入。
词嵌入示例
包含注意力模块、Feed-Forward神经网络、残差链接、层归一化等
注意力机制探究
自注意力机制(Self-Attention)
Scaled Dot-Product Attention
MatMul
这代表矩阵乘法(Matrix Multiplication)
用于两个矩阵之间的乘积。在注意力机制中,我们通常会有查询(Q)、键(K)和值(V)这三个矩阵,它们通过矩阵乘法来相互作用。
SoftMax
激活函数
通常在机器学习模型的输出层使用,可以将一个向量转换为一个概率分布。在注意力机制中,SoftMax用于赋予不同的输入不同的权重,这些权重会决定在输出中每个输入的重要性
Mask(opt)
这是一个可选的步骤,用于“掩码”或者忽略某些不应该影响注意力权重的数据。例如,在处理序列数据时,掩码可以用来避免未来的信息“泄露”到模型。
Scale
缩放是对矩阵乘法的结果进行缩放处理,通常是为了控制梯度的大小。在这种情况下,它通常通过除以键向量维度的平方根来实现,这有助于稳定训练过程
Q,K,V
这些分别代表“Query(查询)”、“Key(键)”和“Value(值)”。在注意力机制中,我们计算查询和所有键之间的相似度,然后用这些相似度的软最大化版本作为权重,来加权对应的值,从而得到输出。
实现过程
Wq
源自同一个输入序列
Wk
源自同一个输入序列
Wv
源自同一个输入序列
交叉注意力 (Cross-Attention)
从源序列产生 K和 V向量
将 prompt描述经过 CLIP模型得到的特征向量作为源序列,得到 K和 V
从目标序列产生 Q向量
将 Zt视为目标序列,得到 Q
实现过程
Wq
源自同一个输入序列
Wk
源自同一个输入序列
Wv
源自目标序列
单向注意力(Unidirectional Attention)
双向注意力(BidirectionalAttention)
因果注意力(Causal Attention)
多头注意力(Multi-Head Attention)
并行处理输入序列
实现
编码器-解码器注意力
巧用 Mask模块
单向注意力
双向注意力
因果注意力
TransFormer优缺点
优点
处理长序列数据时速度更快,更易于并行计算
直接关注序列中任意距离的依赖关系,不再受制于之前的隐状态传递
缺点
训练通常需要大量的数据
对内和计算资源的需要较高
UNet(预测噪声)
作用
使用 UNet网络预测每一步的噪声
说明
UNet是一种 U型的全卷积神经网络,存在一个明显的编码、解码过程
并且编码器和解码器中间存在特征融合。
并且编码器和解码器中间存在特征融合。
已经提出,便成为处理图像分割任务的经典模型
UNet的输入
标准UNet输入
1. 文本表征
2. 上一步去噪后的潜在表示
3. 时间步t的编码
SD图形变体模型方案, 追加数据
1. image_embeds
图像表征
图像表征
基本结构
1. 独特的 U型结构。
左侧是编码器
右侧是解码器
对于图像分割任务,编码器的输入是原始图像,解码器的输出是分割结果。
2. 基于编码器 - 解码器设计思想。
UNet 的编码器由连续的卷积层和池化层交替组成,每个卷积层用于提取更深层次的图像特征,通常在卷积之后使用非线性激活函数(如 ReLU)以引入非线性。随后,池化层(如最大池化)用于进行降采样,以减小每一层的空间尺寸。经过编码器阶段后,高分辨率的输入图像就转化成了具备较低空间尺寸的特征图。
3. 编码器与解码器之间存在跳跃连接。
文档介绍
chatgpt4
https://chat.openai.com/share/699213d5-3dfe-414c-9ea6-e801a7ff3e4d
采样器
介绍
任何图像都可以通过不断添加噪声,变成完全被噪声覆盖的图像。反过来,一张噪声图像通过逐步去除噪声,可以变得清晰可辨。在这个去除噪声的过程中,起到关键作用的正是今天课程里的“主角”——采样器。
主打去噪
简言之,UNet 负责预测噪声,采样器负责“减去”噪声。这个过程反复迭代,我们就能从噪声图 xt 得到 xt−1,然后得到 xt−2,最终得到 x0,也就是清晰可辨的图像。
采样器如何运作
各种不同的采样器,在表现形式上便是不同的 xt−1 计算公式
采样器类型
求解随机微分方程
Euler
可以看作是最简单的求解器。
Heun
比欧拉法更准确但速度较慢。
LMS (Linear multi-step method)
与欧拉法速度差不多,但(据说)更准确。
求解常微分方程
随机采样器
说明
你可能注意到还有一些采样器的名称中也有一个字母 a 它们都属于祖先采样器(ancestral samplers)。祖先采样器会在每个采样步骤中向图像添加噪声。因为采样结果有一定的随机性,所以它们是随机采样器。
Euler a
DPM2 a
DPM++ 2S a
DPM++ 2S a Karras
带有Karras标签的采样器
它们采用了 Karras 文章中推荐的噪声策略。在接近去噪过程结束时,将噪声步长变小。研究人员发现这可以提高图像的质量。
专为扩散模型设计的新采样器
DPM(扩散概率模型求解器)
DPM++ 采样器
采样器选择
CLIP
文字表征提取, 使用文本、图像数据对进行训练
原理
监督信号
CLIP 通过巧妙的设计利用了图像模态和文本模态的对应关系。CLIP 分别构造了一个图像编码器和一个文本编码器,将图像及其文本描述映射到一个特征空间,比如我们可以映射到 512 维度的特征空间。简言之,一张图或者一个文本描述,经过映射都是 512 个浮点数。那么此时,我们需要设计一个监督信号,利用图文成对的关系,驱动两个编码器模型学习到有效的特征提取能力。该怎么做呢?
工作过程
我们输入的 prompt 首先会经过 tokenizer 完成分词,得到每个分词的 token_id。之后在预训练的词嵌入库中根据 token_id 拿到词嵌入向量,并将这些词嵌入向量拼接在一起,输入到 CLIP 的文本编码器。接着,经过 CLIP 文本编码器提取到的文本表征,便可以通过交叉注意力机制控制图像生成。
tokenizer(分词)
得到每个分词的token_id
得到每个分词的token_id
从预训练词库中根据token_id拿词嵌入向量
输入到CLIP文本编码器
得到文本表征
得到文本表征
文本表征输入到交叉注意力UNet
VAE
图像进行潜空间表示,以及从潜空间恢复到原图尺寸的能力
潜空间分辨率常用的为 64x64
解码后得到的便是 512x512
LoRA
ControlNet
介绍
原理
支持的功能
ip2p
shuffle
tile
depth
canny
inpaint
lineart
mlsd
normalbae
openpose
scribble
seg
softedge
lineart_anime
训练
版本
SD1.x
ControlNet1.0
支持的模型
canny
老的边缘检测算法
HED
现代边缘检测算法
MLSD
提取图像的直线轮廓
Scribble
涂鸦生成图像
Normal
法线
Depth
提取图像深度信息
OpenPose
提取肢体关键点
Seg
图像分割处理
命名规范
control_sd15_canny.pth
sd15标识训练这个 ControlNet的基础模型是 SD1.5
Canny便是 ControlNet的控制条件是 Canny算子,也就是提取原始图像的边缘
ControlNet1.1
支持的模型
命名规范
SDXL
训练模型
训练原理
1.文本编码器将输入文本提示投影到潜在空间。
2.VAE的图像编码器部分将输入图像投影到潜在空间。
3.对于给定的时间步长,将少量噪声添加到图像潜在向量中
4.扩散模型使用来自这两个空间的潜在向量以及时间步长嵌入来预测添加到图像潜在的噪声
5.计算预测噪声和步骤3中添加的原始噪声之间的重建损失。
6.使用梯度下降对扩散模型参数进行优化。
在微调期间仅更新扩散模型参数,而(预训练的)文本和图像编码器保持冻结状态。
几个关键模型
Textual Inversion
Hypernetworks
Dreambooth
文本,unet都会修改
整个大模型都会修改
LoRA
Embeddings
Hypernetwork
数学知识
向量
余弦距离
出处
CLIP 是图像编码器和文本编码器的组合,使用两个编码器对数据分别进行编码。然后使用余弦距离比较结果嵌入,刚开始训练时,即使文本描述与图像是相匹配的,它们之间的相似性肯定也是很低的
使用
余弦距离
在深度学习和自然语言处理中,经常使用向量空间来表示数据,例如图像或文本可以被表示为一个高维向量。当我们说两个向量相似,通常是指它们的方向相近,而不仅仅是它们的欧氏距离接近。为了衡量两个向量的方向有多么相似,我们使用余弦相似度。余弦相似度的值范围为[-1,1],其中1表示完全相同的方向,0表示正交,-1表示完全相反的方向。
而余弦距离则是余弦相似度的补数,它表示向量之间的方向差异。计算公式为:
余弦距离=1−余弦相似度
在深度学习和自然语言处理中,经常使用向量空间来表示数据,例如图像或文本可以被表示为一个高维向量。当我们说两个向量相似,通常是指它们的方向相近,而不仅仅是它们的欧氏距离接近。为了衡量两个向量的方向有多么相似,我们使用余弦相似度。余弦相似度的值范围为[-1,1],其中1表示完全相同的方向,0表示正交,-1表示完全相反的方向。
而余弦距离则是余弦相似度的补数,它表示向量之间的方向差异。计算公式为:
余弦距离=1−余弦相似度
为什么使用余弦距离?
在许多情况下,我们关心的是数据点之间的方向或角度,而不是它们的大小或长度。例如,在文本分析中,长篇文章和短句子可能指向相同的主题,但它们的向量长度是不同的。通过使用余弦距离,我们可以有效地比较这些向量的方向,而不受它们的大小或长度的影响。
例子
想象一下,我们有两个2D向量 A(2,2) 和 B(4,4)。这两个向量在方向上是相同的,但B的长度是A的两倍。如果只使用欧氏距离,那么这两个向量之间会有一个固定的距离。但使用余弦相似度,我们会发现这两个向量的方向是完全相同的,所以它们的余弦相似度是1,而余弦距离是0。
在CLIP的上下文中,图像和文本都被编码成高维向量。通过计算这两个向量之间的余弦距离,CLIP可以衡量图像和文本描述之间的相似性。
在CLIP的上下文中,图像和文本都被编码成高维向量。通过计算这两个向量之间的余弦距离,CLIP可以衡量图像和文本描述之间的相似性。
梯度下降
损失函数
探索更多局部最优解
然后针对这些最优解扩大底部粗度,找更多最优解
0 条评论
下一页