{"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/variational-partial-group-convolutions-for","title":"Variational Partial Group Convolutions for Input-Aware Partial Equivariance of Rotations and Color-Shifts","arxiv_id":"2407.04271","date":"2024-07-05","proceeding":null,"authors":["Hyunsu Kim","Yegon Kim","Hongseok Yang","Juho Lee"],"abstract":"Group Equivariant CNNs (G-CNNs) have shown promising efficacy in various tasks, owing to their ability to capture hierarchical features in an equivariant manner. However, their equivariance is fixed to the symmetry of the whole group, limiting adaptability to diverse partial symmetries in real-world datasets, such as limited rotation symmetry of handwritten digit images and limited color-shift symmetry of flower images. Recent efforts address this limitation, one example being Partial G-CNN which restricts the output group space of convolution layers to break full equivariance. However, such an approach still fails to adjust equivariance levels across data. In this paper, we propose a novel approach, Variational Partial G-CNN (VP G-CNN), to capture varying levels of partial equivariance specific to each data instance. VP G-CNN redesigns the distribution of the output group elements to be conditioned on input data, leveraging variational inference to avoid overfitting. This enables the model to adjust its equivariance levels according to the needs of individual data points. Additionally, we address training instability inherent in discrete group equivariance models by redesigning the reparametrizable distribution. We demonstrate the effectiveness of VP G-CNN on both toy and real-world datasets, including MNIST67-180, CIFAR10, ColorMNIST, and Flowers102. Our results show robust performance, even in uncertainty metrics.","url_abs":"https://arxiv.org/abs/2407.04271v1","url_pdf":"https://arxiv.org/pdf/2407.04271v1.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":"variational-partial-group-convolutions-for","repo_url":"https://github.com/yegonkim/partial_equiv","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"variational-inference","task_name":"Variational Inference"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"variational-inference","method_name":"Variational Inference"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2407.04271","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2407.04271"}},"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/yegonkim/partial_equiv","reach":{"status":"ok"}}],"summary":{"ran":6,"unverified":2},"by_repo_kind":{"official":{"samples":8,"ran":6,"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":"e9343d6093b43b1f","entry":"get_rotation_matrix","repo":"yegonkim/partial_equiv","repo_kind":"official","path":"rotation/partial_equiv/partial_gconv/module.py","file_url":"https://github.com/yegonkim/partial_equiv/blob/HEAD/rotation/partial_equiv/partial_gconv/module.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e9343d6093b43b1f"}},{"code_sha256_prefix":"c165e72815ba2d8b","entry":"get_rotation_matrix_from_radian","repo":"yegonkim/partial_equiv","repo_kind":"official","path":"rotation/partial_equiv/partial_gconv/module.py","file_url":"https://github.com/yegonkim/partial_equiv/blob/HEAD/rotation/partial_equiv/partial_gconv/module.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c165e72815ba2d8b"}},{"code_sha256_prefix":"f18eeb0842879ad9","entry":"rot_img","repo":"yegonkim/partial_equiv","repo_kind":"official","path":"rotation/partial_equiv/partial_gconv/module.py","file_url":"https://github.com/yegonkim/partial_equiv/blob/HEAD/rotation/partial_equiv/partial_gconv/module.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f18eeb0842879ad9"}},{"code_sha256_prefix":"8ee1ef62ab8e3c03","entry":"rotate","repo":"yegonkim/partial_equiv","repo_kind":"official","path":"rotation/partial_equiv/ck/magnet.py","file_url":"https://github.com/yegonkim/partial_equiv/blob/HEAD/rotation/partial_equiv/ck/magnet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8ee1ef62ab8e3c03"}},{"code_sha256_prefix":"36054d957926060e","entry":"rotated_gaussian_window","repo":"yegonkim/partial_equiv","repo_kind":"official","path":"rotation/partial_equiv/ck/magnet.py","file_url":"https://github.com/yegonkim/partial_equiv/blob/HEAD/rotation/partial_equiv/ck/magnet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"36054d957926060e"}},{"code_sha256_prefix":"95b3aac05b68d97a","entry":"rotation_matrix","repo":"yegonkim/partial_equiv","repo_kind":"official","path":"rotation/partial_equiv/ck/magnet.py","file_url":"https://github.com/yegonkim/partial_equiv/blob/HEAD/rotation/partial_equiv/ck/magnet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"95b3aac05b68d97a"}},{"code_sha256_prefix":"bf1a7ef99b5692d9","entry":"gaussian_window","repo":"yegonkim/partial_equiv","repo_kind":"official","path":"rotation/partial_equiv/ck/mfn.py","file_url":"https://github.com/yegonkim/partial_equiv/blob/HEAD/rotation/partial_equiv/ck/mfn.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":"bf1a7ef99b5692d9"}},{"code_sha256_prefix":"c6bf7173f6f7beef","entry":"tensor_delete","repo":"yegonkim/partial_equiv","repo_kind":"official","path":"rotation/partial_equiv/groups/O2.py","file_url":"https://github.com/yegonkim/partial_equiv/blob/HEAD/rotation/partial_equiv/groups/O2.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":"c6bf7173f6f7beef"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}