<!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>Bayesian Model for Trustworthiness Analysis of Deep Learning Classifiers</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andrey Morozov</string-name>
          <email>andrey.morozov@ias.uni-stuttgart.de</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Emil Valiev</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michael Beyer</string-name>
          <email>michael.beyer3g@mailbox.tu-dresden.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kai Ding</string-name>
          <email>kai.ding@cn.bosch.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lydia Gauerhof</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christoph Schorn</string-name>
          <email>christoph.schorng@de.bosch.com</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Bosch (China) Investment Ltd., Corporate Research</institution>
          ,
          <addr-line>Shanghai</addr-line>
          ,
          <country country="CN">China</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute of Automation, Technische Universita ̈t Dresden</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Institute of Industrial Automation and Software Engineering, University of Stuttgart</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Robert Bosch GmbH, Corporate Research</institution>
          ,
          <addr-line>Renningen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <abstract>
        <p>In the near future, Artificial Intelligence methods will inevitably enter safety-critical areas. Deep Learning software, deployed on standard computing hardware, is prone to random hardware faults such as bit flips that can result in silent data corruption. We have performed fault injection experiments on three Convolution Neural Network (CNN) image classifiers, including VGG16 and VGG19. Besides the fact that the bit flips indeed drop the classification accuracy, we have observed that these faults result not in random misclassification but tend to particular erroneous sets of classes. This fact shall be taken into account to design a reliable and safe system. For example, we might consider re-running the classifier if it yields a class for such an erroneous set. This paper discusses the results of our fault injection experiments and introduces a new Bayesian Network (BN) model that aggregates these results and enables numerical evaluation of the performance of the CNNs under the influence of random hardware faults. We demonstrate the application of the developed BN model for the trustworthiness analysis. In particular, we show how to evaluate the misclassification probabilities for each resulting class, for the varying probability of random bit-flips.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The majority of the high-tech industrial areas already exploit
Artificial Intelligence (AI) methods, including deep learning
techniques. Presumably, in the next few years, the safety
certification challenges of AI components will be overcome, and
Deep Learning (DL) will enter safety-critical domains such
as transportation, robotics, and healthcare.</p>
      <p>A DL component is simply a piece of software deployed on
a standard computing unit. For example, a traffic-sign
recognition module of a car receives images from a front camera,
detects, and classifies road signs [Beyer et al., 2019]. Such a
system is prone to several types of random hardware faults,
including bit flips that can occur in RAM or CPU of the
computing unit. Bit flips may result in silent data
corruption and affect classification accuracy, as shown in [Beyer et
al., 2020], [Li et al., 2018]. There are even specific Bit-Flip
Attack methods that intentionally cause misclassification by
flipping a small number of bits in RAM, where the weights of
the network are stored [Rakin et al., 2019] [Liu et al., 2017].</p>
      <p>This phenomenon can be investigated with Fault Injection
(FI) experiments using methods and tools discussed in
Section 2. We have performed such experiments on three
Convolution Neural Network (CNN) image classifiers described
in Section 3. Besides the fact that the bit flips indeed drop
the classification accuracy, we have made another interesting
observation: The injection of a random bit-flip in an output of
a particular CNN layer results not in random
misclassification, but tends to a particular set of image classes. For some
layers, especially for several first layers, these sets are very
distinctive. Examples are shown in Figures 2 and 3. A
similar observation was mentioned in [Liu et al., 2017], where the
classes from such sets are called the sink classes.</p>
      <p>This fact has potential practical value and should be taken
into account during the reliable and safe design of systems
that include DL-components.</p>
      <p>First and the most obvious, if the provided classification
result belongs to such a sink set, then we might consider
re-running the classifier.</p>
      <p>Second, since these sink sets are different for different
CNN layers, we estimate possible fault location, and,
for example, re-run the network partially, starting from
the potentially faulty layer to reduce computational
overhead.</p>
      <p>Third, if several classification results in a row belong
to a sink set, then we can assume a ”hard” error, e.g.,
permanent stuck-at one or stuck-at zero in RAM where
the data of a particular CNN layer is stored.</p>
      <p>Contribution: This paper presents the results of the
