Non-transitory computer readable storage media having instructions stored thereupon that, when executed by a process of a system, the instructions cause the system to perform operations including:
- training a Convolutional Neural Network (CNN) to classify objects from training data having a set of training images;
- training a multi-layer perceptron (MLP) to recognize both the objects and parts of the objects by performing an MLP training procedure via operations including:
- (i) presenting a training image selected from the training data to the trained CNN, (ii) reading activations of a Fully Connected (FC) layer of the CNN, (iii) receiving the activations as input to the MLP, (iv) setting multi-target outputs for the training image, and (v) adjusting the weights of the MLP according to a weight adjustment method;
- generating the explainable AI model based on the training of the MLP;
- receiving an image having an object embedded therein, wherein the image forms no portion of the training data for the explainable AI model;
- executing the CNN and the explainable AI model within an image recognition system, and generating a prediction of the object in the image via the explainable AI model;
- recognizing parts of the object;
- providing the parts recognized within the object as evidence for the prediction of the object;
- and
- generating a description of why the image recognition system predicted the object in the image based on the evidence comprising the recognized parts.