Self-supervised K-nearest neighbors
Self-supervised K-Nearest Neighbors (SSL-kNN) · Also known as: SSL-kNN, self-supervised kNN classifier, kNN evaluation probe, nearest-neighbor self-supervised classifier
Self-supervised K-nearest neighbors (SSL-kNN) combines representation learning without labels with a non-parametric k-NN classifier. A neural encoder is first trained via a self-supervised objective — such as contrastive or masked prediction — so that semantically similar samples cluster together in the embedding space. A simple k-NN lookup on those embeddings then assigns class labels, serving both as a lightweight probe and as a practical classifier.
Read the full method
Sign in with a free account to read this section.
Method map
The neighbourhood of related methods — select a node to explore.
When to use it
Use SSL-kNN when labeled data are scarce or entirely absent and a large pool of unlabeled data is available for pre-training. It is the standard evaluation protocol for self-supervised visual representations and a practical choice when fine-tuning a linear head is too costly or when an interpretation-free, non-parametric classifier is preferred. It also suits streaming or open-set scenarios where the label set may grow over time, since adding new classes only requires inserting new embeddings into the support set. Avoid it when labeled data are plentiful — fully supervised fine-tuning will outperform it. Do not apply it when the raw feature space is already compact and well-structured, as standard supervised k-NN may suffice at lower cost. Memory and retrieval costs scale with the size of the support set.
Strengths & limitations
- Requires no labeled data to train the encoder; only a small labeled support set is needed at inference.
- Serves as a transparent, assumption-free evaluation metric for the quality of self-supervised representations.
- Easily extends to new classes without retraining — simply add new labeled embeddings to the support set.
- No trainable classifier parameters, so there is no risk of overfitting on a small labeled set.
- Highly modular: any self-supervised backbone can be swapped in without changing the downstream k-NN logic.
- Classification quality depends heavily on the quality of the self-supervised pre-training and the encoder architecture.
- k-NN retrieval becomes slow and memory-intensive as the support set grows to millions of samples without approximate nearest-neighbor indexing.
- Optimal k is dataset-dependent and requires tuning; too small a k is noisy, too large a k blurs decision boundaries.
- Under significant domain shift between pre-training data and the target domain, embedding quality degrades and k-NN accuracy drops sharply.
Frequently asked
How is SSL-kNN different from standard supervised kNN?
Standard kNN operates on hand-crafted or task-specific features and requires labeled training samples to build its support set. SSL-kNN first learns a general-purpose embedding via self-supervised pre-training on unlabeled data; the k-NN step is then applied in that learned space, which typically produces far better representations than raw features.
What value of k should I use?
Common benchmarks use k=20 or k=200. Larger k is more stable but blurs boundaries in fine-grained tasks. Tune k on a validation split, not the test set. For very small support sets, k=5 or k=10 is more appropriate.
Can SSL-kNN be used for regression rather than classification?
Yes. Replace majority-vote aggregation with the mean (or weighted mean) of the k neighbors' continuous target values. The self-supervised encoder still provides the embedding; only the aggregation step changes.
How much labeled data is needed for the support set?
As few as one labeled example per class (1-shot) can work if the encoder is strong, though accuracy improves with more. The encoder training itself requires no labels at all.
Is approximate nearest-neighbor (ANN) retrieval acceptable?
Yes, and for large support sets it is necessary. Libraries such as FAISS, ScaNN, or HNSWlib provide sub-linear retrieval with negligible accuracy loss compared to exact k-NN.
Sources
- Chen, T., Kornblith, S., Norouzi, M., & Hinton, G. (2020). A simple framework for contrastive learning of visual representations. In Proceedings of the 37th International Conference on Machine Learning (ICML), PMLR 119, 1597–1607. link ↗
- Wu, Z., Xiong, Y., Yu, S. X., & Lin, D. (2018). Unsupervised feature learning via non-parametric instance discrimination. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 3733–3742. DOI: 10.1109/CVPR.2018.00393 ↗
How to cite this page
ScholarGate. (2026, June 3). Self-supervised K-Nearest Neighbors (SSL-kNN). ScholarGate. https://scholargate.app/en/machine-learning/self-supervised-k-nearest-neighbors
Which method?
Set this method beside its closest kin and read them side by side — the library lays the books on the table; the choice is yours.
- Metric LearningMachine learning↔ compare
- Self-supervised LearningMachine learning↔ compare
- Semi-supervised K-nearest neighborsMachine learning↔ compare
- Transfer LearningMachine learning↔ compare