原文:https://arxiv.org/pdf/2108.02721.pdf
无监督特征表示(unsupervised feature representation)算是无监督聚类任务比较重要的一部分,其需要特征满足相同类别样本尽可能的靠近,不属于一个类别的样本特征之间尽可能远离。现有方法大致的思路都是先用encoder进行特征提取,之后利用相关方法寻找属于相同类别的样本集合,之后再返回去fine-tune之前的encoder,以此类推迭代训练。
可以发现这其中一个较为重要的点就是:如何正确的找到样本的正样本(具有相同类别)集合。传统方法是利用欧式距离度量每个样本的距离,并且认为距离较近的样本拥有相同的类标签,但作者认为,在样本映射到的流形空间上,样本之间的真实距离无法简单的用欧式距离来衡量,具体来说,如果我们用欧式距离去衡量较近的区域距离其实是可以近似真实距离,但如果两个样本间隔较远,则欧式度量与真实距离之间的差距就会很大,因此以往的方法会导致寻找到的距离较近的 k 个样本中存在不同类别的样本。
作者提出一个instance similatity learning(ISL)方法,利用GAN去挖掘潜在的流形空间,具体方法如图所示。
问题定义
X ϵ { x 1 , . . . , x N } X\epsilon\left\{ x_{1},...,x_{N}\right\} Xϵ{
x1,...,xN}是大小为N的样本集合。
F ϵ { f 1 , . . . , f N } F\epsilon\left\{ f_{1},...,f_{N}\right\} Fϵ{
f1,...,fN}是对应的特征表示。
S ϵ { 0 , 1 } N × N S\epsilon\left\{ 0,1\right\}^{N\times N} Sϵ{
0,1}N×N是样本语义间相似度矩阵(初始时为单位矩阵,代表每个样本只与自己语义相似度为1,与其余样本都为0),其中 S i j S_{ij} Sij表示样本 x i , x j x_{i},x_{j} xi,xj之间的语义相似度。
方法
对于每个样本,根据S采样一个包含anchor、正样本、负样本的三元组集合 { f i a , f i p , f i n } \left\{ f_{i}^{a},f_{i}^{p},f_{i}^{n}\right\} { fia,fip,fin},之后根据该三元组,Generator网络G生成一个proxy feature f i g f_{i}^{g} fig,其主要有两个作用:
- 给定anchor f i a f_{i}^{a} fia时辅助其扩大对应的正样本集合 P i P_{i} Pi。
- 更新样本的特征表示。
为了能够更好的挖掘到anchor对应的正样本, f i g f_{i}^{g} fig需要具有以下两个属性:
- f i g f_{i}^{g} fig需要与三元组中的负样本语义相似。
最开始时每个anchor的正样本集合中只有自己(即S初始化为单位矩阵),为了能够尽可能扩大正样本集合,需要让 f i g f_{i}^{g} fig与当前三元组中的负样本语义相似(因为当前的负样本有可能其实是正样本,只不过还没被识别出来)。论文的观点:迫使网络积极的去探索潜在的流形。 - f i g f_{i}^{g} fig需要与三元组中的正样本语义相似。
让生成的proxy能够代表正样本。论文的观点:迫使网络能够更加精确的学习潜在的流形。
为了能够达到上述两个属性,作者同时构建了一个Discriminator网络D,其目的是计算 f i g f_{i}^{g} fig和正样本(或负样本)之间的语义相似度。具体方式:D需要区分真三元组 T r = { f i a , f i p , f i n } T_{r}=\left\{ f_{i}^{a},f_{i}^{p},f_{i}^{n}\right\} Tr