<!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>Probabilistic Abstract Interpretation on Neural Networks via Grids Approximation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Zhuofan Zhang</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Herbert Wiklicky</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Imperial College London</institution>
          ,
          <addr-line>180 Queen's Gate, South Kensington, London SW7 2AZ</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Imperial College London</institution>
          ,
          <addr-line>180 Queen's Gate, South Kensington, London SW7 2AZ</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Probabilistic abstract interpretation is a theory used to extract particular properties of a computer program when it is infeasible to test every single inputs. In this paper we apply the theory on neural networks for the same purpose: to analyse density distribution flow of all possible inputs of a neural network when a network has uncountably many or countable but infinitely many inputs. We show how this theoretical framework works in neural networks and then discuss diferent abstract domains and corresponding Moore-Penrose pseudo-inverses together with abstract transformers used in the framework. We also present experimental examples to show how this framework helps to analyse real world problems.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;explainable AI</kwd>
        <kwd>probabilistic abstract interpretation</kwd>
        <kwd>neural network</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>In recent years, deep neural networks has been regarded as an essential technique for machine learning
since the work of deep learning is being progressed [1, 2] and have been playing in a big role in
many industries in real world. However, a major problem of it is that it is dificult to interpret how
neural networks deal with information and derive their decisions, especially when layers are getting
deeper. Interpreting neural networks is important because in some application areas cost of mistakes is
intolerable. Our approach aims at making use of the theory of probabilistic abstract interpretation to
analyse density distribution flow of possible inputs of a neural network and to make sure the system is
safe and under controlled.</p>
      <p>Research on interpreting neural networks has been carried on for years. One approach to do is
through rule extraction algorithms [3]. Activation Maximisation is another approach to interpret model
prediction by only looking at its relationships with input, disregarding the inner process [4]. A further
development of the technique is to add a decoder on it [5]. In the same year Bazen et al. used Taylor
decomposition explain model’s decision by decomposing output as a sum of relevance scores [6], and
Landecker et al. decomposed the model prediction by back-propagating relevance in reverse direction,
progressively redistributing the prediction score until the input is reached [7]. Bach et al. further
introduced the Layer-wise Relevance Propagation explanation framework [8]. Another measurement is
to use sensitivity analysis to quantify the importance of each input variable [9]. In 2015 Zilke proposed
DeepRED, by extending a decompositional algorithm CRED [10]. Jacobsson [12] and Wang [13] have
proposed algorithms of understanding recurrent neural networks. In 2018 Zhang et al. and Zhou et
al. respectively proposed methods to interpret convolutional neural networks [14, 15, 16]. Zeiler et al.
instead used approach of layer activation visualisation with algorithm of Deconvnets to understand
CNN [17]. Bau et al. proposed Network Dissection framework which well quantifies the interpretability
of latent representations of CNN [18]. In the mean time, the attacks and defenses from adversarial
examples to neural networks are frequently studied [19].</p>
      <p>Program analysis, on the other hand, is a research area which focuses on using mathematical theory
and formal methods to automatically analyse the behavior of a computer program regarding a property
side →−   is the concrete domain and the right hand side #→−− # # is the abstract domain.
such as safety, correctness, robustness and liveness [20]. In particular, abstract interpretation is a theory
of approximating semantics of a computer program based on order theory, especially lattices [21, 23].
In recent years, probabilistic program analysis has been introduced to analyze quantitative aspect
of computer programs. Probabilistic abstract interpretation correspondingly is the framework to lift
classical abstract interpretation to the probabilistic setting [24, 25, 26, 27].</p>
      <p>In 2018 SRILAB proposed 2 analyzer that uses abstract interpretation to over-approximate a range of
concrete values into an abstract domain and checks whether this abstract domain holds the expected
result, and which will prove every single input over-approximated by this abstract domain also holds
this result [28]. Later [29] proposed a new abstract domain which combines floating point polyhedra
with intervals. Its performance was compared to Reluplex which is a former property verification
technique extending the simplex algorithm to support ReLU constraints [30]. Abstract interpretation is
also bridged with gradient-based optimization and can be applied on training neural networks [31].
In this paper, we take theory of probabilistic abstract interpretation to analyse density distribution
lfow of all possible inputs of a neural network, when the network has uncountably many or countable
but infinitely many possible inputs. We also see that in particular situations probabilistic abstract
interpretation has stronger features than classical ones. Section 2 gives a brief background of probabilistic
abstract interpretation theory. In Section 3 we introduce how to apply the theory on neural networks,
and discuss diferent choices of abstract domains for diferent purposes, together with corresponding
Moore-Penrose pseudo inverses and abstract domains. In Section 4 we show in experiments how the
framework helps in real world problem. Section 5 gives a conclusion and future works.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Background: Probabilistic Abstract Interpretation Theory</title>
      <p>
        In this section we give a brief introduction of probabilistic abstract interpretation theory originally
introduced in program analysis. Probabilistic abstract interpretation is considered as a quantitative
version of the classical abstract interpretation, commonly to give a not safe but a more average case
scenario, while the classical framework keeps safe but might be not precise enough and therefore
addressing a worst case scenario [20, 21, 25, 33, 26]. In probabilistic framework, instead of forming a
Galois connection in which classical framework does, we take a Moore-Penrose pseudo-inverse.
Definition 1. Let  and # be two finite-dimensional vector (Hilbert) spaces and  :  → # a linear
map. Then the linear map  : # →  is the Moore-Penrose pseudo-inverse of A if (i)  ∘  =  (ii)
 ∘  = , where  and  denote orthogonal projections onto the ranges of  and .