discussed FI experiments. In particular, it shows several
examples of sink sets for the layers of VGG16 and VGG19. The
complete results of the FI experiments are available online.
Based on these experiments, we have developed and fed a
Bayesian Network (BN) model that enables numerical
evaluation of the performance of the CNNs under the influence
of random hardware faults. The paper provides a formal
description of this BN model and demonstrates its application
for the trustworthiness analysis of the classification results.
The paper shows how to evaluate the misclassification
probabilities for each resulting class, for the varying probability of
random bit-flips.
2</p>
    </sec>
    <sec id="sec-2">
      <title>State of the Art</title>
      <p>A good overview of the current research effort on making
deep learning neural networks safe and trustworthy is given
in [Huang et al., 2018]. The authors surveyed the methods
for verification, testing, adversarial attack and defense, and
interpretability.</p>
      <p>In most cases, neural networks are treated as black boxes.
Therefore, at the moment, the most straightforward analysis
methods are based on fault injection campaigns. The formal
verification methods are less found.</p>
      <p>Several tools enable automated fault injection into the
neural networks. For example, TensorFI [Li et al., 2018] and
InjectTF [Beyer et al., 2019] support the first version of
TensorFlow. The experiments discussed in this paper were
carried out in the TensorFlow V2 environment. Therefore we
have used InjectTF2 [Beyer et al., 2020] that was
developed for TensorFlow V2. Figure 1 shows the main working
principle of the InjectTF2. The tool allows the layer-wise
fault injection. InjectTF2 takes a trained neural network, a
dataset, and a configuration file as inputs. The network and
the dataset should be provided as a HDF5 model and a
TensorFlow dataset. In the configuration file, the user can specify
the fault type and fault injection probability for each layer of
the neural network under test. Currently supported fault types
are (i) a random bit flip or (ii) a specified bit flip of a random
value of a layer’s output.</p>
      <p>InjectTF2 performs fault injection experiments in an
automated way and logs the results. The model splitting principle
sketched in Figure 1, drastically reduces the execution time
of the experiments, since the network is not executed from
bottom to top each time, but only after the layer where the
faults are injected.</p>
      <p>In this paper, we are focused on random faults. However,
there are also methodologies to evaluate the impact of
permanent faults, like the one presented in [Bosio et al., 2019].
Besides that, there are other methods for performance and
reliability analysis of deep neural networks that help to improve
fault tolerance. A specific fault-injection method for the
neural networks deployed in FPGAs and further
algorithmbased fault tolerance and selective triplicating of the most
critical layers [Libano, 2018]. An efficient bit-flip resilience
optimization method for deep neural networks is presented
[Schorn et al., 2019].
3
3.1</p>
    </sec>
    <sec id="sec-3">
      <title>Fault Injection Experiments</title>
      <sec id="sec-3-1">
        <title>CNNs and Datasets</title>
        <p>We performed experiments on three different neural
networks. The architectures and layer output dimensions of the
networks are listed in Table 1.</p>
        <p>The first is a self-developed simple CNN, which consists of
12 layers and follows common design principles. The ReLU
activation function is used throughout the network, excluding
the last layer that uses the Softmax activation function.</p>
        <p>This CNN has been trained on an augmented German
Traffic Sign Recognition (GTSRB) [Stallkamp et al., 2012]
dataset and can classify road signs with an accuracy of
approximately 96 %. The dataset is split into three subsets for
training, testing, and validation. The subsets contain 34 799,
12 630, and 4 410 images. Each image has 32 32 RGB
pixels and belongs to one of 43 classes of road signs. In
order to ensure a uniform classification performance across all
classes, the training dataset has been normalized, augmented,
and balanced. The augmentation is done by adding copies
of images with zoom, rotation, shear, brightness disturbance,
and gaussian noise to the dataset. The augmented training
subset contains 129 100 images.</p>
        <p>(a) VGG16: Fault free run.
(b) VGG16: Fault injection in Layer 3. The sink classes are highlighted in red.
(b) VGG19: Fault injection in Layer 3. The sink classes are highlighted in red.</p>
        <p>The second and third networks are the pre-trained
