This repository has been archived by the owner on Jul 14, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
First pass at introduction. Added latexmk files.
- Loading branch information
Showing
10 changed files
with
109 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
output/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,64 @@ | ||
% - shortest intro chapter possible (concise) | ||
% - "freshman undergrad could understand contributions" | ||
|
||
\subsection{Motivation} | ||
% \section{Motivation} | ||
With the expanding use of artificial intelligent algorithms to solve complex problems, there is an increasing need to ensure the validity of such systems. % safety? | ||
It may be challenging to exhaustively validate a complex system due to the continuous nature of systems deployed in the real-world. | ||
Therefore, to validate such systems, we need to rely on simulation. | ||
As with all simulations, we model the real-world through a series of approximations. | ||
Despite these approximations, it may still be computationally difficult to find system failures efficiently. | ||
The validation problem becomes even more challenging when failures are extremely rare and where a simple random search may severly underestimate the probability of failure (or even estimate it as zero). | ||
This work purposes several methods to try and efficiently search for likely failures in safety-critical systems, modeling the system as a black box. | ||
|
||
\subsection{Black-Box Systems Definition} | ||
|
||
\subsection{Safety-Critical Applications} | ||
The term \textit{black box} refers to a software system for which we pass inputs and only have access to the provided outputs (i.e., the internals of the black-box system are unknown to us). | ||
Framing the problem around black-box systems allows these techiniques to be broadly applied to existing systems without the need to gain access to the internal code itself. | ||
Techniques that require knowledge of the system internals are termed \textit{white box}, which are not the focus of this work. | ||
% - Gray-box | ||
% - Safety-critical systems? | ||
% - Cyber-physical systems? | ||
|
||
The validation problem can be split into \textit{falsification} (i.e., finding failures) and \textit{most-likely failure analysis} (i.e., finding likely failures). | ||
% We propose a falsification approach to | ||
% - CE-surrogate: what about it is used for rare-failure finding? | ||
% - How we use surrogate models to offload the computation to a learned function approximator. | ||
% - Sierra represents the failures of a system. We want an algorithm to find the most-likely failure given that the failures are rare. CEM is a method to do this, yet requires many calls to the underlying system to evaluate the goodness of the search. We propose a surrogate modeling-based CEM algorithm that outperforms CEM using the same number of system evaluations. | ||
We consider two types of systems we want to validate: sequential decision making systems and non-sequential classification systems (e.g., a hand-written digit classifier). | ||
Each system type has their own respective challenges to consider. | ||
We are also motivated by complex systems that are computationally expensive to evaluate, thus introducing techniques to intelligently select when we execute the system to reduce unnecessary evaluations. | ||
|
||
% The core of this work is built on the \textit{adaptive stress testing} problem formulation for finding likely failures in black-box systems \cite{lee2020adaptive}. | ||
|
||
|
||
\section{Contributions} % (fold) | ||
\label{sec:contributions} | ||
|
||
The technical contributions of this thesis consist of the following: | ||
|
||
\begin{itemize} | ||
\item Cross-entropy surrogate method; algorithm for surrogate-based black-box stochastic optimization. Including a novel optimization test function (sierra). | ||
\item Episodic adaptive stress testing formulation. | ||
\item Framework for validation of large, static datasets using adversarial weakness recognition. | ||
\item Open source tooling to apply general black-box adaptive stress testing (POMDPStressTesting.jl), the cross-entropy method algorithm variants (CrossEntropyVariants.jl), and the adversarial weakness recognition (FailureRepresentation.jl). | ||
\end{itemize} | ||
|
||
% section contributions (end) | ||
|
||
% \section{Black-Box Systems Definition} | ||
|
||
% \section{Safety-Critical Applications} | ||
|
||
|
||
% 1) Introduced varients of the cross-entropy method algorithm using surrogate models, mixture models, and sub-routine calls to the original CE-method (used to find rare events over computationally expensive systems) | ||
% - Open sourced tooling: CrossEntropyVariants.jl | ||
|
||
% 2) Reformulation of adaptive stress testing (AST) and MCTS to be applied to computationally expensive episodic problems | ||
% - With an application to aircraft trajectory predictions | ||
% - Important: will cover tooling in a moment. Open sourced tooling, general: POMDPStressTesting.jl | ||
|
||
% 3) For non-sequential systems (think MNIST classifier), I developed a framework for selectively validating large datasets (where exhaustive search would be too computationally expensive given minor changes to the system) | ||
% - This work is currently in review for an NSF grant (joint with Berkeley) and a SystemX proposal (under the Autonomous Systems category) | ||
% - Open sourced tooling: FailureRepresentation.jl | ||
|
||
% 4) Tooling: POMDPStressTesting.jl package | ||
% - Open source tooling to apply AST work to general black-box systems |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
ensure_path( 'BIBINPUTS', './references//' ); | ||
|
||
$pdf_mode = 4; | ||
$out_dir = 'output'; | ||
$aux_dir = 'output'; | ||
|
||
$lualatex = "lualatex %O -shell-escape %S"; | ||
|
||
@default_files = ('main'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1646,4 +1646,4 @@ @article{kramer1991nonlinear | |
pages={233--243}, | ||
year={1991}, | ||
publisher={Wiley Online Library} | ||
} | ||
} |