As shown in Figure 1,  is the original function in concrete domain, which can be a step in a computer
program. Based on  , we further consider functio→n−  in probability domain and function  # in abstract
domain respectively. Given in concrete domain
we lift  t→o−  which is a mapping from a distribution to a distribution in probabilistic domain
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
 :  → 
→−  : () → ()
where () is the vector space of , and from probabilistic abstract interpretation framework in Figure
1, we can formalise  # in abstract domain as
      </p>
      <p># = ′ 
where we have Moore-Penrose pseudo-inverse as connections between concrete and abstract domains.
 # is also called the abstract transformer. Defining an appropriate abstract domain and formalising
an appropriate abstract transformer is crucial to performance of this analysis framework.
Proposition 1. An abstract transformer of a composition of functions is a composition of abstract
transformers of each function, that is</p>
      <p>if  =  ′ ∘  ′′, then  # =  ′# ∘  ′′#</p>
    </sec>
    <sec id="sec-3">
      <title>3. Probabilistic Abstract Interpretation on Neural Networks</title>
      <p>In this section we discuss how to apply theory of probabilistic abstract interpretation on neural networks.
In principle, any neural network is a non-linear function which can be simulated by a computer program,
thus any analysis framework working on a computer program can work on a neural network.</p>
      <sec id="sec-3-1">
        <title>3.1. Probabilistic Abstract Interpretation on A General Layer</title>
        <p>A typical layer in a feed-forward neural network can be expressed as an afine transformation followed
by a non-linear function, or more specifically can be for example in form of</p>
        <p>+1 =  (  + )
where  is the layer number,  is the input of the layer, +1 is the output,   and  are the weights
of afine transformation, and  is one example of choices of activation functions. We use these
notations instead of  to avoid ambiguity from  in abstract interpretation. To construct a probabilistic
abstract interpretation,  →,−  and  # need to be considered. In this case  : R → R is the forward
propagation function. We lift  : R → R up into probabilistic domain to b→e−  : (R) → (R)
which is</p>
        <p>(+1) →=−−− − →(− () +→−  )
where () is probability distribution of . Then from→−  we can construct the abstract transformer  #
which is</p>
        <p>#(+1) =  #( ##() + #)
In neural networks it is very common for a layer to be a composition of multiple functions. A typical
case will be an afine transformation followed by a non-linear activation function. To obtain the abstract
transformer, by definition of Moore-Penrose pseudo-inverse we can have abstract transformer for Af 
and abstract transformer for 
and by Proposition 1 we can have
→−−</p>
        <p>
          Af # = ′Af 
 # = →−−−′′− ′
(Af  ∘  )# = Af # ∘  #
In probabilistic abstract interpretation, each possible value a neuron has is with a corresponding
probability. A prior distribution initialisation is needed to be given in input space. We use tensor
(
          <xref ref-type="bibr" rid="ref3">3</xref>
          )
(
          <xref ref-type="bibr" rid="ref4">4</xref>
          )
(
          <xref ref-type="bibr" rid="ref5">5</xref>
          )
(
          <xref ref-type="bibr" rid="ref6">6</xref>
          )
(
          <xref ref-type="bibr" rid="ref7">7</xref>
          )
(
          <xref ref-type="bibr" rid="ref8">8</xref>
          )
(
          <xref ref-type="bibr" rid="ref9">9</xref>
          )
(
          <xref ref-type="bibr" rid="ref10">10</xref>
          )
        </p>
        <p>R−
and we hav→e−  : (R2) → (R2)
In abstract domain, suppose we first only discuss the inputs in integers 11, 12 ∈ N such that
in Fig. 2. In concrete domain we have  : R
and we set both activation functions as ReLU. We take the abstract domain to be {R+, 0, R− }, shown</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Probabilistic Abstract Interpretation on Basic MLP</title>
        <p>Given a simplest MLP, with two layers and five neurons, with parameters shown below. We use
notations  to represent neuron values in layer . Let inputs to be real values such that 11, 12 ∈ [− 3, 3],
 1 =
︂( 1 1</p>
        <p>︂)
⎝
⎛1 0 0 0 0 0 0 0 0 · · ·</p>
        <p>⎜0 1 0 0 0 0 0 1 0 · · ·
.</p>
        <p>
          . ... ⎟⎠⎟ ∈ R13× 49
(12, 22) =  ( 1(11, 21) + 1)
(2) →=−−− −→−(−Af 1((11) ⊗ (21)))
11, 21 ∈ [− 3, − 2, − 1, 0, 1, 2, 3]
(11) = (21) = (3/7, 1/7, 3/7)
and initialise input space with uniform distribution, we have
and we can have
(2) =  #(Af 1#((3/7, 1/7, 3/7) ⊗ (3/7, 1/7, 3/7))))
with probability 3/7, and zero probability to have other outcomes. To be more specific, we have
That is, after first layer, we will have (21 = 0, 22 = 0) with probability 4/7, and (21 ∈ R+, 22 ∈ R+)
product to combine all probability distributions for every single neurons in input space to form an
overall distribution representing the input layer. That is, for any two independent neurons,
(11 × 21) = (11) ⊗  (21)
where ⊗ is notation of tensor product. Therefore, the abstract transformer for the first layer  1# is
(Af  ∘  )#(1) =  #( 1#((11) ⊗ ... ⊗ (1)) + 1#)
(
          <xref ref-type="bibr" rid="ref11">11</xref>
          )
