DIFFUSION POSTERIOR SAMPLING FOR GENERALNOISY INVERSE PROBLEMS (Paper reading)

article/2025/10/19 15:20:53

DIFFUSION POSTERIOR SAMPLING FOR GENERALNOISY INVERSE PROBLEMS

Hyungjin Chung, Kim Jae Chul Graduate School of AI, ICLR 2023 spotlight, Cited:10, Code, Paper.

目录子

  • DIFFUSION POSTERIOR SAMPLING FOR GENERALNOISY INVERSE PROBLEMS
    • 1. 前言
    • 2. 整体思想
    • 3. 方法
    • 实验

1. 前言

大多数工作都集中在在无噪声环境中解决简单的线性逆问题,这显著低估了真实世界问题的复杂性。在这项工作中,通过近似后验采样来扩展扩散求解器,有效的处理了一般的有噪声(非)线性逆问题。有趣的是,得到的后验采样方案是扩散采样与流形约束梯度的混合版本,而没有严格的测量一致性投影步骤,在有噪声环境中相比于之前的研究产生了更理想的生成路径。我们的方法展示了扩散模型可以结合各种测量噪声统计,如高斯和泊松,并且也能有效地处理有噪声非线性逆问题,如傅里叶相位恢复和非均匀去模糊。

2. 整体思想

本文的整体思想就是条件扩散模型,与Guided Diffusion是类似的思想,但是本文是从VP-SDE的角度来解决问题的。同样这是一篇非盲求解逆问题的工作。

3. 方法

