Safe and efficient aircraft guidance and control using neural networks
Keywords: Aeronautics and Astronautics.

Autonomous systems have the potential to reduce costs and increase safety for a variety of applications, including aviation. Whereas automation is used for problems with limited scope, autonomous systems must reason about complex scenarios, including low-probability safety-critical events, where the correct behavior cannot be enumerated. As a result, autonomous systems use computers to reason and make decisions. One method for computing decisions uses a form of optimization called dynamic programming, but the curse of dimensionality leads to large representations of the decision-making policy. One approach to reduce the representation size is to approximate the decision logic. This thesis presents a neural network compression method that trains an accurate neural network approximation of decision logic score tables. Rather than storing the score table in memory, only the neural network parameters need to be stored, reducing the representation size by a factor of 1000 or more. Experiments with Monte Carlo simulations and flight testing indicate that a neural network representation can perform as well as the original policy. Although simulations and flight testing can instill confidence, a finite number of simulations does not guarantee that the neural network behaves correctly in all possible scenarios, as neural networks are well known to behave in unexpected ways. Verifying that the neural network issues safe actions in all scenarios is necessary before they can be used in safety-critical systems. This thesis presents two methods that reason about the weights of the neural networks and the dynamics of the state variables describing the scenario to determine if the neural network makes safe decisions in all scenarios. The first method analyzes the dynamics to compute a region of state variables for each action where that action cannot be safely given. Then, analysis of the network weights determines if any input variables could result in the neural network giving an unsafe action. If these neural network properties are verified, then the neural network is guaranteed to behave safely in all scenarios. If the properties do not hold and the neural network gives an action in its unsafe region, the system as a whole is not necessarily unsafe. If prior neural network actions prevent the system from reaching states where unsafe actions are given, then the neural network may still be safe. This thesis presents a reachability method to determine if unsafe states can be reached using the neural network actions. Beginning with a set of initial states, the reachability method uses the neural network policy and system dynamics to compute the set of states that could be reached at the next time step. The analysis can be repeated to compute the set of states that can be reached over time, ending when the reachable set includes an unsafe state or converges to a steady-state safe set. The reachability method guarantees that the neural network behaves safely if no unsafe states are reachable from the initial set. The two methods described previously verify safety when using a neural network controller, but these methods do not scale well with the dimensionality of the state space. For neural networks with high-dimensional inputs, such as images, these verification methods are intractable. This thesis presents an approach to validate a neural network controller by searching for small input disturbances that cause the neural network controller to reach an unsafe state. The validation method combines reinforcement learning algorithms with analysis of the neural network weights to find the most likely sequence of input disturbances that causes the system to fail. The method scales well for image-based neural networks, and inspection of the failure sequence either reveals system weaknesses or validates that the system requires unrealistic disturbances to fail