Boosting the Performance of Semi-Supervised Learning with Unsupervised
  Clustering
  Recently, Semi-Supervised Learning (SSL) has shown much promise in leveraging
unlabeled data while being provided with very few labels. In this paper, we
show that ignoring the labels altogether for whole epochs intermittently during
training can significantly improve performance in the small sample regime. More
specifically, we propose to train a network on two tasks jointly. The primary
classification task is exposed to both the unlabeled and the scarcely annotated
data, whereas the secondary task seeks to cluster the data without any labels.
As opposed to hand-crafted pretext tasks frequently used in self-supervision,
our clustering phase utilizes the same classification network and head in an
attempt to relax the primary task and propagate the information from the labels
without overfitting them. On top of that, the self-supervised technique of
classifying image rotations is incorporated during the unsupervised learning
phase to stabilize training. We demonstrate our method's efficacy in boosting
several state-of-the-art SSL algorithms, significantly improving their results
and reducing running time in various standard semi-supervised benchmarks,
including 92.6% accuracy on CIFAR-10 and 96.9% on SVHN, using only 4 labels per
class in each task. We also notably improve the results in the extreme cases of
1,2 and 3 labels per class, and show that features learned by our model are
more meaningful for separating the data.
