ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数据率失真理论(RATE DISTORTION THEORY)

2021-07-19 22:01:30  阅读:541  来源: 互联网

标签:失真度 right THEORY 失真 DISTORTION 信源 RATE hat left


数据率失真理论(Rate distortion theory)或称信息率-失真理论(information rate-distortion theory)是信息论的主要分支,其的基本问题可以归结如下:对于一个给定的信源(source, input signal)分布与失真度量,在特定的码率下能达到的最小期望失真是多少;或者为了满足一定的失真限制,可允许的最大码率为何, D D D 定义为失真的符号。

要完全避免失真几乎不可能。处理信号时必须允许有限度的失真﹐可减小所必需的信息率。1959年﹐Claude Shannon 首先发表《逼真度准则下的离散信源编码定理》一文,提出了率失真函数的概念。

我们通常都通过一个失真度量(distortion measure)来衡量一个随机变量以及它的表示(representation)之间的距离。下面以一个例子为开始,介绍具体的率失真理论中的一些定义与定理。


1. 一个例子

假设一个随机变量 X X X,其一个表示定义为 X ^ ( X ) \hat{X}(X) X^(X),若我们使用 R R R个比特(bit)来表示 X X X,每个比特的数值为 0 0 0或 1 1 1,那么函数 X ^ \hat{X} X^可以有 2 R 2^R 2R中不同取值,那么我们现在的问题是找到一个 X ^ \hat{X} X^的最优值集(称为再生点(reproduction points)或码点(code points)),而目的是通过最小化定义的一个失真度量得到。