VP-SDE形势如下,推导过程间Score-Based Generative Modeling Through Stochastic Differential Equations (Paper reading):
d x = − β ( t ) 2 x d t + β ( t ) d w \begin{equation} d \boldsymbol{x}=-\frac{\beta(t)}{2} \boldsymbol{x} d t+\sqrt{\beta(t)} d \boldsymbol{w} \end{equation} dx=2β(t)xdt+β(t) dw
目标是从可追踪分布开始恢复数据生成分布,这可以通过下面相应的反向SDE来实现:
d x = [ − β ( t ) 2 x − β ( t ) ∇ x t log ⁡ p t ( x t ) ] d t + β ( t ) d w ‾ \begin{equation} d \boldsymbol{x}=\left[-\frac{\beta(t)}{2} \boldsymbol{x}-\beta(t) \nabla_{\boldsymbol{x}_{t}} \log p_{t}\left(\boldsymbol{x}_{t}\right)\right] d t+\sqrt{\beta(t)} d \overline{\boldsymbol{w}} \end{equation} dx=[2β(t)xβ(t)xtlogpt(xt)]dt+β(t) dw
漂移函数 f ( x t , t ) f(x_{t},t) f(xt,t)取决于时间相关的分数函数 ∇ x t log ⁡ p t ( x t ) \nabla_{\boldsymbol{x}_{t}} \log p_{t}(\boldsymbol{x}_{t}) xtlogpt(xt),该函数由经过去噪分数匹配训练的神经网络 s θ s_{\theta} sθ近似。对于逆问题,我们有一个由 x x x 导出的部分测量 y y y。当映射 x → y x \to y xy多对一时,我们得到一个ill-posed问题,我们无法精确检索 x x x。在贝叶斯框架中,利用 p ( x ) p(x) p(x)作为先验,来自后验 p ( x ∣ y ) p(x|y) p(xy)的样本,其中关系用贝叶斯规则建立: p ( x ∣ y ) = p ( y ∣ x ) p ( x ) / p ( y ) p(x|y) =p(y|x)p(x)/p(y) p(xy)=p(yx)p(x)/p(y)。利用扩散模型作为先验,可以直接修改(2)获得反向扩散采样器,从后验分布中采样:
d x = [ − β ( t ) 2 x − β ( t ) ( ∇ x t log ⁡ p t ( x t ) + ∇ x t log ⁡ p t ( y ∣ x t ) ) ] d t + β ( t ) d w ‾ \begin{equation} d \boldsymbol{x}=\left[-\frac{\beta(t)}{2} \boldsymbol{x}-\beta(t)\left(\nabla_{\boldsymbol{x}_{t}} \log p_{t}\left(\boldsymbol{x}_{t}\right)+\nabla_{x_{t}} \log p_{t}\left(\boldsymbol{y} \mid \boldsymbol{x}_{t}\right)\right)\right] d t+\sqrt{\beta(t)} d \overline{\boldsymbol{w}} \end{equation} dx=[2β(t)xβ(t)(xtlogpt(xt)+xtlogpt(yxt))]dt+β(t) dw
其中 ∇ x t log ⁡ p t ( x t ∣ y ) \nabla_{\boldsymbol{x}_{t}} \log p_{t}(\boldsymbol{x}_{t} \mid \boldsymbol{y}) xtlogpt(xty)根据这篇文章Guided Diffusion/Diffusion Models Beat GANs on Image Synthesis (Paper reading)得到:
∇ x t log ⁡ p t ( x t ∣ y ) = ∇ x t log ⁡ p t ( x t ) + ∇ x t log ⁡ p t ( y ∣ x t ) \begin{equation} \nabla_{\boldsymbol{x}_{t}} \log p_{t}\left(\boldsymbol{x}_{t} \mid \boldsymbol{y}\right)=\nabla_{\boldsymbol{x}_{t}} \log p_{t}\left(\boldsymbol{x}_{t}\right)+\nabla_{\boldsymbol{x}_{t}} \log p_{t}\left(\boldsymbol{y} \mid \boldsymbol{x}_{t}\right) \end{equation} xtlogpt(xty)=xtlogpt(xt)+xtlogpt(yxt)
为了计算涉前一个项,我们可以简单地使用预训练的得分函数 s θ ∗ s_{\theta^{*}} sθ。然而,由于对时间 t t t的依赖,后一项很难以封闭形式获得,因为 y y y只有和 x 0 x_{0} x0之间明确的依赖性。通常的噪声模型可以表示为:
y = A ( x 0 ) + n , y , n ∈ R n , x ∈ R d \begin{equation} \boldsymbol{y}=\mathcal{A}\left(\boldsymbol{x}_{0}\right)+\boldsymbol{n}, \quad \boldsymbol{y}, \boldsymbol{n} \in \mathbb{R}^{n}, \boldsymbol{x} \in \mathbb{R}^{d} \end{equation} y=A(x0)+n,y,nRn,xRd
其中, A ( ⋅ ) : R d → R n \mathcal{A}(·):\mathbb{R}^{d}\to\mathbb{R}^{n} A():RdRn是前向算子, n ∼ N ( 0 , σ 2 I ) n \sim N(0, \sigma^{2}I) nN(0,σ2I)是高斯白噪声。

因为不存在 p ( y ∣ x t ) p(y|x_{t}) p(yxt)的解析公式。为了利用测量模型 p ( y ∣ x 0 ) p(y|x_{0}) p(yx0),我们将 p ( y ∣ x t ) p(y|x_{t}) p(yxt)分解如下:
p ( y ∣ x t ) = ∫ p ( y ∣ x 0 , x t ) p ( x 0 ∣ x t ) d x 0 = ∫ p ( y ∣ x 0 ) p ( x 0 ∣ x t ) d x 0 \begin{align} p(y|x_{t}) &= \int p(y|x_{0},x_{t})p(x_{0}|x_{t})dx_{0} \\ &= \int p(y|x_{0})p(x_{0}|x_{t})dx_{0} \end{align} p(yxt)=p(yx0,xt)p(x0xt)dx0=p(yx0)p(x0xt)dx0
因为, y y y x t x_{t} xt是独立的,且 y y y x t x_{t} xt是条件独立与 x 0 x_{0} x0的,因此,如下图,给定 x t x_{t} xt y y y等价于给定 x t x_{t} xt x 0 x_{0} x0的概率乘上给定 x 0 x_{0} x0 y y y的概率。而 y y y x t x_{t} xt之间有一个隐含的变量 x 0 x_{0} x0,它可能取不同的值。为了把所有可能的 x 0 x_{0} x0都考虑进去,我们就需要对 x 0 x_{0} x0进行积分。
在这里插入图片描述