TensorFlow VGG16 and VGG19 [Simonyan and Zisserman, 2014].
They are trained on the ImageNet dataset [Russakovsky et
al., 2015]. In the experiments, a random sample of 5000
images from the 2012 ImageNet testing subset has been used.
The images belong to 1000 different classes and consist of
224 224 RGB pixels.
Six examplar bar plots in Figures 2 and 3 describe the
classification results for VGG16 and VGG19. The plots display
how many images from the input datasets are classified into
each of the 1000 classes.</p>
        <p>The first (top) plots in both figures show the distributions
without faults. The images are distributed more or less
uniformly over the classes. The other two plots in each
figure show the distributions after the faults injected into
specific layers. Precisely, into the layers three and seven of
VGG16 and layers three and ten of VGG19. These
layers are also highlighted in bold in Table 1. Similar plots
for other layers, together with the raw data, are available at
https://github.com/mbsa-tud/InjectTF2.</p>
        <p>For each layer, we have carried out 100 fault injection
experiments. In each experiment, we flip a random bit of a
random output value of the corresponding layer. The bar plots
represent the average for these 100 experiments.</p>
        <p>In the plots, we can observe several distinctive peaks.
These peaks reveal that the VGGs tend to erroneously classify
images into these sink classes after the fault injections. The
peaks are located differently for the presented layers. Note
that the peaks are different also for the third layers of VGG16
and VGG19.</p>
        <p>However, for several layers, especially from the same VGG
blocks, the peaks are quite similar. We also observed that
such peaks appear only in the first layers, and the
misclassification became more random if we inject faults into the more
in-depth layers. Note that the peaks for the seventh and tenth
layers are lower than the peaks of the third layer. The peaks
are distinctive for the first 11 layers of VGG 16 and the first 12
layers of VGG19. After that, the distribution becomes more
or less uniform.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Trustworthiness analysis</title>
      <p>The experimental results discussed above enable numerical
evaluation of the performance of the CNNs under the
influence of random hardware faults. For instance, we can
statistically evaluate the probability of misclassification for each
resulting image class. This probability is higher for the sink
classes than for other classes. For this purpose, we use a
Bayesian Network (BN) model fed with the statistical results
of the fault injection experiments.
4.1</p>
      <sec id="sec-4-1">
        <title>Formal Model of the Classifier</title>
        <p>The BN is defined using a formal set-based model of a
classifier that is shown in Figure 4. This model is based on
three sets, two functions, and three random variables.
Set of images:</p>
        <p>Set of layers:</p>
        <p>Set of classes:</p>
        <p>CNN classifier
Input image
(random var)
Resulting class
(random var)
A bit flip in one layer or
no bit flip (random var)
g : I C ! f1; 0g - Formalization of the results of the
fault-free run, g(i; c) = 1 if image i is classified as class c,
and g(i; c) = 0 otherwise. For simplicity, we assume that
classification is always correct.
fkl : I C ! f1; 0g - Formalization of the results of
the FI experiments, fkl (i; c) = 1 if image i is classified as
class c in the kth FI experiment, the faults are injected in
layer l 2 L, fkl (i; c) = 0 otherwise.</p>
      </sec>
      <sec id="sec-4-2">
        <title>Random variables:</title>
        <p>I 2 I - Current input image. An independent discrete random
