Zhangzhe's Blog

The projection of my life.

0%

Learning Diverse and Discriminative Representations via the Principle of Maximal Coding Rate Reduction

URL

Algorithm

TL;DR

  • 本文提出一种 最大编码率降低(MCR2) 表征算法,本质是一种表征损失函数,本算法有效优化了表征空间,在有监督学习(分类)与自监督学习(聚类)都取得了不错的效果。

Maximal Coding Rate Reduction

  • 什么是一个好的表征?一个好的表征应该有哪些性质?

    • 一个好的表征应该充分利用表征空间。

    • 一个好的表征在同一类下的表征应该尽可能的相似。

  • $MCR^2$ Loss

    • $R(Z, \epsilon)=\frac{1}{2}logdet(I+\frac{d}{m\epsilon^2}ZZ^T)$

    • $R^c(Z,\epsilon|\Pi)=\sum_{j=1}^k\frac{tr(\Pi_j)}{2m}logdet(I+\frac{d}{tr(\Pi_j)\epsilon^2}Z\Pi_j Z^T)$

    • $\max_{\theta|\Pi} \Delta R(Z(\theta),\Pi,\epsilon)=R(Z, \epsilon)-R^c(Z,\epsilon|\Pi)$

    • 其中:

      • $Z\in\mathbb R^{d\times m}$ ,其中 $d$ 是表征向量的长度,$m$ 是一个 batch 的大小,典型值是 $d=128,\ m=1000$ 。

      • $det$ 表示行列式的值, $logdet$ 表示行列式的值的自然对数。

      • $\Pi_j$ 表示选择函数,选择属于类 $j$ 的特征向量进行计算。

  • $MCR^2$ Loss 解析

    • $det$ 行列式函数可以用于衡量一个矩阵中向量的正交程度,行列式的值越大,矩阵中向量越正交,向量实际利用的表征空间越大。

    • $A=\begin{bmatrix} a & b \\ c & d \end{bmatrix}$ 矩阵的行列式表示由向量 $v_1 = [a, b],\ v_2=[c, d]$ 组成的平行四边形的面积,如下图所示,当 $v_1,\ v_2$ 向量正交时,面积最大,行列式值最大。

    det.png

    • 同理,在 $d$ 维空间下,当 $d$ 个 $d$ 维空间越正交,组成的 空间积 越大。

    • $ZZ^T$ 是个实对称矩阵,因此是半正定矩阵,因此 $I + ZZ^T$ 是个正定矩阵,因此 $I+ZZ^T$ 的行列式的值 > 0,因此 logdet 有定义。

    • $MCR^2$ Loss 的实际含义是:所有表征向量尽可能正交,属于同一个类的表征向量尽可能不正交,因此属于同一个类别的表征向量会尽可能共线,不同类别会尽可能正交。

    • Loss 中的 $d,\ m$ 都是平衡因子,平衡因向量的长度和统计集大小引起的数值变化。

  • 在使用 Cifar10 数据集训练后,将输出的 128 维度表征使用任意分类器(SVM / KNN / 单层神经网络)都很容易进行分类,达到 95+ 的准确率。

  • 而且 $MCR^2$ Loss 在分类任务中的一个优势在于:对于存在错误标签的数据,$MCR^2$ 比交叉熵对错误标签的敏感度更低,如下图所示:

MCR2 and CE.png

  • 面对聚类任务,由于没有类别信息,损失函数变成: $\max_{\theta|\Pi} \Delta R(Z(\theta),\Pi,\epsilon)=R(Z, \epsilon)$ ,即:尽可能充分利用表征空间

Throught

  • 本文提出的方法从表征角度讲非常 make sense,但存在的问题是:依然无法摆脱 维度灾难,因此 $MCR^2$ 也仅仅被用于低维度表征空间中,无法在神经网络的每一层都使用,在分类任务中也仅仅可以被当做一个在交叉熵的升级版本(交叉熵作用于类别维度,$MCR^2$ 监督维度更高)。

  • 一个简单的想法确实可以有效提高聚类任务的模型效果,所以为后面的 Deep (Convolution) Networks from First Principles 提供了理论基础。