{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/pushpull-net-inhibition-driven-resnet-robust","title":"PushPull-Net: Inhibition-driven ResNet robust to image corruptions","arxiv_id":"2408.04077","date":"2024-08-07","proceeding":null,"authors":["Guru Swaroop Bennabhaktula","Enrique Alegre","Nicola Strisciuglio","George Azzopardi"],"abstract":"We introduce a novel computational unit, termed PushPull-Conv, in the first layer of a ResNet architecture, inspired by the anti-phase inhibition phenomenon observed in the primary visual cortex. This unit redefines the traditional convolutional layer by implementing a pair of complementary filters: a trainable push kernel and its counterpart, the pull kernel. The push kernel (analogous to traditional convolution) learns to respond to specific stimuli, while the pull kernel reacts to the same stimuli but of opposite contrast. This configuration enhances stimulus selectivity and effectively inhibits response in regions lacking preferred stimuli. This effect is attributed to the push and pull kernels, which produce responses of comparable magnitude in such regions, thereby neutralizing each other. The incorporation of the PushPull-Conv into ResNets significantly increases their robustness to image corruption. Our experiments with benchmark corruption datasets show that the PushPull-Conv can be combined with other data augmentation techniques to further improve model robustness. We set a new robustness benchmark on ResNet50 achieving an $mCE$ of 49.95$\\%$ on ImageNet-C when combining PRIME augmentation with PushPull inhibition.","url_abs":"https://arxiv.org/abs/2408.04077v2","url_pdf":"https://arxiv.org/pdf/2408.04077v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"pushpull-net-inhibition-driven-resnet-robust","repo_url":"https://github.com/bgswaroop/pushpull-conv","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"domain-generalization","task_name":"Domain Generalization"}],"methods":[{"method_slug":"average-pooling","method_name":"Average Pooling"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"pushpull-conv","method_name":"PushPull-Conv"},{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[],"methods_introduced":[{"slug":"pushpull-conv","name":"PushPull-Conv","full_name":"Push Pull Convolutions"}],"results":[{"leaderboard":"/sota/domain-generalization-on-imagenet-c","task":"Domain Generalization","dataset":"ImageNet-C","model":"ResNet-50 (PushPull-Conv) + PRIME","rank_in_archive_order":27,"of":47,"metrics":{"Number of params":"25.6","Top 1 Accuracy":"69.4","mean Corruption Error (mCE)":"49.95"},"uses_additional_data":false}],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}