Method of verifying pretrained neural net mapping for use in safety-critical software
First Claim
1. A method of verifying the behavior of pretrained, static, feedforward neural network mapping software having a neural net mapping function ƒ
- (x) that is intended to replace look up table mapping software having a look up table mapping function φ
(x), said method comprising executing the following steps on the neural network mapping software and look up table mapping software in a digital computer;
establishing a multi-axis rectangular domain including upper and lower limits of each axis to bound all input vectors x of both said look up table mapping function φ
(X) and said neural net mapping function ƒ
(x);
determining a set of test points within the rectangular domain based on said upper and lower limits of each axis;
determining Lipschitz constant Kƒ
for said neural net mapping function ƒ
(x);
determining upper and lower value bounds of said neural net mapping function ƒ
(x) for said domain based on a function of said set of test points and said Lipschitz constant Kƒ
; and
verifying the behavior of the neural network mapping software based on the determination of said upper and lower value bounds.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of verifying pretrained, static, feedforward neural network mapping software using Lipschitz constants for determining bounds on output values and estimation errors is disclosed. By way of example, two cases of interest from the point of view of safety-critical software, like aircraft fuel gauging systems, are discussed. The first case is the simpler case of when neural net mapping software is trained to replace look-up table mapping software. A detailed verification procedure is provided to establish functional equivalence of the neural net and look-up table mapping functions on the entire range of inputs accepted by the look-up table mapping function. The second case is when a neural net is trained to estimate the quantity of interest form the process (such as fuel mass, for example) from redundant and noisy sensor signals. Given upper and lower bounds on sensor noises and on modeling inaccuracies, it is demonstrated how to verify the performance of such a neural network estimator (a “black box”) when compared to a true value of the estimated quantity.
24 Citations
31 Claims
-
1. A method of verifying the behavior of pretrained, static, feedforward neural network mapping software having a neural net mapping function ƒ
- (x) that is intended to replace look up table mapping software having a look up table mapping function φ
(x), said method comprising executing the following steps on the neural network mapping software and look up table mapping software in a digital computer;establishing a multi-axis rectangular domain including upper and lower limits of each axis to bound all input vectors x of both said look up table mapping function φ
(X) and said neural net mapping function ƒ
(x);
determining a set of test points within the rectangular domain based on said upper and lower limits of each axis;
determining Lipschitz constant Kƒ
for said neural net mapping function ƒ
(x);
determining upper and lower value bounds of said neural net mapping function ƒ
(x) for said domain based on a function of said set of test points and said Lipschitz constant Kƒ
; and
verifying the behavior of the neural network mapping software based on the determination of said upper and lower value bounds. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
(a) determining values yj of a neural net mapping ƒ
of each of the 2n vertices j of a cell of the plurality;
(b) determining a mean y of said values yj of the cell;
(c) determining a mean distance d of any x within the cell from its vertices;
(d) determining a maximum Dmax of the mean distances determined for the cell; and
(e) determining an upper value bound of the cell by the expression;
y+Kƒ
Dmax;
(f) determining a lower value bound of the cell by the expression;
y−
Kƒ
Dmax;
(g) repeating steps (a) through (f) to determine upper and lower value bounds for each cell of the plurality;
(h) selecting the maximum of the upper value bounds of the cells as the upper value bound of the neural net mapping function for the domain; and
(i) selecting the minimum of the lower value bounds of the cells as the lower value bound of the neural net mapping function for the domain.
- (x) that is intended to replace look up table mapping software having a look up table mapping function φ
-
7. The method of claim 1 including the steps of:
-
determining Lipschitz constant Kƒ
′
for the gradient ƒ
(x)′
; and
determining upper and lower error bounds for the neural net and look up table functions based on a function of the set of test points and said Lipschitz constant Kƒ
′
, whereby if the upper and lower value bounds and said upper and lower error bounds can be determined, then the neural network mapping software is verified.
-
-
8. The method of claim 7 including the step of dividing the multi-axis domain into a plurality of cells based on the set of test points.
-
9. The method of claim 8 wherein the step of determining upper and lower error bounds for said neural net and look up table functions includes the steps of:
- determining upper and lower error bounds for each cell of the plurality based on a function of the test points of the corresponding cell, the Lipschitz constant Kƒ
′
, and a desired constant Kφ
′
;
selecting an upper error bound from the upper error bounds of the cells as the upper error bound of the neural net and look up table mapping functions; and
selecting a lower error bound from the lower error bounds of the cells as the lower error bound of the neural net and look up table mapping functions.
- determining upper and lower error bounds for each cell of the plurality based on a function of the test points of the corresponding cell, the Lipschitz constant Kƒ
-
10. The method of claim 9 wherein the maximum of the upper error bounds of the cells is selected as the upper error bound of the neural net and look up table mapping functions;
- and the minimum of the lower error bounds is selected as the lower error bound of the neural net and look up table mapping functions.
-
11. The method of claim 8 wherein the step of determining a set of test points includes the step of discretizing each axis i of the multi-axis domain into Ni test point coordinates and Ni−
- 1 equal intervals of length Δ
i; and
wherein the step of dividing the domain into a plurality of cells includes forming the cells with the test point coordinates of the axes as its vertices, whereby each cell has 2n test point vertices, where n is the number of axes in the domain; and
wherein the step of determining upper and lower error bounds for said neural net and look up table functions includes the steps of;(a) determining values yj of a neural net mapping ƒ
of each of the 2n vertices j of a cell of the plurality;
(b) determining values vj of a look up table mapping φ
of each of the 2n vertices j of the cell of the plurality;
(c) determining an error mapping value ej between each of said yj and vj values;
(d) determining a gradient vector yj′
of the neural net mapping yj;
(e) determining a maximum mean distance Dmax and a maximum mean square distance Dmax2 from mean distances dj between an input vector x within the cell and the vertices j of the corresponding cell;
(f) determining a mean error value e of the error values ej of the cell;
(g) determining a gradient ej′
of said error mapping ej of the cell;
(h) determining a desired constant Kφ
′
valid within the cell;
(i) determining maximal and minimal values of directional derivatives at the vertices j of the cell as a function of ej′
; and
determining bounds Gmax and Gmin of said maximal and minimal values;
(k) determining upper and lower error bounds for the cell as a function of e, Gmax, Gmin, Kƒ
′
, Kφ
′
, Dmax, and Dmax2;
(l) repeating steps (a) through (k) for each cell of said plurality; and
(m) selecting an upper error bound from the upper error bounds of the cells as the upper error bound of the neural net and look up table mapping functions and selecting a lower error bound from the lower error bounds of the cells as the lower error bound of the neural net and look up table mapping functions.
- 1 equal intervals of length Δ
-
12. The method of claim 11 wherein the maximum of the upper error bounds of the cells is selected as the upper error bound of the neural net and look up table mapping functions;
- and the minimum of the lower error bounds is selected as the lower error bound of the neural net and look up table mapping functions.
-
13. The method of claim 1 wherein the look up table mapping software being replaced includes entries for mapping inputs of fuel plane coefficients x of a fuel tank to fuel quantity of the fuel tank φ
- (x); and
wherein the neural network mapping software replacement yields an estimate of said fuel quantity ƒ
(x).
- (x); and
-
14. The method of claim 13 including the step of operating the neural network mapping software in a digital processor for estimating fuel quantity of at least one fuel tank.
-
15. A method of verifying the behavior of pretrained, static, feedforward neural network mapping software having a neural network mapping function ƒ
- (ψ
(x)+ζ
), where ψ
(x) is a predetermined mapping of n dimensional state vectors x of a process into m dimensional measurement vectors z=ψ
(x), ζ
is representative of a noise component of the process, and ƒ
(ψ
(x)+ζ
) is an estimate of the desired output parameter y(est) of the process, said method comprising the steps of;providing model mapping software including a predetermined mapping function φ
(x) for mapping said n dimensional state vectors x directly into a true value y(true) of said desired output parameter;
executing the following steps on the neural network mapping software and model mapping software in a digital computer;
establishing a multi-axis rectangular domain including upper and lower limits of each axis to bound all state vectors x of both said predetermined mapping functions φ
(x) and ψ
(x);
determining a set of test points within the rectangular domain based on said upper and lower limits of each axis;
determining Lipschitz constant Kƒ
for neural net mapping function ƒ
(ψ
(x));
determining an upper bound ζ
up and a lower bound ζ
lo of the noise component ζ
;
determining upper and lower value bounds of said neural net mapping function ƒ
(ψ
(x)+ζ
) for said domain based on a function of said set of test points, said Lipschitz constant Kƒ
and said upper bound ζ
up and lower bound ζ
lo andverifying the behavior of the neural network mapping software based on the determination of said upper and lower value bounds. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
(a) determining values yj of a predetermined mapping ƒ
(ψ
(xj)) of each xj of the 2n vertices j of a cell of the plurality;
(b) determining a Lipschitz constant Kψ
for the cell based on said values yj of the cell;
(c) determining a mean y of said values yj of the cell;
(d) determining a maximum mean distance Dmax for the cell from distances of any x within the cell from its vertices;
(e) determining a maximum value ζ
max of the noise component ζ
from its upper and lower bounds;
(f) determining an upper value bound of the cell by the expression;
- (ψ
-
22. The method of claim 15 including the steps of:
-
determining Lipschitz constant Kƒ
′
for the gradient ƒ
(ψ
(x))′
;
determining upper and lower error bounds for said neural net function ƒ
(ψ
(x)+ζ
) and predetermined mapping function φ
(x) based on a function of said set of test points, said Lipschitz constant Kƒ
′
, and said upper bound ζ
up and a lower bound ζ
lo, whereby if the upper and lower value bounds and said upper and lower error bounds can be determined, then the neural network mapping software is verified.
-
-
23. The method of claim 22 including the step of dividing the multi-axis domain into a plurality of cells based on the set of test points.
-
24. The method of claim 23 including decomposing the error between neural net mapping function ƒ
- (ψ
(x)+ζ
) and the predetermined mapping function φ
(x) into a noise free error component F(x)−
φ
(x) and a term representative of noise magnitude.
- (ψ
-
25. The method of claim 23 wherein the step of determining the upper and lower error bounds includes the steps of:
- determining upper and lower error bounds for each cell of the plurality based on a function of the test points of the corresponding cell, the Lipschitz constants Kƒ
and Kƒ
′ and
Lipschitz constants Kψ
and Kψ
′
;
selecting an upper error bound from the upper error bounds of the cells as the upper error bound of the neural net mapping function and predetermined mapping φ
(x); and
selecting a lower error bound from the lower error bounds of the cells as the lower error bound of the neural net mapping function and predetermined mapping φ
(x).
- determining upper and lower error bounds for each cell of the plurality based on a function of the test points of the corresponding cell, the Lipschitz constants Kƒ
-
26. The method of claim 25 wherein the maximum of the upper error bounds of the cells is selected as the upper error bound of the neural net mapping function and predetermined mapping φ
- (x); and
the minimum of the lower error bounds is selected as the lower error bound of the neural net mapping function and predetermined mapping φ
(x).
- (x); and
-
27. The method of claim 23 wherein the step of determining a set of test points includes the step of discretizing each axis i of the multi-axis domain into Ni test point coordinates and Ni−
- 1 equal intervals of length Δ
i; and
wherein the step of dividing the domain into a plurality of cells includes forming the cells with the test point coordinates of the axes as its vertices, whereby each cell has 2n test point vertices, where n is the number of axes in the domain; and
wherein the step of determining upper and lower error bounds for the neural net mapping function and predetermined mapping φ
(x) includes the steps of;(a) determining values yj of a neural net function mapping ƒ
(ψ
(xj)) of each xj of the 2n vertices j of a cell of the plurality;
(b) determining values vj of a predetermined mapping φ
(xj) of each xj of the 2n vertices j of the cell of the plurality;
(c) determining an error mapping value ej between each of said yj and vj values;
(d) determining a gradient vector yj′
of the neural net mapping yj;
(e) determining a maximum mean distance Dmax and a maximum mean square distance Dmax2 from mean distances dj between an input vector x within the cell and the vertices j of the corresponding cell;
(f) determining a mean error value e of the error values ej of the cell;
(g) determining a gradient ej′
of said error mapping ej of the cell;
(h) determining Lipschitz constants Kφ
′
, Kψ
, and Kψ
′
valid within the cell;
(i) determining maximal and minimal values of directional derivatives at the vertices j of the cell as a function of ej′
; and
determining bounds Gmax and Gmin of said maximal and minimal values;
(k) determining upper and lower error bounds for the cell as a function of e, Gmax, Gmin, Kƒ
, Kƒ
′
, Kφ
′
, Dmax, Dmax2, Kψ
, and Kψ
′
;
(l) repeating steps (a) through (k) for each cell of said plurality;
(m) selecting an upper error bound from the upper error bounds of the cells and selecting a lower error bound from the lower error bounds of the cells;
(n) determining a value ζ
max of the noise component ζ
from its upper and lower bounds; and
(o) determining the lower error bound of the neural net mapping function and predetermined mapping φ
(x) by subtracting a product Kƒ
ζ
max from the selected lower error bound and determining the upper error bound of the neural net mapping function and predetermined mapping φ
(x) by adding the product Kƒ
ζ
max to the selected upper error bound.
- 1 equal intervals of length Δ
-
28. The method of claim 27 wherein the maximum of the upper error bounds of the cells is selected as the upper error bound of the neural net mapping function and predetermined mapping φ
- (x); and
the minimum of the lower error bounds is selected as the lower error bound of the neural net mapping function and predetermined mapping φ
(x).
- (x); and
-
29. The method of claim 15 wherein the predetermined mapping function ψ
- (x) is provided as a look up table mapping function coded in software.
-
30. The method of claim 15 wherein the predetermined mapping function ψ
- (x) is provided as a computer simulation model of the process coded in software.
-
31. The method of claim 15 wherein the state vector x is provided as states of a fuel tank;
- wherein the measurement vector z is provided as an estimation of measurements of the states of the fuel tank;
wherein ζ
is provided as a noise component in the measurement of the state of the fuel tank; and
including the step of operating the neural network mapping software in a digital processor for estimating fuel quantity of at least one fuel tank.
- wherein the measurement vector z is provided as an estimation of measurements of the states of the fuel tank;
Specification