由(7)证明了 p ( y ∣ x t ) ≈ p ( y ∣ x ^ 0 ) p(y|x_{t}) \approx p(y| \hat x_{0}) p(yxt)p(yx^0),我是没太看懂!!

在这里插入图片描述

那么就可以用这个近似估计(4)中的梯度了,其中,推导过程见Score-Based Generative Modeling Through Stochastic Differential Equations (Paper reading):
x ^ 0 : = E [ x 0 ∣ x t ] = 1 α ˉ ( t ) ( x t + ( 1 − α ˉ ( t ) ) ∇ x t log ⁡ p t ( x t ) ) ≈ 1 α ˉ ( t ) ( x t + ( 1 − α ˉ ( t ) ) s θ ∗ ( x t , t ) \begin{align} \hat{\boldsymbol{x}}_{0}:=\mathbb{E}\left[\boldsymbol{x}_{0} \mid \boldsymbol{x}_{t}\right]&=\frac{1}{\sqrt{\bar{\alpha}(t)}}\left(\boldsymbol{x}_{t}+(1-\bar{\alpha}(t)) \nabla_{\boldsymbol{x}_{t}} \log p_{t}\left(\boldsymbol{x}_{t}\right)\right) \\ &\approx \frac{1}{\sqrt{\bar{\alpha}(t)}}(\boldsymbol{x}_{t}+(1-\bar{\alpha}(t))s_{\theta^{*}}(\boldsymbol{x}_{t},t) \end{align} x^0:=E[x0xt]=αˉ(t) 1(xt+(1αˉ(t))xtlogpt(xt))αˉ(t) 1(xt+(1αˉ(t))sθ(xt,t)
对于不同噪声的任务具有不同的测量模型 p ( y ∣ x 0 ) p(y|x_{0}) p(yx0)。逆问题中最常见的两个情况是高斯噪声和泊松噪声。在这里,我们探讨了如何适应上述扩散后验采样,高斯噪声的似然函数为:
p ( y ∣ x 0 ) = 1 ( 2 π ) n σ 2 n exp ⁡ [ − ∥ y − A ( x 0 ) ∥ 2 2 2 σ 2 ] \begin{equation} p\left(\boldsymbol{y} \mid \boldsymbol{x}_{0}\right)=\frac{1}{\sqrt{(2 \pi)^{n} \sigma^{2 n}}} \exp \left[-\frac{\left\|\boldsymbol{y}-\mathcal{A}\left(\boldsymbol{x}_{0}\right)\right\|_{2}^{2}}{2 \sigma^{2}}\right] \end{equation} p(yx0)=(2π)nσ2n 1exp[2σ2yA(x0)22]
对其取log再求梯度得:
∇ x t log ⁡ p ( y ∣ x t ) ≃ − 1 σ 2 ∇ x t ∥ y − A ( x ^ 0 ( x t ) ) ∥ 2 2 \begin{equation} \nabla_{\boldsymbol{x}_{t}} \log p\left(\boldsymbol{y} \mid \boldsymbol{x}_{t}\right) \simeq-\frac{1}{\sigma^{2}} \nabla_{\boldsymbol{x}_{t}}\left\|\boldsymbol{y}-\mathcal{A}\left(\hat{\boldsymbol{x}}_{0}\left(\boldsymbol{x}_{t}\right)\right)\right\|_{2}^{2} \end{equation} xtlogp(yxt)σ21xtyA(x^0(xt))22
算法流程如下,添加Possion噪声的过程基于同样的原理。说实话这种思想已经有很多了,比如Guided Diffusion/Diffusion Models Beat GANs on Image Synthesis (Paper reading)和ADIR: Adaptive Diffusion for Image Reconstruction (Paper reading)这两篇文章都是这种思想,值得注意的是本文是以VP-SDE的角度。所以和这两篇文章仅仅差了一个负号。
在这里插入图片描述

实验

在两个具有不同特征FFHQ 256×256和Imagenet 256×256的数据集上测试了我们的实验,每个数据集有1k个验证图像。ImageNet 的预训练扩散模型取自Guided Diffusion,并直接用于针对特定任务进行微调。FFHQ 的扩散模型使用 49k 训练数据(排除 1k 验证集)从头开始训练 1M 步。所有图像都归一化为 [0, 1] 范围。前向测量算子指定如下:(i)对于框类型修复,我们在 屏蔽了 128×128 框区域。 对于随机类型,我们屏蔽了总像素的 92%(所有 RGB 通道)。(ii) 对于超分辨率,执行双三次下采样。(iii) 高斯模糊核的大小为 61×61,标准差为 3.0,运动模糊是使用代码 6 随机生成的,大小为 61 × 61,强度值为 0.5。内核与地面实况图像进行卷积以产生测量。(iv) 对于相位检索,对图像进行傅里叶变换,只取傅里叶幅值作为测量值。所有高斯噪声都被添加到σ = 0.05的测量域中。泊松噪声水平设置为λ = 1.0。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/und5ujjR.shtml

相关文章

Exploring and Distilling Posterior and Prior Knowledge for Radiology Report Generation

Exploring and Distilling Posterior and Prior Knowledge for Radiology Report Generation(探索和提炼后验和先验知识的放射学报告生成) 先验与后验目前的放射学报告生成的局限性Paper的贡献模型详解模型输入模型主要部分 先验与后验 在阅读这篇Paper…

国际会议poster: 海报制作流程 格式介绍

1 流程 word制作, 转pdf, 打印 2 模板 UCLhttps://wenku.baidu.com/view/034bcb7e4a7302768f99392a.html 3 CYBER2019格式要求 海报尺寸:A1尺寸23.4英寸(59.4厘米)宽,33.1英寸(84.1厘米)高。 请注意,以A4尺寸列印已递交的整张纸作为海报是不可…

概率基础 · 联合概率 边缘概率 prior posterior likelihood

概率基础 联合概率 边缘概率 prior posterior likelihood 联合概率 (Joint Probability)边缘概率(margin probability)贝叶斯定理(Bayes Theorem)prior,posterior,likelihood:概率与似然的区别…

Stochastic Image Denoising By Sampling from the Posterior Distribution (Paper reading)

Stochastic Image Denoising By Sampling from the Posterior Distribution (Paper reading) Bahjat Kawar, Haifa(Israel), ICCV Workshop2021, Cited:22, Code:无, Paper. 目录子 Stochastic Image Denoising By Sampling from the Posterior Distribution (Paper reading)1…

GAN论文精读 P2GAN: Posterior Promoted GAN 用鉴别器产生的后验分布来提升生成器

《Posterior Promoted GAN with Distribution Discriminator for Unsupervised Image Synthesis》是大连理工学者发表的文章,被2021年CVPR收录。 文章地址:https://ieeexplore.ieee.org/document/9578672 本篇文章是阅读这篇论文的精读笔记。 一、原文…

先验、后验与似然

在学习SLAM 14讲第六章时,看到三个概念,有些不太了解,查阅资料后有了一些自己的理解。 三个概念存在于贝叶斯公式中 表示先验概率Prior,表示后验概率posterior,表示似然likelihood 上式可以写为 下面分别对三个概念进…

Prior 、Posterior 和 Likelihood 的理解与几种表达方式

Prior 、Posterior 和 Likelihood 的理解与几种表达方式 (下载图片可以看大图。)

Windows作为NTP同步时间的服务器时的设置

1.先关闭Windows系统自带的防火墙; 2. 在桌面上右击“计算机”, 选择“管理”, 然后选择“服务”。 具体如图所示 2. 选中“Windows Time”,设置为开启,这样就可以将“Windows Time”这一个服务打开。 3. “开始”--》“运…

NTP时钟服务器推荐-国内时间服务器顶尖设备

电子钟时间服务器在物联网应用中起到了关键的作用,它能够为各种智能设备提供准确的时间参考,确保设备之间的协同工作和数据的准确传输。无论是智能家居、智能工厂还是智慧城市,电子钟时间服务器都是不可或缺的一部分。 一、产品卖点 时间服…

NTP同步时间失败。Linux作为客户端,Windows作为NTP时钟源服务端。

使用windows作NTP时钟源,NTP同步时间失败 【关 键 词】:NTP,时钟源,windows时钟源,同步时间失败 【故障类型】:操作维护->其他 【适用版本】:Linux 【问题描述】:windows做时钟…

如何在windows10 搭建 NTP 时间服务器

windows本身是可以作为NTP时间同步服务器使用的,本文介绍一下如何在win10上配置NTP时间同步服务器。 如何在windows10 搭建 NTP 时间服务器 工具/原料 系统版本:win10版本 [10.0.17134.706] 方法/步骤 使用组合键WIN R 启动运行窗口,在…

Linux服务器NTP客户端时钟同步配置方法

前提说明:配置客户端NTP时候,必须要有一台时钟服务器,可以是服务器搭建的,也可以是购买的时钟设备。我这里使用临时的时钟服务器IP地址10.10.4.100 步骤如下: 1 首先在客户端服务器中ping一下时钟的IP地址是否网络可通…

NTP时钟服务器(PTP服务器)无法同步的排查方法

NTP时钟服务器(PTP服务器)无法同步的排查方法 NTP时钟服务器(PTP服务器)无法同步的排查方法 NTP系统是典型的C-S模型,一般将整个系统分为服务器,网络和客户端三个区域,因NTP时间服务器一般在出厂时已经测试,并设置为可使用&#…

NTP时间服务器同步时钟系统安装汇总分享

在现代科技发展的背景下,各种设备的时间同步变得越来越重要。同步时钟管理系统的应用可以让多个设备在时间上保持一致,提高工作效率和安全性,为各个行业的发展提供了重要的支持。 一、同步时钟系统介绍 同步时钟管理系统的应用范围非常广泛&…

关于NTP时间服务器

NTP(Network Time Protocol) 网络时间协议,工作在UDP的123端口上。是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(局域网…

R语言产生对角阵、次对角阵等矩阵及矩阵运算

R语言产生各种类型的矩阵及矩阵运算 R语言产生一般的矩阵R语言产生单位阵R语言产生次对角阵R语言矩阵的常见运算 R语言产生一般的矩阵 # 依行排列,产生3行5列的矩阵 A matrix(c(1:15),3,5,byrowT)R语言产生单位阵 #产生对角线元素为1的6x6的单位阵 A diag(6) #产…

python课程设计矩阵对角线之和_python对角矩阵

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! #生成一个3*3的0-10之间的随机整数矩阵,如果需要指定下界则可以多加一个参数data5mat(random.…

SimpleMind Pro(电脑版思维导图软件)官方中文版V1.30.0.6068下载 | 电脑版思维导图软件哪个好用?

​ Simplemind Pro 是一款优秀的跨平台电脑版思维导图软件领导者,全球超过1000万用户,可帮助用户组织想法、记住信息并产生新想法,允许用户将主题放置在自由格式布局中的任何位置,或者使用各种自动布局之一,非常…

免费的思维导图软件都有哪些?

思维导图时当下非常热门的软件,学生可以用它来梳理课程知识、帮助巩固记忆;职场打工人可以用它来整理思路、列举待办清单、展示方案等等。但是,现在大部分思维导图软件都需要收费,作为钱包紧紧的新时代人类,还剩下哪些…

免费的思维导图软件哪个好?这篇文章告诉你

随着现在工作和生活节奏的加快,大家都在追求高效率高质量的做事方法,比如在与领导汇报年终报告的时候,只靠口头讲述,对方很难一下子接收到。若我们将输出的内容整理成思维导图的形式,边展示边讲述,对方就能…