论文阅读:Unsupervised Deep Learning by Neighbourhood Discovery

Unsupervised Deep Learning by Neighbourhood Discovery

论文的idea

Unsupervised Feature Learning via Non-Parametric Instance Discrimination提出将每一个sample看作一个instance,这样便可以learn出比较好的结果。这样即便是类别一致的instance也要被强制分开。但是其实这篇文章已经设置了softmax with temprature 来使得监督信号不必要太强来保留一部分inter-instance relation。ICML2019的Unsupervised Deep Learning by Neighbourhood Discovery希望显示地来发掘neighbourhood 使得在一个局部(论文中的AN)尽量class consistent。而相对于Non-Parametric Instance Discrimination这篇文章进行了一些改动。将positive samples增加了neighbough内的样本,而这些样本的产生也很简单,直接KNN产生K个样本点。
论文阅读:Unsupervised Deep Learning by Neighbourhood Discovery_第1张图片
论文阅读:Unsupervised Deep Learning by Neighbourhood Discovery_第2张图片
所以loss function中的正样本概率增加到了 N K \mathcal{N}_K NK个,对比Non-parametric的loss function(上图中的 L i n i t \mathcal{L}_{init} Linit)。

论文阅读:Unsupervised Deep Learning by Neighbourhood Discovery_第3张图片

Curriculum Learning

稍微有点意思的是AN的选取,采用了所谓的curriculum learning先选取“简单”的ANs,再选取复杂的ANs。关于定义difficulty,论文中对于一个sample x i x_i xi 相对于其他所有的sample的相似度来衡量其为同一类的概率,并用这个分布的熵来作为一个衡量AN内class consistency的指标。具体的来说,一个概率分布熵很小的时候,分布较为不均,这意味着有几个稀疏的sample和 x i x_i xi之间的相似度很高,其余的都较小。这样H较小的sample可以启发式的认为class consistency比较高(原因可能是这些sample并不会引发太多争议)。这样便先去选取那些H低的AN,由于每一个sample对应一个AN,当前一轮学习没有选取到 x i x_i xi对应的AN时,就把其单独作为一个class。

实验效果

整体来看,实验效果还是比较诚实的。确实比Instance要好,但是还不如deepcluster。不过deepcluster的结果到底是咋弄出来的还是个疑问,我自己复现的和跑其公布的代码都远达不到其描述的实验结果。

你可能感兴趣的:(机器学习)