<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>CaBRNet, An Open-Source Library For Developing And Evaluating Case-Based Reasoning Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Romain Xu-Darme</string-name>
          <email>romain.xu-darme@cea.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Aymeric Varasse</string-name>
          <email>aymeric.varasse@cea.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alban Grastien</string-name>
          <email>alban.grastien@cea.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Julien Girard-Satabin</string-name>
          <email>julien.girard2@cea.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Zakaria Chihani</string-name>
          <email>zakaria.chihani@cea.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Université Paris-Saclay, CEA, List</institution>
          ,
          <addr-line>F-91120, Palaiseau</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In the field of explainable AI, a vibrant efort is dedicated to the design of self-explainable models, as a more principled alternative to post-hoc methods that attempt to explain the decisions after a model opaquely makes them. However, this productive line of research sufers from common downsides: lack of reproducibility, unfeasible comparison, diverging standards. In this paper, we propose CaBRNet, an open-source, modular, backward-compatible framework for Case-Based Reasoning Networks: https://github.com/aiser-team/cabrnet.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Explainable AI</kwd>
        <kwd>Case-based reasoning</kwd>
        <kwd>Computer vision</kwd>
        <kwd>Evaluation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        architectures. Such models are based on the principle of case-based reasoning (CBR), in which
new instances of a problem (the classification task) are solved using comparisons with an
existing body of knowledge that takes the form of a database of prototypical representations of
class instances. In other words, the classification of an object is explained by the fact that it
looks like [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] another object from the training set for which the class is known. CBR classifiers
undeniably represent a stepping stone towards more understandable models. Yet, several recent
works [
        <xref ref-type="bibr" rid="ref10 ref11 ref7 ref8 ref9">7, 8, 9, 10, 11</xref>
        ] have questioned the interpretability of such models, proposing several
evaluation metrics to go beyond the mere accuracy of the model and to estimate the quality of
the explanations generated. In practice however, a systematic comparison between diferent
proposals for CBR models using these diferent metrics can be dificult to carry out in the
absence of a unified framework that could gather the resources provided by their respective
authors (e.g., source codes made available on GitHub).
      </p>
      <p>In this context, we propose CaBRNet (Case-Based Reasoning Networks), an open-source
PyTorch library that proposes a generic approach to CBR models. CaBRNet focuses on modularity,
backward compatibility, and reproducibility, allowing us to easily implement existing works
from the state of the art, propose new and innovative architectures, and compare them within a
unified framework using multiple dedicated evaluation metrics.
2. CaBRNet: One framework to rule them all...</p>
      <p>In a field of research as wide as XAI, where the proliferation of tools and methods is increasing,
seeking a common framework is a natural temptation that often leads to yet another tool that
evolves besides the rest. To minimize this risk, CaBRNet is designed with three main objectives,
essential for a lasting acceptance: supporting past state-of-the-art methods through backward
compatibility, facilitating present developments by striving for modularity, and ensuring their
reusability in future works through reproducibility.</p>
      <sec id="sec-1-1">
        <title>2.1. Modularity</title>
        <p>
          While each model has its own specific properties ( e.g., decision tree in ProtoTree, scoring sheet in
PIP-Net, linear layer in ProtoPNet), CBR image classifiers from the state of the art [
          <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6">1, 2, 3, 4, 5, 6</xref>
          ]
share a common architecture, displayed on Figure 1. In CaBRNet, this common architecture can
be parametrized at will using a set of YAML files that are stored in each training directory for
reproducibility (see Sec. 2.3).
        </p>
        <p>More precisely, as shown in Figure 1 and Table 1, the architecture of a CBR image classifier
starts with a backbone – usually the feature extractor of an existing convolutional neural
network (CNN) such as ResNet50 – with optional additional layers to reduce dimensionality
(e.g., the fourth layer of a ResNet50 followed by a convolutional layer with sigmoid activation).</p>
        <p>The feature extractor outputs a set of vectors, that form the latent space, and is followed
