{
  "id": 308863,
  "title": "Help understanding ArcFace Loss Function 🙊",
  "url": "/competitions/happy-whale-and-dolphin/discussion/308863",
  "author_name": "",
  "post_date": "2022-02-20T16:12:36.821475200Z",
  "votes": 10,
  "comment_count": 2,
  "views": 0,
  "content": "<p>I'm new in metric learning field and not have so much knowledge about this, about metric learning loss, ArcFace loss particularly. I searched the algorithm in paper and several sources, the explanation is straightforward and I understand how this comes out, but when it is implemented in code with some changes, I don't understand this so much, even paper and sources on the internet (at least all sources I found) do not mention it.</p>\n<p><img src=\"https://imgur.com/BIRLzpb\" alt=\"\"></p>\n<p><img src=\"https://imgur.com/VGnHrcp\" alt=\"\"></p>\n<p>Can someone explain for me or give any source that has an explanation for this one. Did I miss something?</p>\n<p>(Source gives first understanding of some metric learning knowledge and how it comes out for newbies (like me 🙈): <a href=\"https://towardsdatascience.com/the-why-and-the-how-of-deep-metric-learning-e70e16e199c0\" target=\"_blank\">https://towardsdatascience.com/the-why-and-the-how-of-deep-metric-learning-e70e16e199c0</a>)</p>",
  "messages": [
    {
      "id": "1698736",
      "postDate": "02/20/2022 16:12:36",
      "content": "<p>I'm new in metric learning field and not have so much knowledge about this, about metric learning loss, ArcFace loss particularly. I searched the algorithm in paper and several sources, the explanation is straightforward and I understand how this comes out, but when it is implemented in code with some changes, I don't understand this so much, even paper and sources on the internet (at least all sources I found) do not mention it.</p>\n<p><img src=\"https://imgur.com/BIRLzpb\" alt=\"\"></p>\n<p><img src=\"https://imgur.com/VGnHrcp\" alt=\"\"></p>\n<p>Can someone explain for me or give any source that has an explanation for this one. Did I miss something?</p>\n<p>(Source gives first understanding of some metric learning knowledge and how it comes out for newbies (like me 🙈): <a href=\"https://towardsdatascience.com/the-why-and-the-how-of-deep-metric-learning-e70e16e199c0\" target=\"_blank\">https://towardsdatascience.com/the-why-and-the-how-of-deep-metric-learning-e70e16e199c0</a>)</p>",
      "rawMarkdown": "I'm new in metric learning field and not have so much knowledge about this, about metric learning loss, ArcFace loss particularly. I searched the algorithm in paper and several sources, the explanation is straightforward and I understand how this comes out, but when it is implemented in code with some changes, I don't understand this so much, even paper and sources on the internet (at least all sources I found) do not mention it.\n\n![](https://imgur.com/BIRLzpb)\n\n![](https://imgur.com/VGnHrcp)\n\nCan someone explain for me or give any source that has an explanation for this one. Did I miss something?\n\n(Source gives first understanding of some metric learning knowledge and how it comes out for newbies (like me 🙈): https://towardsdatascience.com/the-why-and-the-how-of-deep-metric-learning-e70e16e199c0)",
      "votes": null
    },
    {
      "id": "1699930",
      "postDate": "02/21/2022 14:30:12",
      "content": "<p>I found this notebook from <a href=\"https://www.kaggle.com/slawekbiel\" target=\"_blank\">@slawekbiel</a> helpful.</p>\n<ul>\n<li><a href=\"https://www.kaggle.com/slawekbiel/arcface-explained\" target=\"_blank\">https://www.kaggle.com/slawekbiel/arcface-explained</a></li>\n</ul>\n<p>Alternatively, you can find many good explanations on Kaggle, Youtube videos walking you through the paper, and tutorials on the web explaining things.</p>\n<p>I hope this helps.</p>",
      "rawMarkdown": "I found this notebook from @slawekbiel helpful.\n  - https://www.kaggle.com/slawekbiel/arcface-explained\n\nAlternatively, you can find many good explanations on Kaggle, Youtube videos walking you through the paper, and tutorials on the web explaining things.\n\nI hope this helps.",
      "votes": null
    },
    {
      "id": "1701205",
      "postDate": "02/22/2022 15:29:33",
      "content": "<p>Thanks for your answer! 💯</p>\n<p>I see the notebook implement according to original formula and easy for understanding, but the code implement in its repo is not.</p>\n<p>But after a few re-reading, I found out that the code still the original formula (with a few change) but with several different interpretation.</p>",
      "rawMarkdown": "Thanks for your answer! 💯\n\nI see the notebook implement according to original formula and easy for understanding, but the code implement in its repo is not.\n\nBut after a few re-reading, I found out that the code still the original formula (with a few change) but with several different interpretation.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1699930,
      "author_name": "dschettler8845",
      "author_url": "",
      "post_date": "02/21/2022 14:30:12",
      "content": "<p>I found this notebook from <a href=\"https://www.kaggle.com/slawekbiel\" target=\"_blank\">@slawekbiel</a> helpful.</p>\n<ul>\n<li><a href=\"https://www.kaggle.com/slawekbiel/arcface-explained\" target=\"_blank\">https://www.kaggle.com/slawekbiel/arcface-explained</a></li>\n</ul>\n<p>Alternatively, you can find many good explanations on Kaggle, Youtube videos walking you through the paper, and tutorials on the web explaining things.</p>\n<p>I hope this helps.</p>",
      "votes": null,
      "replies": [
        {
          "id": 1701205,
          "author_name": "dqhdqmcttdqx",
          "author_url": "",
          "post_date": "02/22/2022 15:29:33",
          "content": "<p>Thanks for your answer! 💯</p>\n<p>I see the notebook implement according to original formula and easy for understanding, but the code implement in its repo is not.</p>\n<p>But after a few re-reading, I found out that the code still the original formula (with a few change) but with several different interpretation.</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "1698736": "I'm new in metric learning field and not have so much knowledge about this, about metric learning loss, ArcFace loss particularly. I searched the algorithm in paper and several sources, the explanation is straightforward and I understand how this comes out, but when it is implemented in code with some changes, I don't understand this so much, even paper and sources on the internet (at least all sources I found) do not mention it.\n\n![](https://imgur.com/BIRLzpb)\n\n![](https://imgur.com/VGnHrcp)\n\nCan someone explain for me or give any source that has an explanation for this one. Did I miss something?\n\n(Source gives first understanding of some metric learning knowledge and how it comes out for newbies (like me 🙈): https://towardsdatascience.com/the-why-and-the-how-of-deep-metric-learning-e70e16e199c0)",
    "1699930": "I found this notebook from @slawekbiel helpful.\n  - https://www.kaggle.com/slawekbiel/arcface-explained\n\nAlternatively, you can find many good explanations on Kaggle, Youtube videos walking you through the paper, and tutorials on the web explaining things.\n\nI hope this helps.",
    "1701205": "Thanks for your answer! 💯\n\nI see the notebook implement according to original formula and easy for understanding, but the code implement in its repo is not.\n\nBut after a few re-reading, I found out that the code still the original formula (with a few change) but with several different interpretation."
  },
  "source": "meta"
}