|
Aleksandar Zeljić
Stanford University
ARGO Seminar, Feb 2020 |
New implementation for aircraft colision avoidance
Encounter geometry ACAS X Advisory
Model as Markov Decision Process solve using DP:
Instead of hand-crafting complex software:
Application in safety critical domains?
Traditionally:
Specification + Implementation + Decision Procedures
In Machine Learning:
? + DNN + Marabou
Open questions:
|
|
|
Robustness properties: |
Reachability
Optimization
Search and Optimization
Search and Reachability
Fix all ReLUs linear problem
ReLUs cases
Simplex + Case-splitting
Re-implementation of Reluplex algorithm
FCFF and Convolutional DNNs with piece-wise linear activation functions
Network formats: .nnet, .pb (TensorFlow)
Properties: .txt, via Python interface
Simplex - finds a satisfying assignment of linear constraints
SMT - manages splits of piece-wise linear constraints
Bound tightening - propagates bounds through the network
ReLU splits - guesses to simplify the problem
exponential search space
How can we focus the search?
Narrowing input ranges can fix hundreds of ReLUs
Which ranges do we choose? On which inputs?
|
TIMEOUT:
|
SAT:
ALL UNSAT:
|
./marabou --dnc --num-workers=4 --online-split=4 --init-to=5s --to-factor=1.5| Benchmark set | Marabou | Reluplex | ReluVal | Planet | |
|---|---|---|---|---|---|
| ACAS Xu | (135) | ✔ | ✔ | ✔ | ✔ |
| TwinStream | (81) | ✔ | ✔ | ||
| CollisionAvoidance | (500) | ✔ | ✔ | ||
Scaling experiment:
|
|
|
|
|
|
|
|
Partitioning strategy:
Polarity-based branching - targets SAT instances
Pre-processing - probe for ReLUs with fixed polarity
CDCL solver integration and lifting the Boolean structure
FCFF and Conv. DNNs with p.w. linear activation functions
NN formats: .nnet, .pb (TensorFlow), .onnx (in progress)
Properties: .txt, via Python interface
Network-level reasoning - Symbolic bound tightening
Parallel Divide & Conquer algorithm
|
|