Bound Propagation

Bound propagation is a process to compute the global bound for the input of a non-linear operator in the differential network. The global bound is used to estimate the input of the non-linear operator, which is then used to compute the linear dependent bounds for the non-linear operator. The exact bounds for the input of the non-linear operator for each type is described in Preprocessing section.

Propagation Boundary is a set of edges in the differential network, where each edge represents a result from previous computation in the network. In the bound propagation process, each bound is represented as a linear combination of the results in the propagation boundary, which is in the following format:

The propagation process start with initial bounds of non-linear operator input, e.g., . At this point, the propagation boundary is as a starting point. Then we propagate the bounds backward in the topological order of the differential network, where each bound is represented as a linear combination of the results in the propagation boundary. When we reach the input layer of the differential network, we can obtain the global bound for the input of the non-linear operator.

Then we discuss our bound propagation method of 3 different cases: affine layers, non-linear layers and the input layer.

Affine Layers

If the next operator of the topological order is an affine layer, we can propagate the bound through the affine layer by substituting the output of the affine layer with its linear combination of its input. For example, if the next operator is a fully-connected layer represented as a tuple where and are the weight and bias of the affine layer in the first DNN, and and are those in the second DNN, we can propagate the bound through this affine layer by substituting with and with .

The input layers

Since the input specification is in the form of , we can propagate the bound through the input layer by substituting and with and , and with and .

Given a bound in the form of , where all are input layers. We obtain the global bound in the form of:

Non-linear Layers

If the next operator of the topological order is a non-linear layer, we can propagate the bound through the non-linear layer by substituting the output of the non-linear layer with its linear dependent bounds. For a 1-input 1-output non-linear operator, the linear dependent bounds are in the following form:

Given a bound in the form of , we can propagate using the follow substitution:

The value of are divided into 6 cases based on and , where each case is corresponding to a point in the hexagon:

Hexagon

PointCases
P1
P2
P3
P4
P5
P6

Note that the result above may not be the optimal bound using linear programming, so further research can be done to find the optimal bound.