最近在学习马毅老师的 NeurIPS 2020 中稿文章 MCR2,当时引起很多的报告,并且也上了热搜。抱着看一看的态度,认真学习了几篇核心的文章,并进行理解。
作为 ReduNet: A White-box Deep Network from the Principle 的前置文章之一的,Deep Networks from Optimizing Rate Reduction,首先对其进行了学习。
下面几个博客为本文的引申,分别对率失真函数以及文章代码进行了详细的学习:
文章考虑的问题是针对分类问题,如何能够使得分类更加准确。使用的方法考虑到了数据的压缩与表示,非常类似对比学习的想法,缩小一个类别内的距离,并且扩大不同类别间的距离。通过把数据点映射成特征,令不同类的特征间隔更远,同类的特征相聚更紧密。而为了达到这样的目的,可以使用核函数、神经网络等各种映射,最终都是为了能映射出符合这两个条件的数据表示。
文章中定义了一个用于衡量数据的方法,提出用一种使用编码长度的公式来测量这个空间的大小。
公式计算的是编码通过测量整个数据集特征的球填充个数,从而推导出整个数据集的特征所需要的比特数(根据数据集的SVD分解进行计算),其用来测量数据集的特征张开的空间大小。
直观地,由于我们能测量这些特征占据的高维空间的大小,因此只需让所有的特征占据的空间张的足够开,同时让同类的特征占据的空间缩得很小即可,这样后期也可以方便进行分类。
有了这样两个目标后,我们可以基于此构造优化目标:① 尽可能使所有的特征占据的空间膨胀的足够开;② 尽可能使同类的特征空间收缩得足够小。
注意,上式的 Z Z Z,是所有数据的特征,对所有原