Skip to main content

Linear Relaxation for Certified Robustness Bound for Tensorflow Neural Networks

Project description

decomon


Decomon: Automatic Certified Perturbation Analysis of Neural Networks

Introduction

What is decomon? decomon is a library that allows the derivation of upper and lower bounds for the predictions of a Tensorflow/Keras neural network with perturbed inputs. In the current release, these bounds are represented as affine functions with respect to some variable under perturbation.

Previous works that tackled certified robustness with backward propagation relied on forward upper and lower bounds. In decomon, we explored various ways to tighten forward upper and lower bounds, while remaining backpropagation-compatible thanks to symbolic optimization.

Our algorithm improves existing forward linear relaxation algorithms for general Keras-based neural networks without manual derivation. Our implementation is also automatically differentiable. So far we support interval bound propagation, forward mode perturbation, backward mode perturbation as well as hybrid approaches.

decomon is compatible with a wider range of perturbation: boxes, $L_{\inf, 1, 2}$ norms or general convex sets described by their vertices.

We believe that decomon is a complementary tool to existing libraries for the certification of neural networks.

Since we rely on Tensorflow and not Pytorch, we are opening up the possibility for a new community to formally assess the robustness of their networks, without worrying about the technicality of the implementation. In this way, we hope to promote the formal certification of neural networks into safety critical systems.

Installation

Quick version:

pip install decomon

For more details, see the online documentation.

Quick start

You can see how to get certified lower and upper bounds for a basic Keras neural network in the Getting started section of the online documentation.

Documentation

The latest documentation is available online.

Examples

Some educational notebooks are available in tutorials/ folder. Links to launch them online with colab or binder are provided in the Tutorials section of the online documentation.

Contributing

We welcome any contribution. See more about how to contribute in the online documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

decomon-0.2.1.tar.gz (3.9 MB view details)

Uploaded Source

Built Distribution

decomon-0.2.1-py3-none-any.whl (90.5 kB view details)

Uploaded Python 3

File details

Details for the file decomon-0.2.1.tar.gz.

File metadata

  • Download URL: decomon-0.2.1.tar.gz
  • Upload date:
  • Size: 3.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for decomon-0.2.1.tar.gz
Algorithm Hash digest
SHA256 3f34ef77f53b9dec415021b84b587f6fba43b359908b52cbc203526ebfd13c1e
MD5 1dc47385e4766adff88382be87c98590
BLAKE2b-256 4e7cb53243a83be5244591887ff568c4bf8d17ea19a5e691af1a7c825298099a

See more details on using hashes here.

File details

Details for the file decomon-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: decomon-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 90.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for decomon-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d20acd9cddca1903d496bb0065bfc3dbe8c5d4da974c50eda1d12334b4985a67
MD5 03ea7a43cdf6ce25d59c1f90e736d4d9
BLAKE2b-256 d10488c52f539287533c59f85ef02230fc8c5998f07cc217fac34a87af512f9e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page