Solving Linear Inverse Problems Provably via Posterior Sampling with Latent Diffusion Models学习笔记

Solving Linear Inverse Problems Provably via Posterior Sampling with Latent Diffusion Models学习笔记


在这里插入图片描述
motivation:
没有利用预训练latent diffusion解决线性逆问题的工作,之前工作(DPS,DDRM)都只在像素空间
contribution:
利用预训练latent diffusion解决线性逆问题

background

SDE(随机微分方程),相当于加噪过程
d x = f ( x , t ) d t + g ( t ) d w \mathrm{d}x=f(x,t)\mathrm{d}t+g(t)\mathrm{d}\boldsymbol{w} dx=f(x,t)dt+g(t)dw
条件反向SDE,通过反向SDE采样 p 0 ( x 0 ∣ y ) p_0(x_0|y) p0(x0y)
d x = ( f ( x , t ) − g 2 ( t ) ( ∇ x t log ⁡ p t ( x t ) + ∇ x t log ⁡ p ( y ∣ x t ) ) ) d t + g ( t ) d w \mathrm{d}x=\left(f(x,t)-g^2(t)\left(\nabla_{x_t}\log p_t(x_t)+\nabla_{x_t}\log p(y|x_t)\right)\right)\mathrm{d}t+g(t)\mathrm{d}\boldsymbol{w} dx=(f(x,t)g2(t)(xtlogpt(xt)+xtlogp(yxt)))dt+g(t)dw
问题: ∇ x t log ⁡ p ( y ∣ x t ) \nabla_{x_t}\log p(y|x_t) xtlogp(yxt)难以求得
DPS计算方法:
p ( y ∣ x t ) ≈ p ( y ∣ x 0 = E [ x 0 ∣ x t ] ) = N ( y ; μ = A E [ x 0 ∣ x t ] , Σ = σ y 2 I ) p(y|x_t)\approx p\left(y|x_0=\mathbb{E}[x_0|x_t]\right)=\mathcal{N}(y;\mu=\mathcal{A}\mathbb{E}[x_0|x_t],\Sigma=\sigma_y^2I) p(yxt)p(yx0=E[x0xt])=N(y;μ=AE[x0xt],Σ=σy2I)
DPS用其给定噪声输入的情况下的条件期望 E [ x 0 ∣ x t ] \mathbb{E}[x_0|x_t] E[x0xt] 替换未知的干净图像 x 0 x_0 x0 。这种近似下, p ( y ∣ x t ) p(y|x_t) p(yxt)变得易于处理。
推导过程比较复杂,得到最终结果:
∇ x t log ⁡ p ( y ∣ x t ) ≃ − ρ ∇ x t ∥ y − A ( x 0 ) ∥ Λ 2 , \nabla_{\boldsymbol{x}_t}\log p(\boldsymbol{y}|\boldsymbol{x}_t)\simeq-\rho\nabla_{\boldsymbol{x}_t}\|\boldsymbol{y}-\mathcal{A}(\boldsymbol{x}_0)\|_{\boldsymbol{\Lambda}}^2, xtlogp(yxt)ρxtyA(x0)Λ2,
DPS算法:
在这里插入图片描述
在这里插入图片描述
引入 ∇ x i ∥ y − A ( x ^ 0 ) ∥ 2 2 \nabla_{x_i}\|y-\mathcal{A}({\hat{x}}_0)\|_2^2 xiyA(x^0)22的作用:当测量有噪声时,我们的方法防止样本从生成流形上脱落



method

在latent diffusion中
d z = f ( z , t ) d t + g ( t ) d w \mathrm{d}z=f(z,t)\mathrm{d}t+g(t)\mathrm{d}\boldsymbol{w} dz=f(z,t)dt+g(t)dw
将DPS简单扩展(有问题):
p ( y ∣ z t ) ≈ p ( y ∣ x 0 = D ( E [ z 0 ∣ z t ] ) ) p(y|z_t)\approx p(y|x_0=\mathcal{D}\left(\mathbb{E}[z_0|z_t]\right)) p(yzt)p(yx0=D(E[z0zt]))
这个想法并不奏效,原因:encoder是多对一映射。采用(5)给出的密度梯度可以将 z t z_t zt拉向这些潜伏时间 z 0 z_0 z0中的任何一个,可能在不同的方向上。
为了解决以上问题,提出gluing objective:

DPS简单扩展的理解
在这里插入图片描述
一个 z 0 z_0 z0 对应多个 x 0 x_0 x0

∇ z t log ⁡ p ( y ∣ z t ) = ∇ z t p ( y ∣ x 0 = D ( E [ z 0 ∣ z t ] ) ) ⏟ D P S   v a n i l l a   e x t e n s i o n + γ t ∇ z t ∣ ∣ E [ z 0 ∣ z t ] − E ( A T A x 0 ∗ + ( I − A T A ) D ( E [ z 0 ∣ z t ] ) ) ∣ ∣ 2 ⏟ “grluing”” of  z 0 . \begin{aligned} \nabla_{\boldsymbol{z}_{t}}\operatorname{log}p(\boldsymbol{y}|\boldsymbol{z}_{t})& =\underbrace{\nabla_{\boldsymbol{z}_t}p(\boldsymbol{y}|x_0=\mathcal{D}\left(\mathbb{E}[z_0|z_t]\right))}_{\mathrm{DPS~vanilla~extension}} \\ &+\gamma_t\underbrace{\nabla_{z_t}\left|\left|\mathbb{E}[z_0|z_t]-\mathcal{E}(\mathcal{A}^T\mathcal{A}x_0^*+(\boldsymbol{I}-\mathcal{A}^T\mathcal{A})\mathcal{D}(\mathbb{E}[z_0|z_t]))\right|\right|^2}_{\text{“grluing”” of }\boldsymbol{z}_0}. \end{aligned} ztlogp(yzt)=DPS vanilla extension ztp(yx0=D(E[z0zt]))+γt“grluing”” of z0 zt E[z0zt]E(ATAx0+(IATA)D(E[z0zt])) 2.
在这里插入图片描述

experiments

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值