{"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/out-of-distribution-detection-learning-with","title":"Out-of-distribution Detection Learning with Unreliable Out-of-distribution Sources","arxiv_id":"2311.03236","date":"2023-11-06","proceeding":"NeurIPS 2023 11","authors":["Haotian Zheng","Qizhou Wang","Zhen Fang","Xiaobo Xia","Feng Liu","Tongliang Liu","Bo Han"],"abstract":"Out-of-distribution (OOD) detection discerns OOD data where the predictor cannot make valid predictions as in-distribution (ID) data, thereby increasing the reliability of open-world classification. However, it is typically hard to collect real out-of-distribution (OOD) data for training a predictor capable of discerning ID and OOD patterns. This obstacle gives rise to data generation-based learning methods, synthesizing OOD data via data generators for predictor training without requiring any real OOD data. Related methods typically pre-train a generator on ID data and adopt various selection procedures to find those data likely to be the OOD cases. However, generated data may still coincide with ID semantics, i.e., mistaken OOD generation remains, confusing the predictor between ID and OOD data. To this end, we suggest that generated data (with mistaken OOD generation) can be used to devise an auxiliary OOD detection task to facilitate real OOD detection. Specifically, we can ensure that learning from such an auxiliary task is beneficial if the ID and the OOD parts have disjoint supports, with the help of a well-designed training procedure for the predictor. Accordingly, we propose a powerful data generation-based learning method named Auxiliary Task-based OOD Learning (ATOL) that can relieve the mistaken OOD generation. We conduct extensive experiments under various OOD detection setups, demonstrating the effectiveness of our method against its advanced counterparts.","url_abs":"https://arxiv.org/abs/2311.03236v2","url_pdf":"https://arxiv.org/pdf/2311.03236v2.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":"out-of-distribution-detection-learning-with","repo_url":"https://github.com/tmlr-group/atol","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"ood-detection","task_name":"Out of Distribution (OOD) Detection"},{"task_slug":"out-of-distribution-detection","task_name":"Out-of-Distribution Detection"},{"task_slug":null,"task_name":"valid"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2311.03236","atlas_url":"https://app.syntology.ai/?focus=2311.03236","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2311.03236"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/tmlr-group/ATOL","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/tmlr-group/atol","reach":{"status":"ok"}}],"summary":{"ran":6,"ran_draft_wrong":2,"ran_honours":2,"ran_fixture":1,"unverified":1},"by_repo_kind":{"official":{"samples":12,"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":12,"samples":[{"code_sha256_prefix":"df4710a69ef6ef4e","entry":"IPOT","repo":"tmlr-group/ATOL","repo_kind":"official","path":"utils/ot.py","file_url":"https://github.com/tmlr-group/ATOL/blob/HEAD/utils/ot.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"df4710a69ef6ef4e"}},{"code_sha256_prefix":"4dcf06ba28983266","entry":"focal_loss","repo":"tmlr-group/atol","repo_kind":"official","path":"utils/losses.py","file_url":"https://github.com/tmlr-group/atol/blob/HEAD/utils/losses.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4dcf06ba28983266"}},{"code_sha256_prefix":"7242da839b9822be","entry":"fpr_and_fdr_at_recall","repo":"tmlr-group/ATOL","repo_kind":"official","path":"utils/display_results.py","file_url":"https://github.com/tmlr-group/ATOL/blob/HEAD/utils/display_results.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7242da839b9822be"}},{"code_sha256_prefix":"b9b6c36f7a3e7e67","entry":"get_measures","repo":"tmlr-group/ATOL","repo_kind":"official","path":"utils/display_results.py","file_url":"https://github.com/tmlr-group/ATOL/blob/HEAD/utils/display_results.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b9b6c36f7a3e7e67"}},{"code_sha256_prefix":"ee5e85cfd16bc5dc","entry":"linear_combination","repo":"tmlr-group/atol","repo_kind":"official","path":"utils/losses.py","file_url":"https://github.com/tmlr-group/atol/blob/HEAD/utils/losses.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ee5e85cfd16bc5dc"}},{"code_sha256_prefix":"9f7b947fbfdaa657","entry":"reduce_loss","repo":"tmlr-group/atol","repo_kind":"official","path":"utils/losses.py","file_url":"https://github.com/tmlr-group/atol/blob/HEAD/utils/losses.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9f7b947fbfdaa657"}},{"code_sha256_prefix":"79f77411b14d1a67","entry":"sinkhorn","repo":"tmlr-group/ATOL","repo_kind":"official","path":"utils/ot.py","file_url":"https://github.com/tmlr-group/ATOL/blob/HEAD/utils/ot.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"79f77411b14d1a67"}},{"code_sha256_prefix":"cdba96a53b8405c5","entry":"sinkhorn_loss_joint_IPOT","repo":"tmlr-group/ATOL","repo_kind":"official","path":"utils/ot.py","file_url":"https://github.com/tmlr-group/ATOL/blob/HEAD/utils/ot.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cdba96a53b8405c5"}},{"code_sha256_prefix":"d4acb3120a027622","entry":"stable_cumsum","repo":"tmlr-group/ATOL","repo_kind":"official","path":"utils/display_results.py","file_url":"https://github.com/tmlr-group/ATOL/blob/HEAD/utils/display_results.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d4acb3120a027622"}},{"code_sha256_prefix":"cb20792068df7c3c","entry":"validation_split","repo":"tmlr-group/ATOL","repo_kind":"official","path":"utils/validation_dataset.py","file_url":"https://github.com/tmlr-group/ATOL/blob/HEAD/utils/validation_dataset.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cb20792068df7c3c"}},{"code_sha256_prefix":"3ab1a759c0161341","entry":"validation_split_folder","repo":"tmlr-group/ATOL","repo_kind":"official","path":"utils/validation_dataset.py","file_url":"https://github.com/tmlr-group/ATOL/blob/HEAD/utils/validation_dataset.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3ab1a759c0161341"}},{"code_sha256_prefix":"75025b80d4d6546e","entry":"generate_dcgan","repo":"tmlr-group/atol","repo_kind":"official","path":"atol.py","file_url":"https://github.com/tmlr-group/atol/blob/HEAD/atol.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":"75025b80d4d6546e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}