(
          <xref ref-type="bibr" rid="ref12">12</xref>
          )
(
          <xref ref-type="bibr" rid="ref13">13</xref>
          )
(
          <xref ref-type="bibr" rid="ref14">14</xref>
          )
(
          <xref ref-type="bibr" rid="ref15">15</xref>
          )
(
          <xref ref-type="bibr" rid="ref16">16</xref>
          )
(
          <xref ref-type="bibr" rid="ref17">17</xref>
          )
(
          <xref ref-type="bibr" rid="ref18">18</xref>
          )
(
          <xref ref-type="bibr" rid="ref19">19</xref>
          )
which in output space maps a probability distribution vector to an abstract element vector, and
which in input space maps an abstract element vector to a probability distribution vector. As part of
information is lost, we can only map back by uniform distribution. For example, there are nine possible
pairs of (11, 12) with both values negative, so we let the total probability of (− , − ) divided by nine to
be probability of each possible pair. Then, recall definition of probabilistic abstract interpretation, we
have
and similarly we can have
where in a row each entry represents a possible pair of (11, 12), and in a column each entry represents
→−−
entry of 11 + 12. For example, in the 1st row of Af 1, only first entry is 1 and all others are zero. That
is, there exists and only exists a possible pair (− 3, − 3) that will result in 11 + 12 = − 6 which the 1st
row represents. We also have
⎛1 1 1 1 1 1 0 0 0 0 0 0 0⎞
⎜0 0 0 0 0 0 0 0 0 0 0 0 0⎟
⎜ . . . . . . . . . . . . . ⎟
⎜⎜ .. .. .. .. .. .. .. .. .. .. .. .. .. ⎟⎟
which switches probabilities in positions of negativeness into positions of zeros. In this case, it is easy
to obtain  #
        </p>
        <p>
          # = ⎜⎜⎜⎜10 10 01 10 10 01 00 00 00⎟⎟⎟⎟ ∈ R9× 9
Then to make the case more general if we expand the input domain into reals 11, 12 ∈ R such that
we can have
and
lim R×  (
          <xref ref-type="bibr" rid="ref27">27</xref>
          )
∈ li→m∞ →∞
which switches positions of pairs after linear transformation, and as in Real space  and  are both
very large numbers that tend to infinity, and  &gt;  . Also we have
→−−
        </p>
        <p>Af 1# = ′Af 1
 # = →−−−′′− ′
′ ∈ l→im∞ R9× 
which classifies concrete points in Real space into nine categories of abstract domain, and
which maps nine categories of abstract domain back to concrete domain. Hence we have
 ∈ li→m∞ R× 9
Af 1# = ′Af 1</p>
        <p>→−−
Therefore
 # = ⎜⎜⎜⎜10 10 01 10 10 01 00 00 00⎟⎟⎟⎟ ∈ R9× 9
(2) =  #(Af 1#((1/2, 0, 1/2) ⊗ (1/2, 0, 1/2))))
= (︀ 0 0 0 0 1/2 0 0 0 1/2)︀
 =
︂( 11</p>
        <p>
          12)︂
1–14
(
          <xref ref-type="bibr" rid="ref29">29</xref>
          )
(
          <xref ref-type="bibr" rid="ref30">30</xref>
          )
(
          <xref ref-type="bibr" rid="ref31">31</xref>
          )
(
          <xref ref-type="bibr" rid="ref32">32</xref>
          )
(
          <xref ref-type="bibr" rid="ref33">33</xref>
          )
(
          <xref ref-type="bibr" rid="ref34">34</xref>
          )
(
          <xref ref-type="bibr" rid="ref35">35</xref>
          )
(36)
with probability 1/2, and probability 0 to have other outcomes.
        </p>
        <p>That is, after first layer, we will have (21 = 0, 22 = 0) with probability 1/2, and (21 ∈ R+, 22 ∈ R+)</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Probabilistic Abstract Interpretation on Convolutional Layer</title>
        <p>given and fixed. Let
Convolutional neural network in principle is also a special case of fully-connected layers, except
that many weights are zeros. We illustrate a simple example of applying abstract interpretation on
convolutional layer. Let the input space  ∈ R4× 4, the convolution filter  ∈ R2× 2, and the output
space then is  ∈ R(4− 2+1)× (4− 2+1) = R3× 3. As a well-trained model, the weights of  is already
To express the convolution computation in formal mathematical expression, we can have
where  = ⎜ 0 0 0 0 0</p>
        <p>11 12
Convolutional layers. For simplicty we let  be zero vector, and let
 : R16
→ R</p>
        <p>9
We again concern the positiveness/negativeness, which in computer vision application is the darkness
of pixels. The choice of convolution filter is typically a simple version of border detection filter.
Following the ReLU function, we can let abstract domain be {R− , 0, R+}. In concrete domain we have
(1, ..., 9) =  ( (1, ..., 16) + )
To lift up to probability domain we hav→e−  : (R16) → (R9)
suppose we initialise the input space  with uniform distribution over R, that is, () = (1/2, 0, 1/2).</p>
        <p>() →=−−− − →(−Af ((1) ⊗ ... ⊗ (16)))