variable. For simplicity, we assume that the probability that
an image from I is the input image is equal for all images:
P (I = i) = 1=NI; 8i 2 I. Otherwise the distribution should
be specified statistically.</p>
        <p>B 2 f0none0g [ L - No bit flip or a bit flip in a
particular layer. An independent discrete random variable. The
value 0none0 means that there was no bit flip during the
run. A value l 2 L means that it was a bit flip in layer l.
We assume, that only a single bit flip can happen during
the run. The distribution is defined according to a variable
plk that defines a probability of a bit flip in a layer lk.
For the simplicity we will apply the same probability p
for each layer. The outcome 0none0 is defined as the
complement of all other events: P (B =0 none0) = 1
PkN=L 1 plk .</p>
        <p>C 2 C - Resulting class.
that depends on I and B.</p>
        <p>A discrete random variable
Input image</p>
        <p>Bit flip</p>
        <p>Other faults</p>
        <p>Resulting class</p>
        <p>A BN is a graphical formalism for representing joint
probability distributions [Pearl, 1985]. It is a probabilistic directed
acyclic graph that represents a set of variables and their
conditional dependencies. Each node is defined with a Conditional
Probability Table (CPT). Our BN describes the conditional
probabilities of C. Figure 5 shows the BN and the CPTs of
the three random variables. The CPTs of independent
variables I and B define constant probabilities for each outcome.
The outcome of C depends on the outcomes of I and B. So
the probabilities are defined for each combination of the
outcomes of I and B.</p>
        <p>The CPT of C is divided into two parts. The upper part
describes the situation without bit flips. We assumed
perfect classification. Thus, this part consists just of zeroes
and ones. The ones indicate the correct classes for each
image. Mathematically we represent this using the function g:
pi;0none0;c = g(i; c). The bottom part describes the
situation when bit flips occur in corresponding layers. Here we
statistically approximate the probabilities using the results of
our fault injection experiments. Mathematically we represent
this using the function f . Each probability is estimated as the
number of times when i was classified as c divided by the
total number of the fault injection experiments ofr the layer l:
pi;l;c = Pk fkl (i; c)=k.</p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3 Quantification</title>
        <p>The BN stores the results of the fault injection experiments
in a structured way. This allows the analysis of various
reliability-related properties. From the general cumulative
probability of misclassification to the specific probabilities of
the wrong classification of a particular input image because of
a bit flip in a particular layer. Moreover, other kinds of
random faults and their combinations can be taken into account,
as shown in Figure 5 with the dashed lines.</p>
        <p>As an example, we show how to quantify the
trustworthiness for each resulting class. We define the trustworthiness as
a kind of inverse probability, the probability that the resulting
class c is the correct class for the input image i, taking into
account the possibility of a bit flip in any layer. Ic is a
subset of images that belong to the class c: Ic I : i 2 Ic if
f (i; c) == 1, i 2 I, c 2 C. Then, the trustworthiness of class
c is the conditional probability P (I 2 Ic \ B 2 BjC = c).
Applying first the formula for conditional probability
(Kolmogorov definition) and then the law of total probability, we
obtain the following expression.</p>
        <p>=</p>
        <p>P (I 2 Ic \ B 2 BjC = c) =
P (C = c \ I 2 Ic \ B 2 B)</p>
        <p>P (C = c)
=
i02I b02B</p>
        <p>P P P (C = cjB = b \ I = i)P (B = b)P (I = i)
= Pi2IcPb2BP (C = cjB = b0 \ I = i0)P (B = b0)P (I = i0)
Where, P (I = i) is from the CPT of I , P (B = b) is from
the CPT of B, and P (C = cjB = b \ I = i) is from the
CPT of C. In the numerator of the fraction, we sum up only
for i from Ic and for all i from I in the denominator.
Basically, we compute the ratio of correct classifications to all
classification.</p>
        <p>In our experiments, we computed the probabilities with our
self-developed scripts. However, probabilistic analytical
software libraries, like pomegranate [Schreiber, 2018], allow
efficient and scalable methods for computation of Bayesian
networks.</p>
      </sec>
      <sec id="sec-4-4">
        <title>4.4 Results</title>
        <p>Figures 6, 7, and 8 show misclassifcation probabilities for
each class. These probabilities are computed as one minus
the trustworthiness. The probabilities of bit flips vary from
10 7 to 1 for the custom CNN and from 10 11 to 10 4 for the
VGG16 and VGG19. Ten classes with the highest
misclassification probabilities are highlighted with colors (sorted using
the results obtained for the probabilities of bit flip 10 9). The
remaining classes are shown in grey.</p>
        <p>Based on the estimated bit flip probabilities, we can decide
whether we trust the classification result or not. Moreover,
from the safety point of view, the misclassification for some
classes might be more hazardous than for the others. For
instance, it might be more critical to confuse the stop sign
with the main road sign than to confuse speed limits 30 and
50. Such cases can be easily quantified using the proposed
Bayesian model. They could also lead to re-training
regarding the classes with the lowest trustworthiness.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>A series of fault injection experiments on several CNN-based
classifiers have shown that random hardware faults result not
in random misclassification but tend to misclassify the input
images into specific distinctive sets of classes. These sets
are different for functionally equivalent CNNs. Also, these
sets depend on the layer where a fault is injected. This
information has to be taken into account during the reliability
and safety analysis of such classifiers if they shall be
integrated into a safety-critical system. In this paper, we
proposed the application of a Bayesian network model fed with
the results of such fault injection experiments. This model
allows a broad range of numerical reliability and safety-related
analysis of the classifier under test. As an application
example, we have demonstrated how the proposed Bayesian model
helps to estimate the level of trustworthiness for each
resulting image class.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [Beyer et al.,
          <year>2019</year>
          ]
          <string-name>
            <given-names>M.</given-names>
            <surname>Beyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Morozov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Ding</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ding</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Janschek</surname>
          </string-name>
          .
          <article-title>Quantification of the impact of random hardware faults on safety-critical ai applications: Cnn-based traffic sign recognition case study</article-title>
          .
          <source>In 2019 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)</source>
          , pages
          <fpage>118</fpage>
          -
          <lpage>119</lpage>
          ,
          <year>Oct 2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [Beyer et al.,
          <year>2020</year>
          ]
          <string-name>
            <given-names>Michael</given-names>
            <surname>Beyer</surname>
          </string-name>
          , Andrey Morozov, Emil Valiev, Christoph Schorn, Lydia Gauerhof, Kai Ding, and
          <string-name>
            <given-names>Klaus</given-names>
            <surname>Janschek</surname>
          </string-name>
          .
          <article-title>Two fault injectors for tensorflow: Evaluation of the impact of random hardware faults on vggs. In The paper is submitted to EDCC2020. Under evalua[Bosio et al</article-title>
          .,
          <year>2019</year>
          ]
          <string-name>
            <given-names>A.</given-names>
            <surname>Bosio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Bernardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ruospo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Sanchez</surname>
          </string-name>
          .
          <article-title>A reliability analysis of a deep neural network</article-title>
          .
          <source>In 2019 IEEE Latin American Test Symposium (LATS)</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [Huang et al.,
          <year>2018</year>
          ]
          <string-name>
            <given-names>Xiaowei</given-names>
            <surname>Huang</surname>
          </string-name>
          , Daniel Kroening, Wenjie Ruan, James Sharp, Youcheng Sun, Emese Thamo,
          <string-name>
            <surname>Min Wu</surname>
            , and
            <given-names>Xinping</given-names>
          </string-name>
          <string-name>
            <surname>Yi</surname>
          </string-name>
          .
          <article-title>A survey of safety and trustworthiness of deep neural networks</article-title>
          .
          <source>arXiv preprint arXiv:1812.08342</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>[Li</surname>
          </string-name>
          et al.,
          <year>2018</year>
          ]
          <string-name>
            <given-names>Guanpeng</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Karthik</given-names>
            <surname>Pattabiraman</surname>
          </string-name>
          , and Nathan DeBardeleben.
          <article-title>Tensorfi: A configurable fault injector for tensorflow applications</article-title>
          .
          <source>In 2018 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)</source>
          , pages
          <fpage>313</fpage>
          -
          <lpage>320</lpage>
          . IEEE,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <source>[Libano</source>
          , 2018]
          <article-title>Fabiano Pereira Libano</article-title>
          .
          <article-title>Reliability analysis of neural networks in fpgas</article-title>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [Liu et al.,
          <year>2017</year>
          ]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Wei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Luo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Q.</given-names>
            <surname>Xu</surname>
          </string-name>
          .
          <article-title>Fault injection attack on deep neural network</article-title>
          .
          <source>In 2017 IEEE/ACM International Conference on Computer-Aided Design (ICCAD)</source>
          , pages
          <fpage>131</fpage>
          -
          <lpage>138</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <source>[Pearl</source>
          , 1985]
          <string-name>
            <given-names>Judea</given-names>
            <surname>Pearl</surname>
          </string-name>
          .
          <article-title>Bayesian netwcrks: A model cf self-activated memory for evidential reasoning</article-title>
          .
          <source>In Proceedings of the 7th Conference of the Cognitive Science Society</source>
          , University of California, Irvine, CA, USA, pages
          <fpage>15</fpage>
          -
          <lpage>17</lpage>
          ,
          <year>1985</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [Rakin et al.,
          <year>2019</year>
          ]
          <string-name>
            <given-names>Adnan</given-names>
            <surname>Siraj</surname>
          </string-name>
          <string-name>
            <surname>Rakin</surname>
          </string-name>
          , Zhezhi He, and
          <string-name>
            <given-names>Deliang</given-names>
            <surname>Fan</surname>
          </string-name>
          .
          <article-title>Bit-flip attack: Crushing neural network with progressive bit search</article-title>
          .
          <source>In Proceedings of the IEEE International Conference on Computer Vision</source>
          , pages
          <fpage>1211</fpage>
          -
          <lpage>1220</lpage>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [Russakovsky et al.,
          <year>2015</year>
          ]
          <string-name>
            <given-names>Olga</given-names>
            <surname>Russakovsky</surname>
          </string-name>
          , Jia Deng, Hao Su, Jonathan Krause, Sanjeev Satheesh, Sean Ma, Zhiheng Huang, Andrej Karpathy, Aditya Khosla, Michael Bernstein,
          <string-name>
            <surname>Alexander C. Berg</surname>
          </string-name>
          , and
          <string-name>
            <surname>Li</surname>
          </string-name>
          Fei-Fei.
          <article-title>ImageNet Large Scale Visual Recognition Challenge</article-title>
          .
          <source>International Journal of Computer Vision (IJCV)</source>
          ,
          <volume>115</volume>
          (
          <issue>3</issue>
          ):
          <fpage>211</fpage>
          -
          <lpage>252</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [Schorn et al.,
          <year>2019</year>
          ]
          <string-name>
            <given-names>Christoph</given-names>
            <surname>Schorn</surname>
          </string-name>
          , Andre Guntoro, and
          <string-name>
            <given-names>Gerd</given-names>
            <surname>Ascheid</surname>
          </string-name>
          .
          <article-title>An efficient bit-flip resilience optimization method for deep neural networks</article-title>
          .
          <source>In 2019 Design, Automation &amp; Test in Europe Conference &amp; Exhibition (DATE)</source>
          , pages
          <fpage>1507</fpage>
          -
          <lpage>1512</lpage>
          . IEEE,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <source>[Schreiber</source>
          , 2018]
          <string-name>
            <given-names>Jacob</given-names>
            <surname>Schreiber</surname>
          </string-name>
          .
          <article-title>Pomegranate: fast and flexible probabilistic modeling in python</article-title>
          .
          <source>Journal of Machine Learning Research</source>
          ,
          <volume>18</volume>
          (
          <issue>164</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <source>[Simonyan and Zisserman</source>
          , 2014]
          <string-name>
            <given-names>Karen</given-names>
            <surname>Simonyan</surname>
          </string-name>
          and
          <string-name>
            <given-names>Andrew</given-names>
            <surname>Zisserman</surname>
          </string-name>
          .
          <article-title>Very deep convolutional networks for large-scale image recognition</article-title>
          .
          <source>arXiv preprint arXiv:1409.1556</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [Stallkamp et al.,
          <year>2012</year>
          ]
          <string-name>
            <given-names>Johannes</given-names>
            <surname>Stallkamp</surname>
          </string-name>
          , Marc Schlipsing, Jan Salmen, and
          <string-name>
            <given-names>Christian</given-names>
            <surname>Igel</surname>
          </string-name>
          .
          <article-title>Man vs. computer: Benchmarking machine learning algorithms for traffic sign recognition</article-title>
          .
          <source>Neural Networks</source>
          ,
          <volume>32</volume>
          :
          <fpage>323</fpage>
          -
          <lpage>332</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>