第二章:率失真定理与理论性质

本章深入探讨率失真函数的数学性质,包括凸性、单调性和连续性,这些性质对理解和应用率失真理论至关重要。我们将阐述率失真定理的内容和意义,介绍典型序列证明的核心思想,并揭示率失真理论与信道容量之间的深刻对偶关系。

学习目标:

  • 理解率失真函数的基本数学性质
  • 掌握率失真定理的可达性和逆定理
  • 了解典型序列方法的核心思想
  • 认识率失真与信道编码的对偶性

2.1 率失真函数的数学性质

率失真函数 $R(D)$ 不仅定义了压缩的理论极限,其数学性质也揭示了率失真权衡的深层结构。

2.1.1 单调递减性

性质 1:率失真函数 $R(D)$ 关于 $D$ 单调递减。

$$D_1 < D_2 \Rightarrow R(D_1) \geq R(D_2)$$ 直观理解:允许的失真越大,压缩的自由度越高,所需码率越小。这是率失真权衡的最基本体现。

证明思路:如果 $D_1 < D_2$,则满足失真约束 $\mathbb{E}[d] \leq D_1$ 的测试信道集合是满足 $\mathbb{E}[d] \leq D_2$ 的子集。优化域更大意味着最优值更小(或相等),因此 $R(D_2) \leq R(D_1)$。

2.1.2 凸性

性质 2:率失真函数 $R(D)$ 是 $D$ 的凸函数。

对于 $0 \leq \lambda \leq 1$: $$R(\lambda D_1 + (1-\lambda) D_2) \leq \lambda R(D_1) + (1-\lambda) R(D_2)$$ 重要性的多重视角:

凸性不仅是一个数学性质,更有深刻的实践意义:

  1. 优化角度:凸函数的局部最优即全局最优,这意味着任何下降算法(如梯度下降、坐标下降)都不会陷入局部极小值。这是 Blahut-Arimoto 算法(第四章)能够可靠收敛的根本原因。

  2. 工程角度:凸性告诉我们,在率失真曲线上,"边际收益递减"。具体而言: - 从 $D = D_{\max}$ 开始降低失真时,所需的额外码率增长较慢(曲线平缓) - 当失真接近 $D = 0$ 时,继续降低失真需要付出更大的码率代价(曲线陡峭) - 这种非线性特性在实际压缩系统设计中极为重要:通常在曲线的"膝点"(knee point)附近工作性价比最高

  3. 时间共享视角:凸性使得我们可以通过时间共享(time-sharing)策略达到率失真曲线上任意两点的凸组合。例如,如果有两个编码方案分别达到 $(R_1, D_1)$ 和 $(R_2, D_2)$,则可以以概率 $\lambda$ 使用第一个方案,以概率 $1-\lambda$ 使用第二个方案,平均码率和失真为 $(\lambda R_1 + (1-\lambda)R_2, \lambda D_1 + (1-\lambda)D_2)$,这个点必然在率失真曲线之上或之上。

证明思路:凸性来自于两个事实:

  1. 互信息 $I(X; \hat{X})$ 关于条件分布 $p(\hat{x}|x)$ 是凸泛函
  2. 失真约束集合 $\{p(\hat{x}|x) : \mathbb{E}[d(X,\hat{X})] \leq D\}$ 是凸集
  3. 凸函数在凸集上的最小值(infimum)关于约束参数仍是凸函数

更直观的解释:假设我们有两个测试信道 $p_1(\hat{x}|x)$ 和 $p_2(\hat{x}|x)$ 分别达到失真 $D_1$ 和 $D_2$,码率为 $R_1$ 和 $R_2$。那么混合测试信道 $p_\lambda = \lambda p_1 + (1-\lambda)p_2$ 会达到失真 $D_\lambda = \lambda D_1 + (1-\lambda)D_2$(失真是期望,满足线性性),但其码率满足: $$I_\lambda \leq \lambda I_1 + (1-\lambda) I_2 = \lambda R_1 + (1-\lambda) R_2$$ 这个不等式来自互信息的凸性。因此,$R(D_\lambda) \leq I_\lambda \leq \lambda R_1 + (1-\lambda) R_2$,证明了凸性。