Concretely we can see after convolution each entry has probability 1/2 to be negative and 1/2 to be
positive. Therefore, applying ReLU function</p>
        <p>() = (0, 1/2, 1/2)
the output will have probability 1/2 to be 0 and probability 1/2 to be positive consequently, as ReLU will
transform all negative values into zero.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. Zonotopes Approximation as Abstract Domain</title>
        <p>In 2018, Gehr et al introduced 2, an analyzer which can automatically prove properties, especially
safety and robustness, for convolutional neural networks based on classical abstract interpretation [28].
2 has found a general way to define abstract domain and abstract transformer of diferent types of
layers, including fully-connected layer, Convolutional layer and max-pooling layer. It defines suitable
abstract domains and represents neural network layers as CAT functions, and hence defines abstract
transformers which can be applied and computed on abstract elements in a very general way. The
formal definitions and details can be found in [28].</p>
        <p>It uses a shape of Zonotope as an abstract domain. In probabilistic framework, we can also follow this
2
→ R
2
 () =
︂( 2 − 1</p>
        <p>︂)
0
1

with input space X expressed by zonotope 1 : [− 1, 1]3 → R2 :</p>
        <p>1( 1,  2,  3) = (1 + 0.5 1 + 0.5 2, 2 + 0.5 1 + 0.5 3)
followed by a ReLU transformation, shown in Figure 3 and 4. We illustrate this zonotope approximation
ifrst in integer space and then generalise it into real space.</p>
        <sec id="sec-3-4-1">
          <title>3.4.1. Zonotopes Approximation in Integer Space</title>
          <p>
            We first define abstract transformer for probabilistic framework,
 #, together with Moore-Penrose
pseudo-inverse functions  and  in integer space. In concrete domain, we have overall 4 input points
 = {(
            <xref ref-type="bibr" rid="ref1">0, 1</xref>
            ), (
            <xref ref-type="bibr" rid="ref1 ref1">1, 1</xref>
            ), (
            <xref ref-type="bibr" rid="ref1 ref3">1, 3</xref>
            ), (
            <xref ref-type="bibr" rid="ref2 ref2">2, 2</xref>
            )} and we lift it up into probability space with uniform distribution
3
2
1
to get () = {1/4, 1/4, 1/4, 1/4}. In abstract domain, the Integer space contained in 1 is 2 =
{(
            <xref ref-type="bibr" rid="ref1">0, 1</xref>
            ), (
            <xref ref-type="bibr" rid="ref2">0, 2</xref>
            ), (
            <xref ref-type="bibr" rid="ref1 ref1">1, 1</xref>
            ), (
            <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
            ), (
            <xref ref-type="bibr" rid="ref1 ref3">1, 3</xref>
            ), (
            <xref ref-type="bibr" rid="ref2 ref2">2, 2</xref>
            ), (
            <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
            )}. As we abstract the input probability space into abstract
domain, we have
and for opposite direction we have
⎛ 1 ⎞
          </p>
          <p>4
⎛ 1 1 1 1 1 1 1 ⎞ ⎜⎜ 01⎟⎟ ⎛ 1 ⎞</p>
          <p>14 14 41 14 14 41 14 ⎜ 4 ⎟ 41
((())) = ⎜⎜ 41 14 41 14 41 41 41 ⎟⎟ ⎜⎜0⎟⎟ = ⎜⎜ 41 ⎟⎟
⎝ 144 144 441 144 144 441 144 ⎠ ⎜⎜⎜⎝ 4114 ⎟⎟⎟⎠ ⎝ 414 ⎠
0
(42)
(43)
(44)
(45)</p>
        </sec>
        <sec id="sec-3-4-2">
          <title>3.4.2. Zonotopes Approximation in Real Space</title>
          <p>The Integer space may be a special scenario. More generally we have to expand into Real space. Let’s
ifrst look at the linear transformation from 1 to 2. Suppose in concrete domain we have N diferent
points in arbitrary positions  = {1, 2, ...,  }, and  is over-approximated by 1. If we lift  up
into probability space with uniform distribution we have () = { 1 , 1 , ..., 1 }. In abstract domain,
particularly we can also see during linear transformation the distribution over input space does not
change, where each point in X corresponds to a point in f(X) and vice versa. Therefore  # : (R2) →
(R2)
Similarly the abstract transformer for ReLU is  # : (R2) → (R2)
 # = →−−−′′− ′ = ′′′
and hence  # : (R2) → (R2)
and
s.t. 1 ̸= 1 ∧ 2 ̸= 2, th→e−n−− − : (R2) → (R2)
In ReLU transformation, we have to consider  ( ()). We claim that if ∀,  ∈  ( ())
Otherwise, suppose if ∃ and only ∃ a pair ,  ∈  ( ())( &lt; ) s.t. 2 = 2, then
→−− − − = ⎜⎜⎜⎜ .. .. .. 1. .. .. 1. .. .. .. ⎟⎟⎟⎟ ∈ R(− 1)× 
which can be obtained by eliminating the th row from identity matrix and assi→g−n−− −  = 1. That is
with all entries are 1 . Now we can let the same very large number lim→∞  to be the number of all
real points contained in 2, so
As it is linear transformation, again we hav→e−  : (R2) → (R2)
 ∈ li→m∞ R× 
 ∈ li→m∞ R× 
′ = , ′ =</p>
          <p>′′ = ′, ′′ = ′
