通过最大编码率缩减原则学习多样化和有区别的表征
机器学习中最基本的问题是:如何有效地且高效地从有限独立同分布的样本集中学习数据分布?对于该问题,可转化为寻求捕获了样本内在结构的表示的问题。
对于表示学习,在有监督学习中把样本标签表示为one-hot编码,以交叉熵为损失函数学习表示。尽管这种方式很常用,但是它的学习方式与标签有关。由于标签的准确性无法保证,那么也无法保证学习的准确性。同时,该有监督学习的方式无法清楚的知晓表示捕获数据内在结构的程度,即可解释性很差。
在信息瓶颈中,把深度网络的中间层输出视为选择特定隐式特征的过程。其中,输出可理解为表示。进一步来说,信息瓶颈假设网络为学习预测标签的最小充分统计,可把该统计量理解为数据的表示。在形式上,通过最大化表示与标签之间的互信息和最小化样本与表示之间互信息的方式实现,例如:VAE。由于只是针对特定标签$\mathbf{y}$,因此这种方式的泛化性、鲁棒性、以及迁移性不佳。
在生成表示的压缩学习中,例如:GAN,通过自编码的方式学习好的隐式表示。确切的说,该方法通过优化解码器或生成器的方式,学习一个能够恢复原始数据的压缩隐式表示。这种方式往往取决于表示正则化方法和原始数据与生成数据之间相似性的度量方法。由于正则化方法和相似性度量方法均与任务有关,那么学习出的表示也就无法完全捕获数据的内在结构。
与之不同的是,$MCR^2$作者们利用率缩减作为目标函数,学习出一个拥有类间区分性、类内压缩性、以及最大化多样性的表示。其中,表示的多样性是指捕获数据内在结构的程度。作者们的主要目的是学习出数据的低维内在结构,其不受任何数据变形方法的影响。那么,这种表示具有很强的泛化性和迁移性。同时,该表示拥有几何和统计特性。
算法设计
表示的压缩性度量
若期望获得拥有以上特性的表示,那么需要寻找到一个关于随机变量$\mathbf{z}$或有限样本$\mathbf{Z}$分布的“压缩性度量”。这种度量应能够直接或精确的描述分布的内在几何或统计特性。同时,与交叉熵或信息瓶颈不同,这种度量不应该确切的取决于类标签。
在信息论中,熵$H(z)$概念属于这种度量。然而,熵对退化分布的连续性随机变量没有明确的定义。为了减轻困难,信息论还有一个相关的概念,确切的说是有损数据压缩中的率失真,被用于度量一个随机变量的“压缩性”。给定随机变量$\mathbf{z}$和一个预定义的精度$\epsilon\gt0$,率失真$R(\mathbf{z},\epsilon)$是用于编码$\mathbf{z}$的最小二值位数量,且期望的解码误差小于$\epsilon$。然而,计算随机变量的率失真是很困难的,除非简单的分布,例如:离散型和高斯分布。
在估计有损编码率$R$时,通常实际困难为不知道$\mathbf{z}$的确切的分布。相反,只有有限数量的样本$\mathbf{X}=[x_1,\ldots,x_m]$和对应的表示$\mathbf{z}_i=f(x_i,\theta)\in\mathbb{R}^d,i=1\ldots,m$。幸运的是,Ma等人在Segmentation of multivariate mixed data via lossy data coding and compression论文中对来自类子空间分布的有限样本的编码的二值位数量提供了一个精确的估计。为了在精度$\epsilon$下编码学习表示$Z=[z_1,\ldots,z_m]$,需要的位数量是:$\mathcal{L}(\mathbf{Z},\epsilon)=(\frac{m+d}{2})log~det(I+\frac{d}{m\epsilon^2}ZZ^T)$。因此,学习到的特征的整体压缩性可用每个样本的平均编码长度测量:
$$
\begin{aligned}
R(Z,\epsilon)=\frac{1}{2}log~det(I+\frac{d}{m\epsilon^2}ZZ^T)
\end{aligned}\tag{1}
$$
接下来,再介绍一下混合分布数据的率失真。对于多类数据的特征$\mathbf{Z}$可能属于多个低维子空间。为了精确的估计这种混合数据率失真,把数据$\mathbf{Z}$分成多个子集:$\mathbf{Z}=\mathbf{Z}_1\cup\cdots\cup\mathbf{Z}_k$,每个子集均在一个独立的子空间。由此,每个子集的编码率可被精确的计算。为了便于表示,$\mathbf{\Pi}=\{\mathbf{\Pi}_j\in\mathbb{R}^{m\times m}\}_{j=1}^k$位对角矩阵集合,其对角元素表示在$k$个类别中$m$个样本的可能性。那么,每个样本平均位数量为:
$$
\begin{aligned}
\mathbf{R}^{c}(\mathbf{Z},\epsilon\vert\mathbf{\Pi})=\sum_{j=1}^k\frac{tr(\mathbf{\Pi}_j)}{2m}log~det(I+\frac{d}{tr(\mathbf{\Pi}_j)\epsilon^2}\mathbf{Z}\mathbf{\Pi}_j\mathbf{Z}^T)
\end{aligned}\tag{2}
$$
若式(2)中$\mathbf{Z}$被给定,那么$R^{c}(\mathbf{Z},\epsilon\vert\mathbf{\Pi})$为$\mathbf{\Pi}$的凹函数。
最大化编码率缩减原则
为了学习一个区分性强的特征,那么不同类别的特征应该是最大化彼此之间的不一致性。因此,所有特征应该横跨很大的空间,且整个集合$\mathbf{Z}$的编码失真率应足够的大。另一方面,每个类数据应该只存在一个空间或子空间,且编码失真率应尽可能的小。因此,一个好的表示应能够最大化整个集合失真率和子集之间失真率之差:
$$
\begin{aligned}
\Delta R(\mathbf{Z},\mathbf{\Pi},\epsilon)=R(\mathbf{Z},\epsilon)-R^{c}(\mathbf{Z},\epsilon\vert\Pi)
\end{aligned}\tag{3}
$$
$\Delta R$是关于特征$\mathbf{Z}$规模单调的。为了使不同表示之间的缩减数量可比较,需要对学习到特征的量级进行正则化。对于正则化,要么对每个类别的特征表示$\mathbf{Z}_j$施加欧式范数$\mathbf{Z}_j\in\mathbb{R}^{d\times m_j}:\Vert\mathbf{Z}_j\Vert_F^2=m_j$,要么在单位球$\mathbf{z}_i\in\mathbb{S}^{d-1}$上正则化每个特征。
在表示之间可比的情况下,目标变为学习一个特征集$\mathbf{Z}(\theta)=f(\mathbf{X},\theta)$和它的部分$\mathbf{\Pi}$(若未给定),从而最大化所有特征编码率和特征编码率和之间的差,即
$$
\begin{aligned}
\underset{\theta,\Pi}{max}\Delta R(\mathbf{Z}(\theta),\Pi,\epsilon)=R(\mathbf{Z}(\theta),\epsilon)-R^{c}(\mathbf{Z}(\theta),\epsilon\vert\Pi),s.t.~\Vert\mathbf{Z}_j(\theta)\Vert_F^2=m_j,\Pi\in\Omega
\end{aligned}\tag{4}
$$
作者们把其称为最大化编码率缩减原则。
版权: 本篇博文采用《CC BY-NC-ND 4.0》,转载必须注明作者和本文链接