ASCII 示意图:

R(D)
  |
  |\
  | \    凸函数:曲线向下弯
  |  \___
  |      \____
  |           \______
  +--------------------> D
  0        D_max

2.1.3 边界条件

性质 3a(无失真情况): $$R(0) = H(X)$$ 含义:当要求完全无损($D = 0$)时,所需码率等于信源熵。这连接了无损压缩和有损压缩理论。

性质 3b(最大失真):

定义 $D_{\max} = \min_{\hat{x}} \mathbb{E}[d(X, \hat{x})]$,即最优常数重建的失真。则: $$R(D) = 0, \quad \forall D \geq D_{\max}$$ 含义:当允许的失真大到可以用常数重建时,不需要传输任何信息(码率为0)。

示例:对于伯努利(0.5)源和汉明失真,$D_{\max} = 0.5$(随机猜测的错误率)。

2.1.4 连续性

性质 4:$R(D)$ 在 $[0, D_{\max}]$ 上连续。

这个性质保证了率失真曲线是平滑的,没有跳跃。实际意义是:失真的微小变化只会导致码率的微小变化。

Rule of thumb:率失真函数是单调递减的凸函数,从 $R(0) = H(X)$ 平滑下降到 $R(D_{\max}) = 0$。这个特征在所有信源中都成立,是率失真理论的"通用模式"。


2.2 率失真定理

率失真定理是率失真理论的核心结果,它回答了一个基本问题:$R(D)$ 真的是可达的吗?

2.2.1 定理陈述

率失真定理(Shannon, 1959)包含两部分:

可达性(正定理):对于任意 $\epsilon > 0$ 和 $\delta > 0$,当 $n$ 足够大时,存在编码-解码方案 $(f_n, g_n)$ 使得:

  • 码率:$R \leq R(D) + \epsilon$
  • 平均失真:$\mathbb{E}[D_n] \leq D + \delta$

逆定理(强逆定理):如果编码方案的码率 $R < R(D)$,则必然有: $$\lim_{n \to \infty} \mathbb{E}[D_n] > D$$ 即无法可靠地达到失真水平 $D$。

意义:$R(D)$ 不仅是理论上的下界,而且是可达的(当序列长度 $n \to \infty$)。这是信息论的精髓:找到基本极限,并证明它可达。

更深层的理解:

率失真定理告诉我们三个关键事实:

  1. 紧界(Tight Bound):$R(D)$ 是所有可能编码方案的最紧下界。存在编码方案的性能可以任意接近 $R(D)$,但没有任何方案能在渐近意义下超越它。这与信道编码定理中信道容量 $C$ 的地位完全类似。

  2. 渐近可达性的含义:定理中的"$n$ 足够大"意味着: - 对于固定的 $\epsilon, \delta$,存在阈值 $N$,使得所有 $n > N$ 都能构造出满足条件的方案 - 随着 $n$ 增大,可以让 $\epsilon, \delta$ 同时趋于 0 - 但对于任何有限的 $n$,都会有性能损失(有限长度效应)

  3. 不可能性结果:逆定理更强——它不仅说 $R < R(D)$ 时"很难"达到失真 $D$,而是说在渐近意义下完全不可能。无论编码器多么聪明,多么复杂,只要码率低于 $R(D)$,失真必然超过 $D$。这是信息论的基本限制。

与香农第二定理的对比:

香农在1948年证明了信道编码定理,在1959年证明了率失真定理。两者在结构上高度相似:

| | 信道编码定理 | 率失真定理 |

信道编码定理 率失真定理
核心极限 信道容量 $C$ 率失真函数 $R(D)$
可达性 $R < C$ 可以错误率 $\to 0$ $R > R(D)$ 可以失真 $\leq D$
不可能性 $R > C$ 错误率有下界 > 0 $R < R(D)$ 失真有下界 > $D$
证明工具 随机编码 + 典型序列 随机编码 + 联合典型序列
渐近性质 块长 $n \to \infty$ 块长 $n \to \infty$

两个定理共同构成了信息论的基石,一个关于可靠传输的极限,一个关于有损压缩的极限。

2.2.2 渐近等价性