现在我们假设 X ∼ N ( 0 , σ 2 ) X \sim \mathcal{N}\left(0, \sigma^{2}\right) X∼N(0,σ2),同时假设一个平方误差的失真度量。目的则要通过最小化 E ( X − X ^ ( X ) ) 2 E(X-\hat{X}(X))^{2} E(X−X^(X))2从 2 R 2^R 2R个不同值中找到最优的 X ^ \hat{X} X^。举一个简单的例子,假设我们现在只能用一个比特来表示,那么 X ^ \hat{X} X^可以有两个不同的取值。由于分布是关于 0 0 0对称的,因此我们将是否 X > 0 X>0 X>0作为两种不同取值的划分标准。为使平方误差达到最小,函数 X ^ \hat{X} X^应该取其所在区域上 X X X的条件均值。将正态分布截断的分布称为半正态分布(Half-normal distribution),其期望为: 2 / π σ {\sqrt {2/\pi}} \sigma 2/π ​σ,因此有:
X ^ ( x ) = { 2 π σ  if  x ≥ 0 , − 2 π σ  if  x < 0. \hat{X}(x)= \begin{cases}\sqrt{\frac{2}{\pi}} \sigma & \text { if } x \geq 0, \\ -\sqrt{\frac{2}{\pi}} \sigma & \text { if } x<0 .\end{cases} X^(x)=⎩⎨⎧​π2​ ​σ−π2​ ​σ​ if x≥0, if x<0.​
而当比特数提升到两个甚至更多之后,区域的划分方法就不再这么简单了,需要将实轴划分为多个区域。但这些区域该如何划分,再生点应该怎样选取?为此,引入关于最优区域划分和再生点选取的两个性质:

  • 给定一个再生点的集合 { X ^ ( w ) } \{\hat{X}(w)\} {X^(w)},通过将源随机变量 X X X映射到最接近它的表示 X ^ ( w ) \hat{X}(w) X^(w)来最小化失真。由这个映射定义的 X X X的区域集称为由再生点定义的Voronoi或Dirichlet划分(partition)。
  • 再生点应该在各自划分到的区域上使条件期望失真最小化。

由上述两个性质可以得到一个简单算法:

  1. 首先从某个再生点集合开始,找到最优的再生区域集(在失真度量下的最邻近的区域);
  2. 再确定出这些区域的相应最优再生点。

迭代重复上述两个步骤,直到算法收敛于失真的一个局部极小值。


2. 一些定义

前面的例子中假设需要量化的是单个随机变量,而通常实际情况中,我们通常假设 n n n个独立同分布的随机变量集合,共需要 n R nR nR比特来表示。

假设某信号源产生的序列(信源序列) X 1 , X 2 , ⋯   , X n ∼ i . i . d . p ( x ) X_1, X_2, \cdots, X_n \stackrel{i.i.d.}{\sim}p(x) X1​,X2​,⋯,Xn​∼i.i.d.p(x),信源序列 X n X^n Xn的编码用 f n ( X n ) ∈ { 1 , 2 , … , 2 n R } f_{n}\left(X^{n}\right) \in\left\{1,2, \ldots, 2^{n R}\right\} fn​(Xn)∈{1,2,…,2nR}进行表示, X n X^n Xn的译码则用估计形式 X ^ n \hat{X}^n X^n表示。具体如下图所示:

失真函数/度量: 失真函数(distortion function)或失真度量(distortion measure)指从信源空间与再生空间的乘积空间到非负实数集上的映射:
d : X × X ^ → R + d: \mathcal{X} \times \hat{\mathcal{X}} \rightarrow \mathcal{R}^{+} d:X×X^→R+
失真函数 d ( x , x ^ ) d(x,\hat{x}) d(x,x^)是用来刻画使用 x ^ \hat{x} x^表示 x x x时的代价度量。

常用的失真函数

  1. 汉明(Hamming)失真
    d ( x , x ^ ) = { 0  当  x = x ^ 1  当  x ≠ x ^ , d(x, \hat{x})= \begin{cases}0 & \text { 当 } x=\hat{x} \\ 1 & \text { 当 } x \neq \hat{x},\end{cases} d(x,x^)={01​ 当 x=x^ 当 x​=x^,​
    其期望 E d ( x , x ^ ) = Pr ( X ≠ X ^ ) Ed(x, \hat{x})=\text{Pr}(X\neq \hat{X}) Ed(x,x^)=Pr(X​=X^)。直观上来理解,就是我们只关注原始字母与恢复字母是否相等,若相等,则失真为 0 0 0,若不相等,则失真为 1 1 1(无论多不相等均为 1 1 1)。

  2. 绝对值失真
    d ( x , x ^ ) = ∣ x − x ^ ∣ d(x, \hat{x})=\left|x-\hat{x}\right| d(x,x^)=∣x−x^∣

  3. 平方误差失真
    d ( x , x ^ ) = ( x − x ^ ) 2 d(x, \hat{x})=(x-\hat{x})^{2} d(x,x^)=(x−x^)2
    平方误差失真为最常用的一种失真函数(前面简单例子中所使用的度量)。其优点在于简单,且与最小二乘法联系紧密。但在某些如图像或语音编码等应用中,其并非是一个合适的度量,例如在很多图像与语音的编码中,两个图像或者语音人工看起来是一致的,但实际的平方误差相差会比较大。

序列失真: 序列 x n x^{n} xn到 x ^ n \hat{x}^{n} x^n的失真定义为:
d ( x n , x ^ n ) = 1 n ∑ i = 1 n d ( x i , x ^ i ) d\left(x^{n}, \hat{x}^{n}\right)=\frac{1}{n} \sum_{i=1}^{n} d\left(x_{i}, \hat{x}_{i}\right) d(xn,x^n)=n1​i=1∑n​d(xi​,x^i​)
这种定义是一种平均值的定义,此外也可以定义为每个字符失真的最大值。

操作意义下信源的率失真码:一个 ( 2 n R , n ) (2^{nR},n) (2nR,n)率失真码(rate distortion code)包括一个编码函数:
f n : X n → { 1 , 2 , … , 2 n R } f_{n}: \mathcal{X}^{n} \rightarrow\left\{1,2, \ldots, 2^{n R}\right\} fn​:Xn→{1,2,…,2nR}
和一个译码(再生)函数:
g n : { 1 , 2 , … , 2 n R } → χ ^ n g_{n}:\left\{1,2, \ldots, 2^{n R}\right\} \rightarrow \hat{\chi}^{n} gn​:{1,2,…,2nR}→χ^​n
这个 ( 2 n R , n ) (2^{nR},n) (2nR,n)码的失真定义为
D = E ⁡ d ( X n , g n ( f n ( X n ) ) ) D=\operatorname{E}d\left(X^{n}, g_{n}\left(f_{n}\left(X^{n}\right)\right)\right) D=Ed(Xn,gn​(fn​(Xn)))
其中所取的期望是针对 X X X的概率分布而言,有:
D = ∑ x n p ( x n ) d ( x n , g n ( f n ( x n ) ) ) D=\sum_{x^{n}} p\left(x^{n}\right) d\left(x^{n}, g_{n}\left(f_{n}\left(x^{n}\right)\right)\right) D=xn∑​p(xn)d(xn,gn​(fn​(xn)))
将 n n n元组 g n ( 1 ) , g n ( 2 ) , … , g n ( 2 n R ) g_{n}(1), g_{n}(2), \ldots, g_{n}\left(2^{n R}\right) gn​(1),gn​(2),…,gn​(2nR) 定义为 X ^ n ( 1 ) , … , X ^ n ( 2 n R ) \hat{X}^{n}(1), \ldots, \hat{X}^{n}(2^{n R}) X^n(1),…,X^n(2nR),称为码簿(codebook), f n − 1 ( 1 ) , … , f n − 1 ( 2 n R ) f_{n}^{-1}(1), \ldots, f_{n}^{-1}\left(2^{n R}\right) fn−1​(1),…,fn−1​(2nR)为分配区域(assignment regions),

下面为了刻画如何尽可能优的进行传输,提出了几个概念:

  • 若存在一组率失真编码 ( 2 n R , n ) (2^{nR}, n) (2nR,n),使得
    lim ⁡ n → ∞ E d ( X n , g n ( f n ( X n ) ) ) ⩽ D \lim _{n \rightarrow \infty} E d\left(X^{n}, g_{n}\left(f_{n}\left(X^{n}\right)\right)\right) \leqslant D n→∞lim​Ed(Xn,gn​(fn​(Xn)))⩽D
    则称率失真对 ( R , D ) (R, D) (R,D)是可达的

  • 信源的率失真区域是所有可达率失真对 ( R , D ) (R, D) (R,D)的闭包(Closure)。

  • 率失真函数(rate distortion function):对于给定的一个失真度 D D D,率失真函数 R ( D ) R(D) R(D)定义为:
    R ( D ) = inf ⁡ { R : ( R , D ) ∈  率失真区域  } , R(D)=\inf \{R:(R, D) \in \text { 率失真区域 }\}, R(D)=inf{R:(R,D)∈ 率失真区域 },
    直观上理解就是在信源序列与再生序列的失真不超过 D D D的前提下,最小可能的码率(信源最大可能的压缩率)。

  • 失真率函数(distortion rate function):给定一个码率 R R R,定义失真率函数 D ( R ) D(R) D(R)为:
    D ( R ) = inf ⁡ { D : ( R , D ) ∈  率失真区域  } , D(R)=\inf \{D:(R, D) \in \text { 率失真区域 }\}, D(R)=inf{D:(R,D)∈ 率失真区域 },
    含义为:在给定码率(压缩率) R R R条件下所能达到的最小失真。


下面我们通过引入互信息的概念,给出一种可计算形式的表达。互信息 I ( X ; X ^ ) I(X;\hat{X}) I(X;X^)的含义是 x ^ \hat{x} x^究竟代表了多少 x x x中的信息,定义如下:
I ( X ; X ^ ) = ∑ x ∈ X , x ^ ∈ X ^ p ( x , x ^ ) log ⁡ ( p ( x , x ^ ) p ( x )   p ( x ^ ) ) I(X;\hat{X})=\sum _{x\in \mathcal{X}, \hat{x}\in \mathcal{\hat{X}}}p(x,\hat{x})\log {\left({\frac {p(x,\hat{x})}{p(x)\,p(\hat{x})}}\right)} I(X;X^)=x∈X,x^∈X^∑​p(x,x^)log(p(x)p(x^)p(x,x^)​)

而后我们将编码器与解码器看做一个整体,称为熵压缩编码器(类似信道的设置),其转移概率记为 q ( x ^ ∣ x ) q(\hat{x}|x) q(x^∣x),对一个给定的信源随机变量 X X X,服从概率分布 p ( x ) p(x) p(x),此时输入与输出的平均失真可以记为
E d ( X , X ^ ) = ∑ x ∈ X , x ^ ∈ X ^ p ( x , x ^ ) d ( x , x ^ ) = ∑ x ∈ X , x ^ ∈ X ^ p ( x ) q ( x ^ ∣ x ) d ( x , x ^ ) ⩽ D E d(X, \hat{X})=\sum_{x \in \mathcal{X}, \hat{x} \in \hat{\mathcal{X}}} p(x, \hat{x}) d(x, \hat{x}) = \sum_{x \in \mathcal{X}, \hat{x} \in \hat{\mathcal{X}}} p(x) q(\hat{x}|x) d(x, \hat{x}) \leqslant D Ed(X,X^)=x∈X,x^∈X^∑​p(x,x^)d(x,x^)=x∈X,x^∈X^∑​p(x)q(x^∣x)d(x,x^)⩽D
其中 p ( x , x ^ ) p(x, \hat{x}) p(x,x^)为 x x x与 x ^ \hat{x} x^的联合概率分布。

在分析信道容量的时候,是希望最大化 I ( X ; X ^ ) I(X;\hat{X}) I(X;X^),而在这里,我们是希望最小化 I ( X ; X ^ ) I(X;\hat{X}) I(X;X^),这样就可以使得通过熵压缩编码器的信息量尽可能小,以此来实现所需要使用的比特数尽可能的低。但是有一个前提约束,就是限制失真度量的最大值,而后再最小化这个互信息才有意义(不然 X ^ \hat{X} X^会为一个常数)。

下面给出信息论意义下的率失真函数的定义(一个数学上的最优值):
R ( I ) ( D ) = min ⁡ q ( x ^ ∣ x ) : ∑ ( x , x ^ ) p ( x ) q ( x ^ ∣ x ) d ( x , x ^ ) ≤ D I ( X ; X ^ ) R^{(I)}(D)=\min _{q(\hat{x} \mid x): \sum_{(x, \hat{x})} p(x) q(\hat{x} \mid x) d(x, \hat{x}) \leq D} I(X ; \hat{X}) R(I)(D)=q(x^∣x):∑(x,x^)​p(x)q(x^∣x)d(x,x^)≤Dmin​I(X;X^)
需要注意信源压缩编码理论里面的一个基本设置是:信源的密度函数 p ( x ) p(x) p(x)是给定的,而一般我们能够调整的是 q ( x ^ ∣ x ) q(\hat{x} \mid x) q(x^∣x)。


率失真编码定理(Shannon第三定理)
给定具有独立同分布 p ( x ) p(x) p(x)的信源 X X X和有界的失真度量 d ( x , x ^ ) d(x,\hat{x}) d(x,x^),操作意义下的率失真函数等于信息论意义下的率失真函数,即:
R ( D ) = R ( I ) ( D ) = min ⁡ q ( x ^ ∣ x ) : ∑ ( x , x ^ ) p ( x ) q ( x ^ ∣ x ) d ( x , x ^ ) ≤ D I ( X ; X ^ ) R(D)=R^{(I)}(D)=\min _{q(\hat{x} \mid x): \sum_{(x, \hat{x})} p(x) q(\hat{x} \mid x) d(x, \hat{x}) \leq D} I(X ; \hat{X}) R(D)=R(I)(D)=q(x^∣x):∑(x,x^)​p(x)q(x^∣x)d(x,x^)≤Dmin​I(X;X^)
是在失真约束 D D D下可以达到的最小信息传输速率。


3. 率失真函数的性质

  • R ( I ) ( D ) R^{(I)}(D) R(I)(D)是非增函数。当我们能够容忍的失真度逐渐增加时,率失真函数也就是传输的信息会逐步减小(或不变)。

  • R ( I ) ( D ) R^{(I)}(D) R(I)(D)的定义域为 ( D m i n , + ∞ ) (D_{min}, +\infty) (Dmin​,+∞),且存在 D m a x D_{max} Dmax​,当 D ≥ D m a x D \geq D_{max} D≥Dmax​时, R ( I ) ( D ) = 0 R^{(I)}(D)=0 R(I)(D)=0。也就是说,当我们能够容忍的失真到达一个程度后,就可以什么都不需要传了。

  • R ( D ) R(D) R(D)是 D D D的下凸函数。本质上是 I ( p , q ) I(p,q) I(p,q)在 q q q上是下凸的性质。


4. 率失真函数的两个常见例子

  • B e r n o u l l i ( p ) Bernoulli(p) Bernoulli(p)信源在汉明失真度量下的率失真函数为:
    R ( D ) = { H ( p ) − H ( D ) , 0 ⩽ D ⩽ min ⁡ { p , 1 − p } 0 , D > min ⁡ { p , 1 − p ∣ R(D)= \begin{cases}H(p)-H(D), & 0 \leqslant D \leqslant \min \{p, 1-p\} \\ 0, & D>\min \{p, 1-p \mid\end{cases} R(D)={H(p)−H(D),0,​0⩽D⩽min{p,1−p}D>min{p,1−p∣​

  • 一个 N ( 0 , σ 2 ) \mathcal{N}\left(0, \sigma^{2}\right) N(0,σ2)高斯信源在平方误差失真度量下的率失真函数为:
    R ( D ) = { 1 2 log ⁡ σ 2 D , 0 ⩽ D ⩽ σ 2 0 , D > σ 2 R(D)= \begin{cases}\frac{1}{2} \log \frac{\sigma^{2}}{D}, & 0 \leqslant D \leqslant \sigma^{2} \\ 0, & D>\sigma^{2}\end{cases} R(D)={21​logDσ2​,0,​0⩽D⩽σ2D>σ2​

针对高斯信源,我们先将 R ( D ) R(D) R(D)写成 D ( R ) D(R) D(R),
则 R ( D ) = 1 2 log ⁡ σ 2 D R(D)= \frac{1}{2} \log \frac{\sigma^{2}}{D} R(D)=21​logDσ2​可变为 D ( R ) = σ 2 2 − 2 R D(R)=\sigma^{2}2^{-2R} D(R)=σ22−2R。(注意,这里的 log ⁡ \log log均是以 2 2 2为底的)。那么 1 1 1比特的失真为 0.25 σ 2 0.25\sigma^2 0.25σ2

这是有一个非常有趣的观察:在最开始的第一个例子,我们用 1 1 1比特量化 N ( 0 , σ 2 ) \mathcal{N}\left(0, \sigma^{2}\right) N(0,σ2)高斯分布的连续随机变量时,平均失真为 D = ∫ − ∞ ∞ ( x − X ^ ( x ) ) 2 p ( x ) d x = π − 2 π σ 2 ≈ 0.3633 σ 2 D=\int_{-\infty}^{\infty}\left( x - \hat{X}(x) \right)^2 p(x) dx = \frac{\pi-2}{\pi} \sigma^{2} \approx 0.3633 \sigma^{2} D=∫−∞∞​(x−X^(x))2p(x)dx=ππ−2​σ2≈0.3633σ2,这并不是最优的。因此,这表明我们如果将几个失真的问题结合在一起考虑,则可获得比单个分开考虑时更低的失真。(即使我们量化的是独立随机变量)


参考

  1. Wiki: Rate–distortion theory
  2. Thomas M. Cover, Joy A. Thomas (2006). Elements of Information Theory. John Wiley & Sons, New York.
  3. 信息论基础(2017),叶中行

标签:失真度,right,THEORY,失真,DISTORTION,信源,RATE,hat,left
来源: https://blog.csdn.net/weixin_41929524/article/details/118915173

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有