{"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/challenging-common-assumptions-in-the","title":"Challenging Common Assumptions in the Unsupervised Learning of Disentangled Representations","arxiv_id":"1811.12359","date":"2018-11-29","proceeding":"ICML 2019 6","authors":["Francesco Locatello","Stefan Bauer","Mario Lucic","Gunnar Rätsch","Sylvain Gelly","Bernhard Schölkopf","Olivier Bachem"],"abstract":"The key idea behind the unsupervised learning of disentangled representations is that real-world data is generated by a few explanatory factors of variation which can be recovered by unsupervised learning algorithms. In this paper, we provide a sober look at recent progress in the field and challenge some common assumptions. We first theoretically show that the unsupervised learning of disentangled representations is fundamentally impossible without inductive biases on both the models and the data. Then, we train more than 12000 models covering most prominent methods and evaluation metrics in a reproducible large-scale experimental study on seven different data sets. We observe that while the different methods successfully enforce properties ``encouraged'' by the corresponding losses, well-disentangled models seemingly cannot be identified without supervision. Furthermore, increased disentanglement does not seem to lead to a decreased sample complexity of learning for downstream tasks. Our results suggest that future work on disentanglement learning should be explicit about the role of inductive biases and (implicit) supervision, investigate concrete benefits of enforcing disentanglement of the learned representations, and consider a reproducible experimental setup covering several data sets.","url_abs":"https://arxiv.org/abs/1811.12359v4","url_pdf":"https://arxiv.org/pdf/1811.12359v4.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":"challenging-common-assumptions-in-the","repo_url":"https://github.com/google-research/disentanglement_lib","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"challenging-common-assumptions-in-the","repo_url":"https://github.com/WGierke/CSBestPaperAwards","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"challenging-common-assumptions-in-the","repo_url":"https://github.com/WGierke/best_paper_awards","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"challenging-common-assumptions-in-the","repo_url":"https://github.com/causal-disentanglement/disentanglement_lib","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"challenging-common-assumptions-in-the","repo_url":"https://github.com/ftraeuble/disentanglement_lib","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"challenging-common-assumptions-in-the","repo_url":"https://github.com/noahcao/disentanglement_lib_med","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"challenging-common-assumptions-in-the","repo_url":"https://github.com/pluu2/SeparationFactor","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"challenging-common-assumptions-in-the","repo_url":"https://github.com/richard-coder-nai/disentanglement-lib-necessity","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}}],"tasks":[{"task_slug":"disentanglement","task_name":"Disentanglement"},{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1811.12359","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1811.12359"}},"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/ftraeuble/disentanglement_lib","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/noahcao/disentanglement_lib_med","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/WGierke/CSBestPaperAwards","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pluu2/SeparationFactor","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/richard-coder-nai/disentanglement-lib-necessity","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/WGierke/best_paper_awards","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/causal-disentanglement/disentanglement_lib","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/google-research/disentanglement_lib","reach":null}],"summary":{"ran_honours":1,"ran_violates":1,"ran_fixture":1},"by_repo_kind":{"official":{"samples":2,"ran":2,"repositories":1},"listed":{"samples":1,"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":1,"samples":[{"code_sha256_prefix":"4a7888d5b577c6b7","entry":"get_rotation_mat_QR","repo":"richard-coder-nai/disentanglement-lib-necessity","repo_kind":"listed","path":"disentanglement_lib/evaluation/evaluate.py","file_url":"https://github.com/richard-coder-nai/disentanglement-lib-necessity/blob/HEAD/disentanglement_lib/evaluation/evaluate.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":2,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4a7888d5b577c6b7"}},{"code_sha256_prefix":"4adb351c2e3a7b3f","entry":"sigmoid","repo":"google-research/disentanglement_lib","repo_kind":"official","path":"disentanglement_lib/visualize/visualize_model.py","file_url":"https://github.com/google-research/disentanglement_lib/blob/HEAD/disentanglement_lib/visualize/visualize_model.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":2,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4adb351c2e3a7b3f"}},{"code_sha256_prefix":"42b250955afb2f39","entry":"latent_traversal_1d_multi_dim","repo":"google-research/disentanglement_lib","repo_kind":"official","path":"disentanglement_lib/visualize/visualize_model.py","file_url":"https://github.com/google-research/disentanglement_lib/blob/HEAD/disentanglement_lib/visualize/visualize_model.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"42b250955afb2f39"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}