Interpreting CNN Knowledge via an Explanatory Graph

Authors: Quanshi Zhang, Ruiming Cao, Feng Shi, Ying Nian Wu, Song-Chun Zhu

AAAI 2018 | Conference PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental Experiments show that each graph node consistently represents the same object part through different images. We transfer part patterns in the explanatory graph to the task of part localization, and our method significantly outperforms other approaches. We designed three experiments to evaluate the explanatory graph. The first experiment is to visualize patterns in the graph. The second experiment is to evaluate the semantic interpretability of the part patterns, i.e. checking whether a pattern consistently represents the same object region among different images. We compared our patterns with three types of middle-level features and neural patterns. The third experiment is multi-shot learning for part localization, in order to test the transferability of patterns in the graph.
Researcher Affiliation Academia Quanshi Zhang, Ruiming Cao, Feng Shi, Ying Nian Wu, Song-Chun Zhu University of California, Los Angeles
Pseudocode Yes Algorithm 1: Learning sub-graph in the L-th layer
Open Source Code No The paper does not provide any statement or link indicating that the source code for the described methodology is publicly available.
Open Datasets Yes three datasets: the ILSVRC 2013 DET Animal-Part dataset (Zhang et al. 2017a), the CUB200-2011 dataset (Wah et al. 2011), and the Pascal VOC Part dataset (Chen et al. 2014). Image Net dataset (Deng et al. 2009).
Dataset Splits No The paper mentions training samples and fine-tuning but does not provide specific details on how the datasets were split into training, validation, and test sets (e.g., percentages or counts for each split).
Hardware Specification No The paper does not provide any specific details about the hardware (e.g., GPU models, CPU types) used to run the experiments.
Software Dependencies No The paper does not specify any software dependencies with version numbers (e.g., Python version, library versions like PyTorch or TensorFlow).
Experiment Setup Yes We set parameters τ =0.1, M =15, T =20, and β =1. We selected the ninth, tenth, twelfth, and thirteenth conv-layers of the VGG-16 as four valid conv-layers, and accordingly built a four-layer graph. We extracted NL,d patterns from the d-th filter of the L-th layer. We set NL=1 or 2,d =40 and NL=3 or 4,d =20. We chose two residual networks, i.e. the 50-layer and 152-layer ones. We built a three-layer graph based on each residual network by selecting the last conv-layer with a 28 28 128 feature ouput, the last conv-layer with a 14 14 256 feature map, and the last conv-layer with a 7 7 512 feature map as valid conv-layers. We set NL=1,d = 40, NL=2,d = 20, and NL=3,d =10. We learned a three-layer graph based on the three conv-layers of the encoder of the VAE-GAN. We set NL=1,d = 52, NL=2,d = 26, and NL=3,d =13.