  Given an unlabeled dataset and an annotation budget, we study how to
selectively label a fixed number of instances so that semi-supervised learning
(SSL) on such a partially labeled dataset is most effective. We focus on
selecting the right data to label, in addition to usual SSL's propagating
labels from labeled data to the rest unlabeled data. This instance selection
task is challenging, as without any labeled data we do not know what the
objective of learning should be. Intuitively, no matter what the downstream
task is, instances to be labeled must be representative and diverse: The former
would facilitate label propagation to unlabeled data, whereas the latter would
ensure coverage of the entire dataset. We capture this idea by selecting
cluster prototypes, either in a pretrained feature space, or along with feature
optimization, both without labels. Our unsupervised selective labeling
consistently improves SSL methods over state-of-the-art active learning given
labeled data, by 8 to 25 times in label efficiency. For example, it boosts
FixMatch by 10% (14%) in accuracy on CIFAR-10 (ImageNet-1K) with 0.08% (0.2%)
labeled data, demonstrating that small computation spent on selecting what data
to label brings significant gain especially under a low annotation budget. Our
work sets a new standard for practical and efficient SSL.
