{"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/commutative-lie-group-vae-for-disentanglement","title":"Commutative Lie Group VAE for Disentanglement Learning","arxiv_id":"2106.03375","date":"2021-06-07","proceeding":null,"authors":["Xinqi Zhu","Chang Xu","DaCheng Tao"],"abstract":"We view disentanglement learning as discovering an underlying structure that equivariantly reflects the factorized variations shown in data. Traditionally, such a structure is fixed to be a vector space with data variations represented by translations along individual latent dimensions. We argue this simple structure is suboptimal since it requires the model to learn to discard the properties (e.g. different scales of changes, different levels of abstractness) of data variations, which is an extra work than equivariance learning. Instead, we propose to encode the data variations with groups, a structure not only can equivariantly represent variations, but can also be adaptively optimized to preserve the properties of data variations. Considering it is hard to conduct training on group structures, we focus on Lie groups and adopt a parameterization using Lie algebra. Based on the parameterization, some disentanglement learning constraints are naturally derived. A simple model named Commutative Lie Group VAE is introduced to realize the group-based disentanglement learning. Experiments show that our model can effectively learn disentangled representations without supervision, and can achieve state-of-the-art performance without extra constraints.","url_abs":"https://arxiv.org/abs/2106.03375v1","url_pdf":"https://arxiv.org/pdf/2106.03375v1.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":"commutative-lie-group-vae-for-disentanglement","repo_url":"https://github.com/zhuxinqimac/CommutativeLieGroupVAE-Pytorch","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"commutative-lie-group-vae-for-disentanglement","repo_url":"https://github.com/mmrl/lost-in-latent-space","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"disentanglement","task_name":"Disentanglement"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2106.03375","atlas_url":"https://app.syntology.ai/?focus=2106.03375","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2106.03375"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/mmrl/lost-in-latent-space","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zhuxinqimac/CommutativeLieGroupVAE-Pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_draft_wrong":1,"unverified":14},"by_repo_kind":{"official":{"samples":15,"ran":1,"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":"f29345568db89515","entry":"matrix_diag","repo":"zhuxinqimac/CommutativeLieGroupVAE-Pytorch","repo_kind":"official","path":"models/dip_vae.py","file_url":"https://github.com/zhuxinqimac/CommutativeLieGroupVAE-Pytorch/blob/HEAD/models/dip_vae.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f29345568db89515"}},{"code_sha256_prefix":"c8c0fc37731d8f65","entry":"attn_stats","repo":"zhuxinqimac/CommutativeLieGroupVAE-Pytorch","repo_kind":"official","path":"models/utils.py","file_url":"https://github.com/zhuxinqimac/CommutativeLieGroupVAE-Pytorch/blob/HEAD/models/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c8c0fc37731d8f65"}},{"code_sha256_prefix":"a3fd6939c5efba47","entry":"beta_celeb_encoder","repo":"zhuxinqimac/CommutativeLieGroupVAE-Pytorch","repo_kind":"official","path":"models/beta.py","file_url":"https://github.com/zhuxinqimac/CommutativeLieGroupVAE-Pytorch/blob/HEAD/models/beta.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a3fd6939c5efba47"}},{"code_sha256_prefix":"8c9290faed00844f","entry":"beta_shape_encoder","repo":"zhuxinqimac/CommutativeLieGroupVAE-Pytorch","repo_kind":"official","path":"models/beta.py","file_url":"https://github.com/zhuxinqimac/CommutativeLieGroupVAE-Pytorch/blob/HEAD/models/beta.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8c9290faed00844f"}},{"code_sha256_prefix":"5a25b9447af5511e","entry":"beta_shapes_decoder","repo":"zhuxinqimac/CommutativeLieGroupVAE-Pytorch","repo_kind":"official","path":"models/beta.py","file_url":"https://github.com/zhuxinqimac/CommutativeLieGroupVAE-Pytorch/blob/HEAD/models/beta.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5a25b9447af5511e"}},{"code_sha256_prefix":"d2653edfda6250cd","entry":"count_parameters","repo":"zhuxinqimac/CommutativeLieGroupVAE-Pytorch","repo_kind":"official","path":"models/utils.py","file_url":"https://github.com/zhuxinqimac/CommutativeLieGroupVAE-Pytorch/blob/HEAD/models/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d2653edfda6250cd"}},{"code_sha256_prefix":"e3db85df9560a4d6","entry":"dip_vae_i_loss","repo":"zhuxinqimac/CommutativeLieGroupVAE-Pytorch","repo_kind":"official","path":"models/dip_vae.py","file_url":"https://github.com/zhuxinqimac/CommutativeLieGroupVAE-Pytorch/blob/HEAD/models/dip_vae.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e3db85df9560a4d6"}},{"code_sha256_prefix":"2a32245f4820873d","entry":"dip_vae_ii_loss","repo":"zhuxinqimac/CommutativeLieGroupVAE-Pytorch","repo_kind":"official","path":"models/dip_vae.py","file_url":"https://github.com/zhuxinqimac/CommutativeLieGroupVAE-Pytorch/blob/HEAD/models/dip_vae.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2a32245f4820873d"}},{"code_sha256_prefix":"406c6e802e6ba500","entry":"gaussian_kls","repo":"zhuxinqimac/CommutativeLieGroupVAE-Pytorch","repo_kind":"official","path":"models/losses.py","file_url":"https://github.com/zhuxinqimac/CommutativeLieGroupVAE-Pytorch/blob/HEAD/models/losses.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"406c6e802e6ba500"}},{"code_sha256_prefix":"a16604e7e8d463ba","entry":"get_mean","repo":"zhuxinqimac/CommutativeLieGroupVAE-Pytorch","repo_kind":"official","path":"collect_results.py","file_url":"https://github.com/zhuxinqimac/CommutativeLieGroupVAE-Pytorch/blob/HEAD/collect_results.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a16604e7e8d463ba"}},{"code_sha256_prefix":"049a2844665499ee","entry":"get_num","repo":"zhuxinqimac/CommutativeLieGroupVAE-Pytorch","repo_kind":"official","path":"collect_results.py","file_url":"https://github.com/zhuxinqimac/CommutativeLieGroupVAE-Pytorch/blob/HEAD/collect_results.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"049a2844665499ee"}},{"code_sha256_prefix":"da165531811b0868","entry":"get_std","repo":"zhuxinqimac/CommutativeLieGroupVAE-Pytorch","repo_kind":"official","path":"collect_results.py","file_url":"https://github.com/zhuxinqimac/CommutativeLieGroupVAE-Pytorch/blob/HEAD/collect_results.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"da165531811b0868"}},{"code_sha256_prefix":"9dd58bd04c5e1e9a","entry":"parse_val_logs","repo":"zhuxinqimac/CommutativeLieGroupVAE-Pytorch","repo_kind":"official","path":"trainin_loop.py","file_url":"https://github.com/zhuxinqimac/CommutativeLieGroupVAE-Pytorch/blob/HEAD/trainin_loop.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9dd58bd04c5e1e9a"}},{"code_sha256_prefix":"0b7e7c9fb991cbe8","entry":"sprites_label_to_action","repo":"zhuxinqimac/CommutativeLieGroupVAE-Pytorch","repo_kind":"official","path":"models/utils.py","file_url":"https://github.com/zhuxinqimac/CommutativeLieGroupVAE-Pytorch/blob/HEAD/models/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0b7e7c9fb991cbe8"}},{"code_sha256_prefix":"cfca2b62d69fcc71","entry":"to_cuda","repo":"zhuxinqimac/CommutativeLieGroupVAE-Pytorch","repo_kind":"official","path":"trainin_loop.py","file_url":"https://github.com/zhuxinqimac/CommutativeLieGroupVAE-Pytorch/blob/HEAD/trainin_loop.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"cfca2b62d69fcc71"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}