{"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/gradient-flows-in-dataset-space","title":"Dataset Dynamics via Gradient Flows in Probability Space","arxiv_id":"2010.12760","date":"2020-10-24","proceeding":null,"authors":["David Alvarez-Melis","Nicolò Fusi"],"abstract":"Various machine learning tasks, from generative modeling to domain adaptation, revolve around the concept of dataset transformation and manipulation. While various methods exist for transforming unlabeled datasets, principled methods to do so for labeled (e.g., classification) datasets are missing. In this work, we propose a novel framework for dataset transformation, which we cast as optimization over data-generating joint probability distributions. We approach this class of problems through Wasserstein gradient flows in probability space, and derive practical and efficient particle-based methods for a flexible but well-behaved class of objective functions. Through various experiments, we show that this framework can be used to impose constraints on classification datasets, adapt them for transfer learning, or to re-purpose fixed or black-box models to classify ---with high accuracy--- previously unseen datasets.","url_abs":"https://arxiv.org/abs/2010.12760v2","url_pdf":"https://arxiv.org/pdf/2010.12760v2.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":"gradient-flows-in-dataset-space","repo_url":"https://github.com/microsoft/otdd","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"machine-learning","task_name":"BIG-bench Machine Learning"},{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"},{"task_slug":"transfer-learning","task_name":"Transfer Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2010.12760","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2010.12760"}},"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/microsoft/otdd","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":22},"by_repo_kind":{"listed":{"samples":22,"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":0,"samples":[{"code_sha256_prefix":"fe65bf2ed1bf2fd3","entry":"affine_feature_norm","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/pytorch/functionals.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/pytorch/functionals.py","link_basis":"harvester_set","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":"fe65bf2ed1bf2fd3"}},{"code_sha256_prefix":"a7ad9c0571a0b644","entry":"as_si","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/plotting.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/plotting.py","link_basis":"harvester_set","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":"a7ad9c0571a0b644"}},{"code_sha256_prefix":"c364a985c4b4d2a5","entry":"bbures_distance","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/pytorch/wasserstein.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/pytorch/wasserstein.py","link_basis":"harvester_set","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":"c364a985c4b4d2a5"}},{"code_sha256_prefix":"bc93b440de03c16b","entry":"binary_hyperplane_margin","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/pytorch/functionals.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/pytorch/functionals.py","link_basis":"harvester_set","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":"bc93b440de03c16b"}},{"code_sha256_prefix":"229665e6772911e1","entry":"bures_distance","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/pytorch/wasserstein.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/pytorch/wasserstein.py","link_basis":"harvester_set","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":"229665e6772911e1"}},{"code_sha256_prefix":"bd30bd3381bb38ad","entry":"compute_label_stats","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/pytorch/moments.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/pytorch/moments.py","link_basis":"harvester_set","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":"bd30bd3381bb38ad"}},{"code_sha256_prefix":"55b79342272ecb51","entry":"cov","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/pytorch/moments.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/pytorch/moments.py","link_basis":"harvester_set","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":"55b79342272ecb51"}},{"code_sha256_prefix":"9925fca6d2b2916e","entry":"dataset_from_numpy","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/pytorch/datasets.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/pytorch/datasets.py","link_basis":"harvester_set","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":"9925fca6d2b2916e"}},{"code_sha256_prefix":"fab376d56097e0b1","entry":"dimension_collapse","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/pytorch/functionals.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/pytorch/functionals.py","link_basis":"harvester_set","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":"fab376d56097e0b1"}},{"code_sha256_prefix":"0364431038c0888f","entry":"dimreduce_means_covs","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/pytorch/moments.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/pytorch/moments.py","link_basis":"harvester_set","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":"0364431038c0888f"}},{"code_sha256_prefix":"99f62aec128f4e86","entry":"get_plot_ranges","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/plotting.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/plotting.py","link_basis":"harvester_set","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":"99f62aec128f4e86"}},{"code_sha256_prefix":"111f3719f5e48079","entry":"heatmap","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/plotting.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/plotting.py","link_basis":"harvester_set","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":"111f3719f5e48079"}},{"code_sha256_prefix":"8c145c5564b78973","entry":"inverse_normalize","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/pytorch/utils.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/pytorch/utils.py","link_basis":"harvester_set","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":"8c145c5564b78973"}},{"code_sha256_prefix":"652ff7cd9e338b0c","entry":"launch_logger","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/utils.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/utils.py","link_basis":"harvester_set","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":"652ff7cd9e338b0c"}},{"code_sha256_prefix":"e12b5e7de92459e1","entry":"process_device_arg","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/pytorch/utils.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/pytorch/utils.py","link_basis":"harvester_set","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":"e12b5e7de92459e1"}},{"code_sha256_prefix":"bccbd63c8c2c029b","entry":"random_index_split","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/pytorch/utils.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/pytorch/utils.py","link_basis":"harvester_set","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":"bccbd63c8c2c029b"}},{"code_sha256_prefix":"64986354a6b8ac35","entry":"sort_by_label","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/pytorch/datasets.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/pytorch/datasets.py","link_basis":"harvester_set","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":"64986354a6b8ac35"}},{"code_sha256_prefix":"44330ff2301fa4af","entry":"special_sylvester","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/pytorch/sqrtm.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/pytorch/sqrtm.py","link_basis":"harvester_set","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":"44330ff2301fa4af"}},{"code_sha256_prefix":"aa69746c8a70084e","entry":"subdataset_from_labels","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/pytorch/datasets.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/pytorch/datasets.py","link_basis":"harvester_set","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":"aa69746c8a70084e"}},{"code_sha256_prefix":"1216a62e004bbcfb","entry":"symsqrt_v1","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/pytorch/sqrtm.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/pytorch/sqrtm.py","link_basis":"harvester_set","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":"1216a62e004bbcfb"}},{"code_sha256_prefix":"4d8d971cc420c07c","entry":"symsqrt_v2","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/pytorch/sqrtm.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/pytorch/sqrtm.py","link_basis":"harvester_set","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":"4d8d971cc420c07c"}},{"code_sha256_prefix":"dfe3624311e691f5","entry":"wasserstein_gauss_distance","repo":"microsoft/otdd","repo_kind":"listed","path":"otdd/pytorch/wasserstein.py","file_url":"https://github.com/microsoft/otdd/blob/HEAD/otdd/pytorch/wasserstein.py","link_basis":"harvester_set","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":"dfe3624311e691f5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}