by a similarity layer whose role is to compute the similarity between the latent vectors of
the input image and a series of reference vectors, called prototypes, each obtained from an
image from the training set. From the similarity scores, the process of locating the prototypes
inside images (attribution) and visualizing the relevant pixels (e.g., bounding box, cropping,
heatmaps) is also parametrized by a configuration file, as described in Table 1. Finally, a decision
&lt;model_arch.yml&gt;
top_arch:</p>
        <p>name: ProtoTree
extractor:
backbone:
arch: resnet50
layer: layer4
weights: IMAGENET1K_V1
add_on:
conv1:
type: Conv2d
params:
koeurtn_cehl_asniznee:ls1: 256
bias: False
sigmoid1:</p>
        <p>type: Sigmoid
classifier:
name: ProtoTreeClassifier
params:
num_classes: 200
depth: 9
...</p>
        <p>resnet50 (torchvision.models)</p>
        <p>lryae1 lryae2 lryae3 lryae4 l_vooagp lfrscyae
create_feature_extractor
(torchvision.models.feature_extraction)
backbone add_on</p>
        <p>layers
lryae1 lryae2 lryae3 lryae4 cvon1 iisodg1m
class ConvExtractor
class Prototree
class PrototreeClassifiersimilarities
similarity
layer
prototypes
decision tree decision
layer, parametrized by an architecture-dependent python class (e.g., decision tree, linear layer),
assigns a score to each class based on the similarity scores, the highest being the decision (object
classification).</p>
        <p>In addition to these architectural choices, CaBRNet also allows specifying the parameters
necessary for the training of the models (e.g., objective functions, number of epochs, optimizer to
use, which parts of the neural network can be updated and when, training dataset, preprocessing).
For more information regarding the training and data configuration, we refer the reader to the
CaBRNet documentation.</p>
        <p>
          In its current version (v0.2), and as shown in Table 1, CaBRNet implements two architectures
(ProtoPNet and ProtoTree) and five attribution methods:
• Upsampling of the similarity map with cubic interpolation, as in [
          <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6">1, 2, 4, 3, 5, 6</xref>
          ];
• SmoothGrads[
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]/backpropagation[
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], as proposed in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ];
• PRP[
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], a variant of LRP[
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] with a propagation rule for the similarity layer;
• RandGrads, a dummy attribution method returning random gradients (used as a baseline
when comparing attribution methods in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]).
        </p>
        <p>In the coming months, we plan to add support for more architectures (see Sec. 4).</p>
      </sec>
      <sec id="sec-1-2">
        <title>2.2. Backward compatibility</title>
        <p>Significant work has already been carried out on CBR classifiers. Therefore, ensuring that any
result obtained with previously existing codebases (e.g., model training) can be reused in the
CaBRNet framework is paramount and has been one of our main and earliest priorities, in an
efort to ensure backward compatibility.</p>
        <p>First, any previously trained model can be loaded and imported within the CaBRNet framework,
i.e., models trained using the original code proposed by the authors of ProtoPNet and ProtoTree</p>
        <p>Parameter
extractor/backbone/arch
extractor/backbone/layer
extractor/add_on
classifier
attribution/type
view/type</p>
        <sec id="sec-1-2-1">
          <title>Supported values</title>
        </sec>
        <sec id="sec-1-2-2">
          <title>Any from torchvision.models</title>
        </sec>
        <sec id="sec-1-2-3">
          <title>Any layer inside backbone</title>
        </sec>
        <sec id="sec-1-2-4">
          <title>Any from torch.nn</title>
        </sec>
        <sec id="sec-1-2-5">
          <title>ProtoPNet or ProtoTree</title>
        </sec>
        <sec id="sec-1-2-6">
          <title>Upsampling, SmoothGrad,</title>
        </sec>
        <sec id="sec-1-2-7">
          <title>Backprop, PRP, RandGrads</title>
          <p>can be used by our framework for other purposes (e.g., benchmarks) without having to retrain
the model from scratch.</p>
          <p>Second, our implementation of existing architectures (currently, ProtoPNet and ProtoTree)