with 2 in th entry. Then
with an entry 1 in each column in corresponding position and other entries are all zeros. And
we know in mathematics there are infinitely many points in Real space contained in 1, but we can
regard this as a very large number and let it be lim→∞  . Then, we can have
with an entry 1 in each column in corresponding position and other entries are all zeros. And
⎛ 1 ⎞</p>
          <p>1
⎜  ⎟
⎜⎜ . ⎟⎟
⎜⎜ . ⎟⎟
⎜⎝ . ⎠⎟
1

⎛ 1 ⎞</p>
          <p>1
⎜⎜⎜ . ⎟⎟⎟
⎜⎝ . ⎠⎟
1

→−− − − ⎜⎜⎜⎜ .. ⎟⎟⎟⎟ = ⎜⎜⎜⎜ 2. ⎟⎟⎟⎟
′′ ∈ li→m∞ R× (− 1)
′′ ∈ li→m∞ R(− 1)× 
We see that in Real space we encounter problem of infinity - since there are infinitely many points
in any closed area in Real space, the dimensions of both input space and abstract element tends to
infinitely large, and hence we are forced to handle vectors and matrices in dimension of infinity. We
always wish to avoid this. A possible approximation is to use grids. That is, in former example, instead
of considering space R2, we consider  Z2, where  gives size of grids to be chosen. For example, if
we let  to be 0.01, then the grid size is 0.01 × 0.01, which means we will have 100 × 100 points in a
closed space bounded by a Box of size 1 × 1(regardless of points on boundary lines - we could have
101 × 101 points more specifically). In this way, each point represents the local probability of neighbour
area, which still shows probability density distribution of the space. For convenience we always let
 −  to be one of lines of grids, which will determine position of the whole grids. Now if we
consider 1 in  Z2, we have in total 30301 points in this abstract element. That is, recall the notation
 used in last subsection, instead of having lim→∞  points, we now have  = 30301. Same
as the input space  in  Z2. No matter what  is,  is finite and computable. Therefore we have
 : (0.01Z2) → (0.01Z2)</p>
          <p>∈ R×  = R30301× 
and so on for . As we know that any linear transformation in R2 is a bijective mapping, and
 Z2 ⊂ R2, hence any linear transformation in  Z2 is also a bijective mapping. So we can have
→−  : ( Z2) → ( Z2)</p>
          <p>→−  () = 
Similarly 2 in ( Z2) contains 60401 points, so
and so on for ′. Then we have  # : ( Z2) → ( Z2)
′ ∈ R×  = R60401×</p>
          <p># = →′−   = ′
with all entries are 1− 1 . Therefore
Obviously if ∃  exclusive pairs ,  ∈  ( ()) s.t. 2 = 2, then
and if let  →  we have</p>
        </sec>
      </sec>
      <sec id="sec-3-5">
        <title>3.5. Grids Approximation as Abstract Domain</title>
        <p>
          Similar for  # that we can now replace lim→∞  by finite and computable numbers. The
reason 2 takes zonotopes as abstract domain is that it is concerning robustness of a neural network,
and having a sound yet precise abstract element which over-approximates input space is a good way to
prove robustness. In probabilistic abstract interpretation, we usually have a diferent aim. Probabilistic
abstract interpretation concerns more about density distribution of input space and its change through
propagation of a neural network. Therefore, it is more meaningful to use other abstract domains to
reach the purpose. Following grid approximation, using a more sparse grids as an abstract domain is a
fair choice. In this context let 1 in 0.01Z2 be input space, i.e.,  = { ∈ 1 |  ∈ 0.01Z2)}. Then we
let the abstract domain to be the space in Z2. We can choose diferent shapes of grids. As an instance,
we choose the squares. That is, we abstract 10,000 points in each 1 × 1 square in 0.01Z2 into one
single point in the centre of the square, and the value of probability of which is the sum of all values of
probabilities of 10,000 points. Say if we consider the coordinates  ∈ (
          <xref ref-type="bibr" rid="ref3">− 3, 3</xref>
          ) and  ∈ (
          <xref ref-type="bibr" rid="ref3">− 3, 3</xref>
          ), then
 ∈ R49× 490,000,  ∈ R490,000× 49
(a) Model Architecture Plot
(b) Model Architecture Table
and A’ and G’ are similar. A concrete element is a vector of length 490,000 and an abstract element is a
vector of length 49, with each entry being value of probabilities. We can see that an advantage of grid
approximation is that it saves computation complexity→.−  is very computation consuming as 490,000
afine transformation calculations are needed, while  # only does 49 such calculations. To lift up 
t→o−  , we do afine transformation  and the result point will be the position of entry o→f−  . Besides
squares, we can also have diferent shape of grids such as diamonds. Diferent shapes lead to diferent
approximations of summation of probabilities.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Experiment</title>
      <sec id="sec-4-1">
        <title>4.1. The Dataset</title>
        <p>In this section we give an example which takes MNIST hand-written digit classifier to illustrate analysis
of probabilistic abstract interpretation on convolutional neural network.</p>
        <p>We obtain an open-source dataset ‘MNIST Digit Dataset’ from Kaggle
https://www.kaggle.com/competitions/digit-recognizer. The dataset contains about 40,000 handwritten
images of digits. Each image is 28 pixels in height and 28 pixels in width, for a total of 784 pixels in
total. Each pixel has a single pixel-value associated with it, indicating the lightness or darkness of that
pixel, with higher numbers meaning darker. This pixel-value is an integer between 0 and 255, inclusive.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. The Model</title>
        <p>We design our model to be an eight-layer convolutional neural network, comprising of two 28 × 28 × 32
