  It is assumed that pre-training provides the feature extractor with strong
class transferability and that high novel class generalization can be achieved
by simply reusing the transferable feature extractor. In this work, our
motivation is to explicitly learn some fine-grained and transferable
meta-knowledge so that feature reusability can be further improved. Concretely,
inspired by the fact that humans can use learned concepts or components to help
them recognize novel classes, we propose Compositional Prototypical Networks
(CPN) to learn a transferable prototype for each human-annotated attribute,
which we call a component prototype. We empirically demonstrate that the
learned component prototypes have good class transferability and can be reused
to construct compositional prototypes for novel classes. Then a learnable
weight generator is utilized to adaptively fuse the compositional and visual
prototypes. Extensive experiments demonstrate that our method can achieve
state-of-the-art results on different datasets and settings. The performance
gains are especially remarkable in the 5-way 1-shot setting. The code is
available at https://github.com/fikry102/CPN.