率失真定理告诉我们,当 $n \to \infty$ 时,任意编码方案的率失真对 $(R, D)$ 必然满足 $R \geq R(D)$,且这个界是紧的。

实际意义:

  • 对于有限 $n$,实际编码方案的性能 $R_{\text{实际}} > R(D)$,存在"有限长度损失"
  • 随着 $n$ 增大,这个差距减小
  • 率失真函数 $R(D)$ 提供了性能上限的基准

Rule of thumb:实际系统中,块长度 $n$ 越大,性能越接近 $R(D)$,但复杂度也越高。典型的图像/视频编码器使用 $n = 64$ 到 $256$(如 8×8 或 16×16 块),在性能和复杂度之间权衡。

2.2.3 为什么需要 $n \to \infty$?

率失真定理的渐近性质($n \to \infty$)不是技术细节,而是本质特征:

原因 1:联合典型性

对于单个符号,很难同时达到低失真和低码率。但对于长序列,我们可以利用统计平均:某些符号失真大一些,某些小一些,平均失真控制在 $D$ 以内。

具体例子:考虑伯努利(0.5)源,汉明失真,目标失真 $D = 0.1$。

  • 对于单个符号($n=1$):要么完全正确重建(失真=0),要么完全错误(失真=1)。不可能达到失真恰好为 0.1。
  • 对于 $n=10$ 个符号的序列:可以让 1 个符号错误,9 个正确,平均失真 = 0.1。但这样的序列总共只有 $\binom{10}{1} = 10$ 种,远少于所有可能的 $2^{10} = 1024$ 种序列,所以需要很高的码率。
  • 对于 $n=1000$:可以让大约 100 个符号错误,900 个正确,平均失真 ≈ 0.1。这样的序列约有 $\binom{1000}{100} \approx 2^{H(0.1) \cdot 1000}$ 种,码率可以接近理论极限。

$n$ 越大,能够精细控制平均失真的灵活性越大。

原因 2:概率成形

长序列允许我们接近信源的典型分布,避免浪费码字在低概率事件上。

具体例子:假设信源是非均匀伯努利源,$p(X=0) = 0.9$,$p(X=1) = 0.1$。

  • 对于短序列($n$ 小),每种序列都需要一个码字,包括那些极不可能出现的(如全1序列)。
  • 对于长序列($n$ 大),典型序列(大约 90% 为0,10% 为1)占据了绝大部分概率(趋于1),我们只需为这些典型序列设计码字,忽略极少数非典型序列造成的失真。

这种"聚焦于高概率事件"的能力随 $n$ 增大而增强,使得码本利用率更高。

原因 3:渐近均分性

当 $n$ 大时,大多数序列的经验分布接近真实分布,这使得理论分析和实际性能一致。

渐近均分性质(AEP)告诉我们:对于 i.i.d. 序列 $X^n$,当 $n$ 足够大时: $$-\frac{1}{n} \log p(X^n) \approx H(X)$$ 以高概率成立(误差 $\to 0$)。这意味着:

  • 所有典型序列的概率几乎相同,都约为 $2^{-nH(X)}$
  • 典型序列的总数约为 $2^{nH(X)}$
  • 典型集的总概率趋于 1

这种"均匀化"使得编码设计变得简单:可以用几乎等长的码字来编码所有典型序列。

实际系统的权衡:

在实际应用中,$n$ 不能真的取无穷大,需要在性能和复杂度之间权衡:

| 块长度 $n$ | 性能 | 复杂度 | 典型应用 |

块长度 $n$ 性能 复杂度 典型应用
1-16 远离理论极限 低 简单标量量化
64-256 接近理论极限 中等 JPEG (8×8块), H.264
1000+ 非常接近极限 高 LDPC码、Turbo码

对于图像压缩,通常使用 $n = 64$(8×8块)是一个好的折中点。对于视频压缩,可以利用时间相关性,有效 $n$ 更大。


2.3 典型序列与证明思路

虽然完整证明超出本教程范围,但理解证明的核心思想对建立直觉很重要。

2.3.1 典型序列回顾

