论文解读《Plug-and-Play Priors for Model Based Reconstruction》
这篇论文主要概述了model-baesd的方法在解决图像恢复的逆问题的很好的效果,降噪问题其实就是前向模型的H是一个恒等算子,将state-of-the-art的降噪算法(先验模型)和相对应的逆问题的求解方法结合是一个困难但是具体前景的工作。 作者提出了一个灵活的框架能够允许性能强大的图像系统的前向模型(forword models )去匹配j和结合降噪模型和先验模型(denoising model or prior model),以实现图像恢复。
传统的模型涉及两个部分,一个模型是噪声的估计系统,另一个模型是待重构图像模型(比如先验模型),然后通过最小化一个成本函数来计算重构,该函数平衡了这两个模型的拟合。
降噪问题在图像的反演过程中最简单的,因为他的前向模型是一个恒等算子,为新的先验模型的产生创造了肥沃的环境。model-based 逆问题主要关注的是精确的建模大尺度的复杂的前向模型,很少有融合先进的先验模型、降噪方法啊。
-- 因此,基于模型的反演研究往往滞后于先进的先验建模
-- BM3D-based 方法的图像先验模型并不能够直接应用于一般的反演问题
虽然之前也有集合先进的先验模型进入图像的反演问题,但是他们常常是高度定制化的,
当前并没有为一般的model-based图像反演问题,匹配降噪模型作为先验。
方法: 应用ADMM技术,分离变量以实现将MAP估计问题解耦为先验和前模型问题,一个是前向模型一个是先验问题。一个模块对应着降噪算法只依靠于先验,第二个模块对应着应用l2正则化的反演问题只依靠于前向模型。
MAP计算函数去解决反演问题
带求量$\hat{x}$的MAP估计:
$\hat{x}=$argmin-log$p(y|x)$-log$p(x)$
$\hat{x}=$argmin$l(y;x)+s(x)$
MAP估计$l(y;x)=\frac{1}{2\sigma_{n}^{2}}||y-x||_{2}^{2}+\frac{M}{2}log(2\pi\sigma_{n}^{2})$
对应着降噪任务,旨在被设计去移除方差为$\sigma_{n}^{2}$的加性高斯白噪声(AWGN)
所以可以再表示为:
$H(y;\sigma_{n}^{2})=\frac{1}{2\sigma_{n}^{2}}||y-x||_{2}^{2}+s(x)$ (3)
常常加上增加的正则化参数去控制先验模型在重建上的相对影响:
$\hat{x} = $argmin$l(y;x)+\beta s(x)$
变量分离 and ADMM
首先分离变量x为两个新的变量x 和 v, 则MAP问题被重新写为:
$(\hat{x},\hat{v}) = $argmin$_{x,v}{l(y;x)+ \beta s(v)}$ 令x=v
使用增广拉格朗如函数(augmented Lagrangian)和ADMM技术去解决这个问题:
$L_{\lambda}(x,v,u) = l(y;x)+ \beta s(v) + \frac{\lambda}{2}||x-v+u||_{2}^{2} - \frac{\lambda}{2}||u||_{2}^{2}$
其中u 是一个缩放的对偶变量(dual variable),$\lambda$是一个惩罚变量。
$\hat{x} = $ argmin$_{x}L_{\lambda}(x,\hat{v},u)$
$\hat{v} = $argmin$_{v}L_{\lambda}(\hat{x},v,u)$
$u = u + (\hat{x}-\hat{v})$
其中$\lambda$ 对最后的结果没有影响,只是控制ADMM算法的收敛率
如果,$\hat{x} =\hat{v}-u$ 和 $\hat{v}=\hat{x}+u$ :
step1 $\rightarrow$ $\hat{x} = $argmin$_{x}{ l(y;x) + \frac{\lambda}{2}||x\text{}-\hat{x}||_{2}^{2}}$
step2 $\rightarrow$ $\hat{v}=$argmin$_{v}\frac{\lambda}{2}||\hat{v}\text{}-\text{}v||_{2}^{2}+\lambda s(v)$ (11)
step3 $\rightarrow$ $u = u + (\hat{x}-\hat{v})$
第一步取决于前向模型的选择;第二步取决于先验的选择,能够被集成作为一个降噪操作,如上面的公式。
为了强调ADMM更新的模块结构,定义一个算子$F(y,\tilde{x};\lambda)$:
$F(y,\tilde{x};\lambda)=$argmin$_{x}{ l(y;x)+\frac{\lambda}{2}||x\text{}-\text{}\tilde{x}||_{2}^{2}}$
上面的公式返回了 给定值y,求得的x的MAP估计值,使用二次正则化值$\tilde{x}$,是一个二次正则化最小二乘问题。
我们称作$F(y,\tilde{x};\lambda)$为简化的重构操作,根据重构操作$F(y,\tilde{x};\lambda)$和降噪操作$H(y;\sigma_{n}^{2})$,我们能够重写ADMM迭代:
$\hat{x} \leftarrow F(y,\tilde{x};\lambda)$
$\hat{v} \leftarrow H(y;\frac{\beta}{\lambda}) $ 根据公式3和公式11
$u = u + (\hat{x}-\hat{v})$
这样写后,形成了两个独立的模块,重建操作和降噪算法操作,先验模型的改变只涉及一个模块$H(y;\sigma_{n}^{2})$,所以可以混合和匹配不同的降噪先验模型和有益的前向模型。
重要的点,这两个模块都可以不那么精确,都可以使用近似的操作来取代,这些算子不能使各自的成本函数最小化,而是使其值充分降低。这个对于将使算法在实际中发挥作用和加速都极为有益。
通过变量分离技术,作为一个机制去产生灵活的架构,期望简单的匹配先验模型和前向模型。
ADMM能够确保收敛,通过数值实验,我们发现用去噪算法代替H,即使不显式对应于凸函数s甚至严格的优化问题,也能得到稳定的结果。(这个就为使用判别学习方法得到先验模型创造了条件,先验正则化隐式的包含在参数模型中)
整体算法:

其中第一步,在HQS算法中,使用的是快速傅里叶变换(FFT)进行求解;
思考:
这部分可以尝试使用CNN-based残差学习的判别学习方法对先验进行建模,使用降噪先验取代$\hat{v} \leftarrow H(y;\frac{\beta}{\lambda}) $;
这部分也可以尝试嵌入一个GAN-based 拟合的多分布,兴许可以产生比CNN-based 的单一判别学习方法更好的效果;
论文解读《Plug-and-Play Priors for Model Based Reconstruction》的更多相关文章
- 《Population Based Training of Neural Networks》论文解读
很早之前看到这篇文章的时候,觉得这篇文章的思想很朴素,没有让人眼前一亮的东西就没有太在意.之后读到很多Multi-Agent或者并行训练的文章,都会提到这个算法,比如第一视角多人游戏(Quake ...
- ImageNet Classification with Deep Convolutional Neural Networks 论文解读
这个论文应该算是把深度学习应用到图片识别(ILSVRC,ImageNet large-scale Visual Recognition Challenge)上的具有重大意义的一篇文章.因为在之前,人们 ...
- 《Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Neural Networks》论文笔记
论文题目<Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Ne ...
- Quantization aware training 量化背后的技术——Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference
1,概述 模型量化属于模型压缩的范畴,模型压缩的目的旨在降低模型的内存大小,加速模型的推断速度(除了压缩之外,一些模型推断框架也可以通过内存,io,计算等优化来加速推断). 常见的模型压缩算法有:量化 ...
- Training Deep Neural Networks
http://handong1587.github.io/deep_learning/2015/10/09/training-dnn.html //转载于 Training Deep Neural ...
- Training (deep) Neural Networks Part: 1
Training (deep) Neural Networks Part: 1 Nowadays training deep learning models have become extremely ...
- [CVPR2015] Is object localization for free? – Weakly-supervised learning with convolutional neural networks论文笔记
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #323333 } p. ...
- Training spiking neural networks for reinforcement learning
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 原文链接:https://arxiv.org/pdf/2005.05941.pdf Contents: Abstract Introduc ...
- CVPR 2018paper: DeepDefense: Training Deep Neural Networks with Improved Robustness第一讲
前言:好久不见了,最近一直瞎忙活,博客好久都没有更新了,表示道歉.希望大家在新的一年中工作顺利,学业进步,共勉! 今天我们介绍深度神经网络的缺点:无论模型有多深,无论是卷积还是RNN,都有的问题:以图 ...
- 论文翻译:BinaryConnect: Training Deep Neural Networks with binary weights during propagations
目录 摘要 1.引言 2.BinaryConnect 2.1 +1 or -1 2.2确定性与随机性二值化 2.3 Propagations vs updates 2.4 Clipping 2.5 A ...
随机推荐
- IntelliJ IDEA编辑器激活码
2020-3-31 日 亲自测试有效,什么时候失效就母鸡了 激活码一: T3ACKYHDVF-eyJsaWNlbnNlSWQiOiJUM0FDS1lIRFZGIiwibGljZW5zZWVOYW1lI ...
- 刷题[NPUCTF2020]ezlogin
xpath注入 xpath注入这篇文章有关于xpath很详细的解答,包括原理等,详细了解请见此篇. 我个人再稍微讲一讲: 首先它的网站目录下会有一个xml文件,大概格式是这样: <?xml ve ...
- Processing 高效控制管理图形方法(一)
之前在CSDN上发表过: https://blog.csdn.net/fddxsyf123/article/details/62456299
- JUC 常用4大并发工具类
什么是JUC? JUC就是java.util.concurrent包,这个包俗称JUC,里面都是解决并发问题的一些东西 该包的位置位于java下面的rt.jar包下面 4大常用并发工具类: Count ...
- Linux系统编程 —线程属性
在之前的章节中,我们在调用pthread_create函数创建线程时,第二个参数(即线程属性)都是设为NULL,即使用默认属性.一般情况下,使用默认属性已经可以解决我们开发过程中的大多数问题. 但是, ...
- 0923 lca练习
P1967 货车运输 题目描述 A 国有 nnn 座城市,编号从 11 1 到 n nn,城市之间有 mmm 条双向道路.每一条道路对车辆都有重量限制,简称限重. 现在有 qqq 辆货车在运输货物, ...
- 灵感来袭,基于Redis的分布式延迟队列(续)
背景 上一篇(灵感来袭,基于Redis的分布式延迟队列)讲述了基于Java DelayQueue和Redis实现了分布式延迟队列,这种方案实现比较简单,应用于延迟小,消息量不大的场景是没问题的,毕竟J ...
- Python实现的数据结构与算法之队列详解
本文实例讲述了Python实现的数据结构与算法之队列.分享给大家供大家参考.具体分析如下: 一.概述 队列(Queue)是一种先进先出(FIFO)的线性数据结构,插入操作在队尾(rear)进行,删除操 ...
- C++中memset函数的用法
转载:https://blog.csdn.net/qq_22122811/article/details/52738029 //复习数组的时候,第一次见到了memset,学之. memset:char ...
- 通用redis
import lombok.extern.slf4j.Slf4j;import org.apache.poi.ss.formula.functions.T;import org.rcisoft.cor ...