All Projects → verivital → nnv

verivital / nnv

Licence: other
Neural Network Verification Software Tool

Programming Languages

matlab
3953 projects
HTML
75241 projects
c
50402 projects - #5 most used programming language
javascript
184084 projects - #8 most used programming language
Jupyter Notebook
11667 projects
Makefile
30231 projects

Projects that are alternatives of or similar to nnv

node-identif
🔑 Helper class to verify one's identity via personal channels(SMS, Phone, E-Mail and more!)
Stars: ✭ 27 (-61.97%)
Mutual labels:  verification
go-journal
Verified, concurrent, crash-safe transaction system
Stars: ✭ 28 (-60.56%)
Mutual labels:  verification
fastapi-cloudauth
Simple integration between FastAPI and cloud authentication services (AWS Cognito, Auth0, Firebase Authentication).
Stars: ✭ 221 (+211.27%)
Mutual labels:  verification
libvata
VATA Tree Automata Library
Stars: ✭ 23 (-67.61%)
Mutual labels:  verification
vericert
A formally verified high-level synthesis tool based on CompCert and written in Coq.
Stars: ✭ 63 (-11.27%)
Mutual labels:  verification
munta
Fully verified model checker for realtime systems
Stars: ✭ 14 (-80.28%)
Mutual labels:  verification
netdice
A scalable and accurate probabilistic network configuration analyzer verifying network properties in the face of random failures.
Stars: ✭ 28 (-60.56%)
Mutual labels:  verification
captcha-generator
An NPM package to generate captcha images that can be used in Discord bots or various other projects
Stars: ✭ 45 (-36.62%)
Mutual labels:  verification
SyReNN
SyReNN: Symbolic Representations for Neural Networks
Stars: ✭ 35 (-50.7%)
Mutual labels:  verification
IDVerification
"Very simple but works well" Computer Vision based ID verification solution provided by LibraX.
Stars: ✭ 44 (-38.03%)
Mutual labels:  verification
vigor
Main repository of the Vigor NF verification project.
Stars: ✭ 40 (-43.66%)
Mutual labels:  verification
VerificationCodeBox
验证码 && 密码 校验View(类似于支付宝、网商银行等密码校验框)
Stars: ✭ 25 (-64.79%)
Mutual labels:  verification
yoti-php-sdk
The PHP SDK for interacting with the Yoti Platform
Stars: ✭ 22 (-69.01%)
Mutual labels:  verification
pact-provider-verifier
Cross-platform, generic language, Pact provider verification tool
Stars: ✭ 27 (-61.97%)
Mutual labels:  verification
move
Home of the Move programming language
Stars: ✭ 125 (+76.06%)
Mutual labels:  verification
qcert
Compilation and Verification of Data-Centric Languages
Stars: ✭ 50 (-29.58%)
Mutual labels:  verification
in3-legacy
[Deprecated] Typescript-version of the IN3 client.
Stars: ✭ 69 (-2.82%)
Mutual labels:  verification
cafeobj
Development of the CafeOBJ interpreter
Stars: ✭ 25 (-64.79%)
Mutual labels:  verification
flutter verification code input
Verify code input. You can create a verify code input.
Stars: ✭ 48 (-32.39%)
Mutual labels:  verification
Robotics-Object-Pose-Estimation
A complete end-to-end demonstration in which we collect training data in Unity and use that data to train a deep neural network to predict the pose of a cube. This model is then deployed in a simulated robotic pick-and-place task.
Stars: ✭ 153 (+115.49%)
Mutual labels:  autonomy

nnv

Matlab Toolbox for Neural Network Verification

This toolbox implements reachability methods for analyzing neural networks, particularly with a focus on closed-loop controllers in autonomous cyber-physical systems (CPS).

related tools and software

This toolbox makes use of the neural network model transformation tool (nnmt) and for closed-loop systems analysis, the hybrid systems model transformation and translation tool (HyST).

execution without installation:

nnv can be executed online without installing Matlab or other dependencies through CodeOcean via the following CodeOcean capsules:

installation:

1) Install Matlab (2020a or newer) with at least the following toolboxes:
   Computer Vision
   Control Systems
   Deep Learning
   Image Processing
   Optimization
   Parallel Processing
   Symbolic Math
   System Identification
   Statistics and Machine Learning

