{"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/variable-rate-hierarchical-cpc-leads-to","title":"Variable-rate hierarchical CPC leads to acoustic unit discovery in speech","arxiv_id":"2206.02211","date":"2022-06-05","proceeding":null,"authors":["Santiago Cuervo","Adrian Łańcucki","Ricard Marxer","Paweł Rychlikowski","Jan Chorowski"],"abstract":"The success of deep learning comes from its ability to capture the hierarchical structure of data by learning high-level representations defined in terms of low-level ones. In this paper we explore self-supervised learning of hierarchical representations of speech by applying multiple levels of Contrastive Predictive Coding (CPC). We observe that simply stacking two CPC models does not yield significant improvements over single-level architectures. Inspired by the fact that speech is often described as a sequence of discrete units unevenly distributed in time, we propose a model in which the output of a low-level CPC module is non-uniformly downsampled to directly minimize the loss of a high-level CPC module. The latter is designed to also enforce a prior of separability and discreteness in its representations by enforcing dissimilarity of successive high-level representations through focused negative sampling, and by quantization of the prediction targets. Accounting for the structure of the speech signal improves upon single-level CPC features and enhances the disentanglement of the learned representations, as measured by downstream speech recognition tasks, while resulting in a meaningful segmentation of the signal that closely resembles phone boundaries.","url_abs":"https://arxiv.org/abs/2206.02211v3","url_pdf":"https://arxiv.org/pdf/2206.02211v3.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":"variable-rate-hierarchical-cpc-leads-to","repo_url":"https://github.com/chorowski-lab/hcpc","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":null,"task_name":"Acoustic Unit Discovery"},{"task_slug":"disentanglement","task_name":"Disentanglement"},{"task_slug":"quantization","task_name":"Quantization"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"},{"task_slug":"speech-recognition","task_name":"Speech Recognition"},{"task_slug":"speech-recognition-1","task_name":"speech-recognition"}],"methods":[{"method_slug":"contrastive-predictive-coding","method_name":"Contrastive Predictive Coding"},{"method_slug":"infonce","method_name":"InfoNCE"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2206.02211","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2206.02211"}},"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/chorowski-lab/hCPC","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/chorowski-lab/hcpc","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":1,"ran_honours":1,"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"official":{"samples":4,"ran":3,"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":"08f3980ddf80abec","entry":"MultiLevelModel","repo":"chorowski-lab/hcpc","repo_kind":"official","path":"cpc/model.py","file_url":"https://github.com/chorowski-lab/hcpc/blob/HEAD/cpc/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"08f3980ddf80abec"}},{"code_sha256_prefix":"0ea246c53b8065e5","entry":"deltas","repo":"chorowski-lab/hcpc","repo_kind":"official","path":"cpc/eval/phone_segmentation.py","file_url":"https://github.com/chorowski-lab/hcpc/blob/HEAD/cpc/eval/phone_segmentation.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0ea246c53b8065e5"}},{"code_sha256_prefix":"c77fa1d3a867cb87","entry":"parse_args","repo":"chorowski-lab/hcpc","repo_kind":"official","path":"cpc/eval/phone_segmentation.py","file_url":"https://github.com/chorowski-lab/hcpc/blob/HEAD/cpc/eval/phone_segmentation.py","link_basis":"first_harvest_node","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":"c77fa1d3a867cb87"}},{"code_sha256_prefix":"c158e898af4e20d1","entry":"Globals","repo":"chorowski-lab/hcpc","repo_kind":"official","path":"cpc/model.py","file_url":"https://github.com/chorowski-lab/hcpc/blob/HEAD/cpc/model.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":"c158e898af4e20d1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}