{"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/graph-optimal-transport-for-cross-domain","title":"Graph Optimal Transport for Cross-Domain Alignment","arxiv_id":"2006.14744","date":"2020-06-26","proceeding":"ICML 2020 1","authors":["Liqun Chen","Zhe Gan","Yu Cheng","Linjie Li","Lawrence Carin","Jingjing Liu"],"abstract":"Cross-domain alignment between two sets of entities (e.g., objects in an image, words in a sentence) is fundamental to both computer vision and natural language processing. Existing methods mainly focus on designing advanced attention mechanisms to simulate soft alignment, with no training signals to explicitly encourage alignment. The learned attention matrices are also dense and lacks interpretability. We propose Graph Optimal Transport (GOT), a principled framework that germinates from recent advances in Optimal Transport (OT). In GOT, cross-domain alignment is formulated as a graph matching problem, by representing entities into a dynamically-constructed graph. Two types of OT distances are considered: (i) Wasserstein distance (WD) for node (entity) matching; and (ii) Gromov-Wasserstein distance (GWD) for edge (structure) matching. Both WD and GWD can be incorporated into existing neural network models, effectively acting as a drop-in regularizer. The inferred transport plan also yields sparse and self-normalized alignment, enhancing the interpretability of the learned model. Experiments show consistent outperformance of GOT over baselines across a wide range of tasks, including image-text retrieval, visual question answering, image captioning, machine translation, and text summarization.","url_abs":"https://arxiv.org/abs/2006.14744v3","url_pdf":"https://arxiv.org/pdf/2006.14744v3.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":"graph-optimal-transport-for-cross-domain","repo_url":"https://github.com/LiqunChen0606/Graph-Optimal-Transport","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"graph-matching","task_name":"Graph Matching"},{"task_slug":"image-captioning","task_name":"Image Captioning"},{"task_slug":"image-text-retrieval","task_name":"Image-text Retrieval"},{"task_slug":"machine-translation","task_name":"Machine Translation"},{"task_slug":"question-answering","task_name":"Question Answering"},{"task_slug":"retrieval","task_name":"Retrieval"},{"task_slug":"sentence","task_name":"Sentence"},{"task_slug":"text-retrieval","task_name":"Text Retrieval"},{"task_slug":"text-summarization","task_name":"Text Summarization"},{"task_slug":"translation","task_name":"Translation"},{"task_slug":"visual-question-answering-1","task_name":"Visual Question Answering"},{"task_slug":"visual-question-answering","task_name":"Visual Question Answering (VQA)"}],"methods":[{"method_slug":"interpretability","method_name":"Interpretability"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2006.14744","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.14744"}},"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/LiqunChen0606/Graph-Optimal-Transport","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_violates":2,"ran":1,"ran_honours":1,"unverified":6},"by_repo_kind":{"official":{"samples":10,"ran":4,"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":"cf2efa825f4afaf0","entry":"answer_filter","repo":"LiqunChen0606/Graph-Optimal-Transport","repo_kind":"official","path":"BAN_vqa/dataset.py","file_url":"https://github.com/LiqunChen0606/Graph-Optimal-Transport/blob/HEAD/BAN_vqa/dataset.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cf2efa825f4afaf0"}},{"code_sha256_prefix":"d79fd2ac61421292","entry":"cost_matrix_torch","repo":"LiqunChen0606/Graph-Optimal-Transport","repo_kind":"official","path":"BAN_vqa/OT_torch_.py","file_url":"https://github.com/LiqunChen0606/Graph-Optimal-Transport/blob/HEAD/BAN_vqa/OT_torch_.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d79fd2ac61421292"}},{"code_sha256_prefix":"ac9f54e37ab206e4","entry":"is_howmany","repo":"LiqunChen0606/Graph-Optimal-Transport","repo_kind":"official","path":"BAN_vqa/dataset.py","file_url":"https://github.com/LiqunChen0606/Graph-Optimal-Transport/blob/HEAD/BAN_vqa/dataset.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ac9f54e37ab206e4"}},{"code_sha256_prefix":"1df9a5ffd9b38c34","entry":"pil_loader","repo":"LiqunChen0606/Graph-Optimal-Transport","repo_kind":"official","path":"BAN_vqa/utils.py","file_url":"https://github.com/LiqunChen0606/Graph-Optimal-Transport/blob/HEAD/BAN_vqa/utils.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1df9a5ffd9b38c34"}},{"code_sha256_prefix":"b1e24c9598daad69","entry":"IPOT_distance_torch","repo":"LiqunChen0606/Graph-Optimal-Transport","repo_kind":"official","path":"BAN_vqa/OT_torch_.py","file_url":"https://github.com/LiqunChen0606/Graph-Optimal-Transport/blob/HEAD/BAN_vqa/OT_torch_.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":"b1e24c9598daad69"}},{"code_sha256_prefix":"674f9140f14e54a6","entry":"IPOT_torch","repo":"LiqunChen0606/Graph-Optimal-Transport","repo_kind":"official","path":"BAN_vqa/OT_torch_.py","file_url":"https://github.com/LiqunChen0606/Graph-Optimal-Transport/blob/HEAD/BAN_vqa/OT_torch_.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":"674f9140f14e54a6"}},{"code_sha256_prefix":"5a8370941ac95d70","entry":"compute_recall_with_logits","repo":"LiqunChen0606/Graph-Optimal-Transport","repo_kind":"official","path":"BAN_vqa/train_flickr.py","file_url":"https://github.com/LiqunChen0606/Graph-Optimal-Transport/blob/HEAD/BAN_vqa/train_flickr.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":"5a8370941ac95d70"}},{"code_sha256_prefix":"ebb43b4af422c670","entry":"evaluate","repo":"LiqunChen0606/Graph-Optimal-Transport","repo_kind":"official","path":"BAN_vqa/train_flickr.py","file_url":"https://github.com/LiqunChen0606/Graph-Optimal-Transport/blob/HEAD/BAN_vqa/train_flickr.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":"ebb43b4af422c670"}},{"code_sha256_prefix":"8c1252eacab71602","entry":"load_folder","repo":"LiqunChen0606/Graph-Optimal-Transport","repo_kind":"official","path":"BAN_vqa/utils.py","file_url":"https://github.com/LiqunChen0606/Graph-Optimal-Transport/blob/HEAD/BAN_vqa/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":"8c1252eacab71602"}},{"code_sha256_prefix":"bf90bd27fe08f3a2","entry":"load_imageid","repo":"LiqunChen0606/Graph-Optimal-Transport","repo_kind":"official","path":"BAN_vqa/utils.py","file_url":"https://github.com/LiqunChen0606/Graph-Optimal-Transport/blob/HEAD/BAN_vqa/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":"bf90bd27fe08f3a2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}