Unsupervised deep embedding for clustering analysis

偶然发现这篇发在ICML2016的论文,它主要的关注点在于unsupervised deep embedding。据我所了解的,Unsupervised 学习是deep learning的一个难点,毕竟deep network这种非常复杂的非线性映射,暂时的未知因素太多,可能在原来的domain有clustering的特征数据经过nonlinear映射之后,就变得不再clustering了。

这篇论文受t-SNE的启发,优化的目标是两个分布之间的KL距离。假设deep embedding之后的两个点【CV论文阅读】Unsupervised deep embedding for clustering analysis_sed 和【CV论文阅读】Unsupervised deep embedding for clustering analysis_sed_02 ,其中【CV论文阅读】Unsupervised deep embedding for clustering analysis_初始化_03是第【CV论文阅读】Unsupervised deep embedding for clustering analysis_ide_04个类的centroid。于是,similarity 的measure为

 【CV论文阅读】Unsupervised deep embedding for clustering analysis_初始化_05

也可以认为是【CV论文阅读】Unsupervised deep embedding for clustering analysis_ide_06 属于【CV论文阅读】Unsupervised deep embedding for clustering analysis_概率分布_07 的概率。

假设此时一个目标分布【CV论文阅读】Unsupervised deep embedding for clustering analysis_归一化_08,则 【CV论文阅读】Unsupervised deep embedding for clustering analysis_初始化_09。优化的过程和普通的BP算法一样,(1)通过BP算法优化deep network的参数,即计算【CV论文阅读】Unsupervised deep embedding for clustering analysis_归一化_10。(2)通过计算梯度【CV论文阅读】Unsupervised deep embedding for clustering analysis_归一化_11来调整cluster的centroid,但是否这类centroid的调整也需要乘上一个学习率呢?

此外,一个重点的问题是潜在目标分布的构造。Paper里给出了三个标准,我觉得这三个标准确实挺有意义的:(1)对预测效果可以strengthen(2)对于一些高概率被标注某个cluster的点,给予更多的权重(3)归一化每个点对于每个centroid用于计算loss函数时候的贡献,避免一些大的cluster扭曲了整个feature space。构造如下,

 【CV论文阅读】Unsupervised deep embedding for clustering analysis_ide_12

其中,【CV论文阅读】Unsupervised deep embedding for clustering analysis_概率分布_13。对以上三个标准说一说自己的理解,不一定准确。(1)对于第一点,对于某个明显更靠近【CV论文阅读】Unsupervised deep embedding for clustering analysis_ide_04类的point,它比其他point离得除【CV论文阅读】Unsupervised deep embedding for clustering analysis_ide_04类以外更远,这个点的【CV论文阅读】Unsupervised deep embedding for clustering analysis_归一化_16也更高,而且【CV论文阅读】Unsupervised deep embedding for clustering analysis_sed_17也可能会更高(2)平方项的应用使得小的更加小了,即emphasis更小。同时,当【CV论文阅读】Unsupervised deep embedding for clustering analysis_概率分布_18较高,在【CV论文阅读】Unsupervised deep embedding for clustering analysis_ide_19 的所有点中, 【CV论文阅读】Unsupervised deep embedding for clustering analysis_归一化_16也会有相对高的值。(3)对于某些大的cluster,可能总和【CV论文阅读】Unsupervised deep embedding for clustering analysis_初始化_21更大,反而最终【CV论文阅读】Unsupervised deep embedding for clustering analysis_sed_17更小,而对于小的cluster,使得【CV论文阅读】Unsupervised deep embedding for clustering analysis_sed_17更大。最终把一个点push到另一个小cluster。

直觉上说,概率分布【CV论文阅读】Unsupervised deep embedding for clustering analysis_sed_17的初始化的正确性很大程度影响的算法最终的结果,首先因为这不是一个真实的分布,而deep network没有一个很好的初始化很难在另一个domain 保持cluster的结构。而section 5.1 的结果显示,对于high confidence的点,sample也变得更加canonical,如图越高confidence越明显是“5”的字样,而对于梯度的贡献也越来越大,即说明初始化概率分布【CV论文阅读】Unsupervised deep embedding for clustering analysis_sed_17也是接近正确的。

 【CV论文阅读】Unsupervised deep embedding for clustering analysis_ide_26

网络的初始化和SAE(栈autoencoder)一样,采用greedy training的方式训练每一层,然后再微调整个网络。而初始化cluster的选择,则通过在embedding上perform k means clustering 算法得到。