对于 i.i.d. 信源 $X^n = (X_1, ..., X_n)$,如果序列 $x^n$ 的经验熵接近真实熵 $H(X)$,则称其为典型序列: $$-\frac{1}{n} \log p(x^n) \approx H(X)$$ 或等价地: $$p(x^n) \approx 2^{-nH(X)}$$ 典型集的性质(AEP,渐近均分性质):

  1. 典型序列的概率接近 $2^{-nH(X)}$
  2. 典型集的总概率趋于 1($n$ 大时)
  3. 典型序列的个数约为 $2^{nH(X)}$

2.3.2 联合典型序列

率失真编码涉及两个序列:原始序列 $X^n$ 和重建序列 $\hat{X}^n$。我们需要联合典型性。

如果 $(X^n, \hat{X}^n)$ 的联合经验分布接近 $p(x) p(\hat{x}|x)$,则称其为联合典型序列对: $$-\frac{1}{n} \log p(x^n, \hat{x}^n) \approx H(X, \hat{X})$$ 联合典型集的性质:

  1. 联合典型序列对的概率约为 $2^{-n H(X, \hat{X})}$
  2. 给定典型 $x^n$,与之联合典型的 $\hat{x}^n$ 约有 $2^{n H(\hat{X}|X)}$ 个
  3. 联合典型性蕴含 $\frac{1}{n} \sum d(x_i, \hat{x}_i) \approx \mathbb{E}[d(X, \hat{X})]$(失真接近期望)

2.3.3 随机编码与覆盖引理

可达性证明的核心思想:

率失真定理的证明采用了香农的经典技巧:随机编码(random coding)。这个方法看似反直觉——用随机生成的码本来证明存在性——但极其强大。

Step 1(随机码本生成):

固定一个测试信道 $p(\hat{x}|x)$ 满足失真约束 $\mathbb{E}[d(X, \hat{X})] \leq D$。

独立随机生成 $M = 2^{nR}$ 个重建序列(码字): $$\hat{x}^n(1), \hat{x}^n(2), ..., \hat{x}^n(M)$$ 每个码字的第 $i$ 个符号独立地按边缘分布 $p(\hat{x})$ 生成(这里 $p(\hat{x}) = \sum_x p(x) p(\hat{x}|x)$)。

关键观察:我们不是针对特定的 $x^n$ 生成码字,而是从边缘分布 $p(\hat{x})^n$ 中随机抽取。这使得分析变得可行。

Step 2(编码):

给定信源序列 $x^n$,编码器在码本中寻找第一个与 $x^n$ 联合典型的码字 $\hat{x}^n(m)$: $$m = \min\{i : (x^n, \hat{x}^n(i)) \text{ 是联合典型的}\}$$ 如果找到,输出索引 $m$(需要 $\lceil nR \rceil$ 比特)。如果找不到(这是一个"错误事件"),输出任意索引。

Step 3(解码):

解码器根据索引 $m$ 直接输出对应的码字 $\hat{x}^n(m)$。注意解码器不需要知道原始序列 $x^n$。

Step 4(覆盖引理):

关键问题:对于典型的 $x^n$,能否找到联合典型的 $\hat{x}^n$?

覆盖引理(Covering Lemma)给出精确答案:

对于典型的 $x^n$,与之联合典型的序列 $\hat{x}^n$ 在 $p(\hat{x})^n$ 分布下的概率约为: $$\mathbb{P}[\hat{x}^n \text{ 与 } x^n \text{ 联合典型}] \approx 2^{-n I(X; \hat{X})}$$ 这是因为联合典型集的大小约为 $2^{nH(X,\hat{X})}$,而 $\hat{X}^n$ 典型集的大小约为 $2^{nH(\hat{X})}$,所以条件概率约为: $$\frac{2^{nH(X,\hat{X})}}{2^{nH(\hat{X})}} = 2^{n(H(X,\hat{X}) - H(\hat{X}))} = 2^{-nI(X;\hat{X})}$$ 因此,$M = 2^{nR}$ 个独立尝试中,至少有一个成功(找到联合典型码字)的概率约为: $$1 - (1 - 2^{-nI(X;\hat{X})})^M \approx 1 - e^{-M \cdot 2^{-nI(X;\hat{X})}}$$ 当 $M = 2^{nR}$ 且 $R > I(X;\hat{X})$ 时,指数项 $M \cdot 2^{-nI(X;\hat{X})} = 2^{n(R - I(X;\hat{X}))} \to \infty$($n \to \infty$),成功概率趋于 1。

