无监督学习与互信息
无监督学习与互信息
- 0. 前言
- 1. 互信息
- 2. 互信息与熵
0. 前言
分类、检测和分割等机器学习任务都依赖于标注数据。网络在这些任务上的表现直接受标注质量和数据量的影响。问题在于,生产足够数量的高质量标注数据成本高昂且耗时。
为了推动机器学习领域的持续发展,理想情况下,网络应当能够从无标注数据中学习——随着互联网发展及智能手机、物联网等传感设备的普及,这类数据正日益丰富。基于无标注数据的学习属于无监督学习领域。在某些情况下,无监督学习也被称为自监督学习,以强调其使用纯无标注数据进行训练且无需人工监督的特性。
当前机器学习领域已存在多种基于无标注数据的学习方法。借助深度神经网络和无监督学习的新思路,这些方法的性能得以提升。在处理文本、图像、音频和视频等高度非结构化数据时,这一优势尤为明显。无监督学习中一项成功的研究方向,是在给定神经网络中最大化两个随机变量间的互信息 (Mutual Information, MI)。在信息论领域,互信息是衡量两个随机变量依赖关系的指标。互信息能够有效从无标注数据中提取有效信息方面,这些信息能够有效辅助下游任务的学习。例如,该技术可以对潜编码向量进行聚类处理,从而使分类任务转化为简单的线性可分问题。
1. 互信息
互信息是衡量两个随机变量 XXX 与 YYY 之间依赖关系的指标。有时,互信息也被定义为通过观测 YYY 所能获得的关于 XXX 的信息量。它亦被称为信息增益,即观测 YYY 后 XXX 不确定性的减少量。
与相关性度量不同,互信息能够检测 XXX 与 YYY 之间的非线性统计依赖关系。在深度学习领域,由于现实世界数据大多呈非结构化特征,且输入输出间通常存在非线性关联,互信息因此成为理想工具。深度学习的终极目标是通过预训练模型对输入数据执行分类、翻译、回归或检测等具体任务,这些任务统称为下游任务。
由于互信息能揭示输入数据、中间特征、表征形式及输出结果(这些本身皆为随机变量)之间依赖关系的关键特性,其共享信息通常能提升模型在下游任务中的表现。数学上,两个随机变量 XXX 与 YYY 的互信息定义为:
I(X;Y)=DKL(P(X,Y)∣∣P(X)P(Y))I(X;Y) = D_{KL}(P(X,Y)||P(X)P(Y)) I(X;Y)=DKL(P(X,Y)∣∣P(X)P(Y))
其中,P(X,Y)P(X,Y)P(X,Y) 是定义在样本空间 X×YX\times YX×Y 上的联合分布,P(X)P(Y)P(X)P(Y)P(X)P(Y) 是定义在样本空间 XXX 与 YYY 上的边缘分布之积。
换言之,互信息就是联合分布与边缘分布乘积之间的 KL 散度。KL 散度是衡量两个分布间距离的指标。在互信息中,KL 散度值越大,随机变量 XXX 与 YYY 之间的互信息就越高。由此推知,互信息值越高,XXX 对 YYY 的依赖程度就越强。
由于互信息等于联合分布与边缘分布乘积间的 KL 散度,这意味着其值始终大于或等于零:I(X;Y)≥0I(X;Y)\ge 0I(X;Y)≥0。当 XXX 与 YYY 相互独立时,互信息恰好为零。此时观测一个随机变量(如 YYY )无法获得另一个随机变量(如 XXX )的任何信息。因此,互信息实际上衡量的是 XXX 与 YYY 偏离独立状态的程度。对于离散随机变量 XXX 与 YYY,通过展开 KL 散度,互信息可计算为:
I(X;Y)=E(X,Y)∼P(X,Y)logP(X,Y)P(X)P(Y)=∑X∈X∑Y∈YP(X,Y)P(X,Y)P(X)P(Y)I(X;Y) = \mathbb E_{(X,Y)\sim P(X,Y)}log\frac {P(X,Y)}{P(X)P(Y)}=\sum_{X\in \mathcal X}\sum_{Y\in\mathcal Y} P(X,Y)\frac {P(X,Y)}{P(X)P(Y)} I(X;Y)=E(X,Y)∼P(X,Y)logP(X)P(Y)P(X,Y)=X∈X∑Y∈Y∑P(X,Y)P(X)P(Y)P(X,Y)
其中,P(X,Y)P(X,Y)P(X,Y) 为联合概率质量函数 (Probability Mass Function, PMF),P(X)P(X)P(X) 与 P(Y)P(Y)P(Y) 为边缘概率质量函数。若已知联合分布与边缘分布,互信息可直接计算得出。
对于连续随机变量 XXX 与 YYY,通过展开 KL 散度,互信息可表示为:
I(X;Y)=∫X∫Yp(x,y)logp(x,y)p(x)p(y)dxdyI(X;Y) = \int_{\mathcal X}\int_{\mathcal Y} p(x,y) log\frac {p(x,y)}{p(x)p(y)}dxdy I(X;Y)=∫X∫Yp(x,y)logp(x)p(y)p(x,y)dxdy
其中,p(x,y)p(x,y)p(x,y) 为联合概率密度函数 (Probability Distribution Function, PDF),p(x)p(x)p(x) 与 p(y)p(y)p(y) 为边缘概率密度函数连续随机变量的互信息通常难以直接计算,需采用变分方法进行估计。
在探讨互信息计算技术之前,我们首先需要阐明互信息与熵的关系。
2. 互信息与熵
互信息同样可以从熵的角度进行阐释,熵 H(X)H(X)H(X) 是衡量随机变量 XXX 信息期望值的指标:
H(X)=−Ex∼P(x)[logP(x)]H(X) = −\mathbb E_{x\sim P(x)}[logP(x)] H(X)=−Ex∼P(x)[logP(x)]
上式表明熵同时也是不确定性的度量,不确定性事件的发生会带来更高程度的"意外"或信息量。基于上式,互信息可表示为:
I(X;Y)=DKL(P(X,Y)∣∣P(X)P(Y))=E[logP(X,Y)P(X)P(Y)]=E[logP(X,Y)]−E[logP(X)]−E[logP(Y)]=H(P(X))+H(P(Y))−H(P(X,Y))=H(X)+H(Y)−H(X,Y)\begin{aligned} I(X;Y) &= D_{KL}(P(X,Y) || P(X)P(Y)) = \mathbb E[log\frac {P(X,Y)}{P(X)P(Y)}]\\ &= \mathbb E[logP(X,Y)]− \mathbb E[logP(X)]− \mathbb E[logP(Y)] \\ &= H(P(X))+H(P(Y))−H(P(X,Y)) \\ &= H(X)+H(Y)−H(X,Y)\\ \end{aligned} I(X;Y)=DKL(P(X,Y)∣∣P(X)P(Y))=E[logP(X)P(Y)P(X,Y)]=E[logP(X,Y)]−E[logP(X)]−E[logP(Y)]=H(P(X))+H(P(Y))−H(P(X,Y))=H(X)+H(Y)−H(X,Y)
上式表明:互信息随边缘熵增大而增加,但随联合熵增大而减小。更常见的互信息熵表达式如下:
I(X;Y)=E[logP(X,Y)P(X)P(Y)]=E[logP(X∣Y)P(X)]=E[logP(X∣Y)]−E[logP(X)]=H(P(X))−H(P(X∣Y))=H(X)−H(X∣Y)\begin{aligned} I(X;Y) &= \mathbb E[log\frac {P(X,Y)}{P(X)P(Y)}] = \mathbb E[log\frac {P(X|Y)}{P(X)}]\\ &= \mathbb E[logP(X|Y)]−\mathbb E[logP(X)]\\ &= H(P(X))-H(P(X|Y)) = H(X)−H(X|Y) \end{aligned} I(X;Y)=E[logP(X)P(Y)P(X,Y)]=E[logP(X)P(X∣Y)]=E[logP(X∣Y)]−E[logP(X)]=H(P(X))−H(P(X∣Y))=H(X)−H(X∣Y)
以上公式表明:互信息随随机变量熵值增大而增加,但随条件熵增大而减小。换言之,互信息反映了在已知 YYY 的情况下,XXX 的信息量(或不确定性)的减少程度。
等效地,
I(X;Y)=E[logP(X,Y)P(X)P(Y)]=E[logP(Y∣X)P(Y)]=H(P(Y))−H(P(Y∣X))=H(Y)−H(Y∣X)\begin{aligned} I(X;Y) &= \mathbb E[log\frac {P(X,Y)}{P(X)P(Y)}] = \mathbb E[log\frac {P(Y|X)}{P(Y)}] \\ &= H(P(Y))-H(P(Y|X)) = H(Y)−H(Y|X) \end{aligned} I(X;Y)=E[logP(X)P(Y)P(X,Y)]=E[logP(Y)P(Y∣X)]=H(P(Y))−H(P(Y∣X))=H(Y)−H(Y∣X)
上式表明互信息具有对称性:
I(Y;X)=I(X;Y)I(Y;X)=I(X;Y) I(Y;X)=I(X;Y)
互信息还可以通过 XXX 和 YYY 的条件熵表示为:
I(X;Y)=E[logP(X,Y)P(X)P(Y)]=E[logP(X,Y)]−E[logP(X)]−E[logP(Y)]I(X;Y) = \mathbb E[log\frac {P(X,Y)}{P(X)P(Y)}] = \mathbb E[logP(X,Y)]− \mathbb E[logP(X)]− \mathbb E[logP(Y)] I(X;Y)=E[logP(X)P(Y)P(X,Y)]=E[logP(X,Y)]−E[logP(X)]−E[logP(Y)]
应用贝叶斯定理:
I(X;Y)=E[logP(X,Y)]−E[logP(X,Y)P(Y∣X)]−E[logP(X,Y)P(X∣Y)]=−E[logP(X,Y)]+E[logP(Y∣X)]+E[logP(X∣Y)]=H(P(X,Y))−H(P(Y∣X))−H(P(X∣Y))=H(X,Y)−H(Y∣X)−H(X∣Y)\begin{aligned} I(X;Y) &= \mathbb E[logP(X,Y)]−\mathbb E[log\frac {P(X,Y)}{P(Y|X)}] −\mathbb E[log\frac {P(X,Y)}{P(X|Y)}] \\ &= −\mathbb E[logP(X,Y)]+\mathbb E[logP(Y|X)]+\mathbb E[logP(X|Y)] \\ &= H(P(X,Y))−H(P(Y|X))−H(P(X|Y)) \\ &= H(X,Y)−H(Y|X)−H(X|Y) \end{aligned} I(X;Y)=E[logP(X,Y)]−E[logP(Y∣X)P(X,Y)]−E[logP(X∣Y)P(X,Y)]=−E[logP(X,Y)]+E[logP(Y∣X)]+E[logP(X∣Y)]=H(P(X,Y))−H(P(Y∣X))−H(P(X∣Y))=H(X,Y)−H(Y∣X)−H(X∣Y)
由互信息公式可以得到:
H(X∣Y)=H(X)−I(X;Y)H(X|Y) = H(X)−I(X;Y) H(X∣Y)=H(X)−I(X;Y)
由于 H(X∣Y)H(X|Y)H(X∣Y) 表示观测 YYY 后 XXX 的不确定性,上式表明:通过最大化互信息,我们能在已知 YYY 的情况下更准确地确定 XXX。
举个更具体的例子:假设 XXX 是表示在随机字节中观测到 0 至 255 (含)整数的随机变量。若服从均匀分布,则概率 P(X)=1256P(X)=\frac 1{256}P(X)=2561。以 2 为底的熵值为:
H(X)=−∑X∼P(X)P(X)log2P(X)=−∑1256log21256=256×8256=8H(X)= −\sum_{X\sim P(X)} P(X)log_2P(X) = −\sum \frac 1 {256} log_2\frac 1{256} = 256×\frac 8{256} = 8 H(X)=−X∼P(X)∑P(X)log2P(X)=−∑2561log22561=256×2568=8
假设随机变量 YYY 表示随机字节的 4 个最高有效位。若观测到 4 个最高有效位全为 0,则数字 0-15 的出现概率 P(X)=116P(X)=\frac 1{16}P(X)=161,其余数字概率为 0。此时条件熵为:
H(X∣Y)=−∑P(X∣Y)log2P(X∣Y)=−∑116log2116=16×416=4H(X|Y) = −\sum P(X|Y)log_2P(X|Y) = −\sum \frac 1{16}log_2 \frac 1{16} = 16×\frac 4 {16} = 4 H(X∣Y)=−∑P(X∣Y)log2P(X∣Y)=−∑161log2161=16×164=4
由此得到互信息 I(X;Y)=8−4=4I(X;Y)=8−4=4I(X;Y)=8−4=4。值得注意的是,在已知 YYY 的情况下,随机变量 XXX 的不确定性(即期望信息量)降低了。XXX 与 YYY 共享的互信息值为 4,这也等于两个随机变量共享的比特数。
