In plain words: First it learns picture features by solving a simple puzzle with no labels, then groups images using only those features so clustering can't cheat on details like color. This two-step approach beat the usual end-to-end training by large margins, raising accuracy 26.6% on CIFAR-10.
Abstract · SCAN: Learning to Classify Images without Labels
Can we automatically group images into semantically meaningful clusters when ground-truth annotations are absent? The task of unsupervised image classification remains an important, and open challenge in computer vision. Several recent approaches have tried to tackle this problem in an end-to-end fashion. In this paper, we deviate from recent works, and advocate a two-step approach where feature learning and clustering are decoupled. First, a self-supervised task from representation learning is employed to obtain semantically meaningful features. Second, we use the obtained features as a prior in a learnable clustering approach. In doing so, we remove the ability for cluster learning to depend on low-level features, which is present in current end-to-end learning approaches. Experimental evaluation shows that we outperform state-of-the-art methods by large margins, in particular +26.6% on CIFAR10, +25.0% on CIFAR100-20 and +21.3% on STL10 in terms of classification accuracy. Furthermore, our method is the first to perform well on a large-scale dataset for image classification. In particular, we obtain promising results on ImageNet, and outperform several semi-supervised learning methods in the low-data regime without the use of any ground-truth annotations. The code is made publicly available at https://github.com/wvangansbeke/Unsupervised-Classification.
Wouter Van Gansbeke, Simon Vandenhende, Stamatios Georgoulis, Marc Proesmans, Luc Van Gool
arXiv:2005.12320 · cs.CV, cs.LG · submitted May 25, 2020 · updated Jul 3, 2020
abstract · pdf · html · Accepted at ECCV 2020. Includes supplementary. Code and pretrained models at https://github.com/wvangansbeke/Unsupervised-Classification
2. Self-clustering: Samples are drawn from neighborhood of embedded learned space to assign cluster labels. They push the network to make neighborhood samples to same cluster by including this in SCAN loss.
3. Fine tuning: Assign labels to clusters specific to your data.