【论文阅读】MoDL:把共轭梯度与参数共享引入模型驱动重建

文章目录

    • [01 基础信息](#01 基础信息)
    • [02 背景](#02 背景)
    • [03 方法](#03 方法)
    • [04 结果](#04 结果)
    • [05 思考](#05 思考)
    • [06 新掌握的表达](#06 新掌握的表达)

01 基础信息

  • 标题:MoDL: Model-Based Deep Learning Architecture for Inverse Problems
  • 作者:Hemant K. Aggarwal、Merry P. Mani、Mathews Jacob
  • 期刊:IEEE Transactions on Medical Imaging,Vol. 38,No. 2,pp. 394--405,2019。
  • 时间说明:论文于 2018 年在线发表,正式卷期为 2019 年 2 月,因此部分资料中会标注为 TMI 2018。
  • 关键词:模型驱动重建,深度学习,逆问题,并行 MRI,共轭梯度,参数共享。
  • 论文链接:DOI:10.1109/TMI.2018.2865356
  • 作者代码:hkaggarwal/modl
  • 总结:本文提出 MoDL,将 CNN 学到的图像先验与显式的成像物理模型结合,通过交替执行"CNN 去噪/去伪影"和"数据一致性更新"完成重建。其关键设计是:不同迭代共享同一个 CNN;利用共轭梯度求解复杂的 DC 子问题;将整个展开网络端到端训练。

上一篇 Deep Cascade 已经将 CNN 与数据一致性层交替连接。沿着这条思路继续看,MoDL 主要回答了两个问题:多线圈 MRI 的 DC 层如何计算?迭代次数增加时,是否必须同时增加网络参数?

02 背景

逆问题建模:

将成像过程表示为:

b = A x + e b=Ax+e b=Ax+e

  • x x x:待重建的图像。
  • b b b:实际采集到的测量数据,在 MRI 中对应欠采样的 k-space 数据。
  • A A A:前向算子(Forward Operator),描述图像如何变成测量数据。
  • e e e:测量噪声。论文建立基本模型时写作 b = A ( x ) b=A(x) b=A(x),这里将噪声显式列出。

对于单线圈 MRI,可以写成 A = P F A=PF A=PF,其中 F F F 是傅里叶变换, P P P 是欠采样算子。对于多线圈 MRI,第 c c c 个线圈对应:

b c = P F S c x + e c b_c=PFS_cx+e_c bc=PFScx+ec

S c S_c Sc 表示第 c c c 个线圈的灵敏度乘法算子。将所有线圈的测量堆叠起来,就得到整体的 A A A 和 b b b。

传统模型驱动重建在做什么?

由于欠采样重建存在不适定性,仅靠测量约束通常不足以稳定恢复图像,因此需要引入先验:

min ⁡ x ∥ A x − b ∥ 2 2 ⏟ 数据一致性项 + λ R ( x ) ⏟ 正则项 \min_x \underbrace{\|Ax-b\|2^2}{\text{数据一致性项}} +\lambda\underbrace{R(x)}_{\text{正则项}} xmin数据一致性项 ∥Ax−b∥22+λ正则项 R(x)

数据一致性项要求:重建图像经过成像模型后,应当能够解释实际测量。

正则项要求:在符合测量的候选图像中,优先选择具有合理结构的图像。传统方法常采用 TV、小波稀疏性等人工设计的先验。

MoDL 的思路是:保留已知的物理模型,将图像先验交给 CNN 从数据中学习。

重新整理的一些背景知识:

什么是模型驱动深度学习?

将成像算子 A A A、伴随算子 A H A^H AH 和求解过程显式放进网络。这样,网络可以利用已知的成像规律,集中学习图像中的结构与冗余信息。

什么是伴随算子 A H A^H AH?

它将测量域的信息映射回图像域。对于多线圈 MRI,可以理解为对各线圈进行采样位置回填、逆傅里叶变换,再利用共轭灵敏度进行合并。伴随通常不等于逆, A H b A^Hb AHb 也不等于已经完成重建。

什么是算法展开(Unrolling)?

把迭代算法的有限次更新写成网络中的多个阶段,使最终重建误差能够通过这些阶段反向传播。每一个阶段都对应一个有明确含义的计算步骤。

什么是共轭梯度(Conjugate Gradient,CG)?

一种求解对称正定线性方程组的方法;在复数情形下对应 Hermitian 正定系统。它可以通过反复计算矩阵与向量的乘积求解,无需显式构造大矩阵或计算矩阵逆。

03 方法

这篇文章最精华的设计,可以沿着"目标函数---交替更新---网络展开"来理解。

(1)用 CNN 构造可学习的正则项

论文定义 N w ( x ) N_w(x) Nw(x) 为噪声与混叠伪影的估计,并定义去噪后的输出:

N w ( x ) = x − D w ( x ) N_w(x)=x-D_w(x) Nw(x)=x−Dw(x)

其中 w w w 是 CNN 参数, D w ( x ) D_w(x) Dw(x) 是去噪/去伪影后的图像。因此,优化目标写为:

min ⁡ x ∥ A x − b ∥ 2 2 + λ ∥ x − D w ( x ) ∥ 2 2 \min_x \|Ax-b\|_2^2+\lambda\|x-D_w(x)\|_2^2 xmin∥Ax−b∥22+λ∥x−Dw(x)∥22

直观理解:如果一张图像已经比较干净,再经过 D w D_w Dw 后不应发生很大变化;如果存在明显噪声或伪影, x x x 与 D w ( x ) D_w(x) Dw(x) 之间的差异就会较大。

注:这里的"去噪器"不仅处理高斯噪声,还需要处理由欠采样产生的结构性混叠伪影。

(2)把重建分成两个交替执行的步骤

由于 D w D_w Dw 是非线性网络,直接求解上述目标比较困难。论文采用局部近似,得到如下交替更新:

第一步:CNN 去噪/去伪影。

z k = D w ( x k ) z_k=D_w(x_k) zk=Dw(xk)

第二步:数据一致性更新。

x k + 1 = arg ⁡ min ⁡ x ∥ A x − b ∥ 2 2 + λ ∥ x − z k ∥ 2 2 x_{k+1}=\arg\min_x\|Ax-b\|_2^2+\lambda\|x-z_k\|_2^2 xk+1=argxmin∥Ax−b∥22+λ∥x−zk∥22

此时 z k z_k zk 已经固定,第二步成为一个二次优化问题。对其求导并令导数为零,可得:

( A H A + λ I ) x k + 1 = A H b + λ z k (A^HA+\lambda I)x_{k+1}=A^Hb+\lambda z_k (AHA+λI)xk+1=AHb+λzk

形式上可以写成:

x k + 1 = ( A H A + λ I ) − 1 ( A H b + λ z k ) \boxed{x_{k+1}=(A^HA+\lambda I)^{-1}(A^Hb+\lambda z_k)} xk+1=(AHA+λI)−1(AHb+λzk)

这就是 MoDL 的 DC 层。CNN 给出基于图像先验的估计,DC 层再结合原始测量与物理模型进行校正。 上述更新对应原文式(10)和式(11),是针对原始非线性目标构造的近似迭代。

图 1:MoDL 框架,来源于原论文 Fig. 1。不同迭代中的 D w D_w Dw 共享参数,每个 CNN 后连接一个 DC 模块。

(3)为什么需要把 CG 放进 DC 层?

对于单线圈 Cartesian MRI,若采用单位化傅里叶变换,DC 更新在 k-space 中可以逐点计算:

x ^ k + 1 m = { b m + λ z ^ k m 1 + λ , m ∈ Ω , z ^ k m , m ∉ Ω . \widehat{x}_{k+1}m= \begin{cases} \displaystyle\frac{bm+\lambda\widehat{z}_km}{1+\lambda}, & m\in\Omega,\\ \widehat{z}_km, & m\notin\Omega. \end{cases} x k+1m=⎩ ⎨ ⎧1+λbm+λz km,z km,m∈Ω,m∈/Ω.

Ω \Omega Ω 表示已采样位置, z ^ k = F z k \widehat{z}_k=Fz_k z k=Fzk。已采样位置综合测量值与 CNN 估计,未采样位置采用 CNN 估计。

但对于多线圈 MRI,线圈灵敏度参与编码, A H A + λ I A^HA+\lambda I AHA+λI 通常无法像上式一样在傅里叶域逐点求逆。因此,作者使用 CG 来求解对应的线性方程组。

实际计算时,只需要能够执行:

v ⟼ A H ( A v ) + λ v v\longmapsto A^H(Av)+\lambda v v⟼AH(Av)+λv

即可调用 CG,不需要显式计算 ( A H A + λ I ) − 1 (A^HA+\lambda I)^{-1} (AHA+λI)−1。

为什么不直接做一次梯度下降?

一次最速下降(Steepest Descent,SD)更新通常只能部分减小 DC 子问题的误差。CG 在一个外层阶段内执行多步求解,可以更充分地求解这个二次子问题。论文实验表明,在相同的外层展开次数下,CG 版本获得了更好的重建质量。

这里要区分两个"迭代次数":外层是 CNN 与 DC 交替的次数,内层是单个 DC 模块中 CG 求解的次数。 CG 本身没有需要学习的网络权重。

注:本文的 λ \lambda λ 乘在正则项上。固定 z k z_k zk 时, λ \lambda λ 越大,更新越偏向 CNN 输出。它与上一篇 DC 公式中乘在测量值上的权重约定不同,不能直接套用同样的极限解释。

(4)不同迭代共享同一个 CNN

如果每一轮都使用不同的网络,那么展开 K K K 次,就需要学习 K K K 套 CNN 参数。

MoDL 在所有迭代中复用同一个 D w D_w Dw,同时共享可学习的 λ \lambda λ。按原文 Table I 的统计,10 次展开时:

  • 参数共享(WS):113,929。
  • 不共享参数(NS):1,139,290。

也就是说,增加外层迭代次数,不需要同比增加模型参数。 这使得"每轮 CNN 的表达能力"与"执行多少轮更新"可以分别设计,在训练数据有限时尤其有价值。

但参数量不增长,不代表计算量和训练显存不增长;多执行几轮 CNN 与 DC,仍然有相应的计算和中间结果开销。

(5)整个重建网络端到端训练

论文固定展开次数 K K K,使用最终输出 x K x_K xK 与参考图像 t t t 之间的平方误差训练网络:

L = ∑ i ∥ x K ( i ) − t ( i ) ∥ 2 2 \mathcal L=\sum_i\|x_K^{(i)}-t^{(i)}\|_2^2 L=i∑∥xK(i)−t(i)∥22

CNN 参数 w w w 与正则化参数 λ \lambda λ 联合学习。因此,CNN 适应的是整个重建流程中产生的噪声与混叠分布,而不只是独立的高斯去噪任务。

CG 也可以参与反向传播。论文采用线性求解层的梯度计算方式,在反向传播中再次求解相应的线性系统,因此无需保存每一个 CG 内部步骤。其推导以线性子问题得到充分求解为前提;实现时不能仅因 CG 没有可学习参数,就自动认为不需要保存中间状态。

具体网络设置:

  • CNN 为 5 层,卷积核大小为 3 × 3 3\times3 3×3,中间特征通道数为 64。
  • 各层采用卷积与 BN,前 4 层使用 ReLU,最后一层不使用 ReLU,以保留残差的正负值。
  • 外层展开 10 次,采用残差学习。
  • 复数图像的实部与虚部作为 CNN 的两个输入/输出通道;DC 层直接处理复数数据。
  • 先训练单次迭代模型,再用其参数初始化完整展开网络,加快并稳定训练。

04 结果

实验数据:

论文使用 5 名志愿者的多线圈脑 MRI 数据,采用 12 通道头部线圈。主要实验使用其中 4 名受试者的 360 张切片训练,另 1 名受试者的 164 张切片测试,切片大小为 256 × 232 256\times232 256×232。

欠采样通过对全采样数据进行回顾性抽样模拟,使用变密度 Cartesian 随机采样。线圈灵敏度由 ESPIRiT 估计,并在实验中作为已知量。训练与测试使用不同的采样掩膜,论文还进行了受试者层面的五折交叉验证。

消融实验如何设计?

作者从三个维度拆解方法:

缩写 含义 解决的问题
CG / SD 共轭梯度 / 单步最速下降 DC 子问题如何求解
ET / PD 端到端训练 / 预训练去噪器 CNN 如何学习
WS / NS 共享 / 不共享参数 不同外层迭代是否复用 CNN

因此,MoDL 可以记成 CG-ET-WS。

重建质量:

原文 Table III 给出的测试集 PSNR 如下,数值为均值 ± 标准差,单位为 dB。用于这组比较的端到端变体均在 10 倍加速、噪声标准差 σ = 0.01 \sigma=0.01 σ=0.01 的条件下训练;PD 变体则使用多个高斯噪声水平预训练去噪器。

方法 6 倍加速 10 倍加速
CSTV:TV 压缩感知 34.50 ± 1.62 31.98 ± 1.26
SD-ET-WS 37.30 ± 1.42 34.63 ± 1.93
CG-ET-NS 33.83 ± 1.97 31.53 ± 1.65
CG-PD-NS 36.52 ± 1.72 33.89 ± 1.35
MoDL:CG-ET-WS 39.24 ± 1.18 37.35 ± 1.16

在 10 倍加速时,MoDL 相比 SD-ET-WS 提高约 2.72 dB。与 CG-ET-NS 的对比,则说明在该训练规模下,参数共享具有明显优势。

图 2:不同加速倍数下的重建结果,来源于原论文 Fig. 6。这里比较的是该论文设置下的不同方法与变体。

迭代次数与数据量:

  • 在论文的 10 倍加速实验中,随着外层展开次数增加,测试 PSNR 逐步提高,大约在 8~10 次时趋于饱和,因此后续实验采用 10 次展开。
  • 为研究训练数据量的影响,作者另用 CatDog 自然图像模拟单线圈欠采样,比较了 50~2100 张训练图像下的性能。共享参数模型在较小数据量下表现更好;在作者报告的设置中,训练图像从 100 增至 2100 张,PSNR 仅进一步提高约 1 dB。

注:CatDog 实验用于分析数据需求,没有用于其余 MRI 实验的预训练,也不能将这个样本数结论直接当作脑 MRI 的实验结论。

对采样设置的适应性:

作者将 10 倍加速条件下训练的同一个模型,用于 12 倍、14 倍加速,以及仅保留中央 100 × 100 100\times100 100×100 k-space 区域的超分辨率设置。结果表明,在这些实验中,显式引入前向模型并使用不同掩膜训练,可以降低模型对采样条件变化的敏感性。

重建速度:

原文 Table V 中,MoDL 重建全部 164 张测试切片约需 28 秒 ,训练约需 10.6 小时。SD-ET-WS 重建同一批切片约需 8 秒,但重建质量较低;因此 CG 带来的收益需要结合计算时间一起看。论文中的深度学习方法运行在 GPU 上,CSTV 运行在 CPU 上,不能将两者耗时直接视为相同硬件下的速度比较。

05 思考

与上一篇 Deep Cascade 相比,可以怎样理解 MoDL?

两者都采用 CNN 与 DC 交替的结构。沿着这个共同点,MoDL 将多线圈编码显式纳入 DC 子问题,通过 CG 求解,并利用跨迭代参数共享控制模型规模。

因此,阅读这类网络时,除了看"串联了多少个模块",还可以继续问:DC 在求解什么问题?求解得有多充分?每轮是否使用同一套参数?

为什么共享参数的模型反而可能更好?

不共享参数虽然增加了模型容量,但也提高了对训练数据量的要求。在医学图像数据有限时,每轮都学习一套独立网络,可能更容易过拟合。

共享同一个 CNN,相当于让它在训练中反复接触不同迭代阶段的输入。输入中的伪影与噪声在变化,而同一组参数需要学会处理这些变化。这是本文小样本策略中值得学习的一点。

物理模型与 CNN 分别负责什么?

物理模型提供"图像应当如何形成测量"的约束,CNN 提供"合理图像具有什么结构"的先验。端到端训练让二者共同服务于最终重建结果。

但有 DC 并不意味着结果必然正确。MoDL 使用的是带正则项的软约束,模型误差、线圈灵敏度误差以及未采样区域的信息缺失,仍会影响重建。

有哪些结论不能过度推广?

(1)论文验证了特定脑 MRI 数据与采样设置下的性能。它提出的是一般逆问题框架,但本文的主要实验并没有覆盖所有成像任务。

(2)参数共享允许在结构上改变推理迭代次数,但不能据此断言"无限增加迭代一定更好"。作者明确指出,本文没有给出完整的网络收敛性分析。

(3)多掩膜训练有助于适应采样变化,但论文也讨论了可能损失部分高频细节的代价。适应性与特定采样设置下的最优表现之间,需要结合任务取舍。

可以学习的点?

将复杂的物理求解过程写成可微模块;通过参数共享控制小样本学习的模型容量;用消融实验分别检验求解器、训练方式与网络结构的贡献。对重建任务而言,这些设计选择与 CNN 本身同样值得关注。

06 新掌握的表达

前向模型被显式纳入框架:the forward model is explicitly accounted for

跨迭代参数共享:weight sharing across iterations

数据一致性约束:data-consistency enforcement

基于 CNN 的正则化先验:CNN-based regularization prior

端到端训练:end-to-end training

将网络复杂度与迭代次数解耦:decouple network complexity from the number of iterations

训练数据受限的场景:training data constrained settings


本文公式、数据与图示依据 Aggarwal 等人的 MoDL 原论文 整理;"思考"部分为阅读分析。前文衔接:【论文阅读】Deep Cascade:开启级联网络与数据一致性(DC)的新纪元。

相关推荐
ss.li5 小时前
rppg相关论文阅读笔记10.22
论文阅读·笔记·python
电科_银尘5 小时前
【论文阅读】未配准多对比度 MRI:让网络先对齐,再共享解剖信息
论文阅读
电科_银尘5 小时前
【论文阅读】Deep Image Prior:随机初始化的网络为什么也能重建图像?
网络·论文阅读
Eastmount2 天前
[论文阅读] (54)NDSS26 JSIMPLIFIER:动静态与LLM如何协同完成JavaScript解混淆?
javascript·论文阅读·恶意代码分析·智能体安全·ndss
Rocky Ding*3 天前
深入解析GPT-6 Astra提示词工程:从Skills、AGENTS.md到可验证的Agent交付
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·提示词工程
Curious*5 天前
意识障碍研究--论文阅读3
论文阅读
Rocky Ding*5 天前
FLUX 3 Image Klein 技术解析:5.6B 生成器、Flow Map 蒸馏与 ComfyUI 可控编辑
论文阅读·人工智能·深度学习·机器学习·aigc·flux·ai-native
a puppy slide 葱5 天前
ENAS | 基于参数共享的高效神经网络架构搜索
论文阅读·人工智能·深度学习·神经网络·机器学习·计算机视觉·神经网络架构搜索
waiting&fighting5 天前
《中国银发经济发展报告2024》总结
论文阅读