huanzhang12 / RecurJac-and-CROWN

Reference implementations for RecurJac, CROWN, FastLin and FastLip (Neural Network verification and robustness certification algorithms) [Do not use this repo, use https://github.com/Verified-Intelligence/auto_LiRPA instead]
https://github.com/Verified-Intelligence/auto_LiRPA
BSD 2-Clause "Simplified" License
26 stars 6 forks source link

Certifying robustness on custom network #1

Open lhfowl opened 5 years ago

lhfowl commented 5 years ago

Hello,

I'm interested in running your certifiable robustness code on a small network (MobileNetV2) that I've trained on CIFAR10. I noticed you have instructions on how to train a network to then certify, but what code should I modify to use my own network?

huanzhang12 commented 5 years ago

@lhfowl Thank you for your interests in our work!

Currently this repository only provides a proof-of-concept implementation, and its implementation does not include convolutional layers (this is absolutely within by our theoretical framework but just unimplemented). Following the instructions you will be able to certify any MLP networks.

We are currently working on a re-implementation of RecurJac and CROWN that works with Pytorch and supports most common layers. I will let you know once that is ready.

huanzhang12 commented 5 years ago

Hi @lhfowl,

A new implementation of CROWN/Fast-Lin is available here: https://github.com/huanzhang12/CROWN-IBP

It uses PyTorch and supports CNN layers. You can try it out - it should at least be useful for verifying a VGG like architecture.