{"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/domain-generalization-by-mutual-information","title":"Domain Generalization by Mutual-Information Regularization with Pre-trained Models","arxiv_id":"2203.10789","date":"2022-03-21","proceeding":null,"authors":["Junbum Cha","Kyungjae Lee","Sungrae Park","Sanghyuk Chun"],"abstract":"Domain generalization (DG) aims to learn a generalized model to an unseen target domain using only limited source domains. Previous attempts to DG fail to learn domain-invariant representations only from the source domains due to the significant domain shifts between training and test domains. Instead, we re-formulate the DG objective using mutual information with the oracle model, a model generalized to any possible domain. We derive a tractable variational lower bound via approximating the oracle model by a pre-trained model, called Mutual Information Regularization with Oracle (MIRO). Our extensive experiments show that MIRO significantly improves the out-of-distribution performance. Furthermore, our scaling experiments show that the larger the scale of the pre-trained model, the greater the performance improvement of MIRO. Source code is available at https://github.com/kakaobrain/miro.","url_abs":"https://arxiv.org/abs/2203.10789v2","url_pdf":"https://arxiv.org/pdf/2203.10789v2.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":"domain-generalization-by-mutual-information","repo_url":"https://github.com/kakaobrain/miro","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"domain-generalization","task_name":"Domain Generalization"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/domain-generalization-on-domainnet","task":"Domain Generalization","dataset":"DomainNet","model":"MIRO (RegNetY-16GF, SWAD)","rank_in_archive_order":11,"of":38,"metrics":{"Average Accuracy":"60.7"},"uses_additional_data":true},{"leaderboard":"/sota/domain-generalization-on-domainnet","task":"Domain Generalization","dataset":"DomainNet","model":"MIRO (ResNet-50, SWAD)","rank_in_archive_order":27,"of":38,"metrics":{"Average Accuracy":"47.0"},"uses_additional_data":false},{"leaderboard":"/sota/domain-generalization-on-office-home","task":"Domain Generalization","dataset":"Office-Home","model":"MIRO (RegNetY-16GF, SWAD)","rank_in_archive_order":12,"of":45,"metrics":{"Average Accuracy":"83.3"},"uses_additional_data":false},{"leaderboard":"/sota/domain-generalization-on-office-home","task":"Domain Generalization","dataset":"Office-Home","model":"MIRO (ResNet-50, SWAD)","rank_in_archive_order":25,"of":45,"metrics":{"Average Accuracy":"72.4"},"uses_additional_data":false},{"leaderboard":"/sota/domain-generalization-on-pacs-2","task":"Domain Generalization","dataset":"PACS","model":"MIRO (RegNetY-16GF, SWAD)","rank_in_archive_order":9,"of":133,"metrics":{"Average Accuracy":"96.8"},"uses_additional_data":false},{"leaderboard":"/sota/domain-generalization-on-pacs-2","task":"Domain Generalization","dataset":"PACS","model":"MIRO (ResNet-50, SWAD)","rank_in_archive_order":28,"of":133,"metrics":{"Average Accuracy":"88.4"},"uses_additional_data":false},{"leaderboard":"/sota/domain-generalization-on-terraincognita","task":"Domain Generalization","dataset":"TerraIncognita","model":"MIRO (RegNetY-16GF, SWAD)","rank_in_archive_order":3,"of":30,"metrics":{"Average Accuracy":"64.3"},"uses_additional_data":false},{"leaderboard":"/sota/domain-generalization-on-terraincognita","task":"Domain Generalization","dataset":"TerraIncognita","model":"MIRO (ResNet-50, SWAD)","rank_in_archive_order":16,"of":30,"metrics":{"Average Accuracy":"52.9"},"uses_additional_data":false},{"leaderboard":"/sota/domain-generalization-on-vlcs","task":"Domain Generalization","dataset":"VLCS","model":"MIRO (RegNetY-16GF, SWAD)","rank_in_archive_order":16,"of":37,"metrics":{"Average Accuracy":"81.7"},"uses_additional_data":false},{"leaderboard":"/sota/domain-generalization-on-vlcs","task":"Domain Generalization","dataset":"VLCS","model":"MIRO (ResNet-50, SWAD)","rank_in_archive_order":24,"of":37,"metrics":{"Average Accuracy":"79.6"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2203.10789","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.10789"}},"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":"deterministic:regex_extraction","url":"https://github.com/kakaobrain/miro","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":2,"ran":8,"ran_honours":1,"unverified":2},"by_repo_kind":{"official":{"samples":13,"ran":11,"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":"00e569acd6b45ef0","entry":"conv3x3","repo":"kakaobrain/miro","repo_kind":"official","path":"domainbed/lib/wide_resnet.py","file_url":"https://github.com/kakaobrain/miro/blob/HEAD/domainbed/lib/wide_resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"00e569acd6b45ef0"}},{"code_sha256_prefix":"02a21c87d500ef9d","entry":"default_hparams","repo":"kakaobrain/miro","repo_kind":"official","path":"domainbed/hparams_registry.py","file_url":"https://github.com/kakaobrain/miro/blob/HEAD/domainbed/hparams_registry.py","link_basis":"harvester_set","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":"02a21c87d500ef9d"}},{"code_sha256_prefix":"c5919b96db289dbd","entry":"get_shapes","repo":"kakaobrain/miro","repo_kind":"official","path":"domainbed/algorithms/miro.py","file_url":"https://github.com/kakaobrain/miro/blob/HEAD/domainbed/algorithms/miro.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c5919b96db289dbd"}},{"code_sha256_prefix":"71a3a61ceed99bf3","entry":"hashable","repo":"kakaobrain/miro","repo_kind":"official","path":"domainbed/lib/query.py","file_url":"https://github.com/kakaobrain/miro/blob/HEAD/domainbed/lib/query.py","link_basis":"harvester_set","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":"71a3a61ceed99bf3"}},{"code_sha256_prefix":"2f597a2077a1c95d","entry":"levelize","repo":"kakaobrain/miro","repo_kind":"official","path":"domainbed/lib/logger.py","file_url":"https://github.com/kakaobrain/miro/blob/HEAD/domainbed/lib/logger.py","link_basis":"harvester_set","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":"2f597a2077a1c95d"}},{"code_sha256_prefix":"2f8af5779e1edcb6","entry":"make_selector_fn","repo":"kakaobrain/miro","repo_kind":"official","path":"domainbed/lib/query.py","file_url":"https://github.com/kakaobrain/miro/blob/HEAD/domainbed/lib/query.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2f8af5779e1edcb6"}},{"code_sha256_prefix":"955c4020424d8ac1","entry":"make_weights_for_balanced_classes","repo":"kakaobrain/miro","repo_kind":"official","path":"domainbed/lib/misc.py","file_url":"https://github.com/kakaobrain/miro/blob/HEAD/domainbed/lib/misc.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"955c4020424d8ac1"}},{"code_sha256_prefix":"58e06fd6cfa6a889","entry":"random_hparams","repo":"kakaobrain/miro","repo_kind":"official","path":"domainbed/hparams_registry.py","file_url":"https://github.com/kakaobrain/miro/blob/HEAD/domainbed/hparams_registry.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"58e06fd6cfa6a889"}},{"code_sha256_prefix":"4fa2b54178fcc1df","entry":"random_pairs_of_minibatches","repo":"kakaobrain/miro","repo_kind":"official","path":"domainbed/lib/misc.py","file_url":"https://github.com/kakaobrain/miro/blob/HEAD/domainbed/lib/misc.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4fa2b54178fcc1df"}},{"code_sha256_prefix":"12c23ce22097acd0","entry":"to_minibatch","repo":"kakaobrain/miro","repo_kind":"official","path":"domainbed/algorithms/algorithms.py","file_url":"https://github.com/kakaobrain/miro/blob/HEAD/domainbed/algorithms/algorithms.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"12c23ce22097acd0"}},{"code_sha256_prefix":"5dd6a674fbe45a89","entry":"to_row","repo":"kakaobrain/miro","repo_kind":"official","path":"domainbed/lib/misc.py","file_url":"https://github.com/kakaobrain/miro/blob/HEAD/domainbed/lib/misc.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5dd6a674fbe45a89"}},{"code_sha256_prefix":"687efdf3db9c44df","entry":"accuracy_from_loader","repo":"kakaobrain/miro","repo_kind":"official","path":"domainbed/evaluator.py","file_url":"https://github.com/kakaobrain/miro/blob/HEAD/domainbed/evaluator.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":"687efdf3db9c44df"}},{"code_sha256_prefix":"aa6558d41d5c4673","entry":"get_writer","repo":"kakaobrain/miro","repo_kind":"official","path":"domainbed/lib/writers.py","file_url":"https://github.com/kakaobrain/miro/blob/HEAD/domainbed/lib/writers.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":"aa6558d41d5c4673"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}