{"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/divergence-optimization-for-noisy-universal","title":"Divergence Optimization for Noisy Universal Domain Adaptation","arxiv_id":"2104.00246","date":"2021-04-01","proceeding":"CVPR 2021 1","authors":["Qing Yu","Atsushi Hashimoto","Yoshitaka Ushiku"],"abstract":"Universal domain adaptation (UniDA) has been proposed to transfer knowledge learned from a label-rich source domain to a label-scarce target domain without any constraints on the label sets. In practice, however, it is difficult to obtain a large amount of perfectly clean labeled data in a source domain with limited resources. Existing UniDA methods rely on source samples with correct annotations, which greatly limits their application in the real world. Hence, we consider a new realistic setting called Noisy UniDA, in which classifiers are trained with noisy labeled data from the source domain and unlabeled data with an unknown class distribution from the target domain. This paper introduces a two-head convolutional neural network framework to solve all problems simultaneously. Our network consists of one common feature generator and two classifiers with different decision boundaries. By optimizing the divergence between the two classifiers' outputs, we can detect noisy source samples, find \"unknown\" classes in the target domain, and align the distribution of the source and target domains. In an extensive evaluation of different domain adaptation settings, the proposed method outperformed existing methods by a large margin in most settings.","url_abs":"https://arxiv.org/abs/2104.00246v1","url_pdf":"https://arxiv.org/pdf/2104.00246v1.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":"divergence-optimization-for-noisy-universal","repo_url":"https://github.com/yu1ut/divergence-optimization","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":"universal-domain-adaptation","task_name":"Universal Domain Adaptation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2104.00246","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2104.00246"}},"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/yu1ut/divergence-optimization","reach":null}],"summary":{"ran":2,"ran_draft_wrong":1},"by_repo_kind":{"listed":{"samples":3,"ran":3,"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":3,"samples":[{"code_sha256_prefix":"1106e6e01a4ecdd0","entry":"GradReverse","repo":"yu1ut/divergence-optimization","repo_kind":"listed","path":"models/basenet.py","file_url":"https://github.com/yu1ut/divergence-optimization/blob/HEAD/models/basenet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"1106e6e01a4ecdd0"}},{"code_sha256_prefix":"7b5c091a3acceff9","entry":"ResClassifier_MME","repo":"yu1ut/divergence-optimization","repo_kind":"listed","path":"models/basenet.py","file_url":"https://github.com/yu1ut/divergence-optimization/blob/HEAD/models/basenet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"7b5c091a3acceff9"}},{"code_sha256_prefix":"ed0154a7aa37f9c9","entry":"grad_reverse","repo":"yu1ut/divergence-optimization","repo_kind":"listed","path":"models/basenet.py","file_url":"https://github.com/yu1ut/divergence-optimization/blob/HEAD/models/basenet.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"ed0154a7aa37f9c9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}