相反,如果 $R < I(X;\hat{X})$,则 $M \cdot 2^{-nI(X;\hat{X})} \to 0$,成功概率趋于 0。

临界点:$R = I(X; \hat{X})$ 是覆盖的临界码率。

直观理解:

想象一个高维空间,典型的 $x^n$ 周围有一个"联合典型球",大小约为 $2^{nH(\hat{X}|X)}$。我们用 $2^{nR}$ 个随机点去"覆盖"这个球:

     联合典型球(大小 ~2^{nH(X|X)})
              ___
            /     \
           /   •   \   <- 随机码字(共 2^{nR} 个)
          |  •   •  |
          | •   x^n |
           \   •   /
            \_____/

如果 $2^{nR} \gg 2^{nH(\hat{X}|X)}$(即 $R \gg H(\hat{X}|X) = H(X) - I(X;\hat{X})$),则覆盖成功。

但实际阈值不是 $R > H(\hat{X}|X)$,而是 $R > I(X;\hat{X})$。这是因为我们从边缘分布 $p(\hat{x})^n$ 抽样,而非条件分布 $p(\hat{x}|x)^n$,两者的有效"覆盖密度"不同。精确分析需要联合典型性的定义。

优化失真约束:

通过选择不同的测试信道 $p(\hat{x}|x)$,我们得到不同的 $I(X;\hat{X})$ 和 $\mathbb{E}[d(X,\hat{X})]$。优化问题: $$R(D) = \min_{p(\hat{x}|x): \mathbb{E}[d] \leq D} I(X; \hat{X})$$ 找到达到最小互信息的测试信道,就得到了率失真函数。

Rule of thumb:率失真编码的本质是"用 $2^{nR}$ 个重建序列覆盖所有可能的信源序列的联合典型空间"。码率 $R$ 越大,覆盖能力越强,失真越小。覆盖引理精确量化了这个权衡。


2.4 率失真与信道容量的对偶

率失真理论与信道编码理论有着优美的对偶关系。

2.4.1 信道容量回顾

信道编码问题:在有噪声的信道中可靠传输信息的最大速率是多少?

信道容量定义为: $$C = \max_{p(x)} I(X; Y)$$ 其中 $Y$ 是信道输出,$p(y|x)$ 是信道转移概率(固定),优化是在输入分布 $p(x)$ 上进行。

香农信道编码定理:码率 $R < C$ 时可以可靠传输(错误概率 $\to 0$),$R > C$ 时不能。

2.4.2 对偶关系

将率失真函数和信道容量并列:

| 率失真理论 | 信道容量理论 |

率失真理论 信道容量理论
$R(D) = \min_{p(\hat{x}|x): \mathbb{E}[d] \leq D} I(X; \hat{X})$ $C = \max_{p(x)} I(X; Y)$
最小化互信息 最大化互信息
优化"测试信道" $p(\hat{x}|x)$ 优化输入分布 $p(x)$
信源分布 $p(x)$ 固定 信道 $p(y|x)$ 固定
失真约束 $\mathbb{E}[d] \leq D$ 无约束(或功率约束)
有损压缩 可靠传输

核心区别:

  • 率失真:$p(x)$ 给定(信源固定),优化 $p(\hat{x}|x)$(如何压缩),最小化互信息(降低码率)
  • 信道容量:$p(y|x)$ 给定(信道固定),优化 $p(x)$(发什么),最大化互信息(提高传输率)

更深层的哲学对应:

这种对偶性不仅仅是数学上的巧合,而是反映了信息论的两大基本问题:

  1. 信道编码:我有一条固定的(有噪声的)信道 $p(y|x)$,我想通过优化输入 $p(x)$ 来最大化我能可靠传输的信息量。目标是"尽可能多地传信息",所以最大化互信息 $I(X;Y)$。

  2. 信源编码(率失真):我有一个固定的信源 $p(x)$,我想通过选择合适的"虚拟信道" $p(\hat{x}|x)$(即编码策略)来最小化传输所需的信息量,同时保证失真不超过 $D$。目标是"用尽可能少的比特传输",所以最小化互信息 $I(X;\hat{X})$。

