针对 空间可变高斯混合模型(Spatially Varying GMM),在带有 拉普拉斯平滑正则化 的最大似然函数上,用 ADMM 分解来更新参数 μk(i),σk2(i),αk(i)\mu_k(i), \sigma_k^2(i), \alpha_k(i)


1️⃣ 问题重述

目标函数是:

Q(ΘΘt1)=k=1Mi=1Nln(αk(i))p(kxi,Θt1)+k=1Mi=1Nln[pk(xiμk(i),σk2(i))]p(kxi,Θt1)λμk=1MN(i)(μk(i)μk(j))2λσk=1MN(i)(σk2(i)σk2(j))2λαk=1MN(i)(lnαk(i)lnαk(j))2\begin{aligned} Q(\Theta \mid \Theta^{t-1}) &= \sum_{k=1}^{M} \sum_{i=1}^{N} \ln (\alpha_k(i)) \, p(k \mid x_i, \Theta^{t-1}) \\ &\quad + \sum_{k=1}^{M} \sum_{i=1}^{N} \ln \left[ p_k(x_i \mid \mu_k(i), \sigma_k^2(i)) \right] \, p(k \mid x_i, \Theta^{t-1}) \\ &\quad - \lambda_\mu \sum_{k=1}^{M} \sum_{\mathcal{N}(i)} (\mu_k(i) - \mu_k(j))^2 \\ &\quad - \lambda_\sigma \sum_{k=1}^{M} \sum_{\mathcal{N}(i)} (\sigma_k^2(i) - \sigma_k^2(j))^2 \\ &\quad - \lambda_\alpha \sum_{k=1}^{M} \sum_{\mathcal{N}(i)} (\ln \alpha_k(i) - \ln \alpha_k(j))^2 \end{aligned}

这里:

  • N(i)\mathcal{N}(i) 表示像素 ii 的邻域
  • λμ,λσ,λα\lambda_\mu, \lambda_\sigma, \lambda_\alpha 是正则化权重

这类正则化是 图拉普拉斯平滑,鼓励相邻像素参数平滑。


2️⃣ 使用 ADMM 的思路

ADMM 的核心是 拆分容易优化的子问题,然后用乘子法约束它们一致。对于该问题,可以引入 辅助变量

μ~k(i),σ~k2(i),α~k(i)\tilde{\mu}_k(i), \quad \tilde{\sigma}_k^2(i), \quad \tilde{\alpha}_k(i)

并约束:

μ~k(i)=μk(i),σ~k2(i)=σk2(i),α~k(i)=αk(i)\tilde{\mu}_k(i) = \mu_k(i), \quad \tilde{\sigma}_k^2(i) = \sigma_k^2(i), \quad \tilde{\alpha}_k(i) = \alpha_k(i)

然后把正则项单独放在辅助变量上:

Rμ(μ~)=kN(i)(μ~k(i)μ~k(j))2,类似处理 σ,αR_\mu(\tilde{\mu}) = \sum_{k} \sum_{\mathcal{N}(i)} (\tilde{\mu}_k(i) - \tilde{\mu}_k(j))^2, \quad \text{类似处理 } \sigma, \alpha


2.1 构建增广拉格朗日函数

μk\mu_k 为例:

Lρ(μ,μ~,u)=k,ip(kxi)lnpk(xiμk(i),σk2(i))+λμRμ(μ~)+ρ2k,i(μk(i)μ~k(i)+uk(i))2L_\rho(\mu, \tilde{\mu}, u) = -\sum_{k,i} p(k \mid x_i) \ln p_k(x_i \mid \mu_k(i), \sigma_k^2(i)) + \lambda_\mu R_\mu(\tilde{\mu}) + \frac{\rho}{2} \sum_{k,i} (\mu_k(i) - \tilde{\mu}_k(i) + u_k(i))^2

其中 uk(i)u_k(i) 是拉格朗日乘子(scaled dual variable)。ρ\rho 是惩罚参数。


2.2 ADMM 迭代步骤

  1. 更新原变量 μk,σk2,αk\mu_k, \sigma_k^2, \alpha_k

每个像素独立优化(类似标准 EM M 步),但加入了 ADMM 的 quadratic term:

μkt+1:=argminμkip(kxi)lnpk(xiμk(i),σk2(i))+ρ2i(μk(i)μ~kt(i)+ukt(i))2\mu_k^{t+1} := \arg\min_{\mu_k} -\sum_i p(k|x_i) \ln p_k(x_i|\mu_k(i), \sigma_k^2(i)) + \frac{\rho}{2} \sum_i (\mu_k(i) - \tilde{\mu}_k^t(i) + u_k^t(i))^2

σk2,αk\sigma_k^2, \alpha_k 同理,优化时可以对每个像素做解析更新(如果可能)或用梯度法。


  1. 更新辅助变量 μ~k,σ~k2,α~k\tilde{\mu}_k, \tilde{\sigma}_k^2, \tilde{\alpha}_k

这个子问题只涉及正则项 + quadratic penalty:

μ~kt+1:=argminμ~kλμRμ(μ~k)+ρ2i(μkt+1(i)μ~k(i)+ukt(i))2\tilde{\mu}_k^{t+1} := \arg\min_{\tilde{\mu}_k} \lambda_\mu R_\mu(\tilde{\mu}_k) + \frac{\rho}{2} \sum_i (\mu_k^{t+1}(i) - \tilde{\mu}_k(i) + u_k^t(i))^2

这实际上是一个 带平滑项的二次优化问题,可以用 线性系统求解(如迭代卷积、稀疏矩阵求解)。

σ~k2,α~k\tilde{\sigma}_k^2, \tilde{\alpha}_k 同理。


  1. 更新乘子

ukt+1(i)=ukt(i)+(μkt+1(i)μ~kt+1(i))u_k^{t+1}(i) = u_k^t(i) + (\mu_k^{t+1}(i) - \tilde{\mu}_k^{t+1}(i))


3️⃣ 优化策略

  • μk\mu_k 更新可以用 闭式公式或梯度下降
  • μ~k\tilde{\mu}_k 更新是 平滑问题,通常形成 稀疏线性系统,用共轭梯度或 FFT 求解
  • σk2,αk\sigma_k^2, \alpha_k 同理

这种方式把“数据拟合”和“平滑正则化”拆开,正好适合 ADMM。


4️⃣ 总结 ADMM 框架

ADMM 迭代:{更新原变量 μk,σk2,αk(数据拟合 + Penalty)更新辅助变量 μ~k,σ~k2,α~k(平滑正则)更新拉格朗日乘子 u\text{ADMM 迭代}: \begin{cases} \text{更新原变量 } \mu_k, \sigma_k^2, \alpha_k \quad \text{(数据拟合 + Penalty)}\\ \text{更新辅助变量 } \tilde{\mu}_k, \tilde{\sigma}_k^2, \tilde{\alpha}_k \quad \text{(平滑正则)}\\ \text{更新拉格朗日乘子 } u \end{cases}

  • 保证每个子问题易解
  • 数据拟合和正则平滑分开
  • 可并行化(每个像素或每个组件 k 独立计算)