  Pseudo-label-based semi-supervised learning (SSL) has achieved great success
on raw data utilization. However, its training procedure suffers from
confirmation bias due to the noise contained in self-generated artificial
labels. Moreover, the model's judgment becomes noisier in real-world
applications with extensive out-of-distribution data. To address this issue, we
propose a general method named Class-aware Contrastive Semi-Supervised Learning
(CCSSL), which is a drop-in helper to improve the pseudo-label quality and
enhance the model's robustness in the real-world setting. Rather than treating
real-world data as a union set, our method separately handles reliable
in-distribution data with class-wise clustering for blending into downstream
tasks and noisy out-of-distribution data with image-wise contrastive for better
generalization. Furthermore, by applying target re-weighting, we successfully
emphasize clean label learning and simultaneously reduce noisy label learning.
Despite its simplicity, our proposed CCSSL has significant performance
improvements over the state-of-the-art SSL methods on the standard datasets
CIFAR100 and STL10. On the real-world dataset Semi-iNat 2021, we improve
FixMatch by 9.80% and CoMatch by 3.18%. Code is available
https://github.com/TencentYoutuResearch/Classification-SemiCLS.