convolutional layers with 5 × 5 filter followed by a 2 × 2 max-pooling layer, and then another two
14 × 14 × 64 convolutional layers with 3 × 3 filter followed by a 2 × 2 max-pooling layer, and finally
two dense layers, respectively. In total the network contains 887,530 parameters. We choose RMSprop
as our Optimizer and categorical cross entropy as our Loss Function. In final epoch of training, our
model achieved metrics 0.8917 and loss 0.3446.</p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Abstract Domain</title>
        <p>An input image has 784 pixels and each pixel has 256 pixel values. So there are 256784 possible input
images and we cannot exhaustively run them. We take grids approximation as our abstract domain. For
each pixel, we classify its pixel-value into simply two categories, being value of 0 as dark and 255 as
bright respectively. we also combine a neighborhood of 7 × 7 pixels with the same pixel-value, that is,
we divide an image into 16 groups of pixels. A grid in this case is 16-dimensional, with each dimension
has two choices of values. Therefore in total we have 216 grids in this approximation. It shows that for
example the network will more likely recognize a bright top-left corner as a feature of digit ‘3’, and will
more likely recognize a bright bottom-right corner as a feature of digit ‘2’ or ‘9’.</p>
      </sec>
      <sec id="sec-4-4">
        <title>4.4. Distribution Initialisation</title>
        <p>We can sample density initialisation of inputs from training set. In this approximation we have 216
grids. We approximate each of training image into corresponding grid and calculate sample probability
of each grid with respect to the training set. The prediction of a high probability grid is more likely to
occur.
4.5. Evaluation
[28] gives an example of classical abstract interpretation analyzer to prove robustness against
brightening attack on MNIST digit classifier. The analyzer is able to prove whether a network does correct
classification under attack which perturbs an image by changing all pixels above a particular threshold
to the brightest possible value. In this case, probabilistic abstract interpretation aims for diferent
purpose. It (i)extracts features of the network and (ii)shows probability density flow of all possible
inputs towards prediction.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion and Future Work</title>
      <p>We have discussed applying theory of probabilistic abstract interpretation on various kinds of neural
