{"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/continuous-relaxation-for-the-multivariate","title":"Learning Group Importance using the Differentiable Hypergeometric Distribution","arxiv_id":"2203.01629","date":"2022-03-03","proceeding":null,"authors":["Thomas M. Sutter","Laura Manduchi","Alain Ryser","Julia E. Vogt"],"abstract":"Partitioning a set of elements into subsets of a priori unknown sizes is essential in many applications. These subset sizes are rarely explicitly learned - be it the cluster sizes in clustering applications or the number of shared versus independent generative latent factors in weakly-supervised learning. Probability distributions over correct combinations of subset sizes are non-differentiable due to hard constraints, which prohibit gradient-based optimization. In this work, we propose the differentiable hypergeometric distribution. The hypergeometric distribution models the probability of different group sizes based on their relative importance. We introduce reparameterizable gradients to learn the importance between groups and highlight the advantage of explicitly learning the size of subsets in two typical applications: weakly-supervised learning and clustering. In both applications, we outperform previous approaches, which rely on suboptimal heuristics to model the unknown size of groups.","url_abs":"https://arxiv.org/abs/2203.01629v5","url_pdf":"https://arxiv.org/pdf/2203.01629v5.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":"continuous-relaxation-for-the-multivariate","repo_url":"https://github.com/thomassutter/mvhg","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"selection-bias","task_name":"Selection bias"},{"task_slug":"weakly-supervised-learning","task_name":"Weakly-supervised Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2203.01629","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.01629"}},"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/thomassutter/mvhg","reach":null}],"summary":{"ran_fixture":2,"ran_draft_wrong":3,"ran_honours":1,"unverified":5},"by_repo_kind":{"official":{"samples":11,"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":0,"samples":[{"code_sha256_prefix":"fc3dba973f801ca8","entry":"calc_group_w_m","repo":"thomassutter/mvhg","repo_kind":"official","path":"mvhg/tf_fmvhg.py","file_url":"https://github.com/thomassutter/mvhg/blob/HEAD/mvhg/tf_fmvhg.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fc3dba973f801ca8"}},{"code_sha256_prefix":"d30acb3cc58f6973","entry":"get_dataloader","repo":"thomassutter/mvhg","repo_kind":"official","path":"main_minimal_app.py","file_url":"https://github.com/thomassutter/mvhg/blob/HEAD/main_minimal_app.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d30acb3cc58f6973"}},{"code_sha256_prefix":"76f62156d24e3bbe","entry":"get_hside_check","repo":"thomassutter/mvhg","repo_kind":"official","path":"mvhg/tf_fmvhg.py","file_url":"https://github.com/thomassutter/mvhg/blob/HEAD/mvhg/tf_fmvhg.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"76f62156d24e3bbe"}},{"code_sha256_prefix":"6145a3352a4a5eba","entry":"gumbel_softmax","repo":"thomassutter/mvhg","repo_kind":"official","path":"mvhg/tf_fmvhg.py","file_url":"https://github.com/thomassutter/mvhg/blob/HEAD/mvhg/tf_fmvhg.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6145a3352a4a5eba"}},{"code_sha256_prefix":"2d35babdf0eed62d","entry":"heaviside","repo":"thomassutter/mvhg","repo_kind":"official","path":"mvhg/tf_fmvhg.py","file_url":"https://github.com/thomassutter/mvhg/blob/HEAD/mvhg/tf_fmvhg.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2d35babdf0eed62d"}},{"code_sha256_prefix":"e3b566f38adb8596","entry":"sample_gumbel","repo":"thomassutter/mvhg","repo_kind":"official","path":"mvhg/tf_fmvhg.py","file_url":"https://github.com/thomassutter/mvhg/blob/HEAD/mvhg/tf_fmvhg.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e3b566f38adb8596"}},{"code_sha256_prefix":"e9004c814450d0d7","entry":"create_data","repo":"thomassutter/mvhg","repo_kind":"official","path":"main_minimal_app.py","file_url":"https://github.com/thomassutter/mvhg/blob/HEAD/main_minimal_app.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":"e9004c814450d0d7"}},{"code_sha256_prefix":"8c62b9743c2ad649","entry":"get_log_p_x_i","repo":"thomassutter/mvhg","repo_kind":"official","path":"mvhg/tf_fmvhg.py","file_url":"https://github.com/thomassutter/mvhg/blob/HEAD/mvhg/tf_fmvhg.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":"8c62b9743c2ad649"}},{"code_sha256_prefix":"96e425bda34c91d8","entry":"get_logits","repo":"thomassutter/mvhg","repo_kind":"official","path":"mvhg/tf_fmvhg.py","file_url":"https://github.com/thomassutter/mvhg/blob/HEAD/mvhg/tf_fmvhg.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":"96e425bda34c91d8"}},{"code_sha256_prefix":"6b46f86f168667b7","entry":"get_probability","repo":"thomassutter/mvhg","repo_kind":"official","path":"mvhg/tf_fmvhg.py","file_url":"https://github.com/thomassutter/mvhg/blob/HEAD/mvhg/tf_fmvhg.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":"6b46f86f168667b7"}},{"code_sha256_prefix":"121b9b77441dfd95","entry":"pmf_noncentral_fmvhg","repo":"thomassutter/mvhg","repo_kind":"official","path":"mvhg/tf_fmvhg.py","file_url":"https://github.com/thomassutter/mvhg/blob/HEAD/mvhg/tf_fmvhg.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":"121b9b77441dfd95"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}