{"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/additive-margin-softmax-for-face-verification","title":"Additive Margin Softmax for Face Verification","arxiv_id":"1801.05599","date":"2018-01-17","proceeding":null,"authors":["Feng Wang","Weiyang Liu","Haijun Liu","Jian Cheng"],"abstract":"In this paper, we propose a conceptually simple and geometrically\ninterpretable objective function, i.e. additive margin Softmax (AM-Softmax),\nfor deep face verification. In general, the face verification task can be\nviewed as a metric learning problem, so learning large-margin face features\nwhose intra-class variation is small and inter-class difference is large is of\ngreat importance in order to achieve good performance. Recently, Large-margin\nSoftmax and Angular Softmax have been proposed to incorporate the angular\nmargin in a multiplicative manner. In this work, we introduce a novel additive\nangular margin for the Softmax loss, which is intuitively appealing and more\ninterpretable than the existing works. We also emphasize and discuss the\nimportance of feature normalization in the paper. Most importantly, our\nexperiments on LFW BLUFR and MegaFace show that our additive margin softmax\nloss consistently performs better than the current state-of-the-art methods\nusing the same network architecture and training dataset. Our code has also\nbeen made available at https://github.com/happynear/AMSoftmax","url_abs":"http://arxiv.org/abs/1801.05599v4","url_pdf":"http://arxiv.org/pdf/1801.05599v4.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":"additive-margin-softmax-for-face-verification","repo_url":"https://github.com/happynear/AMSoftmax","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"additive-margin-softmax-for-face-verification","repo_url":"https://github.com/chrisqqq123/FA-Dist-EfficientNet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"additive-margin-softmax-for-face-verification","repo_url":"https://github.com/cvqluu/Additive-Margin-Softmax-Loss-Pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"additive-margin-softmax-for-face-verification","repo_url":"https://github.com/cvqluu/Angular-Penalty-Softmax-Losses-Pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"additive-margin-softmax-for-face-verification","repo_url":"https://github.com/dalisson/am_softmax","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"additive-margin-softmax-for-face-verification","repo_url":"https://github.com/doanmanhduy0210/ResearchPaperfacerecognitions","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"additive-margin-softmax-for-face-verification","repo_url":"https://github.com/ppriyank/Pytorch-Additive_Margin_Softmax_for_Face_Verification","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"additive-margin-softmax-for-face-verification","repo_url":"https://github.com/vnbot2/arcface","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"additive-margin-softmax-for-face-verification","repo_url":"https://github.com/zhen8838/Circle-Loss","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"additive-margin-softmax-for-face-verification","repo_url":"https://github.com/Recognito-Vision/Android-FaceRecognition-FaceLivenessDetection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok"}}],"tasks":[{"task_slug":"face-verification","task_name":"Face Verification"},{"task_slug":"metric-learning","task_name":"Metric Learning"}],"methods":[{"method_slug":"softmax","method_name":"Softmax"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/face-identification-on-trillion-pairs-dataset","task":"Face Identification","dataset":"Trillion Pairs Dataset","model":"AM-Softmax","rank_in_archive_order":2,"of":6,"metrics":{"Accuracy":"61.80"},"uses_additional_data":false},{"leaderboard":"/sota/face-verification-on-trillion-pairs-dataset","task":"Face Verification","dataset":"Trillion Pairs Dataset","model":"AM-Softmax","rank_in_archive_order":2,"of":6,"metrics":{"Accuracy":"61.61"},"uses_additional_data":false}],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1801.05599","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1801.05599"}},"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/dalisson/am_softmax","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zhen8838/Circle-Loss","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/vnbot2/arcface","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cvqluu/Additive-Margin-Softmax-Loss-Pytorch","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ppriyank/Pytorch-Additive_Margin_Softmax_for_Face_Verification","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/happynear/AMSoftmax","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Recognito-Vision/Android-FaceRecognition-FaceLivenessDetection","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/chrisqqq123/FA-Dist-EfficientNet","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/doanmanhduy0210/ResearchPaperfacerecognitions","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cvqluu/Angular-Penalty-Softmax-Losses-Pytorch","reach":null}],"summary":{"unverified":1},"by_repo_kind":{},"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":1,"samples":[{"code_sha256_prefix":"e984e4da60619384","entry":"get_embeds","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"e984e4da60619384"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}