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

Is Noise Conditioning Necessary for Denoising Generative Models?论文阅读笔记

在这里插入图片描述

  • 很吸引人的一个标题,很吸引人的一个作者,来读一读明神的新作,讲的是怎么把去噪领域的一些有意思的思想,特别是blind denoising和noise-level estimation的思想,应用到denoising diffusion模型中,从而去掉denoising duffusion中的noise condition,也就是DDNM和DDPM中的时间步长 t,t 是用来估计噪声强度的,其实和blind denoising与noise-level estimation的噪声强度是对应的,既然blind denoising可以在无需提供噪声强度作为提示的情况下进行去噪,是不是意味着denoising generative model也不需要 t 作为输入呢。如果能做到这一点,是有好处的,比如可以使用一个统一的score function,而不需要以 t 为条件,这样在理论上更优雅一些。

  • 文章提到,尽管损失函数是以下公式:
    在这里插入图片描述
    但网络的regression target却并不是 r ( x , ϵ , t ) r(x,\epsilon,t) r(x,ϵ,t),而是一些能够将 ( x , ϵ , t ) (x,\epsilon,t) (x,ϵ,t)映射到 z z z r r r值的期望。说起来有点绕,换个说法,如果已知 z z z t t t,有没有可能得知一个唯一正确的 r r r,文章想表达的是不可能,已知 z z z t t t的情况下 r r r不唯一,那么这个损失函数并不是真正地让网络在回归拟合一个函数,这个函数不存在,网络只是在学习r的可能取值的期望。文章画了个图来表达这个不唯一性
    在这里插入图片描述

  • 那么我们可以把这个损失函数改为它的等价形式,设 r r r的期望为 R R R,那么等价形式是:
    在这里插入图片描述
    在这里插入图片描述
    而关于这个采样函数 p p p我们所知就是 z z z x x x的条件分布和 ( x , ϵ , t ) (x,\epsilon,t) (x,ϵ,t)的联合分布:
    在这里插入图片描述

  • 这个时候我们可以把 t t t去掉,假设网络并不以 t t t为输入,会变成下面的损失函数:
    在这里插入图片描述

  • 从新的 R ( z ) R(z) R(z)可以看到,如果这里的 p ( t ∣ z ) p(t|z) p(tz)是一个狄拉克delta函数,也就是说无论 t t t是一个确定值,已知 z z z就已知 t t t,那 R ( z ∣ t ) R(z|t) R(zt)就是一个确定值,可以直接当作 R ( z ) R(z) R(z),就可以直接用这里的unconditional变体代替conditional的,网络就不需要 t t t作为额外输入。

  • 那接下来的问题就是确定 p ( t ∣ z ) p(t|z) p(tz)有多接近一个狄拉克delta函数。这里就可以从noise level estimation借鉴,既然这些方法可以从带噪声的图片估计出噪声强度,那么当 z z z是一张带噪声图片时, p ( t ∣ z ) p(t|z) p(tz)就是一个concentrated distribution,这就比较接近狄拉克delta函数了。具体有多接近,要看分布的方差有多大,文中推导了以下结果:
    在这里插入图片描述
    其中 d d d是数据维度

  • 可以看到,数据维度越大,对应的方差就越小。不过这里是用简单假设推导的,实际的复杂情况可以用实验来试试:
    在这里插入图片描述

  • 接着可以分析直接用狄拉克delta代替 p ( t ∣ z ) p(t|z) p(tz),即去掉 t t t导致的误差有多大:
    -
    在这里插入图片描述
    这里 E ( z ) E(z) E(z)约等于1,大概是 R ( z ) R(z) R(z)的千分之一,因此可以去掉 t t t,误差并不会太大。不过,由于推理阶段需要迭代采样,随着采样schedule的不同,产生的积累误差也不同。具体推导在这:
    在这里插入图片描述

  • 并且,前面的分析基于的假设是网络在学习 R ( z ∣ t ) R(z|t) R(zt)和学习 R ( z ) R(z) R(z)时都能完美拟合,但实际上学习 R ( z ∣ t ) R(z|t) R(zt)和学习 R ( z ) R(z) R(z)的难度不同,网络有可能因为学习 R ( z ∣ t ) R(z|t) R(zt)更难而学习 R ( z ) R(z) R(z)更简单,导致尽管 R ( z ) R(z) R(z)存在误差,但是网络预测与 R ( z ) R(z) R(z)之间的误差更小,使得总误差相比学习 R ( z ∣ t ) R(z|t) R(zt)要更小,即学习 R ( z ) R(z) R(z)的方法可能比学习 R ( z ∣ t ) R(z|t) R(zt)具备更优秀的性能。所以接下来就是实验部分,把网络的noisie conditioning去掉,并且找到一个使得误差足够小的采样schedule。

  • 文章对DDIM等模型做了一些实验,结果是,使用 t t t通常效果会更好,但没有 t t t其实也并不影响网络的生成能力,网络仍然能正常生成图片。只是效果不如使用 t t t的模型。文章也试了几种不使用 t t t的方案,其实结果都差不多:
    在这里插入图片描述

  • 总结,很有意思的一篇工作,虽然没有提出效果更好的模型,但是从理论和实验都展示了一个结论, t t t不是必要的,期待引入一些方法,在无 t t t的denoising generative model上有更好的效果。

相关文章:

  • 开源向量数据库Milvus简介
  • RNN实现精神分裂症患者诊断(pytorch)
  • 在日常工作中,有一块新磁盘,如何扩容到vm中,具体命令是什么?
  • XSL 语言:XML 样式表的语言基础与应用
  • 初识uniApp
  • 【Java项目】基于SpringBoot的Java学习平台
  • 在Ubuntu中,某个文件的右下角有一把锁的标志是什么意思?
  • 在什么情况下需要使用光谱相机呢?
  • 《Neurocomputing》投稿历程
  • 从UNIX到Linux:操作系统进化史与开源革命
  • 模拟器DTXMania的DTX文件格式规范
  • 挺逼真:AI绘画+AI扩图,已解锁,无限次生成~~~
  • 「Selenium+Python自动化从0到1②|2025浏览器操控7大核心API实战(附高效避坑模板))」
  • 基于trl复现DeepSeek-R1的GRPO训练过程
  • python之线程池ThreadPoolExecutor笔记
  • 单片机栈和堆、FALSH、区别
  • OpenEuler学习笔记(三十五):搭建代码托管服务器
  • #渗透测试#批量漏洞挖掘#某图创图书馆集群管理系统updOpuserPw SQL注入(CVE-2021-44321)
  • 如何杀死僵尸进程?没有那个进程?
  • 在线流式TTS
  • 国外网站关键词/网页设计模板网站免费
  • wordpress多站点互相链接/网站关键词排名怎么提升
  • 上海网站建设规划/全网营销平台
  • 做垃圾网站怎么赚钱/不死鸟分享友情链接
  • 天迈装饰网站建设项目/上海百度seo公司
  • seo网站优化方法/网络营销推广是做什么的