{"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/maximum-density-divergence-for-domain","title":"Maximum Density Divergence for Domain Adaptation","arxiv_id":"2004.12615","date":"2020-04-27","proceeding":null,"authors":["Li Jingjing","Chen Erpeng","Ding Zhengming","Zhu Lei","Lu Ke","Shen Heng Tao"],"abstract":"Unsupervised domain adaptation addresses the problem of transferring knowledge from a well-labeled source domain to an unlabeled target domain where the two domains have distinctive data distributions. Thus, the essence of domain adaptation is to mitigate the distribution divergence between the two domains. The state-of-the-art methods practice this very idea by either conducting adversarial training or minimizing a metric which defines the distribution gaps. In this paper, we propose a new domain adaptation method named Adversarial Tight Match (ATM) which enjoys the benefits of both adversarial training and metric learning. Specifically, at first, we propose a novel distance loss, named Maximum Density Divergence (MDD), to quantify the distribution divergence. MDD minimizes the inter-domain divergence (\"match\" in ATM) and maximizes the intra-class density (\"tight\" in ATM). Then, to address the equilibrium challenge issue in adversarial domain adaptation, we consider leveraging the proposed MDD into adversarial domain adaptation framework. At last, we tailor the proposed MDD as a practical learning loss and report our ATM. Both empirical evaluation and theoretical analysis are reported to verify the effectiveness of the proposed method. The experimental results on four benchmarks, both classical and large-scale, show that our method is able to achieve new state-of-the-art performance on most evaluations. Codes and datasets used in this paper are available at {\\it github.com/lijin118/ATM}.","url_abs":"https://arxiv.org/abs/2004.12615v1","url_pdf":"https://arxiv.org/pdf/2004.12615v1.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":"maximum-density-divergence-for-domain","repo_url":"https://github.com/lijin118/ATM","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"maximum-density-divergence-for-domain","repo_url":"https://github.com/orobix/mdd-domain-adaptation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"},{"task_slug":"metric-learning","task_name":"Metric Learning"},{"task_slug":"unsupervised-domain-adaptation","task_name":"Unsupervised Domain Adaptation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2004.12615","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2004.12615"}},"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/orobix/mdd-domain-adaptation","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lijin118/ATM","reach":null}],"summary":{"ran_honours":1,"ran_fixture":1,"unverified":2},"by_repo_kind":{"official":{"samples":2,"ran":1,"repositories":1},"listed":{"samples":2,"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":2,"samples":[{"code_sha256_prefix":"8ca0f35987bc3fcd","entry":"entropic_loss","repo":"orobix/mdd-domain-adaptation","repo_kind":"listed","path":"mdd/loss.py","file_url":"https://github.com/orobix/mdd-domain-adaptation/blob/HEAD/mdd/loss.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8ca0f35987bc3fcd"}},{"code_sha256_prefix":"dd5b0e1fe8cd7d78","entry":"image_classification_test","repo":"lijin118/ATM","repo_kind":"official","path":"train_image.py","file_url":"https://github.com/lijin118/ATM/blob/HEAD/train_image.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dd5b0e1fe8cd7d78"}},{"code_sha256_prefix":"1a03e35ac5e7c888","entry":"mdd_loss","repo":"orobix/mdd-domain-adaptation","repo_kind":"listed","path":"mdd/loss.py","file_url":"https://github.com/orobix/mdd-domain-adaptation/blob/HEAD/mdd/loss.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":"1a03e35ac5e7c888"}},{"code_sha256_prefix":"6c444a074a1c4cdb","entry":"test","repo":"lijin118/ATM","repo_kind":"official","path":"train_svhnmnist.py","file_url":"https://github.com/lijin118/ATM/blob/HEAD/train_svhnmnist.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6c444a074a1c4cdb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}