type
status
date
slug
summary
tags
category
icon
password
comment
SD模型在生成图片时,需要输入prompt提示词,这些文本信息通过注意力机制影响图片的生成。扩散模型的可逆性基于马尔可夫链和贝叶斯定理。前向过程是一个马尔可夫链,而反向过程则是利用贝叶斯推断来逆转这个链。
文本 Prompt 如何控制图片生成
在SD模型的训练中,每个训练样本都会对应一个文本描述的标签,我们将对应标签通过CLIP Text Encoder输出Text Embeddings,并将Text Embeddings以Cross Attention的形式与U-Net结构耦合并注入,使得每次输入的图片信息与文本信息进行融合训练,如下图所示:
上图中的token是NLP领域的一个基础概念,可以理解为最小语义单元。与之对应的分词操作为tokenization。举一个简单的例子来帮助大家理解:“WeThinkIn是伟大的自媒体”是一个句子,我们需要将其切分成一个token序列,这个操作就是tokenization。经过tokenization操作后,我们获得["WeThinkIn", "是", "伟大的", "自媒体"]这个句子的token序列,从而完成对文本信息的预处理。
SD 的前向扩散过程和反向扩散过程
- 前向过程(Forward Process):
- 从原始数据 x0 开始,逐步加入噪声,生成一系列带噪声的样本 x1, x2, ..., xT
- 每一步加入的噪声服从高斯分布,噪声程度逐渐增大
- 最终 xT 近似纯噪声
- 反向过程(Reverse Process):
- 从纯噪声 xT 开始,逐步去噪,重建原始数据 x0
- 使用神经网络预测每一步的去噪方向和幅度
- 最终得到生成的样本
- 训练:
- 使用原始数据样本
- 对每个样本模拟前向过程,得到不同噪声程度的样本
- 训练神经网络,预测每一步的噪声,使其能够逆向重建原始样本
- 损失函数通常是预测噪声与实际加入噪声的均方误差
- 采样/生成:
- 从随机噪声开始
- 应用训练好的神经网络,逐步去噪
- 最终得到生成的样本
- 优点:
- 生成质量高
- 训练稳定
- 灵活性强,可以条件化生成
- 应用:
- 图像生成
- 音频合成
- 分子设计等
扩散模型的可逆性基于马尔可夫链和贝叶斯定理。前向过程是一个马尔可夫链,而反向过程则是利用贝叶斯推断来逆转这个链。