My Authors
Read all threads
Simulating a primary visual cortex at the front of CNNs improves their robustness to image perturbations. #AI still has a lot to learn from #neuroscience. Work co-lead with @joeldapello. Also @martin_schrimpf @JamesJDiCarlo @GeigerFranziska @neurobongo 1/N biorxiv.org/content/10.110…
This work was the result of an unexpected collaboration. Joel discovered that the ability of CNNs to explain V1 responses was correlated with their adversarial robustness. Particularly, adversarially trained models [@aleks_madry] had the most V1-like representations.
For those who don't know, CNNs are easily fooled by imperceptible perturbations explicitly crafted to induce mistakes (adversarial attacks). Currently, the best defense is to explicitly train models to be robust to these attacks which has a very high computational cost.
Simultaneously, I was building benchmarks to evaluate how well CNNs explain V1 single-neuron properties and found that a Gabor filter model constrained by empirical data [@DarioRingach] still outperformed all CNNs tested. Could we improve current CNNs by engineering a better V1?
We went on to develop VOneNets, hybrid CNNs with a fixed-weight V1 model front-end. Take any standard CNN architecture, remove its first block, and replace it by our empirically-constrained Gabor filter bank model of V1.
VOneNets based on 3 CNN architectures (ResNet50, CORnet-S, AlexNet) maintained similar clean accuracy, and were considerably more robust than the standard models! This increased robustness persisted for perturbation strengths that left the standard models near chance level.
Without any expensive adversarial training - just placing a V1 at the front! Surprisingly, VOneNets were not only better than standard models, but they outperformed SOTA on a conglomerate benchmark of perturbations with adversarial attacks and common image corruptions.
Which components of VOneNets are responsible for this gain in robustness? Interestingly, removing any part of the V1 model resulted in less robust models, suggesting that they all interact synergistically!
Removing V1 stochasticity had the largest single effect on perturbation accuracy. However, adding only V1 stochasticity to ResNet50 resulted in only 1/3 of the improvement in robustness. This suggests that V1 stochasticity and features interact nonlinearly to improve robustness!
Also, the vast majority of the improvement in robustness is not due to the stochasticity during the attack or inference. V1 stochasticity during training makes the downstream layers learn more robust representations.
We have very excited about these results as they clearly show that there is plenty of opportunities for a neuro-inspired AI. We feel that we are only tapping the tip of the iceberg and a lot of future work needs to be done!
This work was partly inspired by the fantastic study showing that regularizing CNNs to develop mouse V1-like representations leads to gains in robustness in gray-CIFAR. Zhe Li, @wielandbr @bethgelab @sinzlab @xaqlab @AToliasLab and others. arxiv.org/abs/1911.05072
Missing some Tweet in this thread? You can try to force a refresh.

Keep Current with Tiago Marques

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!