{"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/hyperbolic-busemann-learning-with-ideal","title":"Hyperbolic Busemann Learning with Ideal Prototypes","arxiv_id":"2106.14472","date":"2021-06-28","proceeding":"NeurIPS 2021 12","authors":["Mina Ghadimi Atigh","Martin Keller-Ressel","Pascal Mettes"],"abstract":"Hyperbolic space has become a popular choice of manifold for representation learning of various datatypes from tree-like structures and text to graphs. Building on the success of deep learning with prototypes in Euclidean and hyperspherical spaces, a few recent works have proposed hyperbolic prototypes for classification. Such approaches enable effective learning in low-dimensional output spaces and can exploit hierarchical relations amongst classes, but require privileged information about class labels to position the hyperbolic prototypes. In this work, we propose Hyperbolic Busemann Learning. The main idea behind our approach is to position prototypes on the ideal boundary of the Poincar\\'e ball, which does not require prior label knowledge. To be able to compute proximities to ideal prototypes, we introduce the penalised Busemann loss. We provide theory supporting the use of ideal prototypes and the proposed loss by proving its equivalence to logistic regression in the one-dimensional case. Empirically, we show that our approach provides a natural interpretation of classification confidence, while outperforming recent hyperspherical and hyperbolic prototype approaches.","url_abs":"https://arxiv.org/abs/2106.14472v2","url_pdf":"https://arxiv.org/pdf/2106.14472v2.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":"hyperbolic-busemann-learning-with-ideal","repo_url":"https://github.com/minaghadimiatigh/hyperbolic-busemann-learning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":null,"task_name":"Position"},{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[{"method_slug":"logistic-regression","method_name":"Logistic Regression"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2106.14472","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2106.14472"}},"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/MinaGhadimiAtigh/Hyperbolic-Busemann-Learning","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/minaghadimiatigh/hyperbolic-busemann-learning","reach":null}],"summary":{"ran":1,"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"official":{"samples":4,"ran":2,"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":4,"samples":[{"code_sha256_prefix":"1a6b54a596a90b93","entry":"PeBusePenalty","repo":"minaghadimiatigh/hyperbolic-busemann-learning","repo_kind":"official","path":"helper/hyperbolicLoss.py","file_url":"https://github.com/minaghadimiatigh/hyperbolic-busemann-learning/blob/HEAD/helper/hyperbolicLoss.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":"1a6b54a596a90b93"}},{"code_sha256_prefix":"50090eda118c0f72","entry":"prototype_loss_sem","repo":"MinaGhadimiAtigh/Hyperbolic-Busemann-Learning","repo_kind":"official","path":"prototype_learning.py","file_url":"https://github.com/MinaGhadimiAtigh/Hyperbolic-Busemann-Learning/blob/HEAD/prototype_learning.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"50090eda118c0f72"}},{"code_sha256_prefix":"d4547614b2c3808b","entry":"prototype_loss","repo":"MinaGhadimiAtigh/Hyperbolic-Busemann-Learning","repo_kind":"official","path":"prototype_learning.py","file_url":"https://github.com/MinaGhadimiAtigh/Hyperbolic-Busemann-Learning/blob/HEAD/prototype_learning.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":"d4547614b2c3808b"}},{"code_sha256_prefix":"2b37e90e4521bf19","entry":"prototype_unify","repo":"MinaGhadimiAtigh/Hyperbolic-Busemann-Learning","repo_kind":"official","path":"prototype_learning.py","file_url":"https://github.com/MinaGhadimiAtigh/Hyperbolic-Busemann-Learning/blob/HEAD/prototype_learning.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2b37e90e4521bf19"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}