对偶的形式化:

可以证明,率失真函数和信道容量满足如下对偶关系:

假设我们有一个"虚拟信道" $p(\hat{x}|x)$,定义: $$C(p) = \max_{p(x)} I(X; \hat{X})$$ 这是把 $p(\hat{x}|x)$ 看作固定信道,求其容量。

那么率失真函数可以写成: $$R(D) = \min_{p(\hat{x}|x): \mathbb{E}[d] \leq D} C(p(\hat{x}|x))$$ 即:率失真是在所有满足失真约束的"虚拟信道"中,选择容量最小的那个。

反过来,信道容量也可以用率失真的视角理解:

对于功率约束的高斯信道,信道容量 $C$ 等于输入分布选择得当时,输入 $X$ 和输出 $Y$ 之间的最大互信息。而率失真函数 $R(D)$ 是在失真约束下,$X$ 和 $\hat{X}$ 之间的最小互信息。

联系与区别的直观对比:

想象两个场景:

场景 1(信道编码):Alice 想通过一条嘈杂的电话线给 Bob 发送消息。电话线的噪声特性(信道 $p(y|x)$)是固定的,Alice 无法改变。她能做的是选择如何编码消息(选择输入分布 $p(x)$)。她的目标是最大化能可靠传输的比特率。

场景 2(率失真):Alice 想压缩一张图片发给 Bob。图片的统计特性(信源 $p(x)$)是固定的,Alice 无法改变。她能做的是选择如何量化/压缩(选择测试信道 $p(\hat{x}|x)$)。她的目标是在保证质量(失真 $\leq D$)的前提下,最小化需要传输的比特数。

两者都涉及优化互信息,但一个是"最大化"(尽可能多传信息),一个是"最小化"(尽可能少传信息)。一个固定信道优化输入,一个固定信源优化"虚拟信道"。这就是对偶的本质。

2.4.3 数学对偶性

更深层的对偶性体现在拉格朗日形式:

率失真的无约束形式(引入拉格朗日乘子 $\lambda$): $$\min_{p(\hat{x}|x)} [I(X; \hat{X}) + \lambda \mathbb{E}[d(X, \hat{X})]]$$ 信道容量在功率约束 $\mathbb{E}[g(X)] \leq P$ 下: $$\max_{p(x)} [I(X; Y) - \mu \mathbb{E}[g(X)]]$$ 两者都是在约束优化中引入拉格朗日乘子,形式对偶。

2.4.4 Blahut-Arimoto 算法的对偶

计算 $R(D)$ 的 Blahut-Arimoto 算法与计算 $C$ 的算法在结构上完全对偶(详见第四章)。这不是巧合,而是两者数学结构相同的体现。

Rule of thumb:率失真理论和信道编码理论是一枚硬币的两面。理解一个有助于理解另一个。许多技术(如随机编码、典型序列)在两个领域都适用。


2.5 率失真参数化表示

除了 $R(D)$,我们还可以考虑反函数 $D(R)$:给定码率 $R$,能达到的最小失真是多少? $$D(R) = \min_{p(\hat{x}|x): I(X;\hat{X}) \leq R} \mathbb{E}[d(X, \hat{X})]$$ 由于 $R(D)$ 单调递减,$D(R)$ 也单调递减($R$ 越大,失真越小)。并且 $D(R)$ 也是凸函数。

拉格朗日参数化:

引入参数 $\beta \geq 0$(称为拉格朗日乘子或斜率参数),定义无约束优化问题: $$\mathcal{L}(\beta) = \min_{p(\hat{x}|x)} [I(X; \hat{X}) + \beta \mathbb{E}[d(X, \hat{X})]]$$ 设最优解为 $p^*(\hat{x}|x; \beta)$,定义: $$R(\beta) = I(X; \hat{X}) \quad \text{其中 } \hat{X} \sim p^*(\hat{x}|x; \beta)$$ $$D(\beta) = \mathbb{E}_{p^*}[d(X, \hat{X})]$$ 当 $\beta$ 从 $0$ 变到 $\infty$,$(R(\beta), D(\beta))$ 描绘出整条率失真曲线。这个参数化在算法和优化中非常有用。