2) Clone or download the nnv toolbox from (https://github.com/verivital/nnv)

Note: to operate correctly, nnv depends on other tools (CORA, NNMT, HyST), which are included as git submodules. As such, you must clone recursively, e.g., with the following:

git clone --recursive https://github.com/verivital/nnv.git

3) Open matlab, then go to the directory where nnv exists on your machine, then run the `install.m` script located at /nnv/

Note: if you restart Matlab, rerun either install.m or startup_nnv.m, which will add the necessary dependencies to the path; you alternatively can run savepath after installation to avoid this step after restarting Matlab, but this may require administrative privileges

4) To run verification for convolutional neural networks (CNNs) on VGG16/VGG19, you may need additional support packages installed:

   4-1) https://www.mathworks.com/matlabcentral/fileexchange/61733-deep-learning-toolbox-model-for-vgg-16-network  

   4-2) https://www.mathworks.com/help/deeplearning/ref/vgg19.html

uninstallation:

1) Open matlab, then go to `/nnv/` and execute the `uninstall.m` script

running tests and examples

Go into the `tests/examples` folders to execute the scripts for testing/analyzing examples.

Demo Video

A recent video demonstration of NNV is available.

Alt text

novel features

  1. NNV can compute and visualize the exact reachable sets of feedforward nerual networks with ReLU/Saturation activation functions. The computation can be accelerated using parallel computing in Matlab. The computed reachable set can be used for safety verification of the networks.

Vertical view of a generic example of the ACAS Xu benchmark set

Exact reachable set of a ACAS Xu network

Verification time (VT) can be reduced by increasing the number of cores (N)

Reachable set of a ACAS Xu network with different methods
  1. NNV can construct and visualize the complete counter inputs of feedforward neural networks with ReLU/Saturation activation functions.

An Complete Set of Counter Inputs of a ACASXu network
  1. NNV can compute and visualize the over-approximate reachable sets of feedforward neural networks with Tanh, Sigmoid activation functions.

Reachable set of a network with Sigmoid activation functions
  1. NNV can compute and visualize the reachable sets of neural network control systems, i.e., systems with plant + neural network controllers which can be used to verify or falsify safety properties of the systems.

Neural Network Adaptive Cruise Control System

Reachable set of the neural network adaptive cruise control system

A fasification trace of the neural network adaptive cruise control system

Advaced Emergency Braking System with Reinforcement Controller

Reachable set of the advanced emergency braking system with reinforcement controller

Safe initial condition of the advanced emergency braking system with reinforcement controller
  1. New feature: Our nnv now supports robustness verification for very large convolutional neural networks such as VGG16, VGG19 under adversarial attacks (FGSM, DeepFoll, etc.)

VGG16 under adversarial attacks

VGG19 exact output ranges corresponding to FGSM adversarial attack

nnv generates counter examples for VGG19 corresponding to FGSM adversarial attack

contributors

references

