{"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/alps-active-learning-via-perturbations","title":"SoQal: Selective Oracle Questioning for Consistency Based Active Learning of Cardiac Signals","arxiv_id":"2004.09557","date":"2020-04-20","proceeding":null,"authors":["Dani Kiyasseh","Tingting Zhu","David A. Clifton"],"abstract":"Clinical settings are often characterized by abundant unlabelled data and limited labelled data. This is typically driven by the high burden placed on oracles (e.g., physicians) to provide annotations. One way to mitigate this burden is via active learning (AL) which involves the (a) acquisition and (b) annotation of informative unlabelled instances. Whereas previous work addresses either one of these elements independently, we propose an AL framework that addresses both. For acquisition, we propose Bayesian Active Learning by Consistency (BALC), a sub-framework which perturbs both instances and network parameters and quantifies changes in the network output probability distribution. For annotation, we propose SoQal, a sub-framework that dynamically determines whether, for each acquired unlabelled instance, to request a label from an oracle or to pseudo-label it instead. We show that BALC can outperform start-of-the-art acquisition functions such as BALD, and SoQal outperforms baseline methods even in the presence of a noisy oracle.","url_abs":"https://arxiv.org/abs/2004.09557v3","url_pdf":"https://arxiv.org/pdf/2004.09557v3.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":"alps-active-learning-via-perturbations","repo_url":"https://github.com/danikiyasseh/SoCal","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"alps-active-learning-via-perturbations","repo_url":"https://github.com/danikiyasseh/SoQal","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"active-learning","task_name":"Active Learning"},{"task_slug":"pseudo-label","task_name":"Pseudo Label"},{"task_slug":"time-series","task_name":"Time Series Analysis"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2004.09557","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2004.09557"}},"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/danikiyasseh/SoCal","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/danikiyasseh/SoQal","reach":null}],"summary":{"ran_fixture":5,"ran_honours":5,"unverified":3},"by_repo_kind":{"official":{"samples":13,"ran":10,"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":13,"samples":[{"code_sha256_prefix":"008df21c418ab619","entry":"change_ground_truth_label","repo":"danikiyasseh/SoQal","repo_kind":"official","path":"prepare_acquisition_functions.py","file_url":"https://github.com/danikiyasseh/SoQal/blob/HEAD/prepare_acquisition_functions.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":"008df21c418ab619"}},{"code_sha256_prefix":"ff73a84b15d29ea5","entry":"condition_for_oracle","repo":"danikiyasseh/SoQal","repo_kind":"official","path":"prepare_acquisition_functions.py","file_url":"https://github.com/danikiyasseh/SoQal/blob/HEAD/prepare_acquisition_functions.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":"ff73a84b15d29ea5"}},{"code_sha256_prefix":"3bc3a0a63048d7e2","entry":"obtain_aq_threshold","repo":"danikiyasseh/SoQal","repo_kind":"official","path":"prepare_acquisition_functions.py","file_url":"https://github.com/danikiyasseh/SoQal/blob/HEAD/prepare_acquisition_functions.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3bc3a0a63048d7e2"}},{"code_sha256_prefix":"975e94a3a4397186","entry":"obtain_entropy_threshold","repo":"danikiyasseh/SoQal","repo_kind":"official","path":"prepare_acquisition_functions.py","file_url":"https://github.com/danikiyasseh/SoQal/blob/HEAD/prepare_acquisition_functions.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"975e94a3a4397186"}},{"code_sha256_prefix":"52bb0d8f3e998d3f","entry":"obtain_output_probs","repo":"danikiyasseh/SoQal","repo_kind":"official","path":"prepare_acquisition_functions.py","file_url":"https://github.com/danikiyasseh/SoQal/blob/HEAD/prepare_acquisition_functions.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"52bb0d8f3e998d3f"}},{"code_sha256_prefix":"302dbafa332c7e23","entry":"obtain_prediction","repo":"danikiyasseh/SoQal","repo_kind":"official","path":"prepare_acquisition_functions.py","file_url":"https://github.com/danikiyasseh/SoQal/blob/HEAD/prepare_acquisition_functions.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"302dbafa332c7e23"}},{"code_sha256_prefix":"263eca5f79e2db45","entry":"retrieve_entropy","repo":"danikiyasseh/SoQal","repo_kind":"official","path":"prepare_acquisition_functions.py","file_url":"https://github.com/danikiyasseh/SoQal/blob/HEAD/prepare_acquisition_functions.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":"263eca5f79e2db45"}},{"code_sha256_prefix":"0167c90d24a3360c","entry":"retrieve_gaussian_intersection","repo":"danikiyasseh/SoQal","repo_kind":"official","path":"prepare_acquisition_functions.py","file_url":"https://github.com/danikiyasseh/SoQal/blob/HEAD/prepare_acquisition_functions.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0167c90d24a3360c"}},{"code_sha256_prefix":"88d14fab2580059c","entry":"retrieve_variance_ratio","repo":"danikiyasseh/SoQal","repo_kind":"official","path":"prepare_acquisition_functions.py","file_url":"https://github.com/danikiyasseh/SoQal/blob/HEAD/prepare_acquisition_functions.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":"88d14fab2580059c"}},{"code_sha256_prefix":"ee829a6804b3468a","entry":"select_sample_indices","repo":"danikiyasseh/SoQal","repo_kind":"official","path":"prepare_acquisition_functions.py","file_url":"https://github.com/danikiyasseh/SoQal/blob/HEAD/prepare_acquisition_functions.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ee829a6804b3468a"}},{"code_sha256_prefix":"5dcabacbe3292a29","entry":"acquisition_function","repo":"danikiyasseh/SoQal","repo_kind":"official","path":"prepare_acquisition_functions.py","file_url":"https://github.com/danikiyasseh/SoQal/blob/HEAD/prepare_acquisition_functions.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":"5dcabacbe3292a29"}},{"code_sha256_prefix":"6c1f4b0c869da2d4","entry":"retrieve_acquisition_metric","repo":"danikiyasseh/SoQal","repo_kind":"official","path":"prepare_acquisition_functions.py","file_url":"https://github.com/danikiyasseh/SoQal/blob/HEAD/prepare_acquisition_functions.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":"6c1f4b0c869da2d4"}},{"code_sha256_prefix":"39293e2b55c82ccd","entry":"retrieve_time_metric","repo":"danikiyasseh/SoQal","repo_kind":"official","path":"prepare_acquisition_functions.py","file_url":"https://github.com/danikiyasseh/SoQal/blob/HEAD/prepare_acquisition_functions.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":"39293e2b55c82ccd"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}