{"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/deep-reinforcement-learning-for-unknown","title":"Toward Deep Supervised Anomaly Detection: Reinforcement Learning from Partially Labeled Anomaly Data","arxiv_id":"2009.06847","date":"2020-09-15","proceeding":null,"authors":["Guansong Pang","Anton Van Den Hengel","Chunhua Shen","Longbing Cao"],"abstract":"We consider the problem of anomaly detection with a small set of partially labeled anomaly examples and a large-scale unlabeled dataset. This is a common scenario in many important applications. Existing related methods either exclusively fit the limited anomaly examples that typically do not span the entire set of anomalies, or proceed with unsupervised learning from the unlabeled data. We propose here instead a deep reinforcement learning-based approach that enables an end-to-end optimization of the detection of both labeled and unlabeled anomalies. This approach learns the known abnormality by automatically interacting with an anomaly-biased simulation environment, while continuously extending the learned abnormality to novel classes of anomaly (i.e., unknown anomalies) by actively exploring possible anomalies in the unlabeled data. This is achieved by jointly optimizing the exploitation of the small labeled anomaly data and the exploration of the rare unlabeled anomalies. Extensive experiments on 48 real-world datasets show that our model significantly outperforms five state-of-the-art competing methods.","url_abs":"https://arxiv.org/abs/2009.06847v2","url_pdf":"https://arxiv.org/pdf/2009.06847v2.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":"deep-reinforcement-learning-for-unknown","repo_url":"https://github.com/lflfdxfn/DPLAN-Implementation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"GPL-3.0"}},{"paper_slug":"deep-reinforcement-learning-for-unknown","repo_url":"https://github.com/teo-sl/DPLAN_pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"anomaly-detection","task_name":"Anomaly Detection"},{"task_slug":"deep-reinforcement-learning","task_name":"Deep Reinforcement Learning"},{"task_slug":"reinforcement-learning-1","task_name":"Reinforcement Learning (RL)"},{"task_slug":"supervised-anomaly-detection","task_name":"Supervised Anomaly Detection"},{"task_slug":"reinforcement-learning-2","task_name":"reinforcement-learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2009.06847","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2009.06847"}},"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/teo-sl/DPLAN_pytorch","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lflfdxfn/DPLAN-Implementation","reach":{"status":"ok","spdx":"GPL-3.0"}}],"summary":{"unverified":6},"by_repo_kind":{"listed":{"samples":6,"ran":0,"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":"fe8480bd678e5364","entry":"DQN_iforest","repo":"teo-sl/DPLAN_pytorch","repo_kind":"listed","path":"util.py","file_url":"https://github.com/teo-sl/DPLAN_pytorch/blob/HEAD/util.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":"fe8480bd678e5364"}},{"code_sha256_prefix":"df475260487281b8","entry":"DQN_iforest","repo":"teo-sl/DPLAN_pytorch","repo_kind":"listed","path":"dran/DRAN.py","file_url":"https://github.com/teo-sl/DPLAN_pytorch/blob/HEAD/dran/DRAN.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":"df475260487281b8"}},{"code_sha256_prefix":"dd1016d73c5c60f4","entry":"distance_from_c","repo":"teo-sl/DPLAN_pytorch","repo_kind":"listed","path":"dran/DRAN.py","file_url":"https://github.com/teo-sl/DPLAN_pytorch/blob/HEAD/dran/DRAN.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":"dd1016d73c5c60f4"}},{"code_sha256_prefix":"8f818ed34e9cb7c7","entry":"get_total_reward","repo":"teo-sl/DPLAN_pytorch","repo_kind":"listed","path":"util.py","file_url":"https://github.com/teo-sl/DPLAN_pytorch/blob/HEAD/util.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":"8f818ed34e9cb7c7"}},{"code_sha256_prefix":"f072b2e9b9e7eb5c","entry":"loss_sad","repo":"teo-sl/DPLAN_pytorch","repo_kind":"listed","path":"dran/DRAN.py","file_url":"https://github.com/teo-sl/DPLAN_pytorch/blob/HEAD/dran/DRAN.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":"f072b2e9b9e7eb5c"}},{"code_sha256_prefix":"1683ef1df431e343","entry":"test_model","repo":"teo-sl/DPLAN_pytorch","repo_kind":"listed","path":"util.py","file_url":"https://github.com/teo-sl/DPLAN_pytorch/blob/HEAD/util.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":"1683ef1df431e343"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}