The methods implemented in nnv are based upon the following papers.

  • Hoang-Dung Tran, Neelanjana Pal, Patrick Musau, Xiaodong Yang, Nathaniel P. Hamilton, Diego Manzanas Lopez, Stanley Bak, Taylor T. Johnson, "Robustness Verification of Semantic Segmentation Neural Networks using Relaxed Reachability", In 33rd International Conference on Computer-Aided Verification (CAV), Springer, 2021. [http://www.taylortjohnson.com/research/tran2021cav.pdf]

  • Hoang-Dung Tran, Patrick Musau, Diego Manzanas Lopez, Xiaodong Yang, Luan Viet Nguyen, Weiming Xiang, Taylor T.Johnson, "NNV: A Tool for Verification of Deep Neural Networks and Learning-Enabled Autonomous Cyber-Physical Systems", 32nd International Conference on Computer-Aided Verification (CAV), 2020. [http://taylortjohnson.com/research/tran2020cav_tool.pdf]

  • Hoang-Dung Tran, Stanley Bak, Weiming Xiang, Taylor T.Johnson, "Towards Verification of Large Convolutional Neural Networks Using ImageStars", 32nd International Conference on Computer-Aided Verification (CAV), 2020. [http://taylortjohnson.com/research/tran2020cav.pdf]

  • Stanley Bak, Hoang-Dung Tran, Kerianne Hobbs, Taylor T. Johnson, "Improved Geometric Path Enumeration for Verifying ReLU Neural Networks", In 32nd International Conference on Computer-Aided Verification (CAV), 2020. [http://www.taylortjohnson.com/research/bak2020cav.pdf]

  • Hoang-Dung Tran, Weiming Xiang, Taylor T.Johnson, "Verification Approaches for Learning-Enabled Autonomous Cyber-Physical Systems", The IEEE Design & Test 2020. [http://www.taylortjohnson.com/research/tran2020dandt.pdf]

  • Hoang-Dung Tran, Patrick Musau, Diego Manzanas Lopez, Xiaodong Yang, Luan Viet Nguyen, Weiming Xiang, Taylor T.Johnson, "Star-Based Reachability Analsysis for Deep Neural Networks", The 23rd International Symposium on Formal Methods (FM), Porto, Portugal, 2019, Acceptance Rate 30%. . [http://taylortjohnson.com/research/tran2019fm.pdf]

  • Hoang-Dung Tran, Feiyang Cei, Diego Manzanas Lopez, Taylor T.Johnson, Xenofon Koutsoukos, "Safety Verification of Cyber-Physical Systems with Reinforcement Learning Control", The International Conference on Embedded Software (EMSOFT), New York, October, 2019. Acceptance Rate 25%. [http://taylortjohnson.com/research/tran2019emsoft.pdf]

  • Hoang-Dung Tran, Patrick Musau, Diego Manzanas Lopez, Xiaodong Yang, Luan Viet Nguyen, Weiming Xiang, Taylor T.Johnson, "Parallelzable Reachability Analsysis Algorithms for FeedForward Neural Networks", In 7th International Conference on Formal Methods in Software Engineering (FormaLISE), 27, May, 2019 in Montreal, Canada, Acceptance Rate 28%. [http://taylortjohnson.com/research/tran2019formalise.pdf]

  • Weiming Xiang, Hoang-Dung Tran, Taylor T. Johnson, "Output Reachable Set Estimation and Verification for Multi-Layer Neural Networks", In IEEE Transactions on Neural Networks and Learning Systems (TNNLS), 2018, March. [http://taylortjohnson.com/research/xiang2018tnnls.pdf]

  • Weiming Xiang, Hoang-Dung Tran, Taylor T. Johnson, "Reachable Set Computation and Safety Verification for Neural Networks with ReLU Activations", In In Submission, IEEE, 2018, September. [http://www.taylortjohnson.com/research/xiang2018tcyb.pdf]

  • Weiming Xiang, Diego Manzanas Lopez, Patrick Musau, Taylor T. Johnson, "Reachable Set Estimation and Verification for Neural Network Models of Nonlinear Dynamic Systems", In Unmanned System Technologies: Safe, Autonomous and Intelligent Vehicles, Springer, 2018, September. [http://www.taylortjohnson.com/research/xiang2018ust.pdf]

  • Reachability Analysis and Safety Verification for Neural Network Control Systems, Weiming Xiang, Taylor T. Johnson [https://arxiv.org/abs/1805.09944]

  • Weiming Xiang, Patrick Musau, Ayana A. Wild, Diego Manzanas Lopez, Nathaniel Hamilton, Xiaodong Yang, Joel Rosenfeld, Taylor T. Johnson, "Verification for Machine Learning, Autonomy, and Neural Networks Survey," October 2018, [https://arxiv.org/abs/1810.01989]

  • Specification-Guided Safety Verification for Feedforward Neural Networks, Weiming Xiang, Hoang-Dung Tran, Taylor T. Johnson [https://arxiv.org/abs/1812.06161]

  • Diego Manzanas Lopez, Patrick Musau, Hoang-Dung Tran, Taylor T.Johnson, "Verification of Closed-loop Systems with Neural Network Controllers (Benchmark Proposal)", The 6th International Workshop on Applied Verification of Continuous and Hybrid Systems (ARCH2019). Montreal, Canada, 2019. [http://taylortjohnson.com/research/lopez2019arch.pdf]

  • Diego Manzanas Lopez, Patrick Musau, Hoang-Dung Tran, Souradeep Dutta, Taylor J. Carpenter, Radoslav Ivanov, Taylor T.Johnson, "ARCH-COMP19 Category Report: Artificial Intelligence / Neural Network Control Systems (AINNCS) for Continuous and Hybrid Systems Plants", 3rd International Competition on Verifying Continuous and Hybrid Systems (ARCH-COMP2019), The 6th International Workshop on Applied Verification of Continuous and Hybrid Systems (ARCH2019). Montreal, Canada, 2019. [http://taylortjohnson.com/research/lopez2019archcomp.pdf]

acknowledgements

This work is supported in part by the DARPA Assured Autonomy program.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].