【李宏毅2023】
扩散模型:和其他生成模型一样,实现从噪声(采样自简单的分布)生成目标数据样本。
Image-to-Image
Denoise过程会连续经过很多次,图中step 1000和step 1 中的Denoise模块都是相同的。
Denoise的输入除了包含噪声的图片之外,还会额外输入一个数字,表示当前噪声严重的程度。下图中的1000就是刚开始Denoise的时候,1就代表Denoise的过程快结束了。每个Denoise都是相同的。
Denoise内部结构
Denoise中存在一个Noise Predicter,根据输入的噪声图片和噪声程度数据预测图片中的noise,然后将图片减去noise输出。这里之所以预测噪声没有预测去掉噪声的猫,是因为比较来说,预测噪声这个任务比预测去掉噪声的猫图片更容易。
对应的Noise Predicter训练过程
扩散模型包括两个过程:前向过程(forward process)和反向过程(reverse process),其中前向过程又称为扩散过程(diffusion process),反向过程可用于生成数据样本(它的作用类似GAN中的生成器,只不过GAN生成器会有维度变化,而DDPM的反向过程没有维度变化)。
前向过程逐渐增加噪声,每一步的噪声与结果就构成了Noise Predicter的输入和ground truth。
Text-to-Image
在此基础上,输入文本,输出图片。Denoise根据输入图片和图片的文本描述,输出去噪的图片。