{"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/faster-binary-embeddings-for-preserving","title":"Faster Binary Embeddings for Preserving Euclidean Distances","arxiv_id":"2010.00712","date":"2020-10-01","proceeding":"ICLR 2021 1","authors":["Jinjie Zhang","Rayan Saab"],"abstract":"We propose a fast, distance-preserving, binary embedding algorithm to transform a high-dimensional dataset $\\mathcal{T}\\subseteq\\mathbb{R}^n$ into binary sequences in the cube $\\{\\pm 1\\}^m$. When $\\mathcal{T}$ consists of well-spread (i.e., non-sparse) vectors, our embedding method applies a stable noise-shaping quantization scheme to $A x$ where $A\\in\\mathbb{R}^{m\\times n}$ is a sparse Gaussian random matrix. This contrasts with most binary embedding methods, which usually use $x\\mapsto \\mathrm{sign}(Ax)$ for the embedding. Moreover, we show that Euclidean distances among the elements of $\\mathcal{T}$ are approximated by the $\\ell_1$ norm on the images of $\\{\\pm 1\\}^m$ under a fast linear transformation. This again contrasts with standard methods, where the Hamming distance is used instead. Our method is both fast and memory efficient, with time complexity $O(m)$ and space complexity $O(m)$. Further, we prove that the method is accurate and its associated error is comparable to that of a continuous valued Johnson-Lindenstrauss embedding plus a quantization error that admits a polynomial decay as the embedding dimension $m$ increases. Thus the length of the binary codes required to achieve a desired accuracy is quite small, and we show it can even be compressed further without compromising the accuracy. To illustrate our results, we test the proposed method on natural images and show that it achieves strong performance.","url_abs":"https://arxiv.org/abs/2010.00712v2","url_pdf":"https://arxiv.org/pdf/2010.00712v2.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":"faster-binary-embeddings-for-preserving","repo_url":"https://github.com/jayzhang0727/Faster-Binary-Embeddings-for-Preserving-Euclidean-Distances","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[{"task_slug":"quantization","task_name":"Quantization"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2010.00712","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2010.00712"}},"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/jayzhang0727/Faster-Binary-Embeddings-for-Preserving-Euclidean-Distances","reach":null}],"summary":{"ran":2,"ran_fixture":1},"by_repo_kind":{"official":{"samples":3,"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":3,"samples":[{"code_sha256_prefix":"fb3b17dd2381266d","entry":"convolve","repo":"jayzhang0727/Faster-Binary-Embeddings-for-Preserving-Euclidean-Distances","repo_kind":"official","path":"quantizer.py","file_url":"https://github.com/jayzhang0727/Faster-Binary-Embeddings-for-Preserving-Euclidean-Distances/blob/HEAD/quantizer.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":"fb3b17dd2381266d"}},{"code_sha256_prefix":"f8ff3eb05259e239","entry":"first_quantizer","repo":"jayzhang0727/Faster-Binary-Embeddings-for-Preserving-Euclidean-Distances","repo_kind":"official","path":"quantizer.py","file_url":"https://github.com/jayzhang0727/Faster-Binary-Embeddings-for-Preserving-Euclidean-Distances/blob/HEAD/quantizer.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f8ff3eb05259e239"}},{"code_sha256_prefix":"902d718e6fa622f5","entry":"sign","repo":"jayzhang0727/Faster-Binary-Embeddings-for-Preserving-Euclidean-Distances","repo_kind":"official","path":"quantizer.py","file_url":"https://github.com/jayzhang0727/Faster-Binary-Embeddings-for-Preserving-Euclidean-Distances/blob/HEAD/quantizer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"902d718e6fa622f5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}