所以,本文就从 VAE 的角度来重新介绍一版 DDPM,同时分享一下自己的 Keras 实现代码和实践经验。
多步突破
在传统的 VAE 中,编码过程和生成过程都是一步到位的:
场景再现
接下来的过程就跟上一篇文章的“又如何建”一节基本上是一样的了:
这就得到了 DDPM 的训练目标了(原论文通过实验发现,去掉上式前面的系数后实际效果更好些)。它是我们从 VAE 的优化目标出发,逐步简化积分结果得到的,虽然有点长,但每一步都是有章可循的,有计算难度,但没有思路上的难度。
超参设置
参考实现
Github地址:
https://github.com/bojone/Keras-DDPM
2. 归一化方式可以用 Instance Norm、Layer Norm、Group Norm 等,但不要用 Batch Norm,因为 Batch Norm 存在训练和推理不一致的问题,可能出现训练效果特别好,预测效果特别差的问题;
3. 网络结构没有必要照搬原论文,原论文是为了刷 SOTA 发论文,照搬的话肯定是又大又慢的,只需要按照 U-Net 的思路设计自编码器,就基本上可以训练出个大概效果了,因为就相当于是个纯粹的回归问题,还是很好训练的;
综合评价
结合《生成扩散模型漫谈:DDPM = 拆楼 + 建楼》和本文的介绍,想必读者都已经对 DDPM 有自己的看法了,能基本看出 DDPM 优点、缺点以及相应的改进方向在哪了。
相关工作
说到 DDPM 的相关工作,多数人会想到传统扩散模型、能量模型等工作,又或者是去噪自编码器等工作,但笔者接下来想说的不是这些,而是本博客之前介绍过的、甚至可以认为 DDPM 就是它的特例的《强大的 NVAE:以后再也不能说 VAE 生成的图像模糊了》。
文章小结
参考文献
[1] https://arxiv.org/abs/1503.03585
[2] https://kexue.fm/archives/9059
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