eth-sri / eran

ETH Robustness Analyzer for Deep Neural Networks
Apache License 2.0
320 stars 103 forks source link

About sigmoid activation for complete verification #55

Closed zhangzhaodi233 closed 3 years ago

zhangzhaodi233 commented 3 years ago

Hi,

when I was using latest eran's code to verify cnn with sigmoid activation, I encountered problems in the following code. It told me the 'relu_groups' is NoneType. Then I found that code will check the type of 'relu_groups' in the condition of 'ReLU' but will not check in the condition of 'Sigmoid'.

My question is that whether the code cannot verify the sigmoid activation completely now?

https://github.com/eth-sri/eran/blob/7f87ef966c108bfd9af3c4c84ea3031d03f8e8d9/tf_verify/ai_milp.py#L530-L535

https://github.com/eth-sri/eran/blob/7f87ef966c108bfd9af3c4c84ea3031d03f8e8d9/tf_verify/ai_milp.py#L521-L528

mnmueller commented 3 years ago

Hi there,

Thank you for your interest in ERAN. Currently, complete verification for sigmoid and tanh activation is not supported. However, we have updated the code to yield sound bounds instead of throwing an error. We are planning to add a more precise (but ultimately still incomplete) MILP based verification for tanh and sigmoid activations in the future.

Cheers, Mark Müller