Safe and Robust Deep Learning
Gagandeep Singh PhD Student Department of Computer Science
1
Safe and Robust Deep Learning Gagandeep Singh PhD Student - - PowerPoint PPT Presentation
Safe and Robust Deep Learning Gagandeep Singh PhD Student Department of Computer Science 1 SafeAI @ ETH Zurich (safeai.ethz.ch) Joint work with Markus Timon Matthew Mislav Petar Martin Maximilian Dana Vechev Pschel Gehr Mirman
1
2
Martin Vechev Markus Püschel Timon Gehr Matthew Mirman Mislav Balunovic Maximilian Baader Petar Tsankov Dana Drachsler
Publications: S&P’18: AI2: Safety and Robustness Certification of Neural Networks with Abstract Interpretation NeurIPS’18: Fast and Effective Robustness Certification POPL’19: An Abstract Domain for Certifying Neural Networks ICLR’19: Boosting Robustness Certification of Neural Networks ICML’18: Differentiable Abstract Interpretation for Provably Robust Neural Networks ICML’19: DL2: Training and Querying Neural Network with Logic
Systems: ERAN: Generic neural network verifier DiffAI: System for training provably robust networks DL2: System for training and querying networks with logical constraints
https://www.amazon.com/ Amazon-Echo-And-Alexa-Devices https://waymo.com/tech/
Self driving cars Voice assistant Translation
https://translate.google.com
3
Adding small noise to the input audio makes the network transcribe any arbitrary phrase Audio Adversarial Examples: Targeted Attacks on Speech-to-Text, ICML 2018 The self-driving car incorrectly decides to turn right on Input 2 and crashes into the guardrail DeepXplore: Automated Whitebox Testing of Deep Learning Systems, SOSP’17 Adversarial Examples for Evaluating Reading Comprehension Systems, EMNLP’17 The Ensemble model is fooled by the addition of an adversarial distracting sentence in blue.
4
5
6
7
8
Image classification network 𝒈 Region ℛ based on changes to pixel intensity Region ℛ based on geometric: e.g., rotation Speech recognition network 𝒈 Region ℛ based on added noise to audio signal Aircraft collision avoidance network 𝒈 Region ℛ based on input sensor values
Example networks and regions:
E.g. Goodfellow 2014, Carlini & Wagner 2016, Madry et al. 2017
E.g.: Reluplex [2017], Wong et al. 2018, AI2 [2018]
9
10
11
Based on Pixel Intensity changes Box DeepZ [NeurIPS’18] DeepPoly [POPL’19] RefineZono [ICLR’19]: MILP + DeepZ
ERAN verification framework https://github.com/eth-sri/eran
KPoly [submitted]: MILP + DeepPoly
Yes Fully connected Convolutional Residual LSTM ReLU Sigmoid Tanh Maxpool Neural Network
Sound w.r.t. floating point arithmetic
Extensible to other verification tasks
Possible sensor values
Aircraft sensors
Safety Property
GPUPoly [submitted]
No
Based on Geometric transformations: vector fields, rotations, etc. Based on Audio processing
Input region
State-of-the-art complete and incomplete verification
12
13
14
𝑦H 𝑦I 𝑦J 𝑦HH 𝑦K 𝑦L 𝑦M 𝑦N 𝑦O 𝑦P 𝑦H2 𝑦HK 1 max (0, 𝑦I) 1 1 −1 −1 1 max (0, 𝑦L) max (0, 𝑦N) max (0, 𝑦P) 1 1 1 1 1 [−1,1] [−1,1]
1
15
𝑦H 𝑦I 𝑦J 𝑦HH 𝑦K 𝑦L 𝑦M 𝑦N 𝑦O 𝑦P 𝑦H2 𝑦HK 1 max (0, 𝑦I) 1 1 −1 −1 1 max (0, 𝑦L) max (0, 𝑦N) max (0, 𝑦P) 1 1 1 1 1 [−1,1] [−1,1]
1
16
17
... Certification
Output constraint 𝜒_ 𝑦2 = 0 𝑦H = 2.60 + 0.015𝜃2 + 0.023𝜃H + 5.181𝜃K + ⋯ 𝑦K = 4.63 − 0.005𝜃2 − 0.006𝜃H + 0.023𝜃K + ⋯ … 𝑦M = 0.12 − 0.125𝜃2 + 0.102𝜃H + 3.012𝜃K + ⋯ ∀𝑗. 𝜃[ ∈ [0,1] Attacker region 𝑀) ball with 𝜗 = 0.1: 𝑦2 = [0.1,0.3] 𝑦H = [0.4,0.6] 𝑦K = [0.18,0.36] … 𝑦LPN = [0.7,0.9] All possible outputs (before softmax)
𝑦H 𝑦I 𝑦J 𝑦HH 𝑦K 𝑦L 𝑦M 𝑦N 𝑦O 𝑦P 𝑦H2 𝑦HK 1 max (0, 𝑦I) 1 1 −1 −1 1 max (0, 𝑦L) max (0, 𝑦N) max (0, 𝑦P) 1 1 1 1 1 [−1,1] [−1,1] 1
18
[−1,1] [−1,1] [−2,2] [−2,2] [0,2] [0,2] [0,4] [−2,2] [0,4] [0,2] [1,7] [0,2]
i and an upper polyhedral 𝑏[ j constraint with each 𝑦[
19
Transformer Polyhedra Our domain Affine Ο(𝑜𝑛K) Ο(𝑥rst
K
𝑀) ReLU Ο(exp (𝑜, 𝑛)) Ο(1)
𝑦H 𝑦I 𝑦J 𝑦HH 𝑦K 𝑦L 𝑦M 𝑦N 𝑦O 𝑦P 𝑦H2 𝑦HK 1 max (0, 𝑦I) 1 1 −1 −1 1 max (0, 𝑦L) max (0, 𝑦N) max (0, 𝑦P) 1 1 1 1 1 [−1,1] [−1,1]
1
20
𝑦H 𝑦I 𝑦J 𝑦HH 𝑦K 𝑦L 𝑦M 𝑦N 𝑦O 𝑦P 𝑦H2 𝑦HK 1 max (0, 𝑦I) 1 1 −1 −1 1 max (0, 𝑦L) max (0, 𝑦N) max (0, 𝑦P) 1 1 1 1 1 [−1,1] [−1,1] 1
21
𝑦I 𝑦J 𝑦N 𝑦O max (0, 𝑦I) max (0, 𝑦N)
i = 𝑏W j = 0, 𝑚W = 𝑣W = 0,
i = 𝑏W j = 𝑦[, 𝑚W = 𝑚[, 𝑣W = 𝑣[,
22
𝑦J 𝑦L 𝑦O 1 1
j
23
𝑦J 𝑦L 𝑦O 1 1
24
K
𝑦J 𝑦L 𝑦O 1 1 𝑦I 𝑦N max (0, 𝑦I) max (0, 𝑦N) 𝑦H 𝑦K 1 −1 1 1
25
𝑦H 𝑦I 𝑦J 𝑦HH 𝑦K 𝑦L 𝑦M 𝑦N 𝑦O 𝑦P 𝑦H2 𝑦HK 1 max (0, 𝑦I) 1 1 −1 −1 1 max (0, 𝑦L) max (0, 𝑦N) max (0, 𝑦P) 1 1 1 1 1 [−1,1] [−1,1] 1
26
27
28
𝑦H2 𝑦P 𝑚P 𝑚P
|
𝑣P
|
𝑣P
29
Rotate 𝐽2 between
Sampling + Lipschitz
ERAN
Sampling + Lipschitz
ERAN
Sampling + Lipschitz
ERAN Rotate 𝐽2 between
Rotate 𝐽2 between 0° and +5° ℛ ℛ ℛ 𝑄(ℛ) 𝑄(ℛ) 𝑄(ℛ)
30
31
32
33
34
Based on Pixel Intensity changes Box DeepZ [NeurIPS’18] DeepPoly [POPL’19] RefineZono [ICLR’19]: MILP + DeepZ
ERAN verification framework https://github.com/eth-sri/eran
K-Poly [submitted]: MILP + DeepPoly
Yes Fully connected Convolutional Residual LSTM ReLU Sigmoid Tanh Maxpool Neural Network
Sound w.r.t. floating point arithmetic
Extensible to other verification tasks
Possible sensor values
Aircraft sensors
Safety Property
GPUPoly [submitted]
No
Based on Geometric transformations: vector fields, rotations, etc. Based on Audio processing
Input region
State-of-the-art complete and incomplete verification
35
36