- 两个过程
- 前向过程(forward process):添加噪声;
- 反向过程(reverse process),又称为扩散过程(diffusion process):去除噪声,数据样本生成。
- 过程核心原理
- 无论是前向过程还是反向过程都是一个参数化的马尔可夫链(Markov chain),即当前过程状态仅与上个过程状态相关;
- 复杂的条件概率推理最终将这个过程简化为学习噪声分布的网络。
- 前向过程如何加噪
- 添加 t 次随机高斯噪声(逐渐增大),但是这样比较繁琐;
- 推理得到最终添加的所有噪声可以表达为与 t 相关的一个公式;
- 每批(个)样本添加噪声的时候 t 是随机选取的。
- 反向过程如何降噪
- 反向过程的噪声不是一步到位直接去除,前向过程添加 t 次噪声,反向过程就要去除 t 次噪声;
- 每次降噪都是用一个训练好的网络,输入为当前时刻 t 和 当前值 x_t(有条件的话还要输入条件),输出噪声分布;
- 为了加快降噪过程可以减少 t 的次数。
- loss是如何计算的
- 由降噪过程可知 diffusion 使用网络学习噪声分布,loss 是约束每次添加的噪声和网络输出的噪声之间的距离。
本文介绍了深度学习中的前向过程(添加噪声)和反向过程(降噪),这两个过程本质上是参数化的马尔可夫链。前向过程通过逐步添加高斯噪声,而反向过程则是逐层降噪,使用训练网络预测噪声分布。Loss函数衡量了添加的噪声与网络输出噪声的匹配程度。
&spm=1001.2101.3001.5002&articleId=135840416&d=1&t=3&u=a3a6981bb3c14e1bb8e3b7b3813c6ef3)
3573

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



