在前两篇博客中, 我们分别讲述了消息传递算法的来龙去脉 和 利用 高斯及泰勒展开近似得到的最大后验估计的GAMP版本。 这一篇博客,我们使用类似的推导,整理了在实际中可能更常用的, MMSE 最小均方误差估计版本的 GAMP 算法。
模型背景我们旨在解决上图这样的问题, 已知输入 q \mathbf{q} q (先验信息), 已知输出 y \mathbf{y} y(后验信息), 已知变换矩阵 A \mathbf{A} A, 反推出变量 x \mathbf{x} x。 以AWGN信道举例: y = z + w = A x + w \mathbf{y}=\mathbf{z}+\mathbf{w}=\mathbf{A} \mathbf{x}+\mathbf{w} y=z+w=Ax+w y \mathbf{y} y已知而我们试图反推出 x \mathbf{x} x。 此时, 如果 x \mathbf{x} x有一些先验分布信息, 如稀疏分布, 即 x \mathbf{x} x中只有少量元素非零, 那么, 便可以通过概率的方式, 以GAMP算法进行求解。
MMSE上一篇博客中我们写到的 MAP 版本的 GAMP 旨在给出以下的估计量: x ^ map : = arg max x ∈ R n F ( x , z , q , y ) , z ^ = A x ^ \widehat{\mathbf{x}}^{\text {map }}:=\underset{\mathbf{x} \in \mathbb{R}^{n}}{\arg \max } F(\mathbf{x}, \mathbf{z}, \mathbf{q}, \mathbf{y}), \quad \widehat{\mathbf{z}}=\mathbf{A} \widehat{\mathbf{x}} x map :=x∈RnargmaxF(x,z,q,y),z =Ax 即最大化后验概率。 我举一个例子, 比如经过计算得到, x = 0.5 x=0.5 x=0.5 的概率是 0.2 0.2 0.2, 而 x = 0.1 x=0.1 x=0.1的概率是 0.19 0.19 0.19, x = 0.11 x=0.11 x=0.11的概率是 0.18 0.18 0.18, x = 0.09 x=0.09 x=0.09的概率是 0.17 0.17 0.17。 此时, 如果使用最大后验 MAP 估计, 得到的 x x x估计结果就是 x = 0.5 x=0.5 x=0.5。 但在这种情况下这就有失偏颇, 因为他完全没有考虑其他情况的概率。 这就有点像通信中的硬判决,一刀切, 因此,综合了所有可能情况的软判决, 可能更显客观, 这也是我们要介绍的MMSE估计, 即: x ^ m m s e : = E [ x ∣ y , q ] \widehat{\mathrm{x}}^{\mathrm{mmse}}:=\mathbb{E}[\mathrm{x} \mid \mathrm{y}, \mathbf{q}] x mmse:=E[x∣y,q] 以期望作为估计值。下面, 我们就推导以MMSE为估计准则的GAMP版本。
回顾下MAP中的消息传递: 在每次迭代中, 实际要计算两个消息算子:
Δ
i
→
j
(
t
,
x
j
)
=
c
o
n
s
t
+
max
x
\
x
j
f
out
(
z
i
,
y
i
)
+
∑
r
≠
j
Δ
i
←
r
(
t
,
x
r
)
(1)
\begin{aligned} {\Delta}_{i \rightarrow j}\left(t, x_{j}\right)=\mathrm{const} +\max _{\mathbf{x}\backslash x_j} f_{\text {out }}\left(z_{i}, y_{i}\right)+\sum_{r \neq j} \Delta_{i \leftarrow r}\left(t, x_{r}\right) \end{aligned}\tag{1}
Δi→j(t,xj)=const+x\xjmaxfout (zi,yi)+r=j∑Δi←r(t,xr)(1) 和
Δ
i
←
j
(
t
+
1
,
x
j
)
=
c
o
n
s
t
+
f
i
n
(
x
j
,
q
j
)
+
∑
ℓ
≠
i
Δ
ℓ
→
j
(
t
,
x
j
)
(2)
\begin{aligned} {\Delta}_{i \leftarrow j}\left(t+1, x_{j}\right)=\mathrm{const} +f_{\mathrm{in}}\left(x_{j}, q_{j}\right)+\sum_{\ell \neq i} \Delta_{\ell \rightarrow j}\left(t, x_{j}\right) \end{aligned}\tag{2}
Δi←j(t+1,xj)=const+fin(xj,qj)+ℓ=i∑Δℓ→j(t,xj)(2)
注意到(1)式中, 由于是MAP准则, 因此传递的消息里也是求了 max \max max后的结果。 然而在MMSE准则下, 我们要传递的消息就变成了: Δ i → j ( t , x j ) = log E ( p Y ∣ Z ( y i , z i ) ∣ x j ) + const (3) \Delta_{i \rightarrow j}\left(t, x_{j}\right)=\log \mathbb{E}\left(p_{Y \mid Z}\left(y_{i}, z_{i}\right) \mid x_{j}\right)+\text { const }\tag{3} Δi→j(t,xj)=logE(pY∣Z(yi,zi)∣xj)+ const (3) 和 Δ i ← j ( x j ) = const + log p X ∣ Q ( x j ∣ q j ) + ∑ l ≠ i Δ l → j ( x j ) (4) \Delta_{i \leftarrow j}\left(x_{j}\right)=\text { const }+\log p_{X \mid Q}\left(x_{j} \mid q_{j}\right)+\sum_{l \neq i} \Delta_{l \rightarrow j}\left(x_{j}\right) \tag{4} Δi←j(xj)= const +logpX∣Q(xj∣qj)+l=i∑Δl→j(xj)(4) 注意到, 在这个消息传递中, 传递的都是似然信息了, 也就是说有: p i ← r ( x r ) ∝ exp Δ i ← r ( t , x r ) p_{i \leftarrow r}\left(x_{r}\right) \propto \exp \Delta_{i \leftarrow r}\left(t, x_{r}\right) pi←r(xr)∝expΔi←r(t,xr) 值得一提的是, 在(3)中的期望是对随机变量 z i = a i T x z_{i}=\mathbf{a}_{i}^{T} \mathbf{x} zi=aiTx 进行求取, 此时 x j x_j xj 是 固定的, 而 x \mathbf{x} x 中的其余项, 则服从独立分布 p i ← r ( x r ) ∝ exp Δ i ← r ( t , x r ) p_{i \leftarrow r}\left(x_{r}\right) \propto \exp \Delta_{i \leftarrow r}\left(t, x_{r}\right) pi←r(xr)∝expΔi←r(t,xr)。
和 MAP估计一样,我们最后要得到的估计值也是由下式得出: p j ( x j ) ∝ exp Δ j ( t , x j ) p_{j}\left(x_{j}\right) \propto \exp \Delta_{j}\left(t, x_{j}\right) pj(xj)∝expΔj(t,xj) 其中 Δ j ( t + 1 , x j ) = f i n ( x j , q j ) + ∑ i Δ i → j ( t , x j ) \Delta_{j}\left(t+1, x_{j}\right)=f_{\mathrm{in}}\left(x_{j}, q_{j}\right)+\sum_{i} \Delta_{i \rightarrow j}\left(t, x_{j}\right) Δj(t+1,xj)=fin(xj,qj)+i∑Δi→j(t,xj)
那么,后续我们就是通过合理的近似, 对消息传递算法进行简化。 类似地, 我们先定义如下变量: 我们需要定义的变量也变为: x ^ j ( t ) : = E [ x j ∣ Δ j ( t , ⋅ ) ] x ^ i ← j ( t ) : = E [ x j ∣ Δ i ← j ( t , ⋅ ) ] τ j x ( t ) : = var [ x j ∣ Δ j ( t , ⋅ ) ] τ i ← j x ( t ) : = var [ x j ∣ Δ i ← j ( t , ⋅ ) ] , \begin{aligned} \widehat{x}_{j}(t) &:=\mathbb{E}\left[x_{j} \mid \Delta_{j}(t, \cdot)\right] \\ \widehat{x}_{i \leftarrow j}(t) &:=\mathbb{E}\left[x_{j} \mid \Delta_{i \leftarrow j}(t, \cdot)\right] \\ \tau_{j}^{x}(t) &:=\operatorname{var}\left[x_{j} \mid \Delta_{j}(t, \cdot)\right] \\ \tau_{i \leftarrow j}^{x}(t) &:=\operatorname{var}\left[x_{j} \mid \Delta_{i \leftarrow j}(t, \cdot)\right], \end{aligned} x j(t)x i←j(t)τjx(t)τi←jx(t):=E[xj∣Δj(t,⋅)]:=E[xj∣Δi←j(t,⋅)]:=var[xj∣Δj(t,⋅)]:=var[xj∣Δi←j(t,⋅)], 其中 x ^ j \hat{x}_j x^j 就是我们最后要得到的估计量。
我们先对 (3) 进行近似, 这可以写为:
Δ
i
→
j
(
t
,
x
j
)
=
const
+
log
∫
{
x
r
}
r
≠
j
p
Y
∣
Z
(
y
i
∣
a
i
j
x
j
+
∑
r
≠
j
a
i
r
x
r
⏟
≜
z
i
)
∏
r
≠
j
e
Δ
i
←
r
(
t
,
x
r
)
.
\begin{aligned} &\Delta_{i \rightarrow j}\left(t, x_{j}\right) \\ &=\text { const }+\log \int_{\left\{x_{r}\right\}_{r \neq j}} p_{Y \mid Z}(y_{i} \mid \underbrace{a_{i j} x_{j}+\sum_{r \neq j} a_{i r} x_{r}}_{\triangleq z_{i}}) \prod_{r \neq j} e^{\Delta_{i \leftarrow r}\left(t, x_{r}\right)} . \end{aligned}
Δi→j(t,xj)= const +log∫{xr}r=jpY∣Z(yi∣≜zi
aijxj+r=j∑airxr)r=j∏eΔi←r(t,xr). 而当矩阵维度较大时, 那么,根据中心极限定理, 相互独立的随机变量, 其和 服从 高斯分布, 且均值就是 各自均值之和, 而方差则是各自方差之和, 因此, 有:
z
i
∣
x
j
∼
N
(
a
i
j
x
j
+
p
^
i
←
j
(
t
)
,
τ
i
←
j
p
(
t
)
)
z_{i} \mid x_{j} \sim \mathcal{N}\left(a_{i j} x_{j}+\widehat{p}_{i\leftarrow j}(t), \tau_{i\leftarrow j}^{p}(t)\right)
zi∣xj∼N(aijxj+p
i←j(t),τi←jp(t)) 其中,
p
^
i
→
j
(
t
)
:
=
∑
r
≠
j
a
i
r
x
^
i
←
r
(
t
)
τ
i
→
j
p
(
t
)
:
=
∑
r
≠
j
∣
a
i
r
∣
2
τ
r
x
(
t
)
\begin{aligned} \widehat{p}_{i \rightarrow j}(t) &:=\sum_{r \neq j} a_{i r} \widehat{x}_{i \leftarrow r}(t) \\ \tau_{i \rightarrow j}^{p}(t) &:=\sum_{r \neq j}\left|a_{i r}\right|^{2} \tau_{r}^{x}(t) \end{aligned}
p
i→j(t)τi→jp(t):=r=j∑airx
i←r(t):=r=j∑∣air∣2τrx(t) 那么, 我们进一步就有:
Δ
i
→
j
(
t
,
x
j
)
≈
const
+
log
∫
z
i
p
Y
∣
Z
(
y
i
∣
z
i
)
N
(
z
i
;
a
i
j
x
j
+
p
^
i
←
j
(
t
)
,
τ
i
←
j
p
(
t
)
)
⏟
≜
H
(
a
i
j
x
j
+
p
^
i
←
j
(
t
)
,
y
i
,
τ
i
←
j
p
(
t
)
)
(5)
\Delta_{i \rightarrow j}\left(t, x_{j}\right) \approx \text { const }+\underbrace{\log \int_{z_{i}} p_{Y \mid Z}\left(y_{i} \mid z_{i}\right) \mathcal{N}\left(z_{i} ; a_{i j} x_{j}+\widehat{p}_{i\leftarrow j}(t), \tau_{i\leftarrow j}^{p}(t)\right)}_{\triangleq H\left(a_{i j} x_{j}+\widehat{p}_{i\leftarrow j}(t), y_{i}, \tau_{i\leftarrow j}^{p}(t)\right)}\tag{5}
Δi→j(t,xj)≈ const +≜H(aijxj+p
i←j(t),yi,τi←jp(t))
log∫zipY∣Z(yi∣zi)N(zi;aijxj+p
i←j(t),τi←jp(t))(5) 这里,我们有:
H
(
p
^
,
y
,
μ
p
)
≜
log
∫
p
Y
∣
Z
(
y
∣
z
)
N
(
z
;
p
^
,
μ
p
)
d
z
H\left(\widehat{p}, y, \mu^{p}\right) \triangleq \log \int p_{Y \mid Z}(y \mid z) \mathcal{N}\left(z ; \widehat{p}, \mu^{p}\right) d z
H(p
,y,μp)≜log∫pY∣Z(y∣z)N(z;p
,μp)dz (
μ
p
\mu^p
μp 和
τ
p
\tau^p
τp是一样的) 那么 类似 MAP版本的思路, 接下来我们要把所有
i
←
j
i\leftarrow j
i←j 项替换掉, 定义变量:
p
^
i
(
t
)
:
=
∑
j
a
i
j
x
^
i
←
j
(
t
)
=
p
^
i
→
j
+
a
i
j
x
^
i
←
j
(
t
)
,
τ
i
p
(
t
)
=
∑
j
∣
a
i
j
∣
2
τ
j
x
(
t
)
+
a
i
j
2
τ
j
x
(
t
)
\widehat{p}_{i}(t):=\sum_{j} a_{i j} \widehat{x}_{i \leftarrow j}(t)=\widehat{p}_{i \rightarrow j}+a_{ij} \widehat{x}_{i \leftarrow j}(t), \tau_{i}^{p}(t)=\sum_{j}\left|a_{i j}\right|^{2} \tau_{j}^{x}(t) + a_{ij}^2\tau_j^x(t)
p
i(t):=j∑aijx
i←j(t)=p
i→j+aijx
i←j(t),τip(t)=j∑∣aij∣2τjx(t)+aij2τjx(t) 那么,(5)可以被写为
Δ
i
→
j
(
t
,
x
j
)
≈
H
(
p
^
i
(
t
)
+
a
i
j
(
x
j
−
x
^
j
)
,
y
i
,
τ
i
p
(
t
)
)
+
const.
\Delta_{i \rightarrow j}\left(t, x_{j}\right) \approx H\left(\widehat{p}_{i}(t)+a_{i j}\left(x_{j}-\widehat{x}_{j}\right), y_{i}, \tau_{i}^{p}(t)\right)+\text { const. }
Δi→j(t,xj)≈H(p
i(t)+aij(xj−x
j),yi,τip(t))+ const. 可以通过泰勒展开得到:
Δ
i
→
j
(
t
,
x
j
)
≈
const
+
s
i
(
t
)
a
i
j
(
x
j
−
x
^
j
(
t
)
)
−
τ
i
s
(
t
)
2
a
i
j
2
(
x
j
−
x
^
j
(
t
)
)
2
=
const
[
s
i
(
t
)
a
i
j
+
a
i
j
2
τ
i
s
(
t
)
x
^
j
(
t
)
]
x
j
−
τ
i
s
(
t
)
2
a
i
j
2
x
j
2
(6)
\begin{aligned} \Delta_{i \rightarrow j}(&\left.t, x_{j}\right) \approx \text { const } \\ &+s_{i}(t) a_{i j}\left(x_{j}-\widehat{x}_{j}(t)\right)-\frac{\tau_{i}^{s}(t)}{2} a_{i j}^{2}\left(x_{j}-\widehat{x}_{j}(t)\right)^{2} \\ =& \operatorname{const}\left[s_{i}(t) a_{i j}+a_{i j}^{2} \tau_{i}^{s}(t) \widehat{x}_{j}(t)\right] x_{j} \\ &-\frac{\tau_{i}^{s}(t)}{2} a_{i j}^{2} x_{j}^{2} \end{aligned}\tag{6}
Δi→j(=t,xj)≈ const +si(t)aij(xj−x
j(t))−2τis(t)aij2(xj−x
j(t))2const[si(t)aij+aij2τis(t)x
j(t)]xj−2τis(t)aij2xj2(6) 这两个表达式和之前一样,这里的近似是我们忽略了
O
(
a
i
j
2
)
O\left(a_{i j}^{2}\right)
O(aij2)级的项。其中,
s
^
i
(
t
)
=
g
out
(
t
,
p
^
i
(
t
)
,
y
i
,
τ
i
p
(
t
)
)
τ
i
s
(
t
)
=
−
∂
∂
p
^
g
out
(
t
,
p
^
i
(
t
)
,
y
i
,
τ
i
p
(
t
)
)
\begin{aligned} \widehat{s}_{i}(t) &=g_{\text {out }}\left(t, \widehat{p}_{i}(t), y_{i}, \tau_{i}^{p}(t)\right) \\ \tau_{i}^{s}(t) &=-\frac{\partial}{\partial \widehat{p}} g_{\text {out }}\left(t, \widehat{p}_{i}(t), y_{i}, \tau_{i}^{p}(t)\right) \end{aligned}
s
i(t)τis(t)=gout (t,p
i(t),yi,τip(t))=−∂p
∂gout (t,p
i(t),yi,τip(t)) 这些都是和MAP版本的定义完全一致, 然而由于
H
H
H函数的不同,
g
o
u
t
g_\mathrm{out}
gout的形式也截然不同。 因此,接下来我们要对
g
o
u
t
g_\mathrm{out}
gout进行推导, 也即推导
H
H
H的一阶导:
H
′
(
p
^
,
y
,
μ
p
)
=
∂
∂
p
^
log
∫
p
Y
∣
Z
(
y
∣
z
)
1
2
π
μ
p
exp
(
−
1
2
μ
p
(
z
−
p
^
)
2
)
d
z
=
∂
∂
p
^
{
log
1
2
π
μ
p
+
log
∫
z
exp
(
log
p
Y
∣
Z
(
y
∣
z
)
−
1
2
μ
p
(
z
−
p
^
)
2
)
d
z
}
=
∂
∂
p
^
{
−
p
^
2
2
μ
p
+
log
∫
exp
(
log
p
Y
∣
Z
(
y
∣
z
)
−
z
2
2
μ
p
+
p
^
z
μ
p
)
d
z
}
=
−
p
^
μ
p
+
∂
∂
p
^
log
[
μ
p
∫
exp
(
ϕ
(
u
)
+
p
^
u
)
d
u
]
via
u
≜
z
μ
p
=
−
p
^
μ
p
+
∂
∂
p
^
log
∫
exp
(
ϕ
(
u
)
+
p
^
u
)
d
u
\begin{aligned} &H^{\prime}\left(\widehat{p}, y, \mu^{p}\right) \\ &\quad=\frac{\partial}{\partial \widehat{p}} \log \int p_{Y \mid Z}(y \mid z) \frac{1}{\sqrt{2 \pi \mu^{p}}} \exp \left(-\frac{1}{2 \mu^{p}}(z-\widehat{p})^{2}\right) d z \\ &=\frac{\partial}{\partial \widehat{p}}\left\{\log \frac{1}{\sqrt{2 \pi \mu^{p}}}+\log \int_{z} \exp \left(\log p_{Y \mid Z}(y \mid z)-\frac{1}{2 \mu^{p}}(z-\widehat{p})^{2}\right) d z\right\} \\ &=\frac{\partial}{\partial \widehat{p}}\left\{-\frac{\widehat{p}^{2}}{2 \mu^{p}}+\log \int \exp \left(\log p_{Y \mid Z}(y \mid z)-\frac{z^{2}}{2 \mu^{p}}+\frac{\widehat{p} z}{\mu^{p}}\right) d z\right\} \\ &=-\frac{\widehat{p}}{\mu^{p}}+\frac{\partial}{\partial \widehat{p}} \log \left[\mu^{p} \int \exp (\phi(u)+\widehat{p} u) d u\right] \text { via } u \triangleq \frac{z}{\mu^{p}} \\ &=-\frac{\widehat{p}}{\mu^{p}}+\frac{\partial}{\partial \widehat{p}} \log \int \exp (\phi(u)+\widehat{p} u) d u \end{aligned}
H′(p
,y,μp)=∂p
∂log∫pY∣Z(y∣z)2πμp
1exp(−2μp1(z−p
)2)dz=∂p
∂{log2πμp
1+log∫zexp(logpY∣Z(y∣z)−2μp1(z−p
)2)dz}=∂p
∂{−2μpp
2+log∫exp(logpY∣Z(y∣z)−2μpz2+μpp
z)dz}=−μpp
+∂p
∂log[μp∫exp(ϕ(u)+p
u)du] via u≜μpz=−μpp
+∂p
∂log∫exp(ϕ(u)+p
u)du 记
Z
(
p
^
)
≜
∫
exp
(
ϕ
(
u
)
+
p
^
u
)
d
u
Z(\widehat{p}) \triangleq \int \exp (\phi(u)+\widehat{p} u) d u
Z(p
)≜∫exp(ϕ(u)+p
u)du, 我们有如下数学公理:
∂
∂
p
^
log
Z
(
p
^
)
=
E
{
u
∣
p
^
}
with
p
U
∣
P
(
u
∣
p
^
)
=
exp
(
ϕ
(
u
)
+
p
^
u
)
Z
(
p
^
)
∂
2
∂
p
^
2
log
Z
(
p
^
)
=
var
{
u
∣
p
^
}
with
p
U
∣
P
(
u
∣
p
^
)
=
exp
(
ϕ
(
u
)
+
p
^
u
Z
(
p
^
)
.
\begin{aligned} &\frac{\partial}{\partial \widehat{p}} \log Z(\widehat{p})=\mathrm{E}\{u \mid \widehat{p}\} \text { with } p_{U \mid P}(u \mid \widehat{p})=\frac{\exp (\phi(u)+\hat{p} u)}{Z(\hat{p})} \\ &\frac{\partial^{2}}{\partial \widehat{p}^{2}} \log Z(\widehat{p})=\operatorname{var}\{u \mid \widehat{p}\} \text { with } p_{U \mid P}(u \mid \widehat{p})=\frac{\exp (\phi(u)+\hat{p} u}{Z(\hat{p})} . \end{aligned}
∂p
∂logZ(p
)=E{u∣p
} with pU∣P(u∣p
)=Z(p^)exp(ϕ(u)+p^u)∂p
2∂2logZ(p
)=var{u∣p
} with pU∣P(u∣p
)=Z(p^)exp(ϕ(u)+p^u. 可以通过简单的求导法则验证, 这是正确的。 因此,
H
′
(
p
^
,
y
,
μ
p
)
=
−
p
^
μ
p
+
∫
u
exp
(
ϕ
(
u
)
+
p
^
u
)
Z
(
p
^
)
d
u
=
−
p
^
μ
p
+
∫
z
μ
p
exp
(
log
p
Y
∣
Z
(
y
∣
z
)
−
z
2
2
μ
p
+
z
p
^
μ
p
)
Z
(
p
^
)
d
z
μ
p
via
u
≜
z
μ
p
=
−
p
^
μ
p
+
1
μ
p
∫
z
exp
(
log
p
Y
∣
Z
(
y
∣
z
)
−
1
2
μ
p
(
z
−
p
^
)
2
)
μ
p
Z
(
p
^
)
exp
(
−
p
2
2
μ
p
)
d
z
=
−
p
^
μ
p
+
1
μ
p
∫
z
p
Y
∣
Z
(
y
∣
z
)
N
(
z
;
p
^
,
μ
p
)
∫
p
Y
∣
Z
(
y
∣
z
ˉ
)
N
(
z
ˉ
;
p
^
,
μ
p
)
d
z
ˉ
d
z
=
1
μ
p
(
E
{
z
∣
y
,
p
^
;
μ
p
}
−
p
^
)
\begin{aligned} H^{\prime}\left(\widehat{p}, y, \mu^{p}\right) &=-\frac{\widehat{p}}{\mu^{p}}+\int u \frac{\exp (\phi(u)+\widehat{p} u)}{Z(\hat{p})} d u \\ &=-\frac{\widehat{p}}{\mu^{p}}+\int \frac{z}{\mu^{p}} \frac{\exp \left(\log p_{Y \mid Z}(y \mid z)-\frac{z^{2}}{2 \mu^{p}}+\frac{z \widehat{p}}{\mu^{p}}\right)}{Z(\widehat{p})} \frac{d z}{\mu^{p}} \text { via } u \triangleq \frac{z}{\mu^{p}} \\ &=-\frac{\widehat{p}}{\mu^{p}}+\frac{1}{\mu^{p}} \int z \frac{\exp \left(\log p_{Y \mid Z}(y \mid z)-\frac{1}{2 \mu^{p}}(z-\widehat{p})^{2}\right)}{\mu^{p} Z(\widehat{p}) \exp \left(-\frac{p^{2}}{2 \mu^{p}}\right)} d z \\ &=-\frac{\widehat{p}}{\mu^{p}}+\frac{1}{\mu^{p}} \int z \frac{p_{Y \mid Z}(y \mid z) \mathcal{N}\left(z ; \widehat{p}, \mu^{p}\right)}{\int p_{Y \mid Z}(y \mid \bar{z}) \mathcal{N}\left(\bar{z} ; \hat{p}, \mu^{p}\right) d \bar{z}} d z \\ &=\frac{1}{\mu^{p}}\left(\mathrm{E}\left\{z \mid y, \widehat{p} ; \mu^{p}\right\}-\widehat{p}\right) \end{aligned}
H′(p
,y,μp)=−μpp
+∫uZ(p^)exp(ϕ(u)+p
u)du=−μpp
+∫μpzZ(p
)exp(logpY∣Z(y∣z)−2μpz2+μpzp
)μpdz via u≜μpz=−μpp
+μp1∫zμpZ(p
)exp(−2μpp2)exp(logpY∣Z(y∣z)−2μp1(z−p
)2)dz=−μpp
+μp1∫z∫pY∣Z(y∣zˉ)N(zˉ;p^,μp)dzˉpY∣Z(y∣z)N(z;p
,μp)dz=μp1(E{z∣y,p
;μp}−p
) 因此,我们有:
g
out
(
p
^
,
y
,
τ
p
)
:
=
1
τ
p
(
z
^
0
−
p
^
)
,
z
^
0
:
=
E
(
z
∣
p
^
,
y
,
τ
p
)
g_{\text {out }}\left(\widehat{p}, y, \tau^{p}\right):=\frac{1}{\tau^{p}}\left(\widehat{z}^{0}-\widehat{p}\right), \quad \widehat{z}^{0}:=\mathbb{E}\left(z \mid \widehat{p}, y, \tau^{p}\right)
gout (p
,y,τp):=τp1(z
0−p
),z
0:=E(z∣p
,y,τp) 这也是和MAP区别开的地方。 类似地可以得到:
−
∂
∂
p
^
g
out
(
p
^
,
y
,
τ
p
)
=
1
τ
p
(
1
−
var
(
z
∣
p
^
,
y
,
τ
p
)
τ
p
)
-\frac{\partial}{\partial \widehat{p}} g_{\text {out }}\left(\widehat{p}, y, \tau^{p}\right)=\frac{1}{\tau^{p}}\left(1-\frac{\operatorname{var}\left(z \mid \widehat{p}, y, \tau^{p}\right)}{\tau^{p}}\right)
−∂p
∂gout (p
,y,τp)=τp1(1−τpvar(z∣p
,y,τp)) 至此,
Δ
i
→
j
\Delta_{i \rightarrow j}
Δi→j算是可以被近似得到了。 接下来估计
Δ
i
←
j
\Delta_{i \leftarrow j}
Δi←j, 把(6)的结果代入可得到:
Δ
i
←
j
(
t
+
1
,
x
j
)
≈
c
o
n
s
t
+
f
i
n
(
x
j
,
q
j
)
−
1
2
τ
i
←
j
r
(
t
)
(
r
^
i
←
j
(
t
)
−
x
j
)
2
\begin{aligned} &\Delta_{i \leftarrow j}\left(t+1, x_{j}\right) \approx \mathrm{const} \\ &\quad+\quad f_{\mathrm{in}}\left(x_{j}, q_{j}\right)-\frac{1}{2 \tau_{i \leftarrow j}^{r}(t)}\left(\widehat{r}_{i \leftarrow j}(t)-x_{j}\right)^{2} \end{aligned}
Δi←j(t+1,xj)≈const+fin(xj,qj)−2τi←jr(t)1(r
i←j(t)−xj)2 其中,
1
τ
i
←
j
r
(
t
)
=
∑
ℓ
≠
i
a
ℓ
j
2
τ
ℓ
s
(
t
)
r
^
i
←
j
(
t
)
=
τ
i
←
j
r
(
t
)
∑
ℓ
≠
i
[
s
ℓ
(
t
)
a
ℓ
j
+
a
ℓ
j
2
τ
ℓ
s
(
t
)
x
^
j
(
t
)
]
=
x
^
j
(
t
)
+
τ
i
←
j
r
(
t
)
∑
ℓ
≠
i
s
ℓ
(
t
)
a
ℓ
j
\begin{aligned} \frac{1}{\tau_{i \leftarrow j}^{r}(t)} &=\sum_{\ell \neq i} a_{\ell j}^{2} \tau_{\ell}^{s}(t) \\ \widehat{r}_{i \leftarrow j}(t) &=\tau_{i \leftarrow j}^{r}(t) \sum_{\ell \neq i}\left[s_{\ell}(t) a_{\ell j}+a_{\ell j}^{2} \tau_{\ell}^{s}(t) \widehat{x}_{j}(t)\right] \\ &=\widehat{x}_{j}(t)+\tau_{i \leftarrow j}^{r}(t) \sum_{\ell \neq i} s_{\ell}(t) a_{\ell j} \end{aligned}
τi←jr(t)1r
i←j(t)=ℓ=i∑aℓj2τℓs(t)=τi←jr(t)ℓ=i∑[sℓ(t)aℓj+aℓj2τℓs(t)x
j(t)]=x
j(t)+τi←jr(t)ℓ=i∑sℓ(t)aℓj 这步和MAP的步骤是完全一样。接下来,我们注意到:
p
Δ
i
←
j
(
t
,
⋅
)
(
x
j
)
∝
exp
Δ
i
←
j
(
t
,
x
j
)
≈
1
Z
exp
F
i
n
(
x
j
,
r
^
i
←
j
(
t
)
,
q
j
,
τ
i
←
j
r
(
t
)
)
\begin{aligned} &p_{\Delta_{i \leftarrow j}(t, \cdot)}\left(x_{j}\right)\propto \exp \Delta_{i\leftarrow j}\left(t, x_{j}\right) \\ &\quad \approx \frac{1}{Z} \exp F_{\mathrm{in}}\left(x_{j}, \widehat{r}_{i \leftarrow j}(t), q_{j}, \tau_{i \leftarrow j}^{r}(t)\right) \end{aligned}
pΔi←j(t,⋅)(xj)∝expΔi←j(t,xj)≈Z1expFin(xj,r
i←j(t),qj,τi←jr(t)) 其中,
F
i
n
(
x
,
r
^
,
q
,
τ
r
)
:
=
f
i
n
(
x
,
q
)
−
1
2
τ
r
(
r
^
−
x
)
2
F_{\mathrm{in}}\left(x, \widehat{r}, q, \tau^{r}\right):=f_{\mathrm{in}}(x, q)-\frac{1}{2 \tau^{r}}(\widehat{r}-x)^{2}
Fin(x,r
,q,τr):=fin(x,q)−2τr1(r
−x)2 注意到这又是熟悉的高斯分布变量的指数项, 因此,如果定义:
g
in
(
r
^
,
q
,
τ
r
)
:
=
E
[
X
∣
R
^
=
r
^
,
Q
=
q
]
g_{\text {in }}\left(\widehat{r}, q, \tau^{r}\right):=\mathbb{E}[X \mid \widehat{R}=\widehat{r}, Q=q]
gin (r
,q,τr):=E[X∣R
=r
,Q=q] 这里的期望是对变量
R
^
=
X
+
V
,
V
∼
N
(
0
,
τ
r
)
\widehat{R}=X+V, \quad V \sim \mathcal{N}\left(0, \tau^{r}\right)
R
=X+V,V∼N(0,τr) 进行求取。 则我们有:
x
^
i
←
j
(
t
+
1
)
=
E
[
x
j
∣
Δ
i
←
j
(
t
,
⋅
)
]
≈
g
in
(
r
^
i
←
j
(
t
)
,
q
j
,
τ
i
←
j
r
(
t
)
)
\widehat{x}_{i \leftarrow j}(t+1) =\mathbb{E}\left[x_{j} \mid \Delta_{i \leftarrow j}(t, \cdot)\right]\approx g_{\text {in }}\left(\widehat{r}_{i \leftarrow j}(t), q_{j}, \tau_{i \leftarrow j}^{r}(t)\right)
x
i←j(t+1)=E[xj∣Δi←j(t,⋅)]≈gin (r
i←j(t),qj,τi←jr(t)) 至此,剩余步骤的推导都和MAP算法一致。 也就是说,两个版本的GAMP算法的不同仅仅体现在
g
o
u
t
g_\mathrm{out}
gout 和
g
i
n
g_\mathrm{in}
gin 上。 作者做了一个表格用以对比: 由于MMSE 版本 和 MAP 版本高度相似, 这篇的推导写的较为简略。 没有关系, 我们重点聚焦在对GAMP算法的使用之上。 而从 GAMP 算法的 框图之中:
可以看到, 只有
s
^
i
\hat{s}_i
s^i 即
g
o
u
t
g_\mathrm{out}
gout,
τ
i
s
\tau_{i}^s
τis,
x
^
j
\hat{x}_j
x^j即
g
i
n
g_\mathrm{in}
gin 和
τ
j
x
\tau_j^x
τjx 是需要推导的, 其他的都是流水线无脑操作即可。 接下来我们以实例来展示。
我们考虑AWGN输出场景, 即 y = A x + n y = Ax + n y=Ax+n, 其中 n ∼ C N ( 0 , τ w ) n\sim\mathcal{CN}(0,\tau_w) n∼CN(0,τw)为高斯白噪声。 此时我们有: f out ( z , y ) : = log p Y ∣ Z ( y ∣ z ) = c o n s t + 1 2 τ w ( z − y ) 2 f_{\text {out }}(z, y):=\log p_{Y \mid Z}(y \mid z)=const + \frac{1}{2\tau_w}(z-y)^2 fout (z,y):=logpY∣Z(y∣z)=const+2τw1(z−y)2 那么推导MAP版本的 g o u t g_\mathrm{out} gout 为: g o u t = ( z ^ 0 − p ^ ) / τ p g_\mathrm{out}=\left(\widehat{z}^{0}-\widehat{p}\right) / \tau^{p} gout=(z 0−p )/τp 其中 z ^ 0 : = arg max z F out ( z , p ^ , y , τ p ) \widehat{z}^{0}:=\arg \max _{z} F_{\text {out }}\left(z, \widehat{p}, y, \tau^{p}\right) z 0:=argzmaxFout (z,p ,y,τp) 而 F out ( z , p ^ , y , τ p ) : = f out ( z , y ) − 1 2 τ p ( z − p ^ ) 2 = − 1 2 τ w ( z − y ) 2 − 1 2 τ p ( z − p ^ ) 2 F_{\text {out }}\left(z, \widehat{p}, y, \tau^{p}\right):=f_{\text {out }}(z, y)-\frac{1}{2 \tau^{p}}(z-\widehat{p})^{2}= -\frac{1}{2\tau_w}(z-y)^2 - \frac{1}{2 \tau^{p}}(z-\widehat{p})^{2} Fout (z,p ,y,τp):=fout (z,y)−2τp1(z−p )2=−2τw1(z−y)2−2τp1(z−p )2 那么上式对 z z z求导, 得到: ( 1 τ p + 1 τ w ) z = 1 τ w y + 1 τ p p ^ , (\frac{1}{\tau^p} + \frac{1}{\tau_w})z= \frac{1}{\tau_w}y+ \frac{1}{\tau^p}\hat{p}, (τp1+τw1)z=τw1y+τp1p^, 因此 z ^ 0 = τ p y + τ w p ^ τ p + τ w g o u t = y − p ^ τ p + τ w . \hat{z}^0 = \frac{\tau^py + \tau_w\hat{p}}{\tau^p + \tau_w}\\g_\mathrm{out}=\frac{y-\hat{p}}{\tau^p+\tau_w}. z^0=τp+τwτpy+τwp^gout=τp+τwy−p^. 那么很轻易又有: − ∂ ∂ p ^ g out ( p ^ , y , τ p ) = 1 τ p + τ w -\frac{\partial}{\partial \widehat{p}} g_{\text {out }}\left(\widehat{p}, y, \tau^{p}\right)=\frac{1}{\tau^{p}+\tau^{w}} −∂p ∂gout (p ,y,τp)=τp+τw1
再考虑 MMSE 版本。 其 g o u t g_\mathrm{out} gout 函数定义为: g o u t ( p ^ , y , τ p ) : = 1 τ p ( z ^ 0 − p ^ ) , z ^ 0 : = E ( z ∣ p ^ , y , τ p ) g_{\mathrm{out}}\left(\widehat{p}, y, \tau^{p}\right):=\frac{1}{\tau^{p}}\left(\widehat{z}^{0}-\widehat{p}\right), \quad \widehat{z}^{0}:=\mathbb{E}\left(z \mid \widehat{p}, y, \tau^{p}\right) gout(p ,y,τp):=τp1(z 0−p ),z 0:=E(z∣p ,y,τp) 其中, 变量 z z z服从分布: p ( z ∣ p ^ , y , τ p ) ∝ exp F out ( z , p ^ , y , τ p ) = − 1 2 τ w ( z − y ) 2 − 1 2 τ p ( z − p ^ ) 2 p\left(z \mid \widehat{p}, y, \tau^{p}\right) \propto \exp F_{\text {out }}\left(z, \widehat{p}, y, \tau^{p}\right)= -\frac{1}{2\tau_w}(z-y)^2 - \frac{1}{2 \tau^{p}}(z-\widehat{p})^{2} p(z∣p ,y,τp)∝expFout (z,p ,y,τp)=−2τw1(z−y)2−2τp1(z−p )2 这里注意到, 事实上式可以看做是两个高斯变量PDF乘积的形式, 而这已有定理, 那就是 上式仍是一个高斯变量的PDF, 即: p ( z ∣ p ^ , y , τ p ) ∼ N ( z ^ 0 , τ z ) p\left(z \mid \widehat{p}, y, \tau^{p}\right) \sim \mathcal{N}\left(\widehat{z}^{0}, \tau^{z}\right) p(z∣p ,y,τp)∼N(z 0,τz) 且均值和方差分别为: z ^ 0 : = p ^ + τ p τ w + τ p ( y − p ^ ) τ z : = τ w τ p τ w + τ p \begin{aligned} \widehat{z}^{0} &:=\widehat{p}+\frac{\tau^{p}}{\tau^{w}+\tau^{p}}(y-\widehat{p}) \\ \tau^{z} &:=\frac{\tau^{w} \tau^{p}}{\tau^{w}+\tau^{p}} \end{aligned} z 0τz:=p +τw+τpτp(y−p ):=τw+τpτwτp 具体的推导细节可以参考这篇博客 https://blog.csdn.net/chaosir1991/article/details/106910668/. 那么代入到 g o u t g_\mathrm{out} gout 中, 有: g o u t = y − p ^ τ p + τ w . g_\mathrm{out}=\frac{y-\hat{p}}{\tau^p+\tau_w}. gout=τp+τwy−p^. 因此, 在输出为AWGN的场景下, MAP 和 MMSE 完全等价。
接下来, 同样考虑 输入 也是 AWGN 场景, 即: p X ∣ Q ( x ∣ q ) = N ( q , τ x 0 ) p_{X \mid Q}(x \mid q)=\mathcal{N}\left(q, \tau^{x 0}\right) pX∣Q(x∣q)=N(q,τx0) 那么根据定义, MAP 版本为: g in ( r ^ , q , τ r ) : = arg max x F in ( x , r ^ , q , τ r ) g_{\text {in }}\left(\widehat{r}, q, \tau^{r}\right):=\underset{x}{\arg \max } F_{\text {in }}\left(x, \widehat{r}, q, \tau^{r}\right) gin (r ,q,τr):=xargmaxFin (x,r ,q,τr) 其中, F in ( x , r ^ , q , τ r ) : = f in ( x , q ) − 1 2 τ r ( r ^ − x ) 2 = − 1 2 τ x 0 ( q − x ) 2 − 1 2 τ r ( r ^ − x ) 2 F_{\text {in }}\left(x, \widehat{r}, q, \tau^{r}\right):=f_{\text {in }}(x, q)-\frac{1}{2 \tau^{r}}(\widehat{r}-x)^{2}=-\frac{1}{2 \tau^{x0}}(q-x)^{2}-\frac{1}{2 \tau^{r}}(\widehat{r}-x)^{2} Fin (x,r ,q,τr):=fin (x,q)−2τr1(r −x)2=−2τx01(q−x)2−2τr1(r −x)2 同样, 对 x x x求导, 可得: g i n ( r ^ , q , τ r ) : = τ x 0 τ x 0 + τ r ( r ^ − q ) + q g_{\mathrm{in}}\left(\widehat{r}, q, \tau^{r}\right):=\frac{\tau^{x 0}}{\tau^{x 0}+\tau^{r}}(\widehat{r}-q)+q gin(r ,q,τr):=τx0+τrτx0(r −q)+q 也可轻易求得: τ r g i n ′ ( r ^ , q , τ r ) : = τ r 1 − τ r f i n ′ ′ ( x ^ , q ) = τ x 0 τ r τ x 0 + τ r . \tau^{r} g_{\mathrm{in}}^{\prime}\left(\widehat{r}, q, \tau^{r}\right) \quad:=\frac{\tau^{r}}{1-\tau^{r} f_{\mathrm{in}}^{\prime \prime}(\widehat{x}, q)}=\frac{\tau^{x 0} \tau^{r}}{\tau^{x 0}+\tau^{r}}. τrgin′(r ,q,τr):=1−τrfin′′(x ,q)τr=τx0+τrτx0τr. 而 MMSE 版本中则有: g in ( r ^ , q , τ r ) : = E [ X ∣ R ^ = r ^ , Q = q ] g_{\text {in }}\left(\widehat{r}, q, \tau^{r}\right):=\mathbb{E}[X \mid \widehat{R}=\widehat{r}, Q=q] gin (r ,q,τr):=E[X∣R =r ,Q=q] 其中 R ^ = X + V , V ∼ N ( 0 , τ r ) \widehat{R}=X+V, \quad V \sim \mathcal{N}\left(0, \tau^{r}\right) R =X+V,V∼N(0,τr) 那么 根据贝叶斯公式我们有: p ( x ∣ r , q ) = p ( r ∣ x ) p ( x ∣ q ) p ( r ) ∝ p ( r ∣ x ) p ( x ∣ q ) p(x|r,q)=\frac{p(r|x)p(x|q)}{p(r)}\propto p(r|x)p(x|q) p(x∣r,q)=p(r)p(r∣x)p(x∣q)∝p(r∣x)p(x∣q) 而右边这个,又正是刚刚说到的: 两个高斯分布PDF之积仍是高斯分布PDF, 其均值方差和上面用到的一样。 具体, 其均值为: g in ( r ^ , q , τ r ) : = τ x 0 τ x 0 + τ r ( r ^ − q ) + q . g_{\text {in }}\left(\widehat{r}, q, \tau^{r}\right) \quad:=\frac{\tau^{x 0}}{\tau^{x 0}+\tau^{r}}(\widehat{r}-q)+q. gin (r ,q,τr):=τx0+τrτx0(r −q)+q. 这再次和 MAP 版本一致。 那么也有: τ r g i n ′ ( r ^ , q , τ r ) : = τ x 0 τ r τ x 0 + τ r . \tau^{r} g_{\mathrm{in}}^{\prime}\left(\widehat{r}, q, \tau^{r}\right):=\frac{\tau^{x 0} \tau^{r}}{\tau^{x 0}+\tau^{r}}. τrgin′(r ,q,τr):=τx0+τrτx0τr.