supports two modes: i) default mode, where all operations have been reimplemented so that
they are as up-to-date as possible with the latest PyTorch versions; ii) compatibility mode,
as a sanity check (i.e., to make sure that our implementation does not deviate from previous
implementations), whose purpose is to be accurate with previous works at the operation level1.</p>
        </sec>
      </sec>
      <sec id="sec-1-3">
        <title>2.3. Reproducibility and transparency</title>
        <p>Reproducibility is key for the transparency of research and good software engineering alike.
However, replicating machine learning (ML) results can be particularly tricky2. One reason for
this is the inherent randomness at the core of ML programs (and the lack of documentation
of settings related to that randomness). The rapid update pace of common ML frameworks
1Backward compatibility was rigorously tested using unit tests covering all aspects of the process, from data loading
to model training, to pruning and prototype projection.
2See https://reproducible.cs.princeton.edu/
leads to the regular deprecation of APIs and features, which may make a code impossible to run
without directly changing its source, or going through the rabbit hole of dependency hell. As
an example, the mixed-precision training setting, available from PyTorch v1.10, uses diferent
types for CPU and GPU computations, which may lead to diferent results. One last part is the
under-specification of the dataset constitution (curation process, classes imbalance, etc.) and
preprocessing pipelines (test/train splits, data transformations).</p>
        <p>
          Reproducibility can cover many notions. In [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], it is defined as the following: “A ML study
is reproducible if readers can fully replicate the exact results reported in the paper.” We strive
to provide a similar definition: “the same set of parameters will always yield the same results”,
with the following limitations:
• reproducibility can be ensured only for a given hardware/software configuration. The
software configuration is specified through the requirements . txt . We are aware that
stricter software environment specifications do exist (for instance, stateless build systems
like Nix3). Integrating such solutions into CaBRNet would be an interesting prospect, but
also comes with an additional engineering cost to keep the library’s ease of use. While not
currently supported, we plan to save information regarding the hardware configuration
that led to a given result;
• hyperparameters that seem innocuous may influence the results. For instance, the size of
the data batches - even during testing - has a small influence on the results. Consequently,
we also save this information inside configuration files.
        </p>
        <p>To address the randomness variation, we initialize the various random number generators
(RNGs) using a fixed seed that is stored along the training parameters. Thus, while loading
a model’s parameters, the seed used for its training will be loaded as well, guaranteeing that
given the same hardware and hyperparameter configuration, the variability induced by the
pseudo-randomness is identical. We also support the possibility to save checkpoints at various
steps of the process, and we include the current state of all RNGs to restore the training process
exactly as it was.</p>
        <p>As we believe that reproducibility is improved by a good documentation, we also provide
detailed installation instructions, a tutorial, the API reference and the CaBRNet backend
reference. The major part of this documentation is automatically generated from the source code,
ensuring consistency between the code and the documentation at all times.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>3. ... and in the light evaluate them</title>
      <p>In this section, we describe our design choices for the CaBRNet benchmark, with the purpose
of proposing a framework for the systematic evaluation of CBR models.</p>
      <sec id="sec-2-1">
        <title>3.1. Going beyond accuracy</title>
        <p>
          Current CBR models rely on two assumptions: i) proximity in the latent space (w.r.t. a given
distance metric) is equivalent to similarity in the visual space; ii) there exists a simple mapping
between a latent vector and a localized region in the original image, due to the architecture of
the feature extractor (CNN). These assumptions have recently been put to the test by various
metrics4, that are already implemented or that we aim to implement in CaBRNet to streamline
the evaluation of CBR models. In particular, CaBRNet currently integrates:
• the perturbation-based explanation of [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], with improvements: perturbations are no
longer applied to the entire image, but to the identified patch of image corresponding to
the prototypical part, as shown in Figure 2;
• the pointing game (relevance metric) of [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], with improvements: the metric now also
supports the energy-based pointing game introduced in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
        </p>
        <p>
          In the coming months, we plan to add support for more evaluation metrics (see Sec. 4).
