{"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/reactnet-towards-precise-binary-neural","title":"ReActNet: Towards Precise Binary Neural Network with Generalized Activation Functions","arxiv_id":"2003.03488","date":"2020-03-07","proceeding":"ECCV 2020 8","authors":["Zechun Liu","Zhiqiang Shen","Marios Savvides","Kwang-Ting Cheng"],"abstract":"In this paper, we propose several ideas for enhancing a binary network to close its accuracy gap from real-valued networks without incurring any additional computational cost. We first construct a baseline network by modifying and binarizing a compact real-valued network with parameter-free shortcuts, bypassing all the intermediate convolutional layers including the downsampling layers. This baseline network strikes a good trade-off between accuracy and efficiency, achieving superior performance than most of existing binary networks at approximately half of the computational cost. Through extensive experiments and analysis, we observed that the performance of binary networks is sensitive to activation distribution variations. Based on this important observation, we propose to generalize the traditional Sign and PReLU functions, denoted as RSign and RPReLU for the respective generalized functions, to enable explicit learning of the distribution reshape and shift at near-zero extra cost. Lastly, we adopt a distributional loss to further enforce the binary network to learn similar output distributions as those of a real-valued network. We show that after incorporating all these ideas, the proposed ReActNet outperforms all the state-of-the-arts by a large margin. Specifically, it outperforms Real-to-Binary Net and MeliusNet29 by 4.0% and 3.6% respectively for the top-1 accuracy and also reduces the gap to its real-valued counterpart to within 3.0% top-1 accuracy on ImageNet dataset. Code and models are available at: https://github.com/liuzechun/ReActNet.","url_abs":"https://arxiv.org/abs/2003.03488v2","url_pdf":"https://arxiv.org/pdf/2003.03488v2.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":"reactnet-towards-precise-binary-neural","repo_url":"https://github.com/liuzechun/ReActNet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"reactnet-towards-precise-binary-neural","repo_url":"https://github.com/stevetsui/rbonn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"reactnet-towards-precise-binary-neural","repo_url":"https://github.com/stevetsui/rebnn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"reactnet-towards-precise-binary-neural","repo_url":"https://github.com/code-implementation1/Code4/tree/main/IntegralNeuralNetworks","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null}],"tasks":[],"methods":[{"method_slug":"prelu","method_name":"PReLU"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2003.03488","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2003.03488"}},"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/code-implementation1/Code4/tree/main/IntegralNeuralNetworks","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/stevetsui/rebnn","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/stevetsui/rbonn","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/liuzechun/ReActNet","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":3,"unverified":1},"by_repo_kind":{"official":{"samples":2,"ran":2,"repositories":1},"listed":{"samples":2,"ran":1,"repositories":2}},"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":4,"samples":[{"code_sha256_prefix":"d9def42110729a85","entry":"conv1x1","repo":"liuzechun/ReActNet","repo_kind":"official","path":"mobilenet/1_step1/reactnet.py","file_url":"https://github.com/liuzechun/ReActNet/blob/HEAD/mobilenet/1_step1/reactnet.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d9def42110729a85"}},{"code_sha256_prefix":"fac5364e2f53c6db","entry":"conv3x3","repo":"liuzechun/ReActNet","repo_kind":"official","path":"mobilenet/1_step1/reactnet.py","file_url":"https://github.com/liuzechun/ReActNet/blob/HEAD/mobilenet/1_step1/reactnet.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fac5364e2f53c6db"}},{"code_sha256_prefix":"5111a3243a80feb0","entry":"round_pass","repo":"stevetsui/rebnn","repo_kind":"listed","path":"2_step2_rebnn/rebnn.py","file_url":"https://github.com/stevetsui/rebnn/blob/HEAD/2_step2_rebnn/rebnn.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5111a3243a80feb0"}},{"code_sha256_prefix":"eadd7cda7b974336","entry":"rbonn18","repo":"stevetsui/rbonn","repo_kind":"listed","path":"2_step2_rbonn/rbonn.py","file_url":"https://github.com/stevetsui/rbonn/blob/HEAD/2_step2_rbonn/rbonn.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":"eadd7cda7b974336"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}