network layers. We can see probabilistic abstract interpretation can give information on density
distribution flow of possible inputs, which in particular cases is an advantage comparing to classical
abstract interpretation analysis framework that is sometimes sound but not precise enough.
During the discussion we can also see that problems remained in our approach. The examples we
illustrated were mostly in low dimension, but in neural networks it is very common to be in very high
dimensions. Secondly, we should discuss more kinds of abstract domains and abstract transformers,
in addition to grids approximation, in order to fit diferent application situations. We remain these as
future works.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>LeCun</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bengio</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Hinton</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2015</year>
          ).
          <article-title>Deep learning</article-title>
          .
          <source>nature</source>
          ,
          <volume>521</volume>
          (
          <issue>7553</issue>
          ),
          <fpage>436</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Goodfellow</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bengio</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Courville</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Bengio</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          (
          <year>2016</year>
          ).
          <article-title>Deep learning (</article-title>
          <source>Vol. 1)</source>
          . Cambridge: MIT press.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Hailesilassie</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          (
          <year>2016</year>
          ).
          <article-title>Rule extraction algorithm for deep neural networks: A review</article-title>
          .
          <source>arXiv preprint arXiv:1610</source>
          .
          <fpage>05267</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Simonyan</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vedaldi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zisserman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <year>2013</year>
          .
          <article-title>Deep inside convolutional networks: Visualising image classification models and saliency maps</article-title>
          .
          <source>CoRR abs/1312</source>
          .6034.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Nguyen</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dosovitskiy</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yosinski</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brox</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clune</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <year>2016</year>
          .
          <article-title>Synthesizing the preferred inputs for neurons in neural networks via deep generator networks</article-title>
          .
          <source>In: Advances in Neu- ral Information Processing Systems 29: Annual Conference on Neural Information Processing Systems</source>
          <year>2016</year>
          , December 5-
          <issue>10</issue>
          ,
          <year>2016</year>
          , Barcelona, Spain. pp.
          <fpage>3387</fpage>
          -
          <lpage>3395</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Bazen</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Joutard</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <year>2013</year>
          .
          <article-title>The Taylor decomposition: A unified generalization of the Oaxaca method to nonlinear models</article-title>
          .
          <source>Working papers, HAL.</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Landecker</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thomure</surname>
            ,
            <given-names>M. D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bettencourt</surname>
            ,
            <given-names>L. M.</given-names>
          </string-name>
          <article-title>A</article-title>
          ., Mitchell,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Kenyon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. T.</given-names>
            ,
            <surname>Brumby</surname>
          </string-name>
          ,
          <string-name>
            <surname>S. P.</surname>
          </string-name>
          ,
          <year>2013</year>
          .
          <article-title>Interpreting individual classifications of hierarchical networks</article-title>
          .
          <source>In: IEEE Symposium on Computational Intelligence and Data Mining</source>
          ,
          <string-name>
            <surname>CIDM</surname>
          </string-name>
          <year>2013</year>
          , Singapore,
          <fpage>16</fpage>
          -
          <lpage>19</lpage>
          April,
          <year>2013</year>
          . pp.
          <fpage>32</fpage>
          -
          <lpage>38</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Bach</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Binder</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Montavon</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klauschen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Muller</surname>
            ,
            <given-names>K. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Samek</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <volume>07</volume>
          2015.
          <article-title>On pixel-wise explanations for non-linear classifier decisions by layer-wise relevance propagation</article-title>
          .
          <source>PLOS ONE 10 (7)</source>
          ,
          <fpage>1</fpage>
          -
          <lpage>46</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Samek</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wiegand</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Müller</surname>
            ,
            <given-names>K. R.</given-names>
          </string-name>
          (
          <year>2017</year>
          ).
          <source>Explainable Artificial Intelligence: Understanding, Visualization and Interpreting Deep Learning Models. arXiv:1708</source>
          .
          <fpage>08296</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Zilke</surname>
            ,
            <given-names>J. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mencía</surname>
            ,
            <given-names>E. L.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Janssen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          (
          <year>2016</year>
          ,
          <article-title>October)</article-title>
          .
          <article-title>DeepRED-Rule Extraction from Deep Neural Networks</article-title>
          .
          <source>In International Conference on Discovery Science</source>
          (pp.
          <fpage>457</fpage>
          -
          <lpage>473</lpage>
          ). Springer, Cham.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Montavon</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Samek</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Müller</surname>
            ,
            <given-names>K. R.</given-names>
          </string-name>
          (
          <year>2017</year>
          ).
          <article-title>Methods for interpreting and understanding deep neural networks</article-title>
          .
          <source>Digital Signal Processing.</source>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Jacobsson</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          (
          <year>2005</year>
          ).
          <article-title>Rule extraction from recurrent neural networks: Ataxonomy and review</article-title>
          .
          <source>Neural Computation</source>
          ,
          <volume>17</volume>
          (
          <issue>6</issue>
          ),
          <fpage>1223</fpage>
          -
          <lpage>1263</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ororbia</surname>
            ,
            <given-names>I. I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alexander</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xing</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Giles</surname>
            ,
            <given-names>C. L.</given-names>
          </string-name>
          (
          <year>2017</year>
          ).
          <article-title>An empirical evaluation of recurrent neural network rule extraction</article-title>
          .
          <source>arXiv preprint arXiv:1709</source>
          .
          <fpage>10380</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Quanshi</surname>
            <given-names>Zhang</given-names>
          </string-name>
          , Ruiming Cao, Feng Shi, Ying Nian Wu, &amp;
          <string-name>
            <surname>Song-Chun Zhu</surname>
          </string-name>
          (
          <year>2017</year>
          ).
          <article-title>Interpreting CNN Knowledge Via An Explanatory Graph</article-title>
          .
          <source>AAAI</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Quanshi</surname>
            <given-names>Zhang</given-names>
          </string-name>
          , Ying Nian Wu, &amp;
          <string-name>
            <surname>Song-Chun Zhu</surname>
          </string-name>
          (
          <year>2017</year>
          ).
          <article-title>Interpretable Convolutional Neural Networks</article-title>
          .
          <source>CVPR</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Bolei</surname>
            <given-names>Zhou</given-names>
          </string-name>
          , David Bau,
          <string-name>
            <given-names>Aude</given-names>
            <surname>Oliva</surname>
          </string-name>
          , &amp; Antonio Torralba.
          <article-title>Interpreting Deep Visual Representations via Network Dissection</article-title>
          .
          <source>IEEE Transactions on Pattern Analysis and Machine Intelligence</source>
          ,
          <year>June 2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Zeiler</surname>
            ,
            <given-names>M. D.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Fergus</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>2014</year>
          ,
          <article-title>September)</article-title>
          .
          <article-title>Visualizing and understanding convolutional networks</article-title>
          .
          <source>In European conference on computer vision</source>
          (pp.
          <fpage>818</fpage>
          -
          <lpage>833</lpage>
          ). Springer, Cham.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Bau</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhou</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khosla</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oliva</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Torralba</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>2017</year>
          ).
          <article-title>Network dissection: Quantifying interpretability of deep visual representations</article-title>
          .
          <source>30th IEEE Conference on Computer Vision</source>
          and Pattern Recognition,
          <string-name>
            <surname>CVPR</surname>
          </string-name>
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Carlini</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Wagner</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          (
          <year>2017</year>
          , May).
          <article-title>Towards evaluating the robustness of neural networks</article-title>
          .
          <source>In 2017 ieee symposium on security and privacy (sp)</source>
          (pp.
          <fpage>39</fpage>
          -
          <lpage>57</lpage>
          ). Ieee.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Nielson</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nielson</surname>
            ,
            <given-names>H. R.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Hankin</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          (
          <year>2015</year>
          ).
          <article-title>Principles of program analysis</article-title>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Cousot</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Cousot</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>1977</year>
          , January).
          <article-title>Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints</article-title>
          .
          <source>In Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages</source>
          (pp.
          <fpage>238</fpage>
          -
          <lpage>252</lpage>
          ). ACM.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Polignano</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Musto</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pellungrini</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Purificato</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Semeraro</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Setzu</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2024</year>
          ). XAI.it
          <year>2024</year>
          :
          <article-title>An Overview on the Future of Explainable AI in the era of Large Language Models</article-title>
          ,
          <source>in: Proceedings of 5th Italian Workshop on Explainable Artificial Intelligence, co-located with the 23rd International Conference of the Italian Association for Artificial Intelligence</source>
          , Bolzano, Italy,
          <source>November 25-28</source>
          ,
          <year>2024</year>
          , CEUR. org.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Nielson</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Jones</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          (
          <year>1994</year>
          ).
          <article-title>Abstract interpretation: a semantics-based tool for program analysis</article-title>
          .
          <source>Handbook of logic in computer science</source>
          ,
          <volume>4</volume>
          ,
          <fpage>527</fpage>
          -
          <lpage>636</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Cousot</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Monerau</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2012</year>
          , March).
          <article-title>Probabilistic abstract interpretation</article-title>
          .
          <source>In European Symposium on Programming</source>
          (pp.
          <fpage>169</fpage>
          -
          <lpage>193</lpage>
          ). Springer, Berlin, Heidelberg.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>Di</given-names>
            <surname>Pierro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            , &amp;
            <surname>Wiklicky</surname>
          </string-name>
          ,
          <string-name>
            <surname>H.</surname>
          </string-name>
          (
          <year>2000</year>
          ,
          <article-title>September)</article-title>
          .
          <article-title>Concurrent constraint programming: towards probabilistic abstract interpretation</article-title>
          .
          <source>In International Conference on Principles and Practice of Declarative Programming: Proceedings of the 2 nd ACM SIGPLAN international conference on Principles and practice of declarative programming</source>
          (Vol.
          <volume>20</volume>
          , No.
          <volume>23</volume>
          , pp.
          <fpage>127</fpage>
          -
          <lpage>138</lpage>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>Di</given-names>
            <surname>Pierro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Hankin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            , &amp;
            <surname>Wiklicky</surname>
          </string-name>
          ,
          <string-name>
            <surname>H.</surname>
          </string-name>
          (
          <year>2010</year>
          ).
          <article-title>Probabilistic semantics and program analysis</article-title>
          .
          <source>In Formal Methods for Quantitative Aspects of Programming Languages</source>
          (pp.
          <fpage>1</fpage>
          -
          <lpage>42</lpage>
          ). Springer, Berlin, Heidelberg.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>Di</given-names>
            <surname>Pierro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            , &amp;
            <surname>Wiklicky</surname>
          </string-name>
          ,
          <string-name>
            <surname>H.</surname>
          </string-name>
          (
          <year>2016</year>
          ).
          <article-title>Probabilistic abstract interpretation: From trace semantics to DTMC's and linear regression</article-title>
          . In Semantics, Logics, and
          <string-name>
            <surname>Calculi</surname>
          </string-name>
          (pp.
          <fpage>111</fpage>
          -
          <lpage>139</lpage>
          ). Springer, Cham.
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <surname>Gehr</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mirman</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Drachsler-Cohen</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tsankov</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chaudhuri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Vechev</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2018</year>
          ).
          <article-title>AI 2: Safety and Robustness Certification of Neural Networks with Abstract Interpretation</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <surname>Singh</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gehr</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Püschel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Vechev</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2019</year>
          ).
          <article-title>An abstract domain for certifying neural networks</article-title>
          .
          <source>Proceedings of the ACM on Programming Languages, 3(POPL)</source>
          ,
          <volume>41</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <surname>Katz</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barrett</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dill</surname>
            ,
            <given-names>D. L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Julian</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Kochenderfer</surname>
            ,
            <given-names>M. J.</given-names>
          </string-name>
          (
          <year>2017</year>
          ).
          <article-title>Reluplex: An eficient SMT solver for verifying deep neural networks</article-title>
          .
          <source>In Computer Aided Verification: 29th International Conference, CAV 2017</source>
          , Heidelberg, Germany,
          <source>July 24-28</source>
          ,
          <year>2017</year>
          , Proceedings,
          <string-name>
            <surname>Part I</surname>
          </string-name>
          30 (pp.
          <fpage>97</fpage>
          -
          <lpage>117</lpage>
          ). Springer International Publishing.
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <surname>Mirman</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gehr</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Vechev</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2018</year>
          ,
          <article-title>July)</article-title>
          .
          <article-title>Diferentiable abstract interpretation for provably robust neural networks</article-title>
          .
          <source>In International Conference on Machine Learning</source>
          (pp.
          <fpage>3578</fpage>
          -
          <lpage>3586</lpage>
          ). PMLR.
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <surname>Goodfellow</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bengio</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Courville</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>2016</year>
          ).
          <article-title>Deep learning</article-title>
          . MIT press.
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <surname>Wiklicky</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          :
          <source>Probabilistic Programs [Lecture Notes]. Imperial College London, Program Analysis (COMP70020)</source>
          . https://www.doc.ic.ac.uk/ herbert/teaching/PA7S.pdf
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <article-title>Tic-tac-toe with a neural network</article-title>
          .
          <source>Nested Software. (2019, December</source>
          <volume>27</volume>
          ).
          <source>Retrieved June 25</source>
          ,
          <year>2022</year>
          , from https://nestedsoftware.com/
          <year>2019</year>
          /12/27/tic-tac
          <article-title>-toe-with-a-neural-network-1fjn</article-title>
          .
          <fpage>206436</fpage>
          .html
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <surname>Reisch</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>1999</year>
          ).
          <article-title>Gobang ist pspace-vollstandig (gomoku is pspace-complete)</article-title>
          .
          <source>Acta Informatica</source>
          ,
          <volume>13</volume>
          ,
          <fpage>5966</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>