{"id":314508,"date":"2020-12-08T09:00:54","date_gmt":"2020-12-08T09:00:54","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=314508"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=314508","title":{"rendered":"\u041d\u0435 \u0446\u0430\u0440\u0441\u043a\u0430\u044f \u0443 \u0442\u0435\u0431\u044f \u0444\u0438\u0437\u0438\u043e\u043d\u043e\u043c\u0438\u044f! \u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0442\u0435\u0440\u044c \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u0447\u0438 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u043b\u0438\u0446"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/xq\/ej\/72\/xqej72sxsyuvtrdp5gqpcs4eksa.png\"><\/div>\n<p>  <\/p>\n<p><em>\u041a\u0430\u0434\u0440 \u0438\u0437 \u0444\u0438\u043b\u044c\u043c\u0430 &quot;\u0418\u0432\u0430\u043d \u0412\u0430\u0441\u0438\u043b\u044c\u0435\u0432\u0438\u0447 \u043c\u0435\u043d\u044f\u0435\u0442 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u044e&quot;<\/em><\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043c\u043d\u0438\u0442\u0435 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u0437 \u043b\u0435\u0433\u0435\u043d\u0434\u0430\u0440\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0413\u0430\u0439\u0434\u0430\u044f? \u0423\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443 \u043c\u043e\u0436\u0435\u0442 \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0441 \u043e\u0434\u043d\u0438\u043c \u0438 \u0442\u0435\u043c \u0436\u0435 \u043b\u0438\u0446\u043e\u043c. \u0410 \u043a\u043e\u0433\u0434\u0430 \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u043b\u044e\u0434\u0435\u0439 \u0438 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u2014 \u0434\u0430\u0436\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0443\u0436\u0435 \u0431\u0435\u0441\u0441\u0438\u043b\u0435\u043d, \u0430 \u0441\u0432\u0435\u0440\u0442\u043e\u0447\u043d\u044b\u0435 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f. \u0422\u0430\u043a\u043e\u0435 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043b\u0438\u0446 \u0432\u044b\u043d\u0443\u0436\u0434\u0430\u0435\u0442 \u0438\u0441\u043a\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044b \u043a \u0440\u0430\u0437\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044e. \u041e\u0434\u0438\u043d \u0438\u0437 \u0442\u0430\u043a\u0438\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432 \u2014 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u043e\u0442\u0435\u0440\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u043d\u0430\u043c \u043d\u0435 \u043f\u043e\u0442\u043e\u043d\u0443\u0442\u044c \u0432 \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0445 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430\u0445 \u043f\u0440\u0438 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0438 \u043b\u0438\u0446, \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0442\u043e\u0447\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044f, \u043a\u0442\u043e \u0435\u0441\u0442\u044c \u043a\u0442\u043e. <\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043a\u0440\u043e\u0441\u0441-\u044d\u043d\u0442\u0440\u043e\u043f\u0438\u0438 \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u0447\u0438 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u043b\u0438\u0446.<\/p>\n<p><a name=\"habracut\"><\/a>  <\/p>\n<p>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043d\u0430\u0448\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0438:<\/p>\n<p>  <\/p>\n<ul>\n<li><strong>\u0411\u044d\u043a\u0431\u043e\u043d (backbone)<\/strong> \u2014 \u043d\u0435\u043a\u0438\u0439 \u0447\u0435\u0440\u043d\u044b\u0439 \u044f\u0449\u0438\u043a, \u0441\u0432\u0435\u0440\u0442\u043e\u0447\u043d\u0430\u044f \u0441\u0435\u0442\u044c, \u0432\u0445\u043e\u0434\u043e\u043c \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043b\u0438\u0446\u0430, \u0430 \u0432\u044b\u0445\u043e\u0434\u043e\u043c \u2014 \u0432\u0435\u043a\u0442\u043e\u0440, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u043b\u0438\u0446\u043e. \u041f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0431\u044d\u043a\u0431\u043e\u043d \u0438\u0437 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u0432 \u0443\u0437\u043a\u0438\u0445 \u043a\u0440\u0443\u0433\u0430\u0445 <a href=\"https:\/\/github.com\/deepinsight\/insightface\">InsightFace<\/a> \u2014 Open Source \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u043b\u0438\u0446 \u0441 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u044b\u0441\u043e\u043a\u0438\u043c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b.<\/li>\n<li><strong>\u0412\u0435\u043a\u0442\u043e\u0440 \u043b\u0438\u0446\u0430 (embedding)<\/strong> \u2014 \u0432\u0435\u043a\u0442\u043e\u0440, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u043b\u0438\u0446\u043e \u0432 \u043c\u043d\u043e\u0433\u043e\u043c\u0435\u0440\u043d\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435. \u0420\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u043e\u0442 128 \u0434\u043e 512. \u0412 \u043d\u0430\u0448\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043e\u0439, \u0440\u0430\u0432\u043d\u043e\u0439 512. \u041a \u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c \u043b\u0438\u0446 \u043c\u044b \u043f\u0440\u0435\u0434\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435: \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0438\u0445 \u0443\u0434\u043e\u0431\u043d\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043d\u0435\u043a\u043e\u0433\u043e \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438. \u0414\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u043c\u044b \u0445\u043e\u0442\u0438\u043c, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438 \u043b\u0438\u0446 \u043e\u0434\u043d\u043e\u0433\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u0431\u044b\u043b\u043e \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u043c, \u0430 \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438 \u0440\u0430\u0437\u043d\u044b\u0445 \u043b\u044e\u0434\u0435\u0439 \u2014 \u0431\u043e\u043b\u044c\u0448\u0438\u043c. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u043c, \u0447\u0442\u043e\u0431\u044b \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0434\u0432\u0443\u0445 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043b\u0438\u0446 (\u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438) \u043e\u0434\u043d\u043e\u0433\u043e \u0438 \u0442\u043e\u0433\u043e \u0436\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u0431\u044b\u043b\u043e \u0431\u044b \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u043b\u0438\u0436\u0435 \u043a 1, \u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u2014 \u043a -1 (\u043d\u0443 \u0438\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b 0). <\/li>\n<li><strong>Embedding-\u0441\u043b\u043e\u0439<\/strong> \u2014 \u043f\u043e\u043b\u043d\u043e\u0441\u0432\u044f\u0437\u043d\u044b\u0439 \u0441\u043b\u043e\u0439, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0438 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u043c \u0441\u043b\u043e\u0435\u043c \u0431\u044d\u043a\u0431\u043e\u043d\u0430, \u0435\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c (\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0439\u0440\u043e\u043d\u043e\u0432) \u0440\u0430\u0432\u043d\u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u043b\u0438\u0446\u0430.<\/li>\n<li><strong>\u0421\u043b\u043e\u0439 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438<\/strong> \u2014 \u043f\u043e\u043b\u043d\u043e\u0441\u0432\u044f\u0437\u043d\u044b\u0439 \u0441\u043b\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u043d\u043e\u0433\u0434\u0430 (\u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0442\u0435\u0440\u044c) \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0437\u0430 \u0431\u044d\u043a\u0431\u043e\u043d\u043e\u043c, \u0435\u0433\u043e \u0446\u0435\u043b\u044c \u2014 \u0438\u0437 \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u043b\u0438\u0446\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u0435\u043a\u0442\u043e\u0440 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0435\u0439 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u0433\u0434\u0435 \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u2014 \u043e\u0434\u0438\u043d \u0447\u0435\u043b\u043e\u0432\u0435\u043a. \u0412 \u043e\u0431\u0449\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u044d\u0442\u043e <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/dda\/6db\/d70\/dda6dbd70e0743c9adfd261081887c68.svg\" alt=\"$W^TX + b$\" data-tex=\"inline\"><\/math>, \u0433\u0434\u0435 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6d6\/a4f\/78f\/6d6a4f78fbacd6edecc018ce8ad3e364.svg\" alt=\"$X$\" data-tex=\"inline\"><\/math> \u2014 \u0432\u0435\u043a\u0442\u043e\u0440 \u043b\u0438\u0446\u0430 (\u0432\u044b\u0445\u043e\u0434 \u0431\u044d\u043a\u0431\u043e\u043d\u0430), <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6e5\/abb\/15e\/6e5abb15e29d1257aebb0838e6251398.svg\" alt=\"$W$\" data-tex=\"inline\"><\/math> \u2014 \u0432\u0435\u0441\u0430 \u043f\u043e\u043b\u043d\u043e\u0441\u0432\u044f\u0437\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u044f, \u0430 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/302\/c72\/04e\/302c7204ea9987e698a70307646abd71.svg\" alt=\"$b$\" data-tex=\"inline\"><\/math> \u2014 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u0447\u043b\u0435\u043d. \u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0441\u043b\u043e\u044f \u043a \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044f\u043c \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c softmax.<\/li>\n<\/ul>\n<p>  <\/p>\n<p><strong>\u0417\u0430\u0434\u0430\u0447\u0430 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u043b\u0438\u0446<\/strong> \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0442\u0440\u0435\u043d\u0438\u0440\u043e\u0432\u043a\u0435 \u0442\u0430\u043a\u043e\u0433\u043e \u0431\u044d\u043a\u0431\u043e\u043d\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442 \u043d\u0430\u0441 \u0443\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438 \u043b\u0438\u0446, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c. \u0414\u043b\u044f \u0442\u0440\u0435\u043d\u0438\u0440\u043e\u0432\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f <strong>\u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044c<\/strong> \u2014 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043d\u0430\u0448\u0430 \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u0441\u0435\u0442\u044c \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u0437\u0430\u0434\u0430\u0447\u0435\u0439. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u2014 \u0448\u0442\u0440\u0430\u0444 (\u0447\u0435\u043c \u043e\u043d \u043c\u0435\u043d\u044c\u0448\u0435 \u2014 \u0442\u0435\u043c \u043b\u0443\u0447\u0448\u0435), \u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u2014 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0435\u0442\u0438. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0442\u0435\u0440\u044c \u0438 \u0438\u0445 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u044e \u0432 \u0437\u0430\u0434\u0430\u0447\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u043b\u0438\u0446 \u043c\u044b \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c.<\/p>\n<p>  <\/p>\n<h1 id=\"suschestvuyuschie-podhody-k-zadache-raspoznavaniya-lic\">\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044b \u043a \u0437\u0430\u0434\u0430\u0447\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u043b\u0438\u0446<\/h1>\n<p>  <\/p>\n<p>\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0432 \u0433\u043b\u0443\u0431\u043e\u043a\u0438\u0445 \u0441\u0432\u0435\u0440\u0442\u043e\u0447\u043d\u044b\u0445 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044f\u0445 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0434\u0432\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u043a \u0437\u0430\u0434\u0430\u0447\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u043b\u0438\u0446: \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 (metric learning) \u0438 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f.<\/p>\n<p>  <\/p>\n<h3 id=\"obuchenie-metriki\">\u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438<\/h3>\n<p>  <\/p>\n<p>\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0438, \u043c\u044b \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u0435\u0442\u044c \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044f\u043c\u0438 \u0440\u0430\u0437\u043d\u044b\u0445 \u043b\u044e\u0434\u0435\u0439 \u0438 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0442\u044c \u0435\u0433\u043e \u043c\u0435\u0436\u0434\u0443 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044f\u043c\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0438 \u0442\u043e\u0433\u043e \u0436\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430. \u0421\u0430\u043c\u044b\u0439 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u2014 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Triplet_loss\">Triplet Loss<\/a>:<\/p>\n<p>  <\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/49e\/b8e\/dd6\/49eb8edd6bece86f0244b3ae04611bca.svg\" alt=\"$Loss = \\sum_{i=0}^N[||f_{i}^a - f_{i}^p||_{2}^2 - [||f_{i}^a - f_{i}^n||_{2}^2 + \\alpha],$\" data-tex=\"display\"><\/math><\/p>\n<p>  <\/p>\n<p>\u0433\u0434\u0435:<\/p>\n<p>  <\/p>\n<ul>\n<li><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/255\/d9a\/6e9\/255d9a6e921bc322809cd9bb12375622.svg\" alt=\"$f^a$\" data-tex=\"inline\"><\/math> \u2014 anchor, \u0432\u0435\u043a\u0442\u043e\u0440 \u043b\u0438\u0446\u0430 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430, \u0441 \u043d\u0438\u043c \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0434\u0432\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0432\u0435\u043a\u0442\u043e\u0440\u0430;<\/li>\n<li><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/707\/727\/697\/707727697ac541b30578391f4eb3d3fb.svg\" alt=\"$f^p$\" data-tex=\"inline\"><\/math> \u2014 positive, \u0432\u0435\u043a\u0442\u043e\u0440 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0442\u043e\u0433\u043e \u0436\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430;<\/li>\n<li><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/361\/be5\/190\/361be519051fd628c81908fda69e2228.svg\" alt=\"$f^n$\" data-tex=\"inline\"><\/math> \u2014 negative, \u0432\u0435\u043a\u0442\u043e\u0440 \u043b\u0438\u0446\u0430 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430;<\/li>\n<li><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/723\/4a5\/2ba\/7234a52ba041cdb09b9328a047048fb2.svg\" alt=\"$\\alpha$\" data-tex=\"inline\"><\/math> \u2014 \u043d\u0435\u043a\u0430\u044f \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043f\u043e\u0437\u0438\u0442\u0438\u0432\u043d\u043e\u0439 \u0438 \u043d\u0435\u0433\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u0440\u0430\u043c\u0438.<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u044b \u0445\u043e\u0442\u0438\u043c, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044f\u043c\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u0431\u044b\u043b\u043e \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043d\u0430 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/723\/4a5\/2ba\/7234a52ba041cdb09b9328a047048fb2.svg\" alt=\"$\\alpha$\" data-tex=\"inline\"><\/math> \u043c\u0435\u043d\u044c\u0448\u0435 \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0435\u0439 \u0442\u043e\u0433\u043e \u0436\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u0438 \u043a\u0430\u043a\u043e\u0433\u043e-\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e.<\/p>\n<p>  <\/p>\n<h3 id=\"klassifikaciya\">\u041a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f<\/h3>\n<p>  <\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a \u043d\u0430\u0448\u0435\u043c\u0443 \u0431\u044d\u043a\u0431\u043e\u043d\u0443 \u043f\u043e\u043b\u043d\u043e\u0441\u0432\u044f\u0437\u043d\u044b\u0439 \u0441\u043b\u043e\u0439 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438, \u043e\u0431\u0443\u0447\u0430\u0435\u043c \u0441\u0435\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0434\u0435\u0439 (\u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u2014 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0447\u0435\u043b\u043e\u0432\u0435\u043a), \u0437\u0430\u0442\u0435\u043c \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u044d\u0442\u043e\u0442 \u0441\u043b\u043e\u0439, \u0438 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e embedding-\u0441\u043b\u043e\u0439 \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u0435\u0442 \u043d\u0430\u0448\u0438\u043c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c.<\/p>\n<p>  <\/p>\n<p>\u0418\u0434\u0435\u044f Triplet Loss \u043a\u0440\u0430\u0441\u0438\u0432\u0430\u044f \u0438 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0430\u0448\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0435, \u0430 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043e\u0442\u0434\u0430\u0435\u0442 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u201c\u043a\u0430\u0448\u0435\u0439 \u0438\u0437 \u0442\u043e\u043f\u043e\u0440\u0430\u201d, \u043d\u043e \u0442\u0430\u043a \u0432\u044b\u0448\u043b\u043e, \u0447\u0442\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u043b\u0443\u0447\u0448\u0435, \u0432\u0441\u0435 <abbr title=\"State of the Art, \u043b\u0443\u0447\u0448\u0438\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442\">SotA<\/abbr> \u043e\u0431\u0443\u0447\u0435\u043d\u044b \u044d\u0442\u0438\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u043c, \u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0438\u0434\u0435\u0439 \u043f\u043e\u0448\u043b\u043e \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u043f\u0443\u0442\u0438. \u041e\u0434\u043d\u0430\u043a\u043e, Triplet Loss \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0434\u043e\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f (fine-tuning) \u043c\u043e\u0434\u0435\u043b\u0438. \u0422\u0430\u043a \u043a\u0430\u043a \u043d\u0430\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d \u043f\u043e\u0434\u0445\u043e\u0434 \u0441 \u043b\u0443\u0447\u0448\u0438\u043c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e\u043c, \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0439 \u0432\u0442\u043e\u0440\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0438 \u043f\u0440\u043e\u0441\u043b\u0435\u0434\u0438\u043c \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u0438\u0434\u0435\u0439.<\/p>\n<p>  <\/p>\n<h1 id=\"klassifikaciya-v-kontekste-raspoznavaniya-lic\">\u041a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u043b\u0438\u0446<\/h1>\n<p>  <\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043e\u0431\u0443\u0447\u0430\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u044c \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0434\u0435\u0439, \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043f\u043e\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u043b\u0438\u0446 \u0438\u0437, \u043f\u043e \u0441\u0443\u0442\u0438, \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u044f. \u041d\u0430 \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u0443\u0442\u044c \u043e\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043b\u0438\u0446\u0430 \u0434\u043e \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/vb\/ym\/_s\/vbym_stiti41ye5_kycohttprko.png\" alt=\"\u041a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f\"><br \/>  \u0412\u0435\u0441\u0430 \u0441\u043b\u043e\u044f \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u2014 \u044d\u0442\u043e \u0434\u0432\u0443\u043c\u0435\u0440\u043d\u0430\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u0430, \u0433\u0434\u0435 \u043f\u0435\u0440\u0432\u0430\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0432\u0435\u043a\u0442\u043e\u0440 \u043b\u0438\u0446\u0430 (\u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 512), \u0430 \u0432\u0442\u043e\u0440\u0430\u044f \u2014 \u0437\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0441\u043e\u0432 (\u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430, \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u0438\u043b\u0438 \u0441\u043e\u0442\u043d\u0438 \u0442\u044b\u0441\u044f\u0447). \u0414\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u2014 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 (\u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430) \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u0438\u0439 \u0432\u0435\u043a\u0442\u043e\u0440, \u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0440\u0430\u0432\u043d\u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u043b\u0438\u0446\u0430. \u042d\u0442\u043e\u0442 \u0432\u0435\u043a\u0442\u043e\u0440 \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0446\u0435\u043d\u0442\u0440\u043e\u0438\u0434, \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u0438\u0439 \u201c\u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0432\u0435\u043a\u0442\u043e\u0440\u201d \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430. \u0412\u0435\u0441\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a: \u0434\u0430\u0439 \u043c\u043d\u0435 \u0442\u0430\u043a\u043e\u0439 \u0432\u0435\u043a\u0442\u043e\u0440 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438, \u0447\u0442\u043e\u0431\u044b \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u043c \u0438\u0437 \u0432\u0441\u0435\u0445 \u0446\u0435\u043d\u0442\u0440\u043e\u0438\u0434\u043e\u0432 \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0446\u0435\u043d\u0442\u0440\u043e\u0438\u0434, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0443 \u043d\u0430 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438. \u0426\u0435\u043d\u0442\u0440\u043e\u0438\u0434\u044b \u043d\u0435 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f. \u0415\u0441\u043b\u0438 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0432\u0435\u0441\u0430 \u0441\u043b\u043e\u044f \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438, \u0442\u043e \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a:<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/q0\/6y\/-u\/q06y-uaat4fltv8xqjkhr80wjgc.png\" width=\"300\" height=\"700\"><\/div>\n<p>  <\/p>\n<p>\u0423 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0435\u0441\u0442\u044c \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0439 \u043f\u043b\u044e\u0441: \u043a\u0430\u0436\u0434\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043c\u044b \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u043c \u0437\u0430 \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0441 \u0434\u0435\u0441\u044f\u0442\u043a\u0430\u043c\u0438 \u0442\u044b\u0441\u044f\u0447 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439, \u0430 \u043c\u0438\u043d\u0443\u0441 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u043d\u0435 \u0442\u043e \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0431\u0443\u0447\u0430\u0435\u043c\u0430\u044f \u043d\u0430\u043c\u0438 \u0443\u0441\u0440\u0435\u0434\u043d\u0435\u043d\u043d\u0430\u044f \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u044d\u0442\u043e, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u0443\u0447\u0438\u0442\u0441\u044f \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043b\u0438\u0446\u0430. \u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, \u0432\u0440\u0435\u043c\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u043c\u044b\u043c, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 Triplet Loss \u2014 \u043a\u043e\u0433\u0434\u0430 \u0438\u043c\u0435\u0435\u043c \u0434\u0435\u043b\u043e \u0441 \u0443\u0436\u0435 \u043d\u0435\u043f\u043b\u043e\u0445\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u044c\u044e, \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043a\u0440\u0430\u0439\u043d\u0435 \u0441\u043b\u043e\u0436\u043d\u043e \u0438\u0441\u043a\u0430\u0442\u044c \u0442\u0440\u043e\u0439\u043a\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0435\u0442\u044c \u043e\u0448\u0438\u0431\u0430\u0435\u0442\u0441\u044f (hard sampling), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0435\u0442\u0438 \u0441\u0442\u0440\u0435\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u043c\u0435\u0434\u043b\u044f\u0435\u0442\u0441\u044f. <\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0434\u0438\u0441\u0442\u0430\u043d\u0446\u0438\u0438 \u043e\u0442 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0434\u043e \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u0446\u0435\u043d\u0442\u0440\u043e\u0438\u0434\u043e\u0432 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u2014 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u043a\u0430\u043a \u043d\u0430\u043c \u0437\u0430 \u044d\u0442\u043e \u0448\u0442\u0440\u0430\u0444\u043e\u0432\u0430\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0442\u044b \u043a\u0430\u0440\u0442\u0438\u043d\u044b \u043d\u0430\u043c \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0434\u0432\u0443\u0445 \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0445 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445: Softmax \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043e\u0442 \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u043a \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044f\u043c \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439 \u0438 Cross Entropy \u2014 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0448\u0442\u0440\u0430\u0444\u0430. \u0412 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0435 \u043e\u043d\u0438 \u0447\u0430\u0441\u0442\u043e \u0438\u0434\u0443\u0442 \u0432\u043c\u0435\u0441\u0442\u0435 \u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0451\u043d\u043d\u043e <strong>Softmax Loss<\/strong>.<\/p>\n<p>  <\/p>\n<h1 id=\"softmax-loss\">Softmax Loss<\/h1>\n<p>  <\/p>\n<p>\u041d\u0430\u0447\u043d\u0435\u043c \u0441 Softmax, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0434\u0438\u0441\u0442\u0430\u043d\u0446\u0438\u0438 \u0432 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f. \u0412\u0432\u0435\u0434\u0435\u043c \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f:<\/p>\n<p>  <\/p>\n<ul>\n<li><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6e5\/abb\/15e\/6e5abb15e29d1257aebb0838e6251398.svg\" alt=\"$W$\" data-tex=\"inline\"><\/math> \u2014 \u0432\u0435\u0441\u0430 \u0441\u043b\u043e\u044f \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 (\u0446\u0435\u043d\u0442\u0440\u043e\u0438\u0434\u044b)<\/li>\n<li><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6d6\/a4f\/78f\/6d6a4f78fbacd6edecc018ce8ad3e364.svg\" alt=\"$X$\" data-tex=\"inline\"><\/math> \u2014 \u0432\u044b\u0445\u043e\u0434 embedding-\u0441\u043b\u043e\u044f, \u0432\u0435\u043a\u0442\u043e\u0440 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/li>\n<li><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/302\/c72\/04e\/302c7204ea9987e698a70307646abd71.svg\" alt=\"$b$\" data-tex=\"inline\"><\/math> \u2014 bias, \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u0447\u043b\u0435\u043d<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0432\u044b\u0445\u043e\u0434 \u0441\u043b\u043e\u044f \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 (\u043d\u0438 \u0443 \u043d\u0435\u0433\u043e, \u043d\u0438 \u0443 embedding-\u0441\u043b\u043e\u044f \u043d\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0439): <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f1f\/6aa\/a38\/f1f6aaa38230f2f918afd8579cde273c.svg\" alt=\"$z =W^TX + b$\" data-tex=\"inline\"><\/math>. \u0424\u0443\u043d\u043a\u0446\u0438\u044f <a href=\"https:\/\/en.wikipedia.org\/wiki\/Softmax_function\">Softmax<\/a>(<math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/bd2\/53a\/dd0\/bd253add01b6a626f79861899c5e7d73.svg\" alt=\"$\\sigma$\" data-tex=\"inline\"><\/math>) \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<p>  <\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4a6\/275\/f75\/4a6275f75f0449a4daedaa093f9dea57.svg\" alt=\"$\\sigma(z)_j = \\frac{e^{z_j}} {\\sum_{i=0}^C e^{z_i} }$\" data-tex=\"display\"><\/math><\/p>\n<p>  <\/p>\n<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0448\u0430\u0433 \u2014 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c <a href=\"https:\/\/en.wikipedia.org\/wiki\/Cross_entropy\">Cross Entropy<\/a>, \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 Softmax Loss \u0438\u043c\u0435\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u0438\u0434:<\/p>\n<p>  <\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/ee1\/f47\/6d6\/ee1f476d6798519f6dd4ab116d9fa32f.svg\" alt=\"$L_{Softmax} = - \\frac {1}{N} \\sum_{i=1}^N log\\frac {e^{W^T_{y_i}x_i + b_{y_i}}}{\\sum_{j=1}^C e^{W_j^Tx_i + b_j}}, $\" data-tex=\"display\"><\/math><\/p>\n<p>  <\/p>\n<p>\u0413\u0434\u0435 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/98f\/639\/4b2\/98f6394b2bd98b852bb0895b97d55e9f.svg\" alt=\"$y_i$\" data-tex=\"inline\"><\/math> \u2014 \u0438\u043d\u0434\u0435\u043a\u0441 \u0446\u0435\u043d\u0442\u0440\u043e\u0438\u0434\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 \u0443 \u043d\u0430\u0441 \u0444\u043e\u0442\u043e \u0413\u0430\u0440\u043e\u043b\u044c\u0434\u0430, \u0438 \u0438\u043d\u0434\u0435\u043a\u0441 \u043a\u043b\u0430\u0441\u0441\u0430 \u0413\u0430\u0440\u043e\u043b\u044c\u0434\u0430 42, \u0442\u043e \u043c\u044b \u0431\u0435\u0440\u0435\u043c 42-\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u0432\u0435\u0441\u0430\u0445 \u0441\u043b\u043e\u044f \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438. <\/p>\n<p>  <\/p>\n<p>\u0412\u0441\u0435 \u044d\u0442\u043e \u2014 \u043a\u043b\u0430\u0441\u0441\u0438\u043a\u0430 \u0438 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e \u0434\u0430\u0432\u043d\u043e, \u0430 \u0434\u0430\u043b\u044c\u0448\u0435 \u0441\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435.<\/p>\n<p>  <\/p>\n<h1 id=\"podgonyaem-deystvitelnoe-pod-zhelaemoe\">\u041f\u043e\u0434\u0433\u043e\u043d\u044f\u0435\u043c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u0434 \u0436\u0435\u043b\u0430\u0435\u043c\u043e\u0435<\/h1>\n<p>  <\/p>\n<p>\u0415\u0449\u0435 \u0440\u0430\u0437 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0432\u044b\u0445\u043e\u0434 \u0441\u043b\u043e\u044f \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438: <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/dda\/6db\/d70\/dda6dbd70e0743c9adfd261081887c68.svg\" alt=\"$W^TX + b$\" data-tex=\"inline\"><\/math> \u0427\u0442\u043e\u0431\u044b \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u0447\u043b\u0435\u043d \u043d\u0435 \u043c\u0435\u0448\u0430\u043b\u0441\u044f \u2014 \u0443\u0431\u0435\u0440\u0435\u043c \u0435\u0433\u043e: <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8ec\/4ca\/ae8\/8ec4caae8d46f38657f9872e9c416c61.svg\" alt=\"$b = 0$\" data-tex=\"inline\"><\/math>, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/440\/d25\/898\/440d25898565e72506e8032232401714.svg\" alt=\"$W^TX$\" data-tex=\"inline\"><\/math>. \u0414\u0430\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435 \u0447\u0435\u043c \u0438\u043d\u044b\u043c, \u043a\u0430\u043a \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u044b\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u043b\u0438\u0446\u0430 \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u0446\u0435\u043d\u0442\u0440\u043e\u0438\u0434\u043e\u0432. \u0420\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u0441 \u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044f\u043c\u0438:<\/p>\n<p>  <\/p>\n<ul>\n<li><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6d6\/a4f\/78f\/6d6a4f78fbacd6edecc018ce8ad3e364.svg\" alt=\"$X$\" data-tex=\"inline\"><\/math> \u0438\u043c\u0435\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d53\/cf2\/72e\/d53cf272e33d370356c5812ccc8c17fb.svg\" alt=\"$F\\times B$\" data-tex=\"inline\"><\/math>, \u0433\u0434\u0435 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/20d\/8ca\/ec6\/20d8caec693d8d8eaf70885e408419f6.svg\" alt=\"$B $\" data-tex=\"inline\"><\/math> \u2014 \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0442\u0447\u0430 (\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u043f\u043e\u0434\u0430\u0435\u043c \u043d\u0430 \u0432\u0445\u043e\u0434 \u0441\u0435\u0442\u0438 \u0437\u0430 \u043e\u0434\u043d\u0443 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044e), <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b8b\/97c\/656\/b8b97c6567171cc2b6a7f303a0fa8b0a.svg\" alt=\"$F $\" data-tex=\"inline\"><\/math> \u2014 \u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u043b\u0438\u0446\u0430 (\u0443 \u043d\u0430\u0441 512). <\/li>\n<li><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6e5\/abb\/15e\/6e5abb15e29d1257aebb0838e6251398.svg\" alt=\"$W$\" data-tex=\"inline\"><\/math> \u0438\u043c\u0435\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/aaa\/087\/3aa\/aaa0873aa8de48c7c52ea00c376b71e8.svg\" alt=\"$F\\times C$\" data-tex=\"inline\"><\/math>, \u0433\u0434\u0435 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/47e\/792\/77d\/47e79277dc17c254743475ff05980a53.svg\" alt=\"$C$\" data-tex=\"inline\"><\/math> \u2014 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0441\u043e\u0432.<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u044f <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/813\/27e\/073\/81327e07300921ec0042583a1857e9b7.svg\" alt=\"$W^T$\" data-tex=\"inline\"><\/math> \u043d\u0430 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6d6\/a4f\/78f\/6d6a4f78fbacd6edecc018ce8ad3e364.svg\" alt=\"$X$\" data-tex=\"inline\"><\/math> \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6a8\/7fa\/af6\/6a87faaf692becf321b59b9625eaed9b.svg\" alt=\"$C\\times B$\" data-tex=\"inline\"><\/math>, \u0442\u043e \u0435\u0441\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u0446\u0435\u043d\u0442\u0440\u043e\u0438\u0434\u043e\u0432. <\/p>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043c, \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u0443\u0433\u043b\u0430 \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u0445 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432:<\/p>\n<p>  <\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5bb\/310\/e5c\/5bb310e5c22d04b08102230a814ad95f.svg\" alt=\"$cos(\\theta) = \\frac {dot(u,v)}{||u||||v||}$\" data-tex=\"display\"><\/math><\/p>\n<p>  <\/p>\n<p>\u042d\u0442\u043e \u043a\u0430\u043a \u0440\u0430\u0437 \u0442\u043e, \u0447\u0442\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e: \u0443\u0433\u043e\u043b \u043c\u0435\u0436\u0434\u0443 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c \u0446\u0435\u043d\u0442\u0440\u043e\u0438\u0434\u043e\u043c \u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u043b\u0438\u0446\u0430 \u2014 \u044d\u0442\u043e \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435, \u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u043d\u0430 \u0434\u0432\u0435 \u043d\u043e\u0440\u043c\u044b. \u041d\u0430\u043c \u043c\u0435\u0448\u0430\u044e\u0442 \u043d\u043e\u0440\u043c\u044b \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u044d\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c, \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u043d\u043e\u0440\u043c\u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0446\u0435\u043d\u0442\u0440\u043e\u0438\u0434\u0430 \u0440\u0430\u0432\u043d\u043e\u0439 \u0435\u0434\u0438\u043d\u0438\u0446\u0435 (<math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5bf\/c57\/41d\/5bfc5741d193ca5d02aa53f0cad95594.svg\" alt=\"$||W_i|| = 1$\" data-tex=\"inline\"><\/math>), \u0430 \u043d\u043e\u0440\u043c\u0443 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6d6\/a4f\/78f\/6d6a4f78fbacd6edecc018ce8ad3e364.svg\" alt=\"$X$\" data-tex=\"inline\"><\/math> \u043f\u0440\u0438\u0440\u0430\u0432\u043d\u044f\u0435\u043c \u043a \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0435 s (scale), \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<p>  <\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/ff5\/d1a\/01d\/ff5d1a01d9102761a0a84024b068caaa.svg\" alt=\"$W^TX = s*cos(\\theta)$\" data-tex=\"display\"><\/math><\/p>\n<p>  <\/p>\n<p><strong>Scale<\/strong> \u2014 \u043d\u0430\u0448 \u043f\u0435\u0440\u0432\u044b\u0439 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0433\u0438\u043f\u0435\u0440\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u0424\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0435\u0433\u043e \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043e\u043d\u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0433\u0438\u043f\u0435\u0440\u0441\u0444\u0435\u0440\u0435. \u0412 2D \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a (\u043e\u0434\u0438\u043d \u0446\u0432\u0435\u0442 \u2014 \u043e\u0434\u0438\u043d \u043a\u043b\u0430\u0441\u0441):<br \/>  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/8u\/fs\/9c\/8ufs9clntperzyl-nvz_j-tqtlg.jpeg\" width=\"161\" height=\"158\" align=\"left\"> <br \/>  <em>\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/arxiv.org\/abs\/1801.07698\">ArcFace<\/a>, \u0438\u0433\u0440\u0443\u0448\u0435\u0447\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438: \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0432\u044b\u0434\u0435\u043b\u0435\u043d \u0441\u0432\u043e\u0438\u043c \u0446\u0432\u0435\u0442\u043e\u043c, \u043a\u0430\u0436\u0434\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u043d\u0430 \u043e\u043a\u0440\u0443\u0436\u043d\u043e\u0441\u0442\u0438 \u2014 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0432\u0437\u044f\u0442\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0432\u0435\u043a\u0442\u043e\u0440 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d \u0441 \u0446\u0435\u043d\u0442\u0440\u043e\u043c \u0434\u043b\u044f \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u0438. \u041e\u0431\u0440\u0430\u0442\u0438\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043a\u043b\u0430\u0441\u0441\u044b \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u044b &quot;\u0431\u0435\u0437 \u0437\u0430\u0437\u043e\u0440\u043e\u0432&quot;.<\/em><\/p>\n<p> <br clear=\"left\">  \u041f\u0435\u0440\u0435\u043f\u0438\u0448\u0435\u043c Softmax Loss (\u0442\u0435\u043f\u0435\u0440\u044c \u044d\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f Normalized Softmax Loss, N-Softmax) \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u044d\u0442\u0438\u0445 \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0439:  <\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d52\/5ab\/262\/d525ab262a306fc24a7a3cb5ba41809d.svg\" alt=\"$L_{N Softmax} = - \\frac {1}{N} \\sum_{i=1}^N log\\frac {e^{s*cos(\\theta_{y_i})}}{e^{s*cos(\\theta_{y_i})} + \\sum_{j=1, j\\neq y_i}^C e^{s*cos(\\theta_j)}}$\" data-tex=\"display\"><\/math><\/p>\n<p>  <\/p>\n<p>\u041c\u044b \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u043b\u0438 \u0441\u0443\u043c\u043c\u0443 \u0432 \u0437\u043d\u0430\u043c\u0435\u043d\u0430\u0442\u0435\u043b\u0435 \u043d\u0430 \u0434\u0432\u0430 \u0441\u043b\u0430\u0433\u0430\u0435\u043c\u044b\u0445 \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u044f. \u041d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 N-Softmax \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u044b \u0432\u0441\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0442\u0435\u0440\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u043b\u0438\u0446.<\/p>\n<p>  <\/p>\n<h1 id=\"margin-based-loss\">Margin-Based Loss<\/h1>\n<p>  <\/p>\n<p>\u0418\u0442\u0430\u043a, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u0438\u0435 \u0446\u0435\u043d\u0442\u0440\u043e\u0438\u0434\u044b \u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0432\u0435\u043a\u0442\u043e\u0440 \u043b\u0438\u0446\u0430, \u0430 \u043f\u043e\u0441\u043b\u0435 \u0441\u043b\u043e\u044f \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u2014 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u044b \u0443\u0433\u043b\u043e\u0432 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438. \u0415\u0441\u043b\u0438 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043e\u0431\u0443\u0447\u0430\u0442\u044c \u0441 \u043e\u0431\u044b\u0447\u043d\u044b\u043c softmax loss, \u0442\u043e \u0441\u0435\u0442\u0438 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u044b \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439. \u0414\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e (decision boundary), \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u043f\u0430\u0434\u0430\u0442\u044c \u0432\u0441\u0435 \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u0435\u0433\u043e \u043b\u0438\u0446 (\u0432 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435). \u0413\u0440\u0430\u043d\u0438\u0446\u044b \u044d\u0442\u0438\u0445 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0431\u043b\u0438\u0437\u043a\u0438 \u0434\u0440\u0443\u0433 \u043a \u0434\u0440\u0443\u0433\u0443. \u041f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430? \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0435 (\u0443\u0433\u043e\u043b) \u043c\u0435\u0436\u0434\u0443 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u043d\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0431\u043b\u0438\u0437\u043a\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430. \u0422\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0438\u0434\u0435\u044f \u2014 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043c\u0435\u0436\u0434\u0443 \u044d\u0442\u0438\u043c\u0438 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430\u043c\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043f\u0443\u0441\u0442\u0443\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u044c (decision margin). \u0420\u0430\u0437\u043c\u0435\u0440 \u044d\u0442\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u2014 <strong>margin<\/strong> \u2014 \u0432\u0442\u043e\u0440\u043e\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0433\u0438\u043f\u0435\u0440\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043d\u0430\u0448\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u043e\u0442\u0435\u0440\u044c, \u043e \u043f\u0435\u0440\u0432\u043e\u043c \u043c\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u0440\u0430\u043d\u0435\u0435: scale \u2014 \u043d\u043e\u0440\u043c\u0430 \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u043b\u0438\u0446\u0430. \u0413\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0430 \u043d\u0430\u0448\u0435\u0439 2D \u0433\u0438\u043f\u0435\u0440\u0441\u0444\u0435\u0440\u0435 \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a (\u0440\u0438\u0441\u0443\u043d\u043e\u043a \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/arxiv.org\/abs\/1801.07698\">ArcFace<\/a>):<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/kp\/ic\/vd\/kpicvd1vebzshxykvcwuapx67q4.jpeg\" width=\"418\" height=\"177\"><\/div>\n<p>  <\/p>\n<p><em>\u0421\u043b\u0435\u0432\u0430 \u2014 \u0431\u0435\u0437 margin, \u0441\u043f\u0440\u0430\u0432\u0430 \u2014 \u0441 margin<\/em><br \/>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u0435\u0436\u0434\u0443 \u043d\u0430\u0448\u0438\u043c\u0438 \u043a\u043b\u0430\u0441\u0441\u0430\u043c\u0438 \u0435\u0441\u0442\u044c \u043f\u0443\u0441\u0442\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c, \u0438 \u0433\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0434\u0430\u043b\u0435\u043a\u043e \u0434\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432.<\/p>\n<p>  <\/p>\n<p>\u0422\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e\u0431 \u0443\u0433\u043b\u0430\u0445 \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438, margin (\u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u043c \u0434\u043b\u044f \u043a\u0440\u0430\u0442\u043a\u043e\u0441\u0442\u0438 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e2e\/33f\/15a\/e2e33f15a96008ca33579599483c4531.svg\" alt=\"$m$\" data-tex=\"inline\"><\/math>) \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0442\u0440\u0438 \u043c\u0435\u0441\u0442\u0430 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043f\u043e\u0442\u0435\u0440\u044c:<\/p>\n<p>  <\/p>\n<ol>\n<li>\n<p>\u0414\u043e\u043c\u043d\u043e\u0436\u0438\u0442\u044c \u043d\u0430 \u0443\u0433\u043e\u043b. \u0422\u043e \u0435\u0441\u0442\u044c \u0434\u043b\u044f \u043f\u043e\u0437\u0438\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f \u0432\u043c\u0435\u0441\u0442\u043e <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/798\/fd1\/876\/798fd1876af2c67b4c226867e59c90dc.svg\" alt=\"$cos(\\theta)$\" data-tex=\"inline\"><\/math> \u0431\u0443\u0434\u0435\u0442 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1e5\/100\/7f2\/1e51007f2cb1ccc719fb2159c11e73f3.svg\" alt=\"$cos(m*\\theta)$\" data-tex=\"inline\"><\/math>. \u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0434\u0432\u0435 \u0440\u0430\u0431\u043e\u0442\u044b: <a href=\"https:\/\/arxiv.org\/abs\/1612.02295\">Large-Margin Softmax Loss<\/a> \u0438 <a href=\"https:\/\/arxiv.org\/abs\/1704.08063\">SphereFace<\/a>. \u042d\u0442\u043e\u0442 \u043f\u043e\u0434\u0445\u043e\u0434 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0437\u0432\u0435\u0437\u0434 \u0441 \u043d\u0435\u0431\u0430, \u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d \u0441\u043a\u043e\u0440\u0435\u0435 \u0441 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u0431\u044b\u043b \u043f\u0435\u0440\u0432\u044b\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u043c Margin-based loss. \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044c \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<p>  <\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e46\/aa1\/066\/e46aa106627de0e9e1a4b4ea5c3f9253.svg\" alt=\"$L_{SphereFace} = - \\frac {1}{N} \\sum_{i=1}^N log\\frac {e^{s*cos(m*\\theta_{y_i})}}{e^{s*cos(m*\\theta_{y_i})} + \\sum_{j=1, j\\neq y_i}^C e^{s*cos(\\theta_j)}}$\" data-tex=\"display\"><\/math><\/p>\n<p>  <\/li>\n<li>\n<p>\u041e\u0442\u043d\u044f\u0442\u044c margin \u043e\u0442 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u0443\u0433\u043b\u0430. \u0422\u0435\u043f\u0435\u0440\u044c \u0432\u043c\u0435\u0441\u0442\u043e <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/798\/fd1\/876\/798fd1876af2c67b4c226867e59c90dc.svg\" alt=\"$cos(\\theta)$\" data-tex=\"inline\"><\/math> \u0443 \u043d\u0430\u0441 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2b6\/5bf\/e92\/2b65bfe92cd328544b99226da0021946.svg\" alt=\"$cos(\\theta) - m$\" data-tex=\"inline\"><\/math> \u0434\u043b\u044f \u043f\u043e\u0437\u0438\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f. \u041f\u0440\u043e \u044d\u0442\u043e \u0442\u043e\u0436\u0435 \u0434\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0440\u0430\u0431\u043e\u0442\u044b: <a href=\"https:\/\/arxiv.org\/abs\/1801.05599\">AM-Softmax<\/a> \u0438 <a href=\"https:\/\/arxiv.org\/abs\/1801.09414\">CosFace <\/a>, \u0447\u0442\u043e \u043f\u043e\u0440\u043e\u0436\u0434\u0430\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043f\u0443\u0442\u0430\u043d\u0438\u0446\u0443, \u0442\u0430\u043a \u043a\u0430\u043a \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u043e\u0431\u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f, \u043d\u043e \u043e\u0431\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u0440\u043e \u043e\u0434\u043d\u043e \u0438 \u0442\u043e \u0436\u0435. \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044c:<\/p>\n<p>  <\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/ffe\/baa\/e81\/ffebaae81d7ddfa001d7b36291f95721.svg\" alt=\"$L_{CosFace} = - \\frac {1}{N} \\sum_{i=1}^N log\\frac {e^{s*cos(\\theta_{y_i}) - m}}{e^{s*cos(\\theta_{y_i}) - m} + \\sum_{j=1, j\\neq y_i}^C e^{s*cos(\\theta_j)}}$\" data-tex=\"display\"><\/math><\/p>\n<p>  <\/li>\n<li>\n<p>\u041f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c margin \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a \u0443\u0433\u043b\u0443: <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/798\/fd1\/876\/798fd1876af2c67b4c226867e59c90dc.svg\" alt=\"$cos(\\theta)$\" data-tex=\"inline\"><\/math> \u2192 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/161\/e2e\/9c5\/161e2e9c52c780d1cf9e9feed51ef715.svg\" alt=\"$cos(\\theta + m)$\" data-tex=\"inline\"><\/math>. \u042d\u0442\u0430 \u0438\u0434\u0435\u044f \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0430 \u0432 <a href=\"https:\/\/arxiv.org\/abs\/1801.07698\">ArcFace<\/a>. \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044c ArcFace \u0438\u043c\u0435\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u0438\u0434:<\/p>\n<p>  <\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4d1\/3dd\/904\/4d13dd904c4c300c8074ae93cf93ee44.svg\" alt=\"$L_{CosFace} = - \\frac {1}{N} \\sum_{i=1}^N log\\frac {e^{s*cos(\\theta_{y_i}+m) }}{e^{s*cos(\\theta_{y_i}+m) } + \\sum_{j=1, j\\neq y_i}^C e^{s*cos(\\theta_j)}}$\" data-tex=\"display\"><\/math><\/p>\n<p>  <\/li>\n<li>\n<p>\u0425\u043e\u0447\u0435\u0442\u0441\u044f \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043e\u043d \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435\u043c \u0438\u0434\u0435\u0438 ArcFace \u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <a href=\"https:\/\/arxiv.org\/abs\/1907.12256\">AirFace<\/a>. Margin \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0438 \u0443 ArcFace, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a \u0443\u0433\u043b\u0443, \u043d\u043e \u0443\u0445\u043e\u0434\u0438\u043c \u043e\u0442 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u0443\u0433\u043b\u0430 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a \u0441\u0430\u043c\u043e\u043c\u0443 \u0443\u0433\u043b\u0443 (<math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/14f\/470\/7e3\/14f4707e3ecebb79f79af3eca0c2ae9e.svg\" alt=\"$arccos(cos(\\theta)) = \\theta$\" data-tex=\"inline\"><\/math>). \u0427\u0435\u043c \u0434\u0430\u043b\u044c\u0448\u0435 \u0432\u0435\u043a\u0442\u043e\u0440\u044b \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430, \u0442\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0443\u0433\u043e\u043b, \u0430 \u043d\u0430\u0441 \u044d\u0442\u043e \u043d\u0435 \u043e\u0441\u043e\u0431\u043e \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 (\u043f\u043e\u0447\u0435\u043c\u0443 \u2014 \u0431\u0443\u0434\u0435\u0442 \u043d\u0438\u0436\u0435), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0430\u0432\u0442\u043e\u0440\u044b \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u044d\u0432\u0440\u0438\u0441\u0442\u0438\u043a\u0438, \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0443 \u043d\u0430\u0441 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/ff2\/c64\/99d\/ff2c6499d038a61a41d7ce75cd78788f.svg\" alt=\"$\\theta$\" data-tex=\"inline\"><\/math>, \u0430 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/466\/88c\/121\/46688c12100270a9ce9cd602e0a74252.svg\" alt=\"$(\\pi - 2\\theta)\/\\pi$\" data-tex=\"inline\"><\/math>, \u0438 \u0438\u0442\u043e\u0433\u043e\u0432\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044c \u0438\u043c\u0435\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u0438\u0434:<\/p>\n<p>  <\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/475\/d5f\/336\/475d5f336d9f08b0a32a60f63383f279.svg\" alt=\"$L_{AirFace} = - \\frac {1}{N} \\sum_{i=1}^N log\\frac {e^{s*(\\pi - 2(\\theta_{y_i}+m))\/\\pi}}{e^{s*(\\pi - 2(\\theta_{y_i}+m))\/\\pi} + \\sum_{j=1, j\\neq y_i}^C e^{s*(\\pi - 2\\theta_j)\/\\pi}}$\" data-tex=\"display\"><\/math><\/p>\n<p>  <\/li>\n<\/ol>\n<p>  <\/p>\n<p>\u0422\u0440\u0438 \u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f margin \u2014 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a \u0443\u0433\u043b\u0443, \u043a \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0443 \u0443\u0433\u043b\u0430 \u0438 \u0434\u043e\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0443\u0433\u043e\u043b \u2014 \u043b\u0435\u0433\u043b\u0438 \u0432 \u043e\u0441\u043d\u043e\u0432\u0443 \u043c\u043d\u043e\u0433\u0438\u0445 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0439 (\u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e ArcFace).<\/p>\n<p>  <\/p>\n<h1 id=\"margin--scale\">Margin &amp; Scale<\/h1>\n<p>  <\/p>\n<p>\u041c\u044b \u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c, \u0432 \u0447\u0435\u043c \u0438\u0434\u0435\u044f \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u043e\u0442\u0435\u0440\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u043b\u0438\u0446, \u043d\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u0433\u0438\u043f\u0435\u0440\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u2014 scale (s) \u0438 margin (m), \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u043a\u0430 \u043d\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 AM Softmax \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0431\u0440\u0430\u0442\u044c <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/242\/23d\/79c\/24223d79cac5fc52bd7b51066787d24b.svg\" alt=\"$s = 30$\" data-tex=\"inline\"><\/math>, \u0430 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/a31\/603\/86e\/a3160386e576a97c13977e074ae1487b.svg\" alt=\"$m = 0.35$\" data-tex=\"inline\"><\/math>, \u0432 ArcFace \u2014 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6d5\/9eb\/56d\/6d59eb56d3492a889750609d178f835e.svg\" alt=\"$s = 64$\" data-tex=\"inline\"><\/math>, a <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/521\/6d5\/1e3\/5216d51e3c328dfd9618a5d29f09f47f.svg\" alt=\"$m = 0.5$\" data-tex=\"inline\"><\/math>, \u0430 \u0432 CosFace (\u043d\u0430\u043f\u043e\u043c\u043d\u0438\u043c, \u0438\u0434\u0435\u044f \u0442\u0430 \u0436\u0435, \u0447\u0442\u043e \u0438 AM Softmax) <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6d5\/9eb\/56d\/6d59eb56d3492a889750609d178f835e.svg\" alt=\"$s = 64$\" data-tex=\"inline\"><\/math>, a <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/a31\/603\/86e\/a3160386e576a97c13977e074ae1487b.svg\" alt=\"$m = 0.35$\" data-tex=\"inline\"><\/math>. \u0412 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u0431\u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f, \u043f\u043e\u0447\u0435\u043c\u0443 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0442\u0430\u043a\u0438\u0435, \u043d\u043e \u0432 \u0446\u0435\u043b\u043e\u043c \u044d\u0442\u043e \u0441\u043a\u043e\u0440\u0435\u0435 \u201c\u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043b\u0438 \u044d\u043c\u043f\u0438\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u201d, \u043e \u0447\u0435\u043c \u0430\u0432\u0442\u043e\u0440\u044b \u0447\u0435\u0441\u0442\u043d\u043e \u043f\u0438\u0448\u0443\u0442.<\/p>\n<p>  <\/p>\n<p>\u0422\u0443\u0442 \u043d\u0430 \u0441\u0446\u0435\u043d\u0443 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0435\u0449\u0435 \u043e\u0434\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u2014 <a href=\"https:\/\/arxiv.org\/abs\/1905.00292\">AdaCos<\/a>, \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0438\u0434\u0435\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u2014 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u0432\u043b\u0438\u044f\u043d\u0438\u0435 scale \u0438 margin \u043d\u0430 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u043d\u0443\u044e \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0437\u0438\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043f\u043e\u0441\u0442\u0443\u043b\u0430\u0442\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435:<\/p>\n<p>  <\/p>\n<ul>\n<li>Margin \u0438 scale \u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u043e\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u2014 \u0432\u043f\u043e\u043b\u043d\u0435 \u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0435 \u0443\u043c\u043e\u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435, \u043e \u0447\u0435\u043c \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0440\u0430\u0431\u043e\u0442\u0430\u0445 \u043d\u0435 \u043e\u0441\u043e\u0431\u043e \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043b\u043e\u0441\u044c.<\/li>\n<li>\u0410\u0432\u0442\u043e\u0440\u044b \u0434\u0435\u043b\u0430\u044e\u0442 \u0432\u044b\u0432\u043e\u0434 \u043e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 scale \u0438 margin, \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u044e\u0442 margin \u0438 \u0441\u043c\u043e\u0442\u0440\u044f\u0442 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 scale.<\/li>\n<li>\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f scale \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043a\u043b\u0430\u0441\u0441\u043e\u0432.<\/li>\n<li>\u0410\u0432\u0442\u043e\u0440\u044b \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u0434\u0432\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u2014 \u0441 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u043c scale<br \/>  \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0435\u0441\u0442\u044c \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0434\u043b\u044f 2 \u0442\u044b\u0441\u044f\u0447 \u0438 \u0434\u043b\u044f 20 \u0442\u044b\u0441\u044f\u0447 \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043c \u0438\u0445 \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439, \u043f\u043e \u043e\u0441\u0438 Y \u0443 \u043d\u0430\u0441 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u2014 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c, \u0447\u0442\u043e \u0444\u043e\u0442\u043e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0441\u0432\u043e\u0435\u043c\u0443 \u043a\u043b\u0430\u0441\u0441\u0443, \u0430 \u043f\u043e X \u2014 \u0443\u0433\u043e\u043b \u043c\u0435\u0436\u0434\u0443 \u0446\u0435\u043d\u0442\u0440\u043e\u0438\u0434\u043e\u043c \u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u043b\u0438\u0446\u0430. \u0427\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c, \u0442\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0448\u0442\u0440\u0430\u0444, \u0435\u0441\u043b\u0438 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0432\u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0435, \u0442\u043e \u0448\u0442\u0440\u0430\u0444\u0430 \u043d\u0435\u0442:<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/yc\/aq\/wh\/ycaqwhbsuqi9hllikc9-rvrtui8.png\"><br \/> \n<p>\u0412 \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u0440\u044f\u0434\u0443 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u0432\u043b\u0438\u044f\u043d\u0438\u0435 scale (\u0443 \u0430\u0432\u0442\u043e\u0440\u043e\u0432 \u044f\u0432\u043d\u043e \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e, \u043d\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c, \u0447\u0442\u043e margin \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d \u0438 \u0440\u0430\u0432\u0435\u043d 0), \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u0432 \u043d\u0438\u0436\u043d\u0435\u043c \u2014 margin \u043f\u0440\u0438 scale=30. \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e, \u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 scale, \u0442\u0435\u043c \u201c\u0440\u0435\u0437\u0447\u0435\u201d \u0441\u0442\u0443\u043f\u0435\u043d\u044c\u043a\u0430, \u0430 margin \u0434\u0432\u0438\u0433\u0430\u0435\u0442 \u0435\u0435 \u0432\u0434\u043e\u043b\u044c \u043e\u0441\u0438 X. \u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u043f\u043b\u043e\u0445\u0438 \u0433\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0435 \u0441\u043b\u0443\u0447\u0430\u0438 \u2014 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0438 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u0430\u043b\u044b\u0435 scale \u0438 margin, \u0438 \u0438\u0441\u0442\u0438\u043d\u0430 \u0433\u0434\u0435-\u0442\u043e \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435, \u043d\u043e \u0433\u0434\u0435? \u0412 AdaCos \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0432\u044b\u0431\u043e\u0440 scale \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 (\u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u0445 \u0432\u044b\u0448\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043e \u043f\u0443\u043d\u043a\u0442\u0438\u0440\u043e\u043c). \u041f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u044f \u0432\u044b\u0432\u043e\u0434, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0435\u0441\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441\u044b: <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/aa3\/c53\/445\/aa3c53445128ed09cf13ba5419439797.svg\" alt=\"$s = \\sqrt{2}*\\ln{(C-1)}$\" data-tex=\"inline\"><\/math>, \u0433\u0434\u0435 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/47e\/792\/77d\/47e79277dc17c254743475ff05980a53.svg\" alt=\"$C$\" data-tex=\"inline\"><\/math> \u2014 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0441\u043e\u0432. \u041d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u044d\u0442\u043e\u0439 \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0437\u0430\u0434\u0430\u0447 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u043b\u0438\u0446 s \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d [10, 25], \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c\u044b\u0445 \u0440\u0430\u043d\u0435\u0435.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u043d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u044b AdaCos \u2014 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u043d\u043e\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 scale. \u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c, scale \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u0442\u0441\u044f, \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u043f\u0435\u0440\u0435\u0441\u0447\u0435\u0442\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 \u0441\u0440\u0435\u0434\u043d\u0435\u043c \u0443\u0433\u043b\u0435 \u0432 \u0431\u0430\u0442\u0447\u0435. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445, \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0445 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435, \u044d\u0442\u043e \u0443\u043b\u0443\u0447\u0448\u0430\u0435\u0442 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e.<\/p>\n<h1 id=\"sravnenie-funkciy-poter\">\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u043e\u0442\u0435\u0440\u044c<\/h1>\n<p>  <\/p>\n<p>\u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0434\u0432\u0438\u0433\u0430\u0442\u044c margin \u043a\u0443\u0434\u0430 \u0438 \u043a\u0430\u043a \u0443\u0433\u043e\u0434\u043d\u043e, \u043d\u043e \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u043c\u0438, \u0438 \u0435\u0441\u0442\u044c \u043b\u0438 \u0432\u043e\u043e\u0431\u0449\u0435? \u0420\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u0430\u043a\u0430\u0434\u0435\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u043c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u0442 \u0443\u0433\u043b\u0430 \u0434\u043b\u044f \u043f\u043e\u0437\u0438\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f. \u041f\u043e \u043e\u0441\u0438 X \u0431\u0435\u0440\u0435\u043c \u0443\u0433\u043e\u043b \u043c\u0435\u0436\u0434\u0443 \u0446\u0435\u043d\u0442\u0440\u043e\u0438\u0434\u043e\u043c \u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u043b\u0438\u0446\u0430, \u0430 \u043f\u043e \u043e\u0441\u0438 Y \u2014 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u043d\u0430\u0448\u0438\u0445 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0439 (\u0434\u043b\u044f \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e N-softmax \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/798\/fd1\/876\/798fd1876af2c67b4c226867e59c90dc.svg\" alt=\"$cos(\\theta)$\" data-tex=\"inline\"><\/math>):<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/xh\/57\/4g\/xh574g3hw5-tdcot3imb4hnv3ry.png\">  <\/p>\n<p>\u0418\u0437 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e: CosFace \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0434\u0432\u0438\u0433\u0430\u0435\u0442 N-softmax \u0432\u043d\u0438\u0437, \u0430 ArcFace \u2014 \u0432\u043b\u0435\u0432\u043e. SphereFace, \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u0434\u0435\u0435 \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f33\/c25\/a25\/f33c25a253bcf4d8c64405ee6f857a68.svg\" alt=\"$\\frac {\\pi}{margin}$\" data-tex=\"inline\"><\/math>, \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0434\u043e <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8db\/a00\/212\/8dba00212bed21c510926ea4f2d66c9b.svg\" alt=\"$\\frac{\\pi}{3}$\" data-tex=\"inline\"><\/math>. \u0423 ArcFace \u0435\u0441\u0442\u044c \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0439 \u0445\u0432\u043e\u0441\u0442\u0438\u043a \u2014 \u0441 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435\u043c \u0443\u0433\u043b\u0430 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f target logit, \u0447\u0442\u043e \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0430 \u044d\u0442\u043e\u043c \u0443\u0447\u0430\u0441\u0442\u043a\u0435 \u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0443\u0433\u043e\u043b, \u0442\u0435\u043c \u043b\u0443\u0447\u0448\u0435. \u0414\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u043c\u044b \u043e\u0442\u0434\u0430\u043b\u044f\u0435\u043c \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u043e\u0442 \u0435\u0433\u043e \u0446\u0435\u043d\u0442\u0440\u043e\u0438\u0434\u0430, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u0432 \u0437\u043e\u043d\u0435 \u044d\u0442\u043e\u0433\u043e \u0445\u0432\u043e\u0441\u0442\u0430 (\u0443\u0433\u043e\u043b \u0431\u043e\u043b\u044c\u0448\u0435 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4d2\/f84\/223\/4d2f8422399e6eb623229f1463c76a1b.svg\" alt=\"$\\frac{5\\pi}{6}$\" data-tex=\"inline\"><\/math>). \u041f\u0440\u043e \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0435 \u043e\u0441\u043e\u0431\u043e \u0441\u043a\u0430\u0437\u0430\u043d\u043e, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0445 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <a href=\"https:\/\/github.com\/ronghuaiyang\/arcface-pytorch\/blob\/master\/models\/metrics.py\">\u0442\u0443\u0442<\/a>) \u0435\u0441\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043a\u0443\u0441\u043e\u043a \u043a\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0435\u0433\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442:  <\/p>\n<pre><code class=\"python\"># cosine - cos(theta) # phi - cos(theta + m) # th - cos(math.pi - m) # mm - sin(math.pi - m) * m if easy_margin:   phi = torch.where(cosine &gt; 0, phi, cosine)   else:   phi = torch.where(cosine &gt; th, phi, cosine - mm)<\/code><\/pre>\n<p>\u041d\u0435\u0447\u0442\u043e \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c easy_margin \u0438 \u0435\u0433\u043e \u0430\u043d\u0442\u0430\u0433\u043e\u043d\u0438\u0441\u0442 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044b \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0445\u0432\u043e\u0441\u0442\u0430, \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438 \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ne\/te\/7e\/nete7es63eurgjqii9lgcklxmr8.png\"><\/div>\n<p>  <\/p>\n<p>Easy margin \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432\u043e \u0432\u0441\u0435\u0439 \u0437\u043e\u043d\u0435, \u0433\u0434\u0435 \u0443\u0433\u043e\u043b \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043b\u0438\u0446\u0430 \u0438 \u0446\u0435\u043d\u0442\u0440\u043e\u0438\u0434\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b9d\/92e\/c29\/b9d92ec29b3b9ab857d35b8115f57089.svg\" alt=\"$\\frac{\\pi}{2}$\" data-tex=\"inline\"><\/math> \u043d\u0430 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 N-Softmax (<math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/798\/fd1\/876\/798fd1876af2c67b4c226867e59c90dc.svg\" alt=\"$cos(\\theta)$\" data-tex=\"inline\"><\/math>), \u0430 not easy margin \u043c\u0435\u043d\u044f\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043d\u044b\u0439 \u043a\u0443\u0441\u043e\u043a. \u041e\u0434\u043d\u0430\u043a\u043e, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430, \u0434\u0430\u0436\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u0430\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043c\u0435\u0434\u0438\u0430\u043d\u0430 \u0443\u0433\u043b\u043e\u0432 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b9d\/92e\/c29\/b9d92ec29b3b9ab857d35b8115f57089.svg\" alt=\"$\\frac{\\pi}{2}$\" data-tex=\"inline\"><\/math>, \u0438 \u0434\u0430\u0436\u0435 \u043d\u0435\u0433\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u043a\u0435\u0439\u0441\u044b \u043e\u0447\u0435\u043d\u044c \u0440\u0435\u0434\u043a\u043e \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u0432 \u0437\u043e\u043d\u0443 \u201c\u0445\u0432\u043e\u0441\u0442\u0430\u201d, \u0430 \u043f\u043e\u0437\u0438\u0442\u0438\u0432\u043d\u044b\u0435 \u0442\u0430\u043a \u0438 \u0432\u043e\u0432\u0441\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f, \u0442\u0430\u043a \u0447\u0442\u043e \u044d\u0442\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043c\u0430\u043b\u043e \u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435, \u043d\u043e \u0443\u0447\u0435\u0441\u0442\u044c \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0435 \u043b\u0438\u0448\u043d\u0438\u043c.<\/p>\n<p>  <\/p>\n<p>\u0427\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u043e\u0446\u0435\u043d\u043a\u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0440\u0430\u0431\u043e\u0442, \u043d\u043e \u0434\u043b\u044f \u0447\u0438\u0441\u0442\u043e\u0442\u044b \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0435 \u043e\u0431\u0437\u043e\u0440\u044b. \u0415\u0441\u043b\u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u043e \u2014 &quot;\u0432 \u0441\u0440\u0435\u0434\u043d\u0435\u043c&quot; \u043f\u043e\u0431\u0435\u0436\u0434\u0430\u0435\u0442 ArcFace. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u043e\u0431\u0437\u043e\u0440\u043d\u043e\u0439 <a href=\"https:\/\/arxiv.org\/pdf\/1804.06655.pdf\">\u0441\u0442\u0430\u0442\u044c\u0435<\/a> \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e (\u0442\u0430\u0431\u043b\u0438\u0446\u044b 4 \u0438 8 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435):<\/p>\n<p>  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<thead>\n<tr>\n<th>Loss<\/th>\n<th>LFW<\/th>\n<th>MegaFace, Rank1 @ <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8cb\/24f\/fc6\/8cb24ffc65f3fb246529ff336caaab93.svg\" alt=\"$10^6$\" data-tex=\"inline\"><\/math><\/th>\n<th>MegaFace, Tar @ Far <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/a2c\/bd2\/1e1\/a2cbd21e100b6346d9290a0d43e30b47.svg\" alt=\"$10^{-6}$\" data-tex=\"inline\"><\/math><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>AM-Softmax\/CosFace<\/td>\n<td>99.33<\/td>\n<td>0.9833<\/td>\n<td>0.9841<\/td>\n<\/tr>\n<tr>\n<td>ArcFace<\/td>\n<td><strong>99.83<\/strong><\/td>\n<td><strong>0.9836<\/strong><\/td>\n<td><strong>0.9848<\/strong><\/td>\n<\/tr>\n<tr>\n<td>SphereFace<\/td>\n<td>99.42<\/td>\n<td>0.9743<\/td>\n<td>0.9766<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>  <\/p>\n<p>\u0412 \u0434\u0440\u0443\u0433\u043e\u043c <a href=\"https:\/\/arxiv.org\/pdf\/1901.05903\">\u043e\u0431\u0437\u043e\u0440\u0435<\/a> \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u044f \u0442\u0430 \u0436\u0435 (\u0440\u0438\u0441\u0443\u043d\u043e\u043a 3 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435), \u0442\u0435\u0441\u0442\u044b \u043d\u0430 LFW, \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u2014 \u0431\u044d\u043a\u0431\u043e\u043d-\u0442\u0440\u0435\u043d\u0438\u0440\u043e\u0432\u043e\u0447\u043d\u044b\u0439 \u0434\u0430\u0442\u0430\u0441\u0435\u0442:<\/p>\n<p>  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<thead>\n<tr>\n<th>Loss<\/th>\n<th>Resnet50-MSC<\/th>\n<th>MobileNet-MSC<\/th>\n<th>Resnet50-Casia<\/th>\n<th>MobileNet-Casia<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>AM-Softmax\/CosFace<\/td>\n<td><strong>99.3<\/strong><\/td>\n<td>97.65<\/td>\n<td>99.34<\/td>\n<td>98.46<\/td>\n<\/tr>\n<tr>\n<td>ArcFace<\/td>\n<td>99.15<\/td>\n<td><strong>98.43<\/strong><\/td>\n<td><strong>99.35<\/strong><\/td>\n<td><strong>99.01<\/strong><\/td>\n<\/tr>\n<tr>\n<td>SphereFace<\/td>\n<td>99.02<\/td>\n<td>96.86<\/td>\n<td>99.1<\/td>\n<td>97.83<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>  <\/p>\n<p>\u0410\u0432\u0442\u043e\u0440\u044b \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u043a \u0432\u044b\u0432\u043e\u0434\u0443, \u0447\u0442\u043e ArcFace \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f SotA \u0432 \u0432\u043e\u043f\u0440\u043e\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u043e\u0442\u0435\u0440\u044c.<\/p>\n<p>  <\/p>\n<h1 id=\"zaklyuchenie\">\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h1>\n<p>  <\/p>\n<p>\u041c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u043e\u0442\u0435\u0440\u044c \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u0447\u0438 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u043b\u0438\u0446. \u0412\u0441\u0435 \u043e\u043d\u0438 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u0430\u0441\u0441\u0430\u043c\u0438 (margin) \u043a \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f\u043c \u0441\u0435\u0442\u0438, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0432\u044b\u0441\u0438\u0442\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e. \u0418\u0437 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0441\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c AM Softmax (\u0437\u0430 \u0441\u0447\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u0438 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u0438) \u0438 ArcFace (\u043b\u0443\u0447\u0448\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0443 \u0442\u0435\u0441\u0442\u043e\u0432). \u0414\u043b\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0441\u0435\u0442\u0435\u0439, \u0433\u0434\u0435 \u0432\u0430\u0436\u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c, \u0438 \u043d\u0435 \u0442\u0430\u043a \u0432\u0430\u0436\u043d\u044b \u0434\u0435\u0441\u044f\u0442\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438, \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c AirFace.<\/p>\n<p>  <\/p>\n<h1 id=\"literatura\">\u041b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0430<\/h1>\n<p>  <\/p>\n<h3 id=\"funkcii-poter\">\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0442\u0435\u0440\u044c:<\/h3>\n<p>  <\/p>\n<p>SphereFace <a href=\"https:\/\/arxiv.org\/abs\/1704.08063\">https:\/\/arxiv.org\/abs\/1704.08063<\/a><br \/>  AM Softmax <a href=\"https:\/\/arxiv.org\/abs\/1801.05599\">https:\/\/arxiv.org\/abs\/1801.05599<\/a><br \/>  CosFace <a href=\"https:\/\/arxiv.org\/abs\/1801.09414\">https:\/\/arxiv.org\/abs\/1801.09414<\/a><br \/>  ArcFace <a href=\"https:\/\/arxiv.org\/abs\/1801.07698\">https:\/\/arxiv.org\/abs\/1801.07698<\/a><br \/>  AirFace <a href=\"https:\/\/arxiv.org\/abs\/1907.12256\">https:\/\/arxiv.org\/abs\/1907.12256<\/a><\/p>\n<p>  <\/p>\n<h3 id=\"obzory\">\u041e\u0431\u0437\u043e\u0440\u044b:<\/h3>\n<p>  <\/p>\n<p>Deep Face Recognition: A Survey <a href=\"https:\/\/arxiv.org\/abs\/1804.06655\">https:\/\/arxiv.org\/abs\/1804.06655<\/a><br \/>  A Performance Evaluation of Loss Functions for Deep Face Recognition <a href=\"https:\/\/arxiv.org\/abs\/1901.05903\">https:\/\/arxiv.org\/abs\/1901.05903<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/ntechlab\/blog\/531842\/\"> https:\/\/habr.com\/ru\/company\/ntechlab\/blog\/531842\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/xq\/ej\/72\/xqej72sxsyuvtrdp5gqpcs4eksa.png\"><\/div>\n<p>  <\/p>\n<p><em>\u041a\u0430\u0434\u0440 \u0438\u0437 \u0444\u0438\u043b\u044c\u043c\u0430 &quot;\u0418\u0432\u0430\u043d \u0412\u0430\u0441\u0438\u043b\u044c\u0435\u0432\u0438\u0447 \u043c\u0435\u043d\u044f\u0435\u0442 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u044e&quot;<\/em><\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043c\u043d\u0438\u0442\u0435 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u0437 \u043b\u0435\u0433\u0435\u043d\u0434\u0430\u0440\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0413\u0430\u0439\u0434\u0430\u044f? \u0423\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443 \u043c\u043e\u0436\u0435\u0442 \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0441 \u043e\u0434\u043d\u0438\u043c \u0438 \u0442\u0435\u043c \u0436\u0435 \u043b\u0438\u0446\u043e\u043c. \u0410 \u043a\u043e\u0433\u0434\u0430 \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u043b\u044e\u0434\u0435\u0439 \u0438 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u2014 \u0434\u0430\u0436\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0443\u0436\u0435 \u0431\u0435\u0441\u0441\u0438\u043b\u0435\u043d, \u0430 \u0441\u0432\u0435\u0440\u0442\u043e\u0447\u043d\u044b\u0435 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f. \u0422\u0430\u043a\u043e\u0435 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043b\u0438\u0446 \u0432\u044b\u043d\u0443\u0436\u0434\u0430\u0435\u0442 \u0438\u0441\u043a\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044b \u043a \u0440\u0430\u0437\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044e. \u041e\u0434\u0438\u043d \u0438\u0437 \u0442\u0430\u043a\u0438\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432 \u2014 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u043e\u0442\u0435\u0440\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u043d\u0430\u043c \u043d\u0435 \u043f\u043e\u0442\u043e\u043d\u0443\u0442\u044c \u0432 \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0445 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430\u0445 \u043f\u0440\u0438 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0438 \u043b\u0438\u0446, \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0442\u043e\u0447\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044f, \u043a\u0442\u043e \u0435\u0441\u0442\u044c \u043a\u0442\u043e. <\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043a\u0440\u043e\u0441\u0441-\u044d\u043d\u0442\u0440\u043e\u043f\u0438\u0438 \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u0447\u0438 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u043b\u0438\u0446.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-314508","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/314508","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=314508"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/314508\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=314508"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=314508"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=314508"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}