深入浅出 diffusion(1):白话 diffusion 原理(无公式)

  • 两个过程
  • 前向过程(forward process):添加噪声;
  • 反向过程(reverse process),又称为扩散过程(diffusion process):去除噪声,数据样本生成。

  • 过程核心原理
  • 无论是前向过程还是反向过程都是一个参数化的马尔可夫链(Markov chain),即当前过程状态仅与上个过程状态相关;
  • 复杂的条件概率推理最终将这个过程简化为学习噪声分布的网络。

  • 前向过程如何加噪
  • 添加 t 次随机高斯噪声(逐渐增大),但是这样比较繁琐;
  • 推理得到最终添加的所有噪声可以表达为与 t 相关的一个公式;
  • 每批(个)样本添加噪声的时候 t 是随机选取的。

  • 反向过程如何降噪
  • 反向过程的噪声不是一步到位直接去除,前向过程添加 t 次噪声,反向过程就要去除 t 次噪声;
  • 每次降噪都是用一个训练好的网络,输入为当前时刻 t 和 当前值 x_t(有条件的话还要输入条件),输出噪声分布;
  • 为了加快降噪过程可以减少 t 的次数。

  • loss是如何计算的
  • 由降噪过程可知 diffusion 使用网络学习噪声分布,loss 是约束每次添加的噪声和网络输出的噪声之间的距离。

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-01-25 13:48:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-25 13:48:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-25 13:48:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-25 13:48:02       20 阅读

热门阅读

  1. 【node】关于npm、yarn、npx的区别与使用

    2024-01-25 13:48:02       42 阅读
  2. c#模板设计模式

    2024-01-25 13:48:02       32 阅读
  3. 蓝桥杯题目-回文日期

    2024-01-25 13:48:02       42 阅读
  4. #Uniapp: uni.makePhoneCall(OBJECT) 拨打电话

    2024-01-25 13:48:02       33 阅读
  5. 5-分页实现

    2024-01-25 13:48:02       40 阅读
  6. vue2面试题:vue组件之间的通信方式有哪些?

    2024-01-25 13:48:02       31 阅读