  Exploring a substantial amount of unlabeled data, semi-supervised learning
(SSL) boosts the recognition performance when only a limited number of labels
are provided. However, traditional methods assume that the data distribution is
class-balanced, which is difficult to achieve in reality due to the long-tailed
nature of real-world data. While the data imbalance problem has been
extensively studied in supervised learning (SL) paradigms, directly
transferring existing approaches to SSL is nontrivial, as prior knowledge about
data distribution remains unknown in SSL. In light of this, we propose Balanced
Memory Bank (BMB), a semi-supervised framework for long-tailed recognition. The
core of BMB is an online-updated memory bank that caches historical features
with their corresponding pseudo labels, and the memory is also carefully
maintained to ensure the data therein are class-rebalanced. Additionally, an
adaptive weighting module is introduced to work jointly with the memory bank so
as to further re-calibrate the biased training process. We conduct experiments
on multiple datasets and demonstrate, among other things, that BMB surpasses
state-of-the-art approaches by clear margins, for example 8.2$\%$ on the 1$\%$
labeled subset of ImageNet127 (with a resolution of 64$\times$64) and 4.3$\%$
on the 50$\%$ labeled subset of ImageNet-LT.
