图像生成的扩散模型:从基础到应用
1. 扩散模型简介
在之前的图像生成方法中,我们学习了从噪声生成图像,以及根据条件输入(如图像类别)生成图像。但这些方法往往能直接从随机噪声得到完整图像。而扩散模型则提供了一种更渐进的图像生成方式,它可以从随机噪声逐步生成图像轮廓,再随着训练轮次增加获取图像的细节。此外,扩散模型还能根据文本输入生成图像。
扩散模型模拟了扩散过程,即一个量(这里指图像中的像素值)随时间逐渐扩散或分散的过程。
2. 扩散模型的工作原理
扩散模型的工作分为正向过程和反向过程:
- 正向过程 :假设有一组图像,在正向过程中,随着时间步的增加,逐渐向图像中添加少量噪声。例如,在第一次迭代时,噪声量非常低,而在第100次迭代时,噪声量非常高。
- 反向过程 :以第100个时间步的噪声图像作为输入,预测图像中存在的噪声量。然后,去除预测的噪声,添加少量噪声(以保持稳定性),并预测第99个时间步的噪声,重复这个过程,直到达到第一个时间步。
扩散模型是一种典型的U - Net模型(通过注意力和残差网络模块进行了修改),其工作步骤如下:
1. 输入图像是根据时间步(t)具有不同噪声的噪声图像。
2. 将图像与时间嵌入(对应于时间步)一起通过几个卷积和池化步骤,得到编码器向量。
3. 将编码器向量通过上卷积,并像在U - Net架构的分割练习中那样添加来自输入的跳跃连接。
4. 预测输入图像中存在的噪声。
5. 从输入图像中减去预测的噪声。
6. 对于时间步t - 1,重复步骤1,并向步
超级会员免费看
订阅专栏 解锁全文

80

被折叠的 条评论
为什么被折叠?



