{"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/sgem-test-time-adaptation-for-automatic","title":"SGEM: Test-Time Adaptation for Automatic Speech Recognition via Sequential-Level Generalized Entropy Minimization","arxiv_id":"2306.01981","date":"2023-06-03","proceeding":null,"authors":["Changhun Kim","Joonhyung Park","Hajin Shim","Eunho Yang"],"abstract":"Automatic speech recognition (ASR) models are frequently exposed to data distribution shifts in many real-world scenarios, leading to erroneous predictions. To tackle this issue, an existing test-time adaptation (TTA) method has recently been proposed to adapt the pre-trained ASR model on unlabeled test instances without source data. Despite decent performance gain, this work relies solely on naive greedy decoding and performs adaptation across timesteps at a frame level, which may not be optimal given the sequential nature of the model output. Motivated by this, we propose a novel TTA framework, dubbed SGEM, for general ASR models. To treat the sequential output, SGEM first exploits beam search to explore candidate output logits and selects the most plausible one. Then, it utilizes generalized entropy minimization and negative sampling as unsupervised objectives to adapt the model. SGEM achieves state-of-the-art performance for three mainstream ASR models under various domain shifts.","url_abs":"https://arxiv.org/abs/2306.01981v4","url_pdf":"https://arxiv.org/pdf/2306.01981v4.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":"sgem-test-time-adaptation-for-automatic","repo_url":"https://github.com/drumpt/sgem","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"automatic-speech-recognition-2","task_name":"Automatic Speech Recognition"},{"task_slug":"automatic-speech-recognition","task_name":"Automatic Speech Recognition (ASR)"},{"task_slug":"speech-recognition","task_name":"Speech Recognition"},{"task_slug":"test-time-adaptation","task_name":"Test-time Adaptation"},{"task_slug":"speech-recognition-1","task_name":"speech-recognition"}],"methods":[{"method_slug":"test","method_name":"Test"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2306.01981","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2306.01981"}},"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/drumpt/sgem","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":2,"unverified":6},"by_repo_kind":{"official":{"samples":8,"ran":2,"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":"e6c3900dd3f5b5a3","entry":"preprocess_text","repo":"drumpt/sgem","repo_kind":"official","path":"corpus/commonvoice.py","file_url":"https://github.com/drumpt/sgem/blob/HEAD/corpus/commonvoice.py","link_basis":"plan_row","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":"e6c3900dd3f5b5a3"}},{"code_sha256_prefix":"482275f8ce08c946","entry":"snr_mixer","repo":"drumpt/sgem","repo_kind":"official","path":"corpus/audiolib.py","file_url":"https://github.com/drumpt/sgem/blob/HEAD/corpus/audiolib.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":"482275f8ce08c946"}},{"code_sha256_prefix":"b47f7a1713d60592","entry":"create_dataset","repo":"drumpt/sgem","repo_kind":"official","path":"data.py","file_url":"https://github.com/drumpt/sgem/blob/HEAD/data.py","link_basis":"first_harvest_node","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":"b47f7a1713d60592"}},{"code_sha256_prefix":"d2935ad1f2de53f6","entry":"get_logger","repo":"drumpt/sgem","repo_kind":"official","path":"utils.py","file_url":"https://github.com/drumpt/sgem/blob/HEAD/utils.py","link_basis":"first_harvest_node","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":"d2935ad1f2de53f6"}},{"code_sha256_prefix":"3f1c87031de7b002","entry":"preprocess_text","repo":"drumpt/sgem","repo_kind":"official","path":"corpus/preprocess_ted.py","file_url":"https://github.com/drumpt/sgem/blob/HEAD/corpus/preprocess_ted.py","link_basis":"first_harvest_node","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":"3f1c87031de7b002"}},{"code_sha256_prefix":"ed861ce6a327e3b5","entry":"read_text","repo":"drumpt/sgem","repo_kind":"official","path":"corpus/CHiME.py","file_url":"https://github.com/drumpt/sgem/blob/HEAD/corpus/CHiME.py","link_basis":"first_harvest_node","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":"ed861ce6a327e3b5"}},{"code_sha256_prefix":"30b97f1aebe60c1d","entry":"read_text","repo":"drumpt/sgem","repo_kind":"official","path":"corpus/librispeech.py","file_url":"https://github.com/drumpt/sgem/blob/HEAD/corpus/librispeech.py","link_basis":"first_harvest_node","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":"30b97f1aebe60c1d"}},{"code_sha256_prefix":"4b1f53425f7a3379","entry":"read_text","repo":"drumpt/sgem","repo_kind":"official","path":"corpus/ted.py","file_url":"https://github.com/drumpt/sgem/blob/HEAD/corpus/ted.py","link_basis":"first_harvest_node","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":"4b1f53425f7a3379"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}