Verification Methods
HexagonDiff verifies the differential network using two interrelated process: linearization and bound propagation. The linearization process computes the linear dependent bounds (dbound) for each non-linear operator, which are used to approximate the non-linear operator with linear constraints. Linear dependent bounds for a 1-input 1-output operator is in the following form:
where vector is a number obtained from linearization.
However, to obtain an accurate linear dependent bound, we need the bound restriction for the input of the non-linear operator. For simplicity of the linearization process, we remove the dependency and use global bound (gbound) to estimate the input of the non-linear operator, which is in the following form:
To compute the global bound for the input of the non-linear operator, we propagate linear dependent bounds from the non-linear operator to the input layer. The linear dependent bounds for the non-linear operator are used to compute the global bound for its input, which is then used to compute the linear dependent bounds for the non-linear operator. This process is repeated until we reach the output layer of the differential network, where we can check the output specifications.
For more details about the linearization and bound propagation process, please refer to the following sections:
Equivalence Checking
We provide two kind of equivalence standards: epsilon equivalence and top-1 equivalence.
- Epsilon equivalence checks whether the output of the two DNNs are within an epsilon distance, which means where and are the outputs of the two DNNs, respectively.
- Top-1 equivalence checks whether the top-1 prediction of the two DNNs are the same, which means where and are the outputs of the two DNNs, respectively.