{"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/arxiv-2602-18406","title":"Latent Equivariant Operators for Robust Object Recognition: Promises and Challenges","arxiv_id":"2602.18406","date":"2026-02-20","proceeding":null,"authors":["Minh Dinh","Stéphane Deny"],"abstract":"Despite the successes of deep learning in computer vision, difficulties persist in recognizing objects that have undergone group-symmetric transformations rarely seen during training$\\unicode{x2013}$for example objects seen in unusual poses, scales, positions, or combinations thereof. Equivariant neural networks are a solution to the problem of generalizing across symmetric transformations, but require knowledge of transformations a priori. An alternative family of architectures proposes to learn equivariant operators in a latent space, from examples of symmetric transformations. Here, using simple datasets of rotated and translated noisy MNIST, we illustrate how such architectures can successfully be harnessed for out-of-distribution classification, thus overcoming the limitations of both traditional and equivariant networks. While conceptually enticing, we discuss challenges ahead on the path of scaling these architectures to more complex datasets. Our code is available at https://github.com/BRAIN-Aalto/equivariant_operator.","url_abs":"https://arxiv.org/abs/2602.18406","url_pdf":"https://arxiv.org/pdf/2602.18406","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2602.18406","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2602.18406"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/BRAIN-Aalto/equivariant_operator","reach":null}],"summary":{"unverified":8},"by_repo_kind":{"found_in_text":{"samples":8,"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":8,"samples":[{"code_sha256_prefix":"1115223db7dc1b2b","entry":"build_dataloaders","repo":"BRAIN-Aalto/equivariant_operator","repo_kind":"found_in_text","path":"mnist_train_cls.py","file_url":"https://github.com/BRAIN-Aalto/equivariant_operator/blob/HEAD/mnist_train_cls.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1115223db7dc1b2b"}},{"code_sha256_prefix":"5a10572ae6c726ba","entry":"cyclic_shift_matrix","repo":"BRAIN-Aalto/equivariant_operator","repo_kind":"found_in_text","path":"models/linear_classifier.py","file_url":"https://github.com/BRAIN-Aalto/equivariant_operator/blob/HEAD/models/linear_classifier.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5a10572ae6c726ba"}},{"code_sha256_prefix":"a846a651093ddd3a","entry":"evaluate_model","repo":"BRAIN-Aalto/equivariant_operator","repo_kind":"found_in_text","path":"training/base.py","file_url":"https://github.com/BRAIN-Aalto/equivariant_operator/blob/HEAD/training/base.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a846a651093ddd3a"}},{"code_sha256_prefix":"fa16bfcc116226f2","entry":"parse_degrees","repo":"BRAIN-Aalto/equivariant_operator","repo_kind":"found_in_text","path":"mnist_train_cls.py","file_url":"https://github.com/BRAIN-Aalto/equivariant_operator/blob/HEAD/mnist_train_cls.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fa16bfcc116226f2"}},{"code_sha256_prefix":"e1c64c7e77d13ba6","entry":"run_model","repo":"BRAIN-Aalto/equivariant_operator","repo_kind":"found_in_text","path":"training/rotate.py","file_url":"https://github.com/BRAIN-Aalto/equivariant_operator/blob/HEAD/training/rotate.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e1c64c7e77d13ba6"}},{"code_sha256_prefix":"e1eb59520a55014d","entry":"run_model","repo":"BRAIN-Aalto/equivariant_operator","repo_kind":"found_in_text","path":"training/xshift.py","file_url":"https://github.com/BRAIN-Aalto/equivariant_operator/blob/HEAD/training/xshift.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e1eb59520a55014d"}},{"code_sha256_prefix":"90d7d7e5feaadf88","entry":"train_one_epoch","repo":"BRAIN-Aalto/equivariant_operator","repo_kind":"found_in_text","path":"training/base.py","file_url":"https://github.com/BRAIN-Aalto/equivariant_operator/blob/HEAD/training/base.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"90d7d7e5feaadf88"}},{"code_sha256_prefix":"bad0a9b43c89db8b","entry":"training_loop","repo":"BRAIN-Aalto/equivariant_operator","repo_kind":"found_in_text","path":"training/base.py","file_url":"https://github.com/BRAIN-Aalto/equivariant_operator/blob/HEAD/training/base.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bad0a9b43c89db8b"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}