参数 $\beta$ 的物理意义:

$\beta$ 可以理解为"失真的代价"或"码率-失真的权衡系数":

  • 目标函数 $I + \beta D$ 是码率和失真的加权和
  • $\beta$ 大 → 更关心失真 → 愿意用更高码率换取更低失真
  • $\beta$ 小 → 更关心码率 → 可以容忍更大失真来降低码率

在深度学习中的变分自编码器(VAE)中,$\beta$ 对应于 KL 散度和重建误差之间的权衡系数(详见第八章)。

与约束优化的关系:

拉格朗日参数化和原始的约束优化 $R(D)$ 通过拉格朗日对偶性紧密联系:

对于每个 $\beta$,存在对应的 $D = D(\beta)$ 使得: $$R(D) = \mathcal{L}(\beta) - \beta D = R(\beta) - \beta D(\beta)$$ 这意味着率失真曲线 $R(D)$ 的切线斜率在点 $(D(\beta), R(\beta))$ 处恰好为 $-\beta$: $$\frac{dR}{dD} \bigg|_{D=D(\beta)} = -\beta$$

几何解释:$\beta$ 越大,率失真曲线在该点越陡峭(失真的边际代价越高)。

边界行为:

  • $\beta = 0$:优化 $\min I(X;\hat{X})$,无失真约束。最优解是 $\hat{X}$ 独立于 $X$(传输零信息),但这意味着失真最大。实际上,$\beta = 0$ 对应 $R = 0$,$D = D_{\max}$。

修正:更准确地说,$\beta = 0$ 时优化问题没有对失真的惩罚,最优策略是不传输任何信息,$I(X;\hat{X}) = 0$,$R = 0$,$D = D_{\max}$。

  • $\beta \to \infty$:失真的惩罚无穷大,必须让 $D \to 0$(完全无损)。此时 $R \to H(X)$。

  • 中间的 $\beta$(如 $\beta = 1, 10, 100$)对应率失真曲线上的不同工作点,覆盖了从有损到接近无损的整个范围。

实际应用中的选择:

在实际压缩系统中,通常通过调节 $\beta$(或类似的"质量参数")来控制码率-失真权衡:

  • JPEG 的"质量因子"(1-100)本质上对应不同的 $\beta$
  • 视频编码器的"量化参数"(QP)也与 $\beta$ 相关
  • 神经压缩中的 $\beta$ 参数直接出现在损失函数中

通过扫描 $\beta$ 的值,可以得到完整的率失真曲线,便于选择最佳工作点。

         R
         |  β=0
    H(X) |  *
         |   \
         |    \ β增大
         |     *
         |      \
         |       *
         |        \___
       0 |____________*___  β→∞
         0           D_max   D

2.6 本章小结

核心概念:

  1. 率失真函数的性质: - 单调递减:$D$ 增大,$R$ 减小 - 凸性:优化友好,局部最优即全局最优 - 边界条件:$R(0) = H(X)$,$R(D_{\max}) = 0$ - 连续性:平滑的权衡曲线

  2. 率失真定理: - 可达性:对任意 $R > R(D)$,可以达到失真 $D$ - 逆定理:$R < R(D)$ 时无法达到失真 $D$ - 渐近性:当 $n \to \infty$ 时成立

  3. 典型序列方法: - 联合典型性:$(X^n, \hat{X}^n)$ 的经验分布接近 $p(x)p(\hat{x}|x)$ - 随机编码:生成 $2^{nR}$ 个随机重建序列 - 覆盖引理:$R > I(X; \hat{X})$ 时能覆盖联合典型空间

  4. 对偶性: - 率失真:最小化 $I(X;\hat{X})$,优化 $p(\hat{x}|x)$,$p(x)$ 固定 - 信道容量:最大化 $I(X;Y)$,优化 $p(x)$,$p(y|x)$ 固定 - 数学结构和算法完全对偶

