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(t∣z)是一个狄拉克delta函数,也就是说无论 t t t是一个确定值,已知 z z z就已知 t t t,那 R ( z ∣ t ) R(z|t) R(z∣t)就是一个确定值,可以直接当作 R ( z ) R(z) R(z),就可以直接用这里的unconditional变体代替conditional的,网络就不需要 t t t作为额外输入。
-
那接下来的问题就是确定 p ( t ∣ z ) p(t|z) p(t∣z)有多接近一个狄拉克delta函数。这里就可以从noise level estimation借鉴,既然这些方法可以从带噪声的图片估计出噪声强度,那么当 z z z是一张带噪声图片时, p ( t ∣ z ) p(t|z) p(t∣z)就是一个concentrated distribution,这就比较接近狄拉克delta函数了。具体有多接近,要看分布的方差有多大,文中推导了以下结果:
其中 d d d是数据维度 -
可以看到,数据维度越大,对应的方差就越小。不过这里是用简单假设推导的,实际的复杂情况可以用实验来试试:
-
接着可以分析直接用狄拉克delta代替 p ( t ∣ z ) p(t|z) p(t∣z),即去掉 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(z∣t)和学习 R ( z ) R(z) R(z)时都能完美拟合,但实际上学习 R ( z ∣ t ) R(z|t) R(z∣t)和学习 R ( z ) R(z) R(z)的难度不同,网络有可能因为学习 R ( z ∣ t ) R(z|t) R(z∣t)更难而学习 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(z∣t)要更小,即学习 R ( z ) R(z) R(z)的方法可能比学习 R ( z ∣ t ) R(z|t) R(z∣t)具备更优秀的性能。所以接下来就是实验部分,把网络的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上有更好的效果。