深度聚类的可视化解释( 三 )


文章插图
Complete Pipeline from Image to Clustering in DeepCluster
本文使用Johnson的K-means实现,faiss库里有 。因为聚类必须在所有图像上运行,所以它需要花费总训练时间的三分之一 。
聚类完成后,将创建新的图像batch,这样来自每个聚类的图像都有相同的被包含的机会 。对这些图像进行随机增强 。
7. 表示学习
一旦我们有了图像和聚类,我们就像训练常规的监督学习一样训练我们的ConvNet模型 。我们使用256的batch size,并使用交叉熵损失来比较模型预测和ground truth聚类标签 。模型可以学习到有用的表示 。

深度聚类的可视化解释

文章插图
Representation Learning Part of the DeepCluster Pipeline
8. 在模型训练和聚类之间切换
这个模型训练了500个epochs 。聚类步骤在每个epoch开始时运行一次,为整个数据集生成伪标签 。然后,对所有batch继续使用交叉熵损失对卷积神经网络进行常规训练 。本文采用动量为0.9、学习率为0.05、权值衰减为10^-5^的SGD优化器 。使用用Pascal P100 GPU进行训练 。
DeepCluster的代码实现官方实现:https://github.com/facebookresearch/deepcluster,还有AlexNet和Resnet-50的预训练权重:https://github.com/facebookresearch/deepcluster#pre-trained-models 。
英文原文:https://amitness.com/2020/04/deepcluster/




推荐阅读