{"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/a-rotation-equivariant-convolutional-neural","title":"A rotation-equivariant convolutional neural network model of primary visual cortex","arxiv_id":"1809.10504","date":"2018-09-27","proceeding":"ICLR 2019 5","authors":["Alexander S. Ecker","Fabian H. Sinz","Emmanouil Froudarakis","Paul G. Fahey","Santiago A. Cadena","Edgar Y. Walker","Erick Cobos","Jacob Reimer","Andreas S. Tolias","Matthias Bethge"],"abstract":"Classical models describe primary visual cortex (V1) as a filter bank of\norientation-selective linear-nonlinear (LN) or energy models, but these models\nfail to predict neural responses to natural stimuli accurately. Recent work\nshows that models based on convolutional neural networks (CNNs) lead to much\nmore accurate predictions, but it remains unclear which features are extracted\nby V1 neurons beyond orientation selectivity and phase invariance. Here we work\ntowards systematically studying V1 computations by categorizing neurons into\ngroups that perform similar computations. We present a framework to identify\ncommon features independent of individual neurons' orientation selectivity by\nusing a rotation-equivariant convolutional neural network, which automatically\nextracts every feature at multiple different orientations. We fit this model to\nresponses of a population of 6000 neurons to natural images recorded in mouse\nprimary visual cortex using two-photon imaging. We show that our\nrotation-equivariant network not only outperforms a regular CNN with the same\nnumber of feature maps, but also reveals a number of common features shared by\nmany V1 neurons, which deviate from the typical textbook idea of V1 as a bank\nof Gabor filters. Our findings are a first step towards a powerful new tool to\nstudy the nonlinear computations in V1.","url_abs":"http://arxiv.org/abs/1809.10504v1","url_pdf":"http://arxiv.org/pdf/1809.10504v1.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":"a-rotation-equivariant-convolutional-neural","repo_url":"https://github.com/aecker/cnn-sys-ident/tree/master/analysis/iclr2019","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1809.10504","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1809.10504"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/aecker/cnn-sys-ident/tree/master/analysis/iclr2019","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":5},"by_repo_kind":{"official":{"samples":5,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"22c4f698dd765ddc","entry":"group_sparsity_regularizer_2d","repo":"aecker/cnn-sys-ident","repo_kind":"official","path":"cnn_sys_ident/architectures/cores.py","file_url":"https://github.com/aecker/cnn-sys-ident/blob/HEAD/cnn_sys_ident/architectures/cores.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"22c4f698dd765ddc"}},{"code_sha256_prefix":"06ad978a0cceb3dc","entry":"inv_soft_threshold","repo":"aecker/cnn-sys-ident","repo_kind":"official","path":"cnn_sys_ident/architectures/utils.py","file_url":"https://github.com/aecker/cnn-sys-ident/blob/HEAD/cnn_sys_ident/architectures/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"06ad978a0cceb3dc"}},{"code_sha256_prefix":"eb7a8e72798de314","entry":"poisson","repo":"aecker/cnn-sys-ident","repo_kind":"official","path":"cnn_sys_ident/architectures/utils.py","file_url":"https://github.com/aecker/cnn-sys-ident/blob/HEAD/cnn_sys_ident/architectures/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"eb7a8e72798de314"}},{"code_sha256_prefix":"df746bc2001c5bcf","entry":"smoothness_regularizer_2d","repo":"aecker/cnn-sys-ident","repo_kind":"official","path":"cnn_sys_ident/architectures/cores.py","file_url":"https://github.com/aecker/cnn-sys-ident/blob/HEAD/cnn_sys_ident/architectures/cores.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"df746bc2001c5bcf"}},{"code_sha256_prefix":"20c6abdd07d0cabe","entry":"soft_threshold","repo":"aecker/cnn-sys-ident","repo_kind":"official","path":"cnn_sys_ident/architectures/utils.py","file_url":"https://github.com/aecker/cnn-sys-ident/blob/HEAD/cnn_sys_ident/architectures/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"20c6abdd07d0cabe"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}