3.2. Stop wasting time retraining state-of-the-art models
In our opinion, reproducing results from the state of the art (i.e., re-training models) – to serve as
points of comparison with a new approach – can waste valuable time and computing resources
4Regarding the relevance and/or efectiveness of these metrics, we refer the reader to the original papers.
from AI researchers, when that time could be dedicated to improving that new approach. This
issue mostly arises when proposing new evaluation metrics5 that must be applied to a wide
range of state-of-the-art models. Thus, one of the objectives for CaBRNet is to publish pre-trained
state-of-the-art CBR models, so that they can be used readily by the XAI research community.
For the sake of transparency, and as stated in Sec. 2.3, each published model is also associated
with information ensuring a level of reproducibility, should a researcher wish to re-train these
models. Moreover, in an efort to improve the statistical significance of all related experiments,
we plan to publish at least three models per model configuration and dataset . As an example, we
have already published 6 models6 trained on the Caltech-UCSD Birds 200 (CUB200 [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]) using
our implementation of ProtoTree with trees with depth 9 and 10.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>4. Conclusion and future works</title>
      <p>
        CaBRNet is open-source and welcomes any external contribution. We also strongly
encourage the research community to publish trained models that can be reused within our
evaluation framework. On our side, future developments include: i) support for ProtoPool[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ],
ProtoPShare[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], PIP-Net[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and TesNet[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]; ii) support for the metric measuring the stability
to JPEG compression [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and the stability to adversarial attacks[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]; iii) hands-on tutorials for
gently introducing users to the various aspects of the framework.
      </p>
      <p>Ideally, the modularity of CaBRNet design will appeal to both AI researchers wanting to
experiment with CBR approaches, and industrial actors interested in deploying those approaches in a
principled and traceable way. Our goal is for CaBRNet to become the development framework
for new and innovative CBR approaches by the community.</p>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgments</title>
      <p>The authors wish to thank Bartek Jura (Poznań Institute of Technology) and Meike Nauta
(Datacation) for their kind feedback on this paper, and Jules Soria (CEA-List) for carrying out
some of the training experiments that have been published.</p>
      <p>This work was supported by French government grants managed by the Agence Nationale