关键公式:

  • 率失真函数:$R(D) = \min_{p(\hat{x}|x): \mathbb{E}[d] \leq D} I(X; \hat{X})$
  • 拉格朗日形式:$\min_{p(\hat{x}|x)} [I(X; \hat{X}) + \beta \mathbb{E}[d(X, \hat{X})]]$
  • 边界条件:$R(0) = H(X)$,$R(D_{\max}) = 0$
  • 对偶:$C = \max_{p(x)} I(X; Y)$

2.7 常见陷阱与错误

Gotcha #1: 误以为 $R(D)$ 是线性的

错误:认为率和失真成线性关系,例如 $R(D) = R(0) - kD$。

正解:$R(D)$ 是凸函数,通常是非线性的。在 $D$ 接近 0 时,$R(D)$ 下降很快(少量失真可以显著降低码率);在 $D$ 接近 $D_{\max}$ 时,下降很慢。这个非线性特性在实际应用中很重要。

Gotcha #2: 有限长度的性能差距

错误:认为实际编码器的码率应该正好等于 $R(D)$。

正解:率失真定理是渐近结果($n \to \infty$)。有限长度的实际系统有"有限长度损失",码率会高于 $R(D)$。例如,JPEG 使用 8×8 块,性能会比理论极限差一些。块越大($n$ 越大),性能越好,但复杂度也越高。

Gotcha #3: 平均失真 vs 峰值失真

错误:认为率失真定理保证所有符号的失真都不超过 $D$。

正解:率失真理论约束的是平均失真 $\frac{1}{n}\sum d(x_i, \hat{x}_i) \leq D$,而非每个符号的失真。某些符号的失真可能远大于 $D$,只要平均值满足即可。如果需要峰值失真保证,那是另一个问题(max-distortion theory)。

Gotcha #4: 优化变量的混淆

错误:在计算 $R(D)$ 时,优化 $p(x)$(信源分布)或 $p(\hat{x})$(重建分布)。

正解:率失真函数的定义中,$p(x)$ 是给定的(信源固定),优化变量是条件分布 $p(\hat{x}|x)$。这决定了"给定 $x$ 时如何选择 $\hat{x}$",即编码策略。边缘分布 $p(\hat{x})$ 是由 $p(x)$ 和 $p(\hat{x}|x)$ 决定的,不是独立变量。

Gotcha #5: 凸性的错误应用

错误:因为 $R(D)$ 是凸函数,所以认为任意两个工作点 $(R_1, D_1)$ 和 $(R_2, D_2)$ 的凸组合都可达。

正解:凸性是指函数值的凸组合:$R(\lambda D_1 + (1-\lambda)D_2) \leq \lambda R(D_1) + (1-\lambda)R(D_2)$。这不等于说点 $(\lambda R_1 + (1-\lambda)R_2, \lambda D_1 + (1-\lambda)D_2)$ 在率失真曲线上。实际上,通过时间共享(time-sharing)可以达到率失真曲线的凸包,但这涉及编码方案的随机化。

Gotcha #6: 联合典型性的条件

错误:认为只要 $x^n$ 和 $\hat{x}^n$ 分别是典型序列,它们就是联合典型的。

正解:$x^n$ 典型且 $\hat{x}^n$ 典型不蕴含它们联合典型。联合典型性要求联合经验分布接近 $p(x)p(\hat{x}|x)$,这是更强的条件。例如,如果 $\hat{x}^n$ 是独立于 $x^n$ 随机生成的典型序列,它们几乎肯定不是联合典型的。

Gotcha #7: 测试信道不是实际信道

错误:认为 $p(\hat{x}|x)$(测试信道)是物理上的噪声信道。

正解:$p(\hat{x}|x)$ 是数学工具,表示"给定 $x$ 时,随机选择重建 $\hat{x}$ 的概率分布"。它不对应任何物理信道,而是描述最优编码策略的统计特性。在实际编码器中,这个随机性可能通过抖动(dithering)或其他机制实现,但更常见的是确定性量化器在长序列上近似这个分布。


下一章预告:第三章将计算两个最重要信源的率失真函数:伯努利源(汉明失真)和高斯源(均方误差失真),推导经典公式并建立直觉。

← 第一章 | 返回目录 | 第三章:经典信源的率失真函数 →