  When we are faced with challenging image classification tasks, we often
explain our reasoning by dissecting the image, and pointing out prototypical
aspects of one class or another. The mounting evidence for each of the classes
helps us make our final decision. In this work, we introduce a deep network
architecture -- prototypical part network (ProtoPNet), that reasons in a
similar way: the network dissects the image by finding prototypical parts, and
combines evidence from the prototypes to make a final classification. The model
thus reasons in a way that is qualitatively similar to the way ornithologists,
physicians, and others would explain to people on how to solve challenging
image classification tasks. The network uses only image-level labels for
training without any annotations for parts of images. We demonstrate our method
on the CUB-200-2011 dataset and the Stanford Cars dataset. Our experiments show
that ProtoPNet can achieve comparable accuracy with its analogous
non-interpretable counterpart, and when several ProtoPNets are combined into a
larger network, it can achieve an accuracy that is on par with some of the
best-performing deep models. Moreover, ProtoPNet provides a level of
interpretability that is absent in other interpretable deep models.
