西电 - 网络信息论 第七章:Blahut-Arimoto 算法 — 容量计算的交替最大化方法
第七章 Blahut-Arimoto 算法(Blahut-Arimoto Algorithms)
课程: 网络信息论(Network Information Theory)
教材: A. El Gamal and Y.-H. Kim, Network Information Theory, Cambridge University Press, 2011
整理说明: 本章专门介绍计算信道容量和 BC 容量区域的 Blahut-Arimoto (BA) 算法——一种通过交替最大化(Alternative Maximization)来求解互信息最大化问题的迭代算法。从离散信道的经典 BA 算法出发,逐步扩展到退化 BC、一般 BC(SCIB/MIB/UVOB),以及连续信道(AWGN)的矩阵迭代版本。本章26年不考。
免责声明:本笔记内容来源于课程讲义和PPT,经AI辅助汇总完成,仅供学习参考。如有错误或遗漏,请以原始课程资料为准。
目录
- 问题背景与梯度上升
- BA 算法的核心思想——交替最大化
- BA 算法:给定 q 求最优 Q
- BA 算法:给定 Q 求最优 q
- 收敛性分析
- 停止准则与图示
- BA 算法在退化广播信道中的应用
- BA 算法在一般广播信道中的应用
- 连续信道的 BA 算法
- 数值结果与考试重点
1. 问题背景与梯度上升
1.1 信道容量的计算问题
点对点信道 $p(y|x)$ 的容量定义为:
其中 $I(X;Y)$ 是输入分布 $q(x)$ 的凹函数。
虽然容量有简洁的闭式表达,但对于一般的离散无记忆信道(DMC),没有解析解——需要用数值算法来求解最优输入分布 $q^*(x)$。
1.2 梯度上升法
最直接的方法:梯度上升。
假设 $|\mathcal{X}| = n$,自由变量为 $q_X(1), q_X(2), \ldots, q_X(n-1)$(最后一个由 $\sum q = 1$ 确定)。
梯度公式:
更新规则: $q \leftarrow q + \tau \cdot \nabla I(q)$
例:Z 信道
信道矩阵 $W_{ij} = p(Y=j | X=i)$:
graph LR
X0["X=0"] -->|"1"| Y0["Y=0"]
X0 -->|"0"| Y1["Y=1"]
X1["X=1"] -->|"0.5"| Y0
X1 -->|"0.5"| Y1
- 梯度上升:步长 0.1,初始 $p_X(0) = 0.2$
- 收敛到最优值 $p_X^*(0) = 0.6$
梯度上升的问题:步长选择敏感,收敛速度不保证,需要投影回概率单纯形。
2. BA 算法的核心思想——交替最大化
Blahut 和 Arimoto 于 1972 年独立提出了更优雅的算法。核心技巧是将原问题重构为双变量的交替最大化问题。
2.1 目标函数重构
原始问题:
引入辅助变量 $Q(x|y)$(一个条件分布),构造扩展的目标函数:
🔑 关键性质:
- $f(q) = I(X;Y) = f(q, Q) + D{X|Y}(q | Q)$,其中 $D{X|Y}$ 是条件 KL 散度
- $f(q) \geq f(q, Q)$ 对所有 $Q$ 成立(因为 KL 散度 $\geq 0$)
- 给定 $q$,最优的 $Q$ 是 $Qq = q(x|y)$(后验概率),此时 $D_{X|Y}=0$
graph LR
subgraph 交替最大化
Q0["Q₀"] -->|"max_q f(q,Q₀)"| Q1["q₁"]
Q1 -->|"max_Q f(q₁,Q)"| Q2["Q₁"]
Q2 -->|"max_q f(q,Q₁)"| Q3["q₂"]
Q3 -->|"max_Q f(q₂,Q)"| Q4["Q₂"]
Q4 -->|"..."| QN["收敛"]
end
交替最大化流程: $q_0 \to Q_1 \to q_1 \to Q_2 \to q_2 \to \cdots$,每一步都保证目标函数不降。
2.2 为什么交替最大化有效?
原问题 $f(q)$ 虽然对 $q$ 是凹的,但直接优化仍不方便。引入 $Q$ 后:
- $f(q, Q)$ 对 $q$ 是凹的(给定 $Q$ 时)
- $f(q, Q)$ 对 $Q$ 是凹的(给定 $q$ 时)
- 每一步子问题都有闭式解!
3. BA 算法:给定 q 求最优 Q
3.1 推导
条件 KL 散度 $D_{X|Y}(q|Q) \geq 0$,等号成立当且仅当 $Q(x|y) = q(x|y)$(对所有 $x,y$)。
因此,给定 $q$,最优 $Q[q]$ 就是后验概率分布:
且此时 $f(q) = f(q, Q[q]) \geq f(q, Q)$(对所有 $Q$)。
4. BA 算法:给定 Q 求最优 q
4.1 推导
将 $f(q, Q)$ 写为”标准形式”:
其中定义了关键量:
$dQ$ 可理解为在给定 $Q$ 下,输入 $x$ 的”信息势能”(information potential)。
4.2 拉格朗日乘子法
给定 $Q$,求解 $\max_{q} f(q, Q)$,约束 $\sum_x q(x) = 1$:
归一化后:
其中 $Sd = \sum{x’} \exp{dQ}$ 是归一化常数。
4.3 两个重要推论
由 (2) 直接可得:
(对所有 $x$ 恒为常数!)
以及:
4.4 BA 算法的一次完整迭代
graph TB
QK["当前 Q<sub>k</sub>"] -->|"q[Q<sub>k</sub>] ∝ exp{d[Q<sub>k</sub>](x)}"| QK1["q<sub>k</sub>"]
QK1 -->|"Q[q<sub>k</sub>](x|y) = q<sub>k</sub>(x|y)"| NK["Q<sub>k+1</sub>"]
NK --> QK
算法伪代码:
1 | 初始化: q₀(x)(通常均匀分布) |
5. 收敛性分析
5.1 单调性
每一步保证目标函数不降:
即 $f(qk) \geq f(q{k-1})$。序列 ${f(q_k)}$ 单调不减且有上界(最大互信息 $C$),因此收敛。
5.2 收敛速度
令 $q^*$ 为真实最优分布。可以证明:
解读: 所有迭代的”遗憾”之和被初始分布与最优分布之间的 KL 散度所控制。由于 $f(q^)-f(q_n) \geq 0$ 且求和有界,必然有 $f(q^) - f(q_n, Q_n) \to 0$。
详细推导:
因此:
6. 停止准则与图示
6.1 最优性条件(KKT 条件)
$q(x)$ 最大化 $I(X;Y)$ 的充要条件是存在常数 $D$ 使得:
物理含义: 在最优分布下,所有被使用的输入($q(x) > 0$)产生相同的”信息势能” $D$(等于容量 $C$);未使用的输入势能不超过 $D$。
6.2 停止准则
算法停止当以下差值足够小:
当 $q = q^*$ 时,由 (3) 知 $dQ[q] - \ln q(x) \equiv \ln S_d$(对所有 $x$),上式恰为 0。
6.3 BA 与梯度上升的对比
1 | BA 算法 梯度上升 |
7. BA 算法在退化广播信道中的应用
7.1 退化 BC 的容量区域支撑超平面
退化 BC $X \to Y \to Z$ 的容量区域边界可由支撑超平面刻画:
其中 $F(q(u,x)) = \theta I(X; Y|U) + \bar{\theta} I(U; Z)$。
7.2 BA 目标函数
其中($\theta < 1/2$ 时):
该表达式与经典 BA 的 $dQ = \sum_y p(y|x)\ln Q(x|y)$ 结构完全相同——只是将单字母 $x$ 替换为”超符号”$(u,x)$,并扩展了 $d[Q]$ 的定义以包含退化 BC 的叠加编码结构。
8. BA 算法在一般广播信道中的应用
8.1 三类界
| 界 | 全称 | 性质 |
|---|---|---|
| SCIB | 叠加编码内界(Superposition Coding Inner Bound) | 可达区域 |
| MIB | Marton 内界(Marton’s Inner Bound) | 可达区域 |
| UVOB | UV 外界(Nair-El Gamal UV Outer Bound) | 不可超越的外界 |
8.2 SCIB 的 BA 算法
SCIB 的支撑超平面形如:
其中 $F(\alpha, q) = \theta I(X; Y|U) + \bar{\theta}\bar{\alpha}I(U; Y) + \bar{\theta}\alpha I(U; Z)$。
⚠️ max-min 结构——不能直接套用 BA。但通过 Terkelsen 型定理可以交换 max 和 min:
迭代算法: 在 BA(最大化 $q$)和梯度下降(最小化 $\alpha$)之间交替:
graph LR
subgraph SCIB 双循环
AK["αₖ"] --> BA["BA: max_q F(αₖ,q)"]
BA --> QK["qₖ"]
QK --> GD["梯度下降: αₖ₊₁"]
GD --> AK
end
8.3 MIB 的 BA 算法
Marton 内界的目标函数结构类似,但辅助变量扩展到 $(U,V,W,X)$:
其中 $d[Q]$ 包含 $\ln Q(w|z), \ln Q(w|y), \ln Q(v|w,z), \ln Q(u|w,y), \ln Q(u|v,w), \ln Q(x|u,v,w)$ 等分量——对应于 Marton 编码中的多种条件结构。
8.4 UVOB 的 BA 算法
UV 外界的目标函数($\alpha, \beta \in [0,1]$ 满足 $\bar{\theta}\alpha + \theta\beta \geq \max{\theta, \bar{\theta}}$):
有两个辅助函数 $d_1[Q]$ 和 $d_2[Q]$,分别对应两个速率约束。
8.5 BSSC 数值结果
二元偏斜对称 BC(BSSC):
- 该信道的容量区域未知(BSSC 不属于退化/Less Noisy/More Capable 任一类!)
- 和速率: MIB = 0.3616 bits, UVOB = 0.3725 bits
- MIB ⊊ UVOB:内外界之间有微小但确实的间隙
- BA 算法成功计算了 $\theta = 0.4$ 时的支撑超平面值
9. 连续信道的 BA 算法
9.1 连续信道的挑战
BA 算法对离散有限字母表有效,但不适用于一般连续信道。通常做法是量化——但量化区间缩小会导致状态空间指数增长。
例如 MIB 中,辅助变量空间大小为 $|\mathcal{X}|^3 \cdot (|\mathcal{X}|+4)$。若 $|\mathcal{X}| = 1000$,则约 $10^{12}$ 个状态——不可行。
解决方案: 如果涉及的 pdf 可以由有限参数刻画(如高斯分布仅由均值和协方差决定),BA 算法仍可能适用。
9.2 AWGN 信道的 BA——矩阵迭代
问题: $\max_{0 \preceq M \preceq I} \log|M+S| - \log|S|$,其中输入 $X \sim \mathcal{N}(0, M)$。
BA 算法的矩阵推广:
给定 $q$(即给定 $M$)求 $Q$
$Q(x|y) = q(x|y)$ 是高斯后验:
其中 $A = M(M+S)^{-1}$,$AS = M(M+S)^{-1}S$(Schur 补)。
给定 $Q$ 求 $q$
计算 $dQ = E_{Y|x}[\ln Q(x|Y)]$ 涉及高斯期望,可解析求出——结果仍是高斯分布。
核心推导(slides pp.30-32):
利用 $I-A = S(M+S)^{-1}$ 和 $A^{-1}-I = SM^{-1}$:
最终得到矩阵更新规则:
加上投影以满足功率约束:
1 | 特征分解: M = VDV^T |
物理含义: 迭代 $M \leftarrow MS^{-1}M + M$ 在低噪声方向($S_{ii}$ 小的方向)会增大功率,在高噪声方向会减小功率。经过投影后,最优解是所有特征值都收敛到 1——即 $M^* = I$(各方向等功率),与已知的最优输入分布一致。
9.3 AWGN 广播信道的 BA——矩阵迭代
两用户高斯向量 BC $Y_1 = X + Z_1, Y_2 = X + Z_2$($Z_i \sim \mathcal{N}(0, S_i)$)。
叠加编码:$X = U + V$,$U \sim \mathcal{N}(0, K_U)$,$V \sim \mathcal{N}(0, K_V)$。
支撑超平面($\lambda \geq 1$):
矩阵更新规则(投影后):
这是 BA 算法在 MIMO 高斯 BC 中的核心迭代公式——交替更新 $K_U$(对应于 $U$ 的协方差矩阵)和 $K_V = I - K_U$。
10. 数值结果与考试重点
10.1 BA 算法迭代效果图示
对于 AWGN 信道($S = \text{diag}(1,3,5,7,9)$,初始 $M = 0.2I$):
- 目标函数值: 从 ~0 快速上升到约 1.5 nats(约 20 次迭代接近收敛)
- 特征值收敛: 所有 5 个特征值趋向 1(约 60 次迭代完全收敛)
对于 AWGN BC($S_1 = \text{diag}(1,3,5,7,9), S_2 = \text{diag}(9,7,5,3,1), \lambda = 2$):
- 目标函数值: 收敛到约 -13.3 nats
- 特征值收敛: 最大特征值约 0.9,中间 0.5,最小 0.1——体现了”注水”式的功率分配
10.2 考试重点速查表
| 名称 | 公式 / 关键点 |
|---|---|
| 容量最大化 | $C = \max_{q(x)} I(X;Y)$,凹函数 |
| 扩展目标函数 | $f(q,Q) = \sum_{x,y} q(x)p(y\vert x)\ln\frac{Q(x\vert y)}{q(x)}$ |
| 给定 q 求 Q | $Qq = q(x\vert y) = \frac{q(x)p(y\vert x)}{\sum q p}$(后验概率) |
| 信息势能 | $dQ = \sum_y p(y\vert x)\ln Q(x\vert y)$ |
| 给定 Q 求 q | $qQ \propto \exp{dQ}$ |
| 目标函数值 | $f(q[Q], Q) = \ln\sum_x \exp{dQ}$ |
| 单调性 | $f(q{k-1}) = f(q{k-1}, Q_k) \leq f(q_k, Q_k)$ |
| 收敛界 | $\sum_{n=1}^{N}(f(q^)-f(q_n,Q_n)) \leq D_X(q^\vert q_0)$ |
| 停止准则 | $\max_x(d[Q]-\ln q) - \sum_x q(d[Q]-\ln q) < \epsilon$ |
| AWGN 矩阵更新 | $M \leftarrow MS^{-1}M + M$,投影后 $M{ii} \leftarrow \min(M{ii}, 1)$ |
| AWGN BC 矩阵更新 | $K_U \leftarrow [(K_U S_1^{-1}K_U+K_U)^{-1} + \lambda(K_U+S_2)^{-1}]^{-1}$ |
| SCIB α 梯度下降 | $\alpha_{k+1} = \alpha_k - \tau \cdot \bar{\theta}(I(U;Z)-I(U;Y))$ |
10.3 BA 算法的核心思想速览
graph TB
subgraph BA算法精髓
A["原问题: max_q I(X;Y)<br/>(凹,但无闭式解)"]
B["引入Q(x|y): 扩展为 f(q,Q)"]
C["交替最大化:<br/>1. Q←q(x|y) (后验)<br/>2. q∝exp{d[Q](x)}"]
D["闭式解 + 单调收敛<br/>+ 收敛速度保证"]
A --> B --> C --> D
end
复习建议:
- BA 算法的两步更新(§3-4)是核心——必须能默写 $Qq = q(x|y)$(后验)和 $qQ \propto \exp{dQ}$(Gibbs 分布)这两个闭式解,以及它们分别使条件 KL 散度为零和使 $d[Q]-\ln q$ 恒为常数的性质。
- 交替最大化的正确性(§2, §5)——理解 $f(q) = f(q,Q) + D_{X|Y}(q|Q)$ 是保证 $f(q) \geq f(q,Q)$ 且等号可达的关键。
- 收敛性证明(§5)——核心是用 $D_X(q^*|q_0)$ 控制所有迭代的遗憾之和,这表明 BA 算法在有限步内必然逼近最优值。
- 连续信道的矩阵 BA(§9)——理解为什么高斯情形下的 $q[Q]$ 更新退化为一个矩阵二次型优化,以及矩阵迭代 $M \leftarrow MS^{-1}M+M$ 的推导。
- BC 的 BA 算法(§7-8)——理解支撑超平面的思想(通过扫描 $\theta/\lambda$ 来描出容量区域边界),以及 max-min 交换(Terkelsen 定理)在 SCIB 中的应用。



