{"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/supervised-training-of-conditional-monge-maps","title":"Supervised Training of Conditional Monge Maps","arxiv_id":"2206.14262","date":"2022-06-28","proceeding":null,"authors":["Charlotte Bunne","Andreas Krause","Marco Cuturi"],"abstract":"Optimal transport (OT) theory describes general principles to define and select, among many possible choices, the most efficient way to map a probability measure onto another. That theory has been mostly used to estimate, given a pair of source and target probability measures $(\\mu, \\nu)$, a parameterized map $T_\\theta$ that can efficiently map $\\mu$ onto $\\nu$. In many applications, such as predicting cell responses to treatments, pairs of input/output data measures $(\\mu, \\nu)$ that define optimal transport problems do not arise in isolation but are associated with a context $c$, as for instance a treatment when comparing populations of untreated and treated cells. To account for that context in OT estimation, we introduce CondOT, a multi-task approach to estimate a family of OT maps conditioned on a context variable, using several pairs of measures $\\left(\\mu_i, \\nu_i\\right)$ tagged with a context label $c_i$. CondOT learns a global map $\\mathcal{T}_\\theta$ conditioned on context that is not only expected to fit all labeled pairs in the dataset $\\left\\{\\left(c_i,\\left(\\mu_i, \\nu_i\\right)\\right)\\right\\}$, i.e., $\\mathcal{T}_\\theta\\left(c_i\\right) \\sharp \\mu_i \\approx \\nu_i$, but should also generalize to produce meaningful maps $\\mathcal{T}_\\theta\\left(c_{\\text {new }}\\right)$ when conditioned on unseen contexts $c_{\\text {new }}$. Our approach harnesses and provides a novel usage for partially input convex neural networks, for which we introduce a robust and efficient initialization strategy inspired by Gaussian approximations. We demonstrate the ability of CondOT to infer the effect of an arbitrary combination of genetic or therapeutic perturbations on single cells, using only observations of the effects of said perturbations separately.","url_abs":"https://arxiv.org/abs/2206.14262v2","url_pdf":"https://arxiv.org/pdf/2206.14262v2.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":"supervised-training-of-conditional-monge-maps","repo_url":"https://github.com/bunnech/condot","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2206.14262","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2206.14262"}},"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/bunnech/condot","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":6},"by_repo_kind":{"official":{"samples":6,"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":"f8c833b2261953a9","entry":"compute_scalar_mmd","repo":"bunnech/condot","repo_kind":"official","path":"condot/losses/mmd.py","file_url":"https://github.com/bunnech/condot/blob/HEAD/condot/losses/mmd.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":"f8c833b2261953a9"}},{"code_sha256_prefix":"37a574446c53aba0","entry":"dnn","repo":"bunnech/condot","repo_kind":"official","path":"condot/networks/ae.py","file_url":"https://github.com/bunnech/condot/blob/HEAD/condot/networks/ae.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":"37a574446c53aba0"}},{"code_sha256_prefix":"b20871a32fbc05e0","entry":"generate_random_string","repo":"bunnech/condot","repo_kind":"official","path":"condot/train/experiment.py","file_url":"https://github.com/bunnech/condot/blob/HEAD/condot/train/experiment.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":"b20871a32fbc05e0"}},{"code_sha256_prefix":"d1a35797d376302b","entry":"load_optimizer","repo":"bunnech/condot","repo_kind":"official","path":"condot/models/ae.py","file_url":"https://github.com/bunnech/condot/blob/HEAD/condot/models/ae.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":"d1a35797d376302b"}},{"code_sha256_prefix":"faba9e1c3c52f897","entry":"load_opts","repo":"bunnech/condot","repo_kind":"official","path":"condot/models/condot.py","file_url":"https://github.com/bunnech/condot/blob/HEAD/condot/models/condot.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":"faba9e1c3c52f897"}},{"code_sha256_prefix":"63aaba5953758a00","entry":"mmd_distance","repo":"bunnech/condot","repo_kind":"official","path":"condot/losses/mmd.py","file_url":"https://github.com/bunnech/condot/blob/HEAD/condot/losses/mmd.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":"63aaba5953758a00"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}