Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CNN: Normalization before/after L-inf is applied? #17

Closed
ChristopherBrix opened this issue Aug 11, 2020 · 2 comments
Closed

CNN: Normalization before/after L-inf is applied? #17

ChristopherBrix opened this issue Aug 11, 2020 · 2 comments

Comments

@ChristopherBrix
Copy link

ChristopherBrix commented Aug 11, 2020

I did not participate in the competition, but would like to use the CNN challenges to evaluate my own toolkit (Debona, based on Neurify). I've noticed that @FlorianJaeckle stated that the perturbation should be applied after the normalization (divide by 255, subtract mean, divide by variance). However, I can only reproduce the CIFAR10 results if I apply it before the normalization (after dividing by 255).
nnenum (@stanleybak) seems to do the same, as the networks are modified to include the normalization, and the perturbation is applied to the input

So is it safe to assume that the normalization should always be done last, for all 4 CNNs?

@ChristopherBrix ChristopherBrix changed the title Normalization before/after L-inf is applied? CNN: Normalization before/after L-inf is applied? Aug 11, 2020
@stanleybak
Copy link

There were two benchmarks proposed for CNN networks, one from @GgnDpSngh called ETH in nnenum which you linked to (called ggn in the report), and the other was proposed by @FlorianJaeckle that we call OVAL in nnenum. The normalization is done differently for these two. See here for the oval file we were working on with nnenum, although I'm not even sure if that's correct since nnenum didn't have results for the oval benchmarks in time for the report. The OVAL benchmarks are pretty hard, and use a long timeout.

For making sure the normalization is done correctly, the strategy I used was to make sure the images classified as expected. For OVAL, all images should classify correctly if the normalization is performed correctly. Hope that helps clear things up.

@ChristopherBrix
Copy link
Author

Great, thanks a lot! This makes sense now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants