当前位置: 首页 > news >正文

DDPM(Diffusion)个人总结

注:这是笔者自己的笔记,主要供复习使用,因此比较粗糙,详细过程请移步其余优秀博客

最终目的:得到p(x0∣xT)p(x_0|x_T)p(x0xT)。其中TTT是加噪的步数,是预先定义的;注意,这里学习的是x0x_0x0的分布,而不是x0x_0x0

为了实现这个目的,我们的模型真正学习的是:p(xt−1∣xt)p(x_{t-1}|x_t)p(xt1xt),有了这样的模型,我们就可以一步步,由xTx_TxT一直推理到x0x_0x0了。

而前向(加噪)过程是已经被定下来的:xt=αtxt−1+βtεtx_t=\sqrt{α_t}x_{t-1}+\sqrt{β_t}ε_txt=αtxt1+βtεt,其中εt∼N(0,I)ε_t\sim N(0,I)εtN(0,I),于是xt∼N(αtxt−1,βt)x_t\sim N(\sqrt{α_t}x_{t-1},β_t)xtN(αtxt1,βt),于是xt=α˜tx0+β˜tεx_t=\sqrt{\~α_t}x_{0}+\sqrt{\~β_t}εxt=α˜tx0+β˜tε,其中ε∼N(0,I)ε\sim N(0,I)εN(0,I)

现在,求p(xt−1∣xt)p(x_{t-1}|x_t)p(xt1xt)。根据贝叶斯公式,推导出xt−1=μˉ(x0,xt)+β˜tεx_{t-1}=\bar{μ}(x_0,x_t)+\sqrt{\~β_t}εxt1=μˉ(x0,xt)+β˜tε,其中ε∼N(0,I)ε\sim N(0,I)εN(0,I)μˉ(x0,xt)=αˉt−1βt1−αˉtx0+αt(1−αˉt−1)1−αˉtxt\bar{\mu}(x_0, x_t) = \frac{\sqrt{\bar{\alpha}_{t-1}} \, \beta_t}{1 - \bar{\alpha}_t} x_0 + \frac{\sqrt{\alpha_t} (1 - \bar{\alpha}_{t-1})}{1 - \bar{\alpha}_t} x_tμˉ(x0,xt)=1αˉtαˉt1βtx0+1αˉtαt(1αˉt1)xt。注意,在训练时,x0x_0x0是已知的原图,可以直接使用。但推理时,x0x_0x0是未知的,就需要进行预测。(以下为推理时的公式)

如何预测呢?由于xt=α˜tx0+β˜tεx_t=\sqrt{\~α_t}x_{0}+\sqrt{\~β_t}εxt=α˜tx0+β˜tε,可以得到x0=xt−1−αˉtϵαˉtx_0 = \frac{x_t - \sqrt{1 - \bar{\alpha}_t}\, \epsilon}{\sqrt{\bar{\alpha}_t}}x0=αˉtxt1αˉtϵ。注意,这里可不是直接可以推理得到最终生成图片x0x_0x0了。公式上当然是的,但效果会很差。这里的x0x_0x0只是用来推理xt−1x_{t-1}xt1的一个小零件。我们的U-net输出的噪声就是此处公式中的噪声εεε,即当初生成xtx_txt时的噪声。

x0x_0x0带入μˉ(x0,xt)\bar{\mu}(x_0, x_t)μˉ(x0,xt),有μˉ(x0,xt)=1αt(xt−βt1−αˉt)\bar{\mu}(x_0, x_t)=\frac{1}{\sqrt{α_t}}(x_t-\frac{β_t}{\sqrt{1-\bar{α}_t}})μˉ(x0,xt)=αt1(xt1αˉtβt)

于是,现在:xt−1=μˉ(x0,xt)+β˜tεx_{t-1}=\bar{μ}(x_0,x_t)+\sqrt{\~β_t}εxt1=μˉ(x0,xt)+β˜tε,我们对这里的εεε随机采样,就可以得到预测的xt−1x_{t-1}xt1了。

http://www.dtcms.com/a/516644.html

相关文章:

  • 解决了“错误的问题”:对AI编程热潮的深度反思
  • 【回眸】嵌入式软件面试题背诵版
  • FreeRTOS主要寄存器说明及面试题
  • 怎么写公司网站的文案做360手机网站
  • 涿州网站制作wordpress选中改变字体颜色
  • 企业如何进行海外营销?
  • 【sqlite】WAL初探
  • 制作网站的顺序是海南网上报名系统
  • 做网站都需要哪些知识珠海市住房和城乡建设局网站
  • MySQL分组查询GROUP BY
  • 数组——双指针:75.颜色分类
  • LLD文档核心:从模块设计到落地开发
  • 雄安做网站深圳出台科技支持政策
  • 网站域名能更该吗怎样用模板建网站
  • proc文件系统入门到精通教程
  • 点积、内积与哈达玛积详解
  • 杭州模板建站2022注册公司取名
  • 政务网站建设论文西地那非片吃了多久会硬起来
  • 金融杠杆全解析:从铁矿期货保证金计算到期权盈亏分析
  • 【工具变量】绿色金融改革创新试验区DID数据集(2000-2024年)
  • Prometheus:从概述到部署
  • 32.768khz音叉式圆柱型贴片晶振CMR200T
  • ROS2创建Python与C++功能包指南以及什么是节点(ros2第一章)
  • wordpress可以建网站吗电子商务网站建设 教案
  • vr中xr射线长度调整
  • 怎样做微信挂机平台网站建设公司的网站首页
  • 【Go】P11 掌握 Go 语言函数(二):进阶玩转高阶函数、闭包与 Defer/Panic/Recover
  • 无奈!我用go写了个MySQL服务
  • 重庆网站建设业务招聘网站推广方式主要通过
  • GaussDB 数据集成方案:ETL 工具如何简化企业上云过程