de la Recherche under the France 2030 program with the references ”ANR-23-DEGR-0001” and
”ANR-23-PEIA-0006”, as well as a Research and Innovation Action under the Horizon Europe
Framework with grant agreement Nr.101070038. Views and opinions expressed are those of the
author(s) only and do not necessarily reflect those of the European Union. Neither the European
Union nor the granting authority can be held responsible for them.
5When using common metrics (e.g., model accuracy), it is possible to avoid retraining models by simply referring to
the results provided by the original authors.
6Available at https://zenodo.org/records/10894996.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>C.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Tao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. J.</given-names>
            <surname>Barnett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Su</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Rudin</surname>
          </string-name>
          ,
          <article-title>This looks like That: Deep learning for interpretable image recognition</article-title>
          ,
          <source>NeurIPS</source>
          (
          <year>2019</year>
          )
          <fpage>8930</fpage>
          -
          <lpage>8941</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Nauta</surname>
          </string-name>
          , R. van Bree,
          <string-name>
            <given-names>C.</given-names>
            <surname>Seifert</surname>
          </string-name>
          ,
          <article-title>Neural prototype trees for interpretable fine-grained image recognition</article-title>
          ,
          <source>CVPR</source>
          (
          <year>2021</year>
          )
          <fpage>14928</fpage>
          -
          <lpage>14938</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D.</given-names>
            <surname>Rymarczyk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Struski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Górszczak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Lewandowska</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Tabor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Zieliński</surname>
          </string-name>
          ,
          <article-title>Interpretable image classification with diferentiable prototypes assignment</article-title>
          ,
          <source>in: ECCV</source>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>D.</given-names>
            <surname>Rymarczyk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Struski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Tabor</surname>
          </string-name>
          ,
          <string-name>
            <surname>B. Zieliński,</surname>
          </string-name>
          <article-title>ProtoPShare: Prototypical parts sharing for similarity discovery in interpretable image classification</article-title>
          ,
          <source>SIGKDD</source>
          (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Jing</surname>
          </string-name>
          ,
          <article-title>Interpretable image recognition by constructing transparent embedding space, ICCV (</article-title>
          <year>2021</year>
          )
          <fpage>875</fpage>
          -
          <lpage>884</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Nauta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Schlötterer</surname>
          </string-name>
          , M. van
          <string-name>
            <surname>Keulen</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Seifert</surname>
          </string-name>
          , PIP-Net:
          <article-title>Patch-based intuitive prototypes for interpretable image classification</article-title>
          ,
          <source>in: CVPR</source>
          ,
          <year>2023</year>
          , pp.
          <fpage>2744</fpage>
          -
          <lpage>2753</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Nauta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Jutte</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. C.</given-names>
            <surname>Provoost</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Seifert</surname>
          </string-name>
          ,
          <article-title>This looks like that, because</article-title>
          ...
          <article-title>explaining prototypes for interpretable image recognition</article-title>
          , in: PKDD/ECML Workshops,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Hofmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Fanconi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rade</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kohler</surname>
          </string-name>
          ,
          <article-title>This looks like that... does it? shortcomings of latent space prototype interpretability in deep networks</article-title>
          ,
          <source>ICML Workshop on Theoretic Foundation, Criticism, and Application Trend of XAI</source>
          (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.</given-names>
            <surname>Gautam</surname>
          </string-name>
          ,
          <string-name>
            <surname>M. M.-C. Höhne</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Hansen</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Jenssen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Kampfmeyer</surname>
          </string-name>
          ,
          <article-title>This looks more like that: Enhancing self-explaining models by prototypical relevance propagation, Pattern Recognition (</article-title>
          <year>2022</year>
          )
          <fpage>109172</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>R.</given-names>
            <surname>Xu-Darme</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Quénot</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Chihani</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.-C. Rousset</surname>
          </string-name>
          ,
          <article-title>Sanity checks for patch visualisation in prototype-based image classification, XAI4CV at CVPR (</article-title>
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Sacha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Jura</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Rymarczyk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Struski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Tabor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Zieliński</surname>
          </string-name>
          ,
          <article-title>Interpretability benchmark for evaluating spatial misalignment of prototypical parts explanations</article-title>
          ,
          <source>ArXiv abs/2308</source>
          .08162 (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>D.</given-names>
            <surname>Smilkov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Thorat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Kim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. B.</given-names>
            <surname>Viégas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wattenberg</surname>
          </string-name>
          ,
          <article-title>Smoothgrad: removing noise by adding noise</article-title>
          ,
          <source>ICML Workshop on Visualization for Deep Learning</source>
          (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>K.</given-names>
            <surname>Simonyan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Vedaldi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Zisserman</surname>
          </string-name>
          ,
          <article-title>Deep inside convolutional networks: Visualising image classification models and saliency maps</article-title>
          , Workshop at ICLR (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>S.</given-names>
            <surname>Bach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Binder</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Montavon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Klauschen</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.-R. Müller</surname>
          </string-name>
          , W. Samek,
          <article-title>On pixel-wise explanations for non-linear classifier decisions by layer-wise relevance propagation</article-title>
          ,
          <source>PLoS ONE 10</source>
          (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>M. B. A. McDermott</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Marinsek</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Ranganath</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Foschini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Ghassemi</surname>
          </string-name>
          ,
          <article-title>Reproducibility in Machine Learning for health research: Still a ways to go</article-title>
          ,
          <source>Science Translational Medicine</source>
          <volume>13</volume>
          (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>H.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Du</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , S. Ding,
          <string-name>
            <given-names>P. P.</given-names>
            <surname>Mardziel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Hu</surname>
          </string-name>
          , Score-CAM:
          <article-title>Score-weighted visual explanations for convolutional neural networks</article-title>
          ,
          <source>CVPRW</source>
          (
          <year>2019</year>
          )
          <fpage>111</fpage>
          -
          <lpage>119</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>P.</given-names>
            <surname>Welinder</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Branson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Mita</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Wah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Schrof</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Belongie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Perona</surname>
          </string-name>
          ,
          <article-title>Caltech-UCSD Birds 200</article-title>
          ,
          <string-name>
            <surname>Technical Report</surname>
          </string-name>
          CNS-TR-2010-001, CalTech,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>