{"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/crisp-curriculum-based-sequential-neural","title":"CRISP: Curriculum based Sequential Neural Decoders for Polar Code Family","arxiv_id":"2210.00313","date":"2022-10-01","proceeding":null,"authors":["S Ashwin Hebbar","Viraj Nadkarni","Ashok Vardhan Makkuva","Suma Bhat","Sewoong Oh","Pramod Viswanath"],"abstract":"Polar codes are widely used state-of-the-art codes for reliable communication that have recently been included in the 5th generation wireless standards (5G). However, there remains room for the design of polar decoders that are both efficient and reliable in the short blocklength regime. Motivated by recent successes of data-driven channel decoders, we introduce a novel $\\textbf{C}$ur$\\textbf{RI}$culum based $\\textbf{S}$equential neural decoder for $\\textbf{P}$olar codes (CRISP). We design a principled curriculum, guided by information-theoretic insights, to train CRISP and show that it outperforms the successive-cancellation (SC) decoder and attains near-optimal reliability performance on the Polar(32,16) and Polar(64,22) codes. The choice of the proposed curriculum is critical in achieving the accuracy gains of CRISP, as we show by comparing against other curricula. More notably, CRISP can be readily extended to Polarization-Adjusted-Convolutional (PAC) codes, where existing SC decoders are significantly less reliable. To the best of our knowledge, CRISP constructs the first data-driven decoder for PAC codes and attains near-optimal performance on the PAC(32,16) code.","url_abs":"https://arxiv.org/abs/2210.00313v3","url_pdf":"https://arxiv.org/pdf/2210.00313v3.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":"crisp-curriculum-based-sequential-neural","repo_url":"https://github.com/hebbarashwin/neural_polar_decoder","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"decoder","task_name":"Decoder"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2210.00313","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2210.00313"}},"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/hebbarashwin/neural_polar_decoder","reach":null}],"summary":{"ran":6,"unverified":2},"by_repo_kind":{"official":{"samples":8,"ran":6,"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":8,"samples":[{"code_sha256_prefix":"a01fb0a39606bc92","entry":"EncoderLayer","repo":"hebbarashwin/neural_polar_decoder","repo_kind":"official","path":"models.py","file_url":"https://github.com/hebbarashwin/neural_polar_decoder/blob/HEAD/models.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":"a01fb0a39606bc92"}},{"code_sha256_prefix":"7ebfdb4decdd2967","entry":"MultiHeadAttention","repo":"hebbarashwin/neural_polar_decoder","repo_kind":"official","path":"models.py","file_url":"https://github.com/hebbarashwin/neural_polar_decoder/blob/HEAD/models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7ebfdb4decdd2967"}},{"code_sha256_prefix":"5dc71b216687fd19","entry":"PositionalEncoding","repo":"hebbarashwin/neural_polar_decoder","repo_kind":"official","path":"models.py","file_url":"https://github.com/hebbarashwin/neural_polar_decoder/blob/HEAD/models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5dc71b216687fd19"}},{"code_sha256_prefix":"86babeb581f77b1a","entry":"PositionwiseFeedForward","repo":"hebbarashwin/neural_polar_decoder","repo_kind":"official","path":"models.py","file_url":"https://github.com/hebbarashwin/neural_polar_decoder/blob/HEAD/models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"86babeb581f77b1a"}},{"code_sha256_prefix":"6c9c093ead99ba13","entry":"ScalarMult","repo":"hebbarashwin/neural_polar_decoder","repo_kind":"official","path":"models.py","file_url":"https://github.com/hebbarashwin/neural_polar_decoder/blob/HEAD/models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6c9c093ead99ba13"}},{"code_sha256_prefix":"8a910d256f2f4b62","entry":"ScaledDotProductAttention","repo":"hebbarashwin/neural_polar_decoder","repo_kind":"official","path":"models.py","file_url":"https://github.com/hebbarashwin/neural_polar_decoder/blob/HEAD/models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8a910d256f2f4b62"}},{"code_sha256_prefix":"c2ed00591f770c7f","entry":"XFormerEndToEndGPT","repo":"hebbarashwin/neural_polar_decoder","repo_kind":"official","path":"models.py","file_url":"https://github.com/hebbarashwin/neural_polar_decoder/blob/HEAD/models.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":"c2ed00591f770c7f"}},{"code_sha256_prefix":"c155582b2334f71c","entry":"XFormerGPT","repo":"hebbarashwin/neural_polar_decoder","repo_kind":"official","path":"models.py","file_url":"https://github.com/hebbarashwin/neural_polar_decoder/blob/HEAD/models.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":"c155582b2334f71c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}