一、Deep Clustering for Unsupervised Learning of Visual Features
原文链接:https://arxiv.org/pdf/1807.05520.pdf
完全不需要标签的无监督学习方法,好像是为了学习好的特征表达(当然下游任务肯定需要标签)。
网络结构
将所有个输入图像输入卷积神经网络得到表达(或特征)(设输入
对应的输出
)。然后输入到两个分支:分类分支和聚类分支。
聚类分支先用某种方式聚类(如K-means),得到每张图片的“伪标签”,并计算聚类损失(
为待学习的参数矩阵):
其中。
分类分支则利用分类头()预测结果,与伪标签比较,计算得到分类损失(log-softmax):
为防止出现平凡解:当一个簇为空时,随机选择一个非空簇
,并使用带有小随机扰动的质心作为空簇
的新质心。然后,将属于非空簇
的点重新分配给两个结果簇(
和
);对输入数据进行重新采样使得分布均匀。
若下游任务为图像分类,则丢掉上面的分类和聚类分支,加入新的分类头并微调。
二、ClusterNet: Deep Hierarchical Cluster Network with Rigorously Rotation- Invariant Representation for Point Cloud Analysis
严格旋转不变(RRI)映射
满足:
且映射前后点数不变。其中
为点的集合(点云),
为任一旋转变换。
采用如下点的表达:
。
其中为
的K近邻点之一,序号为
;
分别为
-norm、
变换前夹角、
变换后夹角的最小值;变换
为到平面
(与
正交的平面)的正交投影变换。
本文证明了:(a)上述表达为RRI的;(b)该表达可以重建点云(即除旋转信息以外不损失信息)。
将上述表达重新表示为
即。
则一个点也可以看成4维、
个点的点云。然后用PointNet提取该点的局部信息,得到
维特征
。
网络结构
其中EdgeConv(将邻居的特征聚合到每一个点,不进行下采样):
此外还提出一种评估旋转不变性的benchmark:均匀随机产生欧拉轴和旋转角,将测试集的每个点云都进行多种旋转(训练集不变),然后在增强的测试集上评估。
三、Unsupervised Feature Learning for Point Cloud Understanding by Contrasting and Clustering Using Graph Convolutional Neural Networks
不需要任何标签学习点云语义特征。
ContrastNet:将所有点云分割为两个部分得到部分集,然后在部分集随机抽取两个部分,进行二分类判断,即两个part是否属于同一点云。使用交叉熵损失。
Clustering:使用K-means++方案将所有点云的特征聚类,得到伪标签。
ClusterNet:和本文第一篇文章相同。
聚类损失如下:
ClusterNet预测点云的伪标签,对应的损失如下:
总结(个人理解)
目前的深度聚类算法就是把神经网络和聚类模型结合,总损失等于网络损失和聚类损失之和。而要有聚类损失则要求聚类方法有待优化的目标函数(如K-means、谱聚类、高斯混合模型等,这些方法往往也需要指定聚类数目)。