{"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/a-comprehensive-review-of-binary-neural","title":"A comprehensive review of Binary Neural Network","arxiv_id":"2110.06804","date":"2021-10-11","proceeding":null,"authors":["Chunyu Yuan","Sos S. Agaian"],"abstract":"Deep learning (DL) has recently changed the development of intelligent systems and is widely adopted in many real-life applications. Despite their various benefits and potentials, there is a high demand for DL processing in different computationally limited and energy-constrained devices. It is natural to study game-changing technologies such as Binary Neural Networks (BNN) to increase deep learning capabilities. Recently remarkable progress has been made in BNN since they can be implemented and embedded on tiny restricted devices and save a significant amount of storage, computation cost, and energy consumption. However, nearly all BNN acts trade with extra memory, computation cost, and higher performance. This article provides a complete overview of recent developments in BNN. This article focuses exclusively on 1-bit activations and weights 1-bit convolution networks, contrary to previous surveys in which low-bit works are mixed in. It conducted a complete investigation of BNN's development -from their predecessors to the latest BNN algorithms/techniques, presenting a broad design pipeline and discussing each module's variants. Along the way, it examines BNN (a) purpose: their early successes and challenges; (b) BNN optimization: selected representative works that contain essential optimization techniques; (c) deployment: open-source frameworks for BNN modeling and development; (d) terminal: efficient computing architectures and devices for BNN and (e) applications: diverse applications with BNN. Moreover, this paper discusses potential directions and future research opportunities in each section.","url_abs":"https://arxiv.org/abs/2110.06804v4","url_pdf":"https://arxiv.org/pdf/2110.06804v4.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":"a-comprehensive-review-of-binary-neural","repo_url":"https://github.com/hpi-xnor/BMXNet-v2","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"mxnet","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"a-comprehensive-review-of-binary-neural","repo_url":"https://github.com/pminhtam/xnor_conv_pytorch_extension","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"binarization","task_name":"Binarization"},{"task_slug":"quantization","task_name":"Quantization"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2110.06804","atlas_url":"https://app.syntology.ai/?focus=2110.06804","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2110.06804"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/pminhtam/xnor_conv_pytorch_extension","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hpi-xnor/BMXNet-v2","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":6,"unverified":8},"by_repo_kind":{"official":{"samples":14,"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":14,"samples":[{"code_sha256_prefix":"47ebd1622534322e","entry":"classproperty","repo":"hpi-xnor/BMXNet-v2","repo_kind":"official","path":"python/mxnet/base.py","file_url":"https://github.com/hpi-xnor/BMXNet-v2/blob/HEAD/python/mxnet/base.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"47ebd1622534322e"}},{"code_sha256_prefix":"b15eee57aa63b7dd","entry":"clip","repo":"hpi-xnor/BMXNet-v2","repo_kind":"official","path":"dev_menu.py","file_url":"https://github.com/hpi-xnor/BMXNet-v2/blob/HEAD/dev_menu.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"b15eee57aa63b7dd"}},{"code_sha256_prefix":"673cc3400c21de38","entry":"get_docker_tag","repo":"hpi-xnor/BMXNet-v2","repo_kind":"official","path":"ci/build.py","file_url":"https://github.com/hpi-xnor/BMXNet-v2/blob/HEAD/ci/build.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"673cc3400c21de38"}},{"code_sha256_prefix":"ebcf98b1c05abe47","entry":"get_dockerfile","repo":"hpi-xnor/BMXNet-v2","repo_kind":"official","path":"ci/build.py","file_url":"https://github.com/hpi-xnor/BMXNet-v2/blob/HEAD/ci/build.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"ebcf98b1c05abe47"}},{"code_sha256_prefix":"82771a0ac4ead3ae","entry":"log_train_metric","repo":"hpi-xnor/BMXNet-v2","repo_kind":"official","path":"python/mxnet/callback.py","file_url":"https://github.com/hpi-xnor/BMXNet-v2/blob/HEAD/python/mxnet/callback.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"82771a0ac4ead3ae"}},{"code_sha256_prefix":"a0b139cbfc78247f","entry":"retry","repo":"hpi-xnor/BMXNet-v2","repo_kind":"official","path":"ci/util.py","file_url":"https://github.com/hpi-xnor/BMXNet-v2/blob/HEAD/ci/util.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"a0b139cbfc78247f"}},{"code_sha256_prefix":"3bc3ed8fa916a182","entry":"c_array","repo":"hpi-xnor/BMXNet-v2","repo_kind":"official","path":"amalgamation/python/mxnet_predict.py","file_url":"https://github.com/hpi-xnor/BMXNet-v2/blob/HEAD/amalgamation/python/mxnet_predict.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"3bc3ed8fa916a182"}},{"code_sha256_prefix":"313d72408f5f6086","entry":"c_str","repo":"hpi-xnor/BMXNet-v2","repo_kind":"official","path":"amalgamation/python/mxnet_predict.py","file_url":"https://github.com/hpi-xnor/BMXNet-v2/blob/HEAD/amalgamation/python/mxnet_predict.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"313d72408f5f6086"}},{"code_sha256_prefix":"df77b3eca6bd676b","entry":"do_checkpoint","repo":"hpi-xnor/BMXNet-v2","repo_kind":"official","path":"python/mxnet/callback.py","file_url":"https://github.com/hpi-xnor/BMXNet-v2/blob/HEAD/python/mxnet/callback.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"df77b3eca6bd676b"}},{"code_sha256_prefix":"4950353b99f3413d","entry":"module_checkpoint","repo":"hpi-xnor/BMXNet-v2","repo_kind":"official","path":"python/mxnet/callback.py","file_url":"https://github.com/hpi-xnor/BMXNet-v2/blob/HEAD/python/mxnet/callback.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"4950353b99f3413d"}},{"code_sha256_prefix":"b86308bc3bc53b49","entry":"record","repo":"hpi-xnor/BMXNet-v2","repo_kind":"official","path":"python/mxnet/autograd.py","file_url":"https://github.com/hpi-xnor/BMXNet-v2/blob/HEAD/python/mxnet/autograd.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"b86308bc3bc53b49"}},{"code_sha256_prefix":"84a2b5addc51f455","entry":"set_recording","repo":"hpi-xnor/BMXNet-v2","repo_kind":"official","path":"python/mxnet/autograd.py","file_url":"https://github.com/hpi-xnor/BMXNet-v2/blob/HEAD/python/mxnet/autograd.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"84a2b5addc51f455"}},{"code_sha256_prefix":"565479a708f0d1c6","entry":"set_training","repo":"hpi-xnor/BMXNet-v2","repo_kind":"official","path":"python/mxnet/autograd.py","file_url":"https://github.com/hpi-xnor/BMXNet-v2/blob/HEAD/python/mxnet/autograd.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"565479a708f0d1c6"}},{"code_sha256_prefix":"05550ef10b65470b","entry":"with_metaclass","repo":"hpi-xnor/BMXNet-v2","repo_kind":"official","path":"python/mxnet/base.py","file_url":"https://github.com/hpi-xnor/BMXNet-v2/blob/HEAD/python/mxnet/base.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"05550ef10b65470b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}