{"id":473138,"date":"2025-09-02T15:34:44","date_gmt":"2025-09-02T15:34:44","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=473138"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=473138","title":{"rendered":"<span>\u041d\u0435\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0432\u0443\u0445\u0431\u0430\u0448\u0435\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435  <\/h2>\n<p>\u041f\u0440\u0438\u0432\u0435\u0442, Habr!  \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0434\u0440\u0435\u0439 \u0410\u0442\u0430\u043c\u0430\u043d\u044e\u043a, \u044f Data Scientist \u0432 R&amp;D \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c Wildberries &amp; Russ. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0437\u0431\u0435\u0440\u0443 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u0438 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0432\u0443\u0445\u0431\u0430\u0448\u0435\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 (\u0431\u0435\u0437 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0438 \u043a \u0434\u043e\u043c\u0435\u043d\u0443 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u043b\u0438\u044f\u0442\u044c \u043d\u0430 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439, \u043d\u043e \u0447\u0430\u0441\u0442\u043e \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0437\u0430 \u043a\u0430\u0434\u0440\u043e\u043c. \u0420\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0451\u0442 \u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0440\u043e\u0441\u0442\u0435 \u043d\u043e\u0440\u043c \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u2014 \u044d\u0444\u0444\u0435\u043a\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u0442 \u0438\u043d\u0442\u0443\u0438\u0442\u0438\u0432\u043d\u044b\u043c \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f\u043c \u043e\u0442 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u044b\u0445 \u043b\u043e\u0441\u0441\u043e\u0432.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/479\/710\/1e0\/4797101e08447dbd4ac1a38c3f3e38e4.png\" width=\"1560\" height=\"880\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/479\/710\/1e0\/4797101e08447dbd4ac1a38c3f3e38e4.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/479\/710\/1e0\/4797101e08447dbd4ac1a38c3f3e38e4.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<h2>\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f<\/h2>\n<p>\u0412\u0441\u0451 \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c, \u043a\u043e\u0433\u0434\u0430 \u044f \u043e\u0431\u0443\u0447\u0430\u043b DSSM-\u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043b\u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u043c\u0430\u0440\u043a\u0435\u0442\u043f\u043b\u0435\u0439\u0441\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430:<\/p>\n<ul>\n<li>\n<p>\u0414\u0432\u0443\u0445\u0431\u0430\u0448\u0435\u043d\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441 \u0440\u0430\u0437\u0434\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430\u043c\u0438<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u044b\u0439 \u043b\u043e\u0441\u0441 (<a href=\"https:\/\/arxiv.org\/abs\/1807.03748\" rel=\"noopener noreferrer nofollow\">InfoNCE<\/a>, \u0435\u0449\u0451 \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u043a\u0430\u043a Full Product Softmax loss) \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0441 in-batch \u043d\u0435\u0433\u0430\u0442\u0438\u0432\u0430\u043c\u0438<\/p>\n<\/li>\n<li>\n<p>\u041e\u0436\u0438\u0434\u0430\u043d\u0438\u0435: \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u044b\u0439 \u043b\u043e\u0441\u0441 \u0434\u043e\u043b\u0436\u0435\u043d \u043d\u0438\u0432\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u043e\u0441\u0438\u043d\u0443\u0441 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442 \u0443\u0433\u043b\u0430 \u043c\u0435\u0436\u0434\u0443 \u0430\u0439\u0442\u0435\u043c\u0430\u043c\u0438 \u0438, \u043a\u0430\u043a \u044f \u0434\u0443\u043c\u0430\u043b \u0440\u0430\u043d\u044c\u0448\u0435, \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u043d\u0435\u0433\u043e \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u00ab\u043c\u043e\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u00bb \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u00ab\u0432\u043f\u0438\u0442\u044b\u0432\u0430\u0442\u044c\u00bb \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c \u0432 \u0438\u0445 \u043d\u043e\u0440\u043c\u0443.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u043f\u0440\u0435\u043f\u043e\u0434\u043d\u0435\u0441\u043b\u0430 \u0441\u044e\u0440\u043f\u0440\u0438\u0437: \u043f\u0440\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0438\u0445 \u043d\u043e\u0440\u043c\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u043e\u0441\u043b\u0438, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u043d\u0438\u0448\u0435\u0432\u044b\u0435 \u0442\u043e\u0432\u0430\u0440\u044b \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0441\u0442\u0430\u0433\u043d\u0430\u0446\u0438\u044e. \u041f\u0440\u0438\u0447\u0435\u043c \u044d\u0444\u0444\u0435\u043a\u0442 \u0443\u0441\u0438\u043b\u0438\u0432\u0430\u043b\u0441\u044f \u0441 \u0440\u043e\u0441\u0442\u043e\u043c \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u043c\u043e\u0441\u0442\u0438 \u0442\u043e\u0432\u0430\u0440\u0430 \u0432 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u0438 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439 \u044f \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u043a\u043e\u0441\u0438\u043d\u0443\u0441, \u0438 \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430\u043c\u0438 \u044e\u0437\u0435\u0440\u0430 \u0438 \u0430\u0439\u0442\u0435\u043c\u0430 \u2014 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u043b\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u0441\u043a\u0430\u0436\u0435\u043d\u0438\u044f. \u041e \u043d\u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0438\u0436\u0435.<\/p>\n<h2>\u041f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e \u0434\u043b\u044f \u0438\u043d\u0434\u0443\u0441\u0442\u0440\u0438\u0438?<\/h2>\n<ul>\n<li>\n<p><em>\u0420\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435:<\/em> \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0441\u0438\u0441\u0442\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043e\u0446\u0435\u043d\u043a\u0438 \u0440\u0435\u043b\u0435\u0432\u0430\u043d\u0442\u043d\u043e\u0441\u0442\u0438:<\/p>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"\\text{score}_{ui} = {q}_u \\cdot {q}_i\" alt=\"\\text{score}_{ui} = {q}_u \\cdot {q}_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c10\/e24\/1d1\/c10e241d1fd69aea7274bc0b1ee26434.svg\" width=\"132\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c10\/e24\/1d1\/c10e241d1fd69aea7274bc0b1ee26434.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c10\/e24\/1d1\/c10e241d1fd69aea7274bc0b1ee26434.svg 781w\" loading=\"lazy\" decode=\"async\"\/> (<img decoding=\"async\" class=\"formula inline\" source=\"q_u\" alt=\"q_u\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ea2\/dda\/7c4\/ea2dda7c4a03da637f70bcd06d4d5640.svg\" width=\"19\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ea2\/dda\/7c4\/ea2dda7c4a03da637f70bcd06d4d5640.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ea2\/dda\/7c4\/ea2dda7c4a03da637f70bcd06d4d5640.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, <img decoding=\"async\" class=\"formula inline\" source=\"q_i\" alt=\"q_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7c0\/d18\/200\/7c0d182007a1d0addc8367c1109ab4a0.svg\" width=\"15\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7c0\/d18\/200\/7c0d182007a1d0addc8367c1109ab4a0.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7c0\/d18\/200\/7c0d182007a1d0addc8367c1109ab4a0.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 \u0442\u043e\u0432\u0430\u0440\u0430)<\/p>\n<\/li>\n<li>\n<p><em>\u0421\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438\u0441\u043a\u0430\u0436\u0435\u043d\u0438\u0435:<\/em> \u0440\u043e\u0441\u0442 <img decoding=\"async\" class=\"formula inline\" source=\"\\|{q}_i\\|\" alt=\"\\|{q}_i\\|\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/09b\/e02\/482\/09be0248224942a50cfb5da5e599cd78.svg\" width=\"35\" height=\"22\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/09b\/e02\/482\/09be0248224942a50cfb5da5e599cd78.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/09b\/e02\/482\/09be0248224942a50cfb5da5e599cd78.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0434\u043b\u044f \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0437\u0430\u0432\u044b\u0448\u0430\u0435\u0442 \u0438\u0445 \u0440\u0435\u043b\u0435\u0432\u0430\u043d\u0442\u043d\u043e\u0441\u0442\u044c:<\/p>\n<pre><code class=\"python\"># \u041f\u0441\u0435\u0432\u0434\u043e\u043a\u043e\u0434 \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f scores = [] for item in candidate_items:     score = dot(user_embedding, item_embedding)  # \u0417\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043d\u043e\u0440\u043c\u044b!     scores.append(score)     top_items = sort(scores)[:10]<\/code><\/pre>\n<\/li>\n<li>\n<p><em>\u042d\u0444\u0444\u0435\u043a\u0442 \u00ab\u0431\u043e\u0433\u0430\u0442\u044b\u0435 \u0431\u043e\u0433\u0430\u0442\u0435\u044e\u0442\u00bb:<\/em> \u0445\u0438\u0442\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442 \u0435\u0449\u0451 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u043a\u0430\u0437\u043e\u0432 \u2192 \u043d\u043e\u0440\u043c\u044b \u0440\u0430\u0441\u0442\u0443\u0442 \u2192 \u0446\u0438\u043a\u043b \u0443\u0441\u0438\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f<\/p>\n<\/li>\n<li>\n<p><em>\u041f\u043e\u0434\u0430\u0432\u043b\u0435\u043d\u0438\u0435 long-tail:<\/em> \u043d\u0438\u0448\u0435\u0432\u044b\u0435 \u0442\u043e\u0432\u0430\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u0434\u043e\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f<\/p>\n<\/li>\n<\/ul>\n<h2>\u0427\u0442\u043e \u0432\u044b \u043d\u0430\u0439\u0434\u0451\u0442\u0435 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435<\/h2>\n<h3>\u0421\u0442\u0430\u0442\u044c\u044f \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442:<\/h3>\n<ul>\n<li>\n<p><strong>\u041f\u043e\u0447\u0435\u043c\u0443 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0440\u0430\u0431\u043e\u0442\u044b (NormFace \u0438 \u0434\u0440.) \u0443\u043f\u0443\u0441\u043a\u0430\u044e\u0442 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0444\u0430\u043a\u0442\u043e\u0440\u044b<\/strong><br \/>\u0418\u0445 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u043d\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0442 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u043e\u0432<\/p>\n<\/li>\n<li>\n<p><strong>\u041a\u0430\u043a \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0443 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432<br \/><\/strong>\u041d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 9 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u043f\u043e\u043a\u0430\u0436\u0443, \u043a\u043e\u0433\u0434\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0438 \u043a\u043e\u0433\u0434\u0430 \u2014 \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u044f \u043d\u043e\u0440\u043c \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0430\u0439\u0442\u0435\u043c\u043e\u0432 \u0441 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0439\u0442\u0435\u043c\u043e\u0432 (\u0447\u0430\u0441\u0442\u043e \u0431\u0443\u0434\u0443 \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u044f\u0432\u043b\u0435\u043d\u0438\u0435 popularity bias)<\/p>\n<\/li>\n<li>\n<p><strong>\u0410\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u044b\u0432\u043e\u0434 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u043e\u0440\u043c\u044b \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043e\u0442 \u0435\u0433\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438<\/strong><br \/>\u0420\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b \u0443\u0441\u0438\u043b\u0438\u0432\u0430\u044e\u0442 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0432 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0432\u044b\u0432\u043e\u0434\u0430\u0445<\/p>\n<\/li>\n<\/ul>\n<h3>\u0426\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0434\u043b\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u043e\u0432:<\/h3>\n<ul>\n<li>\n<p>\u0421\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u0435 \u043c\u0435\u0441\u044f\u0446\u044b \u043d\u0430 \u043e\u0442\u043b\u0430\u0434\u043a\u0435 \u00ab\u043d\u0435\u043e\u0431\u044a\u044f\u0441\u043d\u0438\u043c\u044b\u0445<em>\u00bb<\/em> \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u043e\u0432 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043d\u0430 PyTorch \u0434\u043b\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432<\/p>\n<\/li>\n<\/ul>\n<h2>\u041e \u0447\u0435\u043c \u0441\u0442\u0430\u0442\u044c\u044f?<\/h2>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0432\u0443\u0445\u0431\u0430\u0448\u0435\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 (\u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0431\u044b\u043b\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u043a\u043e\u043b\u043b\u0430\u0431\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438) \u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b \u043f\u0440\u0438\u0447\u0438\u043d\u044b, \u0438\u0437-\u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u043d\u043e\u0440\u043c\u044b \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0442\u0435\u0440\u044c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u0443\u044e \u043c\u0435\u0440\u0443 \u0431\u043b\u0438\u0437\u043e\u0441\u0442\u0438. \u0423 \u044d\u0442\u043e\u0433\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0430 \u0435\u0441\u0442\u044c \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435, \u0432\u044b\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u0438\u0437 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0444\u043e\u0440\u043c\u0443\u043b \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043a\u0438. \u042d\u0442\u043e\u0442 \u0430\u043d\u0430\u043b\u0438\u0437 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442, \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043a\u0430\u043a\u0438\u0445 \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c\u0441\u044f \u0442\u0430\u043a\u043e\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f.<\/p>\n<p>\u042d\u0442\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0443\u0442\u043e\u0447\u043d\u044f\u0435\u0442 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u0435\u0439:  <a href=\"https:\/\/arxiv.org\/abs\/1704.06369\" rel=\"noopener noreferrer nofollow\">NormFace: L2 Hypersphere Embedding for Face Verification<\/a> (930 \u0446\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0439), <a href=\"https:\/\/arxiv.org\/abs\/2406.16468\" rel=\"noopener noreferrer nofollow\">The Hidden Pitfalls of the Cosine Similarity Loss<\/a> (5 \u0446\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0439) \u0438 <a href=\"https:\/\/arxiv.org\/abs\/2502.09252\" rel=\"noopener noreferrer nofollow\">On the Importance of Embedding Norms in Self-Supervised Learning<\/a> (2 \u0446\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f). \u042f \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u0432\u043e\u0436\u0443 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0434\u0432\u0438\u0436\u0443\u0442\u0441\u044f \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u0438 \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u044d\u0444\u0444\u0435\u043a\u0442 popularity bias \u2014 \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u044f \u043d\u043e\u0440\u043c \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0430\u0439\u0442\u0435\u043c\u043e\u0432 \u0441 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0439\u0442\u0435\u043c\u043e\u0432.<\/p>\n<p>\u0412 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u044f \u043f\u043e\u043a\u0430\u0436\u0443 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e\u0449\u0438\u0435 \u0441\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0442\u0430\u043c \u0431\u0443\u0434\u0443\u0442 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043a\u043e\u0434\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432.<\/p>\n<h2>\u041e\u0434\u043d\u0430 \u0444\u043e\u0440\u043c\u0443\u043b\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u0432\u0435\u0441\u044c \u0430\u043d\u0430\u043b\u0438\u0437<\/h2>\n<details class=\"spoiler\">\n<summary>\u0424\u043e\u0440\u043c\u0443\u043b\u044b \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043a\u0438<\/summary>\n<div class=\"spoiler__content\">\n<p>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u043e\u0431\u0449\u0438\u0439 \u0432\u0438\u0434 \u043c\u043e\u0434\u0435\u043b\u0438, \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442: \u044d\u0442\u043e \u0434\u0432\u0443\u0445\u0431\u0430\u0448\u0435\u043d\u043d\u0430\u044f \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u0430\u044f \u0441\u0435\u0442\u044c, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0435\u0441\u0442\u044c \u043b\u0435\u0432\u0430\u044f \u0431\u0430\u0448\u043d\u044f (\u043b\u0435\u0432\u044b\u0439 \u044d\u043d\u043a\u043e\u0434\u0435\u0440) \u0438 \u043f\u0440\u0430\u0432\u0430\u044f \u0431\u0430\u0448\u043d\u044f (\u043f\u0440\u0430\u0432\u044b\u0439 \u044d\u043d\u043a\u043e\u0434\u0435\u0440), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u044b \u0438 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u043e\u0431\u0449\u0438\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u041e\u0447\u0435\u043d\u044c \u0447\u0430\u0441\u0442\u043e \u0440\u0435\u0448\u0430\u044e\u0442 \u0437\u0430\u0434\u0430\u0447\u0443 \u0432\u044b\u0443\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0438\u043c\u0435\u043d\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0430\u043a\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438: \u0432\u044b\u0445\u043e\u0434 \u043b\u0435\u0432\u043e\u0439 \u0431\u0430\u0448\u043d\u0438 \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0430\u0435\u0442\u0441\u044f \u0438\u043b\u0438 \u043e\u0442\u0434\u0430\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u0445\u043e\u0434\u0430 \u043f\u0440\u0430\u0432\u043e\u0439 \u0431\u0430\u0448\u043d\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043f\u043e\u0442\u0435\u0440\u044c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u0443\u0435\u043c\/\u043c\u0430\u043a\u0441\u0438\u043c\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 \u044e\u0437\u0435\u0440\u0430 \u0438 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 \u043a\u0443\u043f\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0442\u043e\u0432\u0430\u0440\u0430 \u2014 \u0432\u044b\u0445\u043e\u0434\u043e\u0432 \u043b\u0435\u0432\u043e\u0433\u043e \u0438 \u043f\u0440\u0430\u0432\u043e\u0433\u043e \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u043e\u0432).<\/p>\n<p><em>\u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u0430\u043a\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u2014 Alternating Least Squares, \u0433\u0434\u0435 \u043b\u0435\u0432\u044b\u0439 \u0438 \u043f\u0440\u0430\u0432\u044b\u0439 \u044d\u043d\u043a\u043e\u0434\u0435\u0440 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u043c\u0430\u0442\u0440\u0438\u0446\u0430\u043c\u0438 \u044e\u0437\u0435\u0440\u043d\u044b\u0445 \u0438 \u0430\u0439\u0442\u0435\u043c\u043d\u044b\u0445 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432. \u041c\u044b \u0436\u0435 \u043d\u0430\u0447\u043d\u0451\u043c \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u043e\u0431\u0449\u0443\u044e \u0442\u0435\u043e\u0440\u0438\u044e \u0434\u043b\u044f \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u043e\u0432 \u043b\u044e\u0431\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b. \u041f\u043e \u0445\u043e\u0434\u0443 \u043f\u043e\u0432\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u043c \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u2014 \u0432 \u0442\u0435\u0445 \u043c\u0435\u0441\u0442\u0430\u0445, \u0433\u0434\u0435 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0430\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0431\u0435\u0437 \u0442\u0430\u043a\u0438\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439.<\/em><\/p>\n<p>\u0422\u0430\u043a\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u043e\u0431\u0443\u0447\u0430\u044e\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434\u043e\u043c \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043a\u0438. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043e\u0431\u0449\u0435\u0439 \u0442\u0435\u043e\u0440\u0438\u0438, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u044d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 (<a href=\"https:\/\/studylib.net\/doc\/25662142\/goodfellow-deep-learning\" rel=\"noopener noreferrer nofollow\">\u0440\u0430\u0437\u0434\u0435\u043b 6.5.2 \u0432 \u043a\u043d\u0438\u0433\u0435 Deep Learning Textbook<\/a>), \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u0432\u0437\u044f\u0442\u043e\u0433\u043e \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 (\u043d\u0435\u0432\u0430\u0436\u043d\u043e, \u043b\u0435\u0432\u043e\u0433\u043e \u0438\u043b\u0438 \u043f\u0440\u0430\u0432\u043e\u0433\u043e) \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a \u0442\u0430\u043c \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0435\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} g_j         &amp;= \\frac{\\partial \\mathcal{L}}{\\partial q_j}       &amp;&amp; \\text{(\u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043b\u043e\u0441\u0441\u0430 \u043f\u043e \u0432\u044b\u0445\u043e\u0434\u0443 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 $q_{j}$ - \u0442.\u0435. \u043f\u043e \u0432\u044b\u0445\u043e\u0434\u0443 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u0434\u043b\u044f j-\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432 \u0431\u0430\u0442\u0447\u0435)} \\\\[6pt] J_j         &amp;= \\frac{\\partial q_j}{\\partial \\theta}            &amp;&amp; \\text{(\u042f\u043a\u043e\u0431\u0438\u0430\u043d \u0432\u044b\u0445\u043e\u0434\u0430 $q_{j}$ \u043f\u043e \u0432\u0441\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 $\\theta$)} \\end{align}\" alt=\"\\begin{align} g_j         &amp;= \\frac{\\partial \\mathcal{L}}{\\partial q_j}       &amp;&amp; \\text{(\u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043b\u043e\u0441\u0441\u0430 \u043f\u043e \u0432\u044b\u0445\u043e\u0434\u0443 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 $q_{j}$ - \u0442.\u0435. \u043f\u043e \u0432\u044b\u0445\u043e\u0434\u0443 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u0434\u043b\u044f j-\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432 \u0431\u0430\u0442\u0447\u0435)} \\\\[6pt] J_j         &amp;= \\frac{\\partial q_j}{\\partial \\theta}            &amp;&amp; \\text{(\u042f\u043a\u043e\u0431\u0438\u0430\u043d \u0432\u044b\u0445\u043e\u0434\u0430 $q_{j}$ \u043f\u043e \u0432\u0441\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 $\\theta$)} \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0c3\/119\/c33\/0c3119c33196c1c3730fbe5dbf476f58.svg\" width=\"769\" height=\"110\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0c3\/119\/c33\/0c3119c33196c1c3730fbe5dbf476f58.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0c3\/119\/c33\/0c3119c33196c1c3730fbe5dbf476f58.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u041e\u0442\u0441\u044e\u0434\u0430 \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0430 \u043b\u043e\u0441\u0441\u0430 \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430: <\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} g_{\\theta} \\;=\\; \\sum_{j}\\frac{\\partial q_j}{\\partial \\theta}\\frac{\\partial \\mathcal{L}}{\\partial q_j} \\;=\\; \\sum_{j} J_{j}^{\\!\\top} \\, g_{j} \\end{align}\" alt=\"\\begin{align} g_{\\theta} \\;=\\; \\sum_{j}\\frac{\\partial q_j}{\\partial \\theta}\\frac{\\partial \\mathcal{L}}{\\partial q_j} \\;=\\; \\sum_{j} J_{j}^{\\!\\top} \\, g_{j} \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9b0\/291\/f33\/9b0291f33de97f2dab205c48bf73186c.svg\" width=\"273\" height=\"58\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9b0\/291\/f33\/9b0291f33de97f2dab205c48bf73186c.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9b0\/291\/f33\/9b0291f33de97f2dab205c48bf73186c.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 SGD-\u0448\u0430\u0433\u0430 \u043d\u0430 \u044d\u0442\u043e\u043c \u0431\u0430\u0442\u0447\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430: <\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} \\Delta\\theta \\;=\\; -\\eta\\,g_{\\theta} \\;=\\; -\\eta \\sum_{j} J_{j}^{\\!\\top} \\, g_{j} \\end{align}\" alt=\"\\begin{align} \\Delta\\theta \\;=\\; -\\eta\\,g_{\\theta} \\;=\\; -\\eta \\sum_{j} J_{j}^{\\!\\top} \\, g_{j} \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b5e\/27f\/397\/b5e27f397cfeb5904c8171413f4fe0b1.svg\" width=\"254\" height=\"48\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b5e\/27f\/397\/b5e27f397cfeb5904c8171413f4fe0b1.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b5e\/27f\/397\/b5e27f397cfeb5904c8171413f4fe0b1.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/div>\n<\/details>\n<p>\u041c\u044b \u043e\u043f\u0438\u0441\u0430\u043b\u0438, \u043a\u0430\u043a \u0441\u043e\u0432\u043e\u043a\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0432\u0441\u0435\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0432 \u0431\u0430\u0442\u0447\u0435 \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430. \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u044d\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e <img decoding=\"async\" class=\"formula inline\" source=\"i\" alt=\"i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e0b\/94b\/29d\/e0b94b29da831ccfeb1950872e30ffe0.svg\" width=\"7\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e0b\/94b\/29d\/e0b94b29da831ccfeb1950872e30ffe0.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e0b\/94b\/29d\/e0b94b29da831ccfeb1950872e30ffe0.svg 781w\" loading=\"lazy\" decode=\"async\"\/>-\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432 \u0431\u0430\u0442\u0447\u0435. \u0412\u044b\u0440\u0430\u0437\u0438\u043c \u044d\u0442\u043e \u0432 \u0432\u0438\u0434\u0435 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} \\boxed{\\; \\Delta q_{i} \\;=\\; J_{i}\\,\\Delta\\theta \\;=\\; -\\eta\\,\\sum_{j} J_{i}\\,J_{j}^{\\!\\top}\\,g_{j} \\;} \\end{align}\" alt=\"\\begin{align} \\boxed{\\; \\Delta q_{i} \\;=\\; J_{i}\\,\\Delta\\theta \\;=\\; -\\eta\\,\\sum_{j} J_{i}\\,J_{j}^{\\!\\top}\\,g_{j} \\;} \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/bd\/bdf\/bdfcf130d77cb395972314bfbb5b4168.svg\" width=\"272\" height=\"48\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/bd\/bdf\/bdfcf130d77cb395972314bfbb5b4168.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/bd\/bdf\/bdfcf130d77cb395972314bfbb5b4168.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0418\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0430 \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/p>\n<h2>\u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u0430\u0436\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u043f\u0440\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432<\/h2>\n<details class=\"spoiler\">\n<summary>\u0418\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c popularity bias \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u043e\u0432, \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u043c\u0435\u0442\u0438\u043c, \u0447\u0442\u043e \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u0432\u044b\u0448\u0435, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0430\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u0435\u0439. \u0422\u043e \u0435\u0441\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u0433\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u044b\u0432\u043e\u0434, \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043a\u0430\u043a\u0438\u0445 \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c\u0441\u044f popularity bias (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043f\u043e\u0434 \u044d\u0442\u0438\u043c \u0442\u0435\u0440\u043c\u0438\u043d\u043e\u043c \u044f \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u044e \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u044e \u043d\u043e\u0440\u043c \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0441 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0439\u0442\u0435\u043c\u043e\u0432), \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u043e\u0432, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u043d\u0438\u0445 \u044d\u0442\u0430 \u043b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u044f \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u0442\u043e\u0447\u043d\u044b\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430. <\/p>\n<\/div>\n<\/details>\n<h2>\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u044d\u043d\u043a\u043e\u0434\u0435\u0440, \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c<\/h2>\n<details class=\"spoiler\">\n<summary>\u042d\u0442\u043e \u044d\u043d\u043a\u043e\u0434\u0435\u0440, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u042f\u043a\u043e\u0431\u0438\u0430\u043d \u0432\u044b\u0445\u043e\u0434\u0430 J \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u03b8<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0414\u043b\u044f \u044f\u0441\u043d\u043e\u0441\u0442\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0439: \u043d\u0430\u0437\u043e\u0432\u0451\u043c <img decoding=\"async\" class=\"formula inline\" source=\"q_i\" alt=\"q_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/664\/6b1\/de9\/6646b1de951be38fc1c8cf9cf14a2f10.svg\" width=\"15\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/664\/6b1\/de9\/6646b1de951be38fc1c8cf9cf14a2f10.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/664\/6b1\/de9\/6646b1de951be38fc1c8cf9cf14a2f10.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043a\u0430\u043a <img decoding=\"async\" class=\"formula inline\" source=\"q(\\theta, x_i)\" alt=\"q(\\theta, x_i)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7df\/e62\/ac8\/7dfe62ac89cb6223677e457e079973bd.svg\" width=\"60\" height=\"22\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7df\/e62\/ac8\/7dfe62ac89cb6223677e457e079973bd.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7df\/e62\/ac8\/7dfe62ac89cb6223677e457e079973bd.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 \u0432\u044b\u0445\u043e\u0434 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"\\theta\" alt=\"\\theta\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b12\/783\/7fb\/b127837fb746c8a779b26b5069e8038f.svg\" width=\"9\" height=\"17\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b12\/783\/7fb\/b127837fb746c8a779b26b5069e8038f.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b12\/783\/7fb\/b127837fb746c8a779b26b5069e8038f.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0434\u043b\u044f <img decoding=\"async\" class=\"formula inline\" source=\"i\" alt=\"i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/32b\/e06\/3de\/32be063deddaed36dc0322640cb0e9b6.svg\" width=\"7\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/32b\/e06\/3de\/32be063deddaed36dc0322640cb0e9b6.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/32b\/e06\/3de\/32be063deddaed36dc0322640cb0e9b6.svg 781w\" loading=\"lazy\" decode=\"async\"\/>-\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, <img decoding=\"async\" class=\"formula inline\" source=\"J_i\" alt=\"J_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a3e\/ce4\/a93\/a3ece4a936e5456ee6115a5505006dc0.svg\" width=\"18\" height=\"20\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a3e\/ce4\/a93\/a3ece4a936e5456ee6115a5505006dc0.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a3e\/ce4\/a93\/a3ece4a936e5456ee6115a5505006dc0.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 \u043a\u0430\u043a <img decoding=\"async\" class=\"formula inline\" source=\"J(x_i)\" alt=\"J(x_i)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/62b\/b81\/391\/62bb81391f87bc761a68620e9f3e8082.svg\" width=\"46\" height=\"22\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/62b\/b81\/391\/62bb81391f87bc761a68620e9f3e8082.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/62b\/b81\/391\/62bb81391f87bc761a68620e9f3e8082.svg 781w\" loading=\"lazy\" decode=\"async\"\/>.<\/p>\n<p>\u041c\u044b \u0431\u0443\u0434\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u044d\u043d\u043a\u043e\u0434\u0435\u0440 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u043c \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c, \u0435\u0441\u043b\u0438 \u0435\u0433\u043e \u0432\u044b\u0445\u043e\u0434 \u0434\u043b\u044f \u043b\u044e\u0431\u043e\u0433\u043e\u00a0\u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"i\u200b\" alt=\"i\u200b\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c42\/a77\/cd0\/c42a77cd0b94bf5d60376209c914864c.svg\" width=\"7\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c42\/a77\/cd0\/c42a77cd0b94bf5d60376209c914864c.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c42\/a77\/cd0\/c42a77cd0b94bf5d60376209c914864c.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u0430\u043a:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"q(\\theta, x_i) = J(x_i)\\theta \\quad \\text{($x_i$ \u2014 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 $i$)}\" alt=\"q(\\theta, x_i) = J(x_i)\\theta \\quad \\text{($x_i$ \u2014 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 $i$)}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/711\/608\/311\/711608311c891530bd3d943f49514e5c.svg\" width=\"452\" height=\"27\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/711\/608\/311\/711608311c891530bd3d943f49514e5c.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/711\/608\/311\/711608311c891530bd3d943f49514e5c.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0433\u0434\u0435 \u043c\u0430\u0442\u0440\u0438\u0446\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"J\" alt=\"J\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/06b\/f87\/258\/06bf8725884a6f6b1f613b3d56a2b9d5.svg\" width=\"12\" height=\"17\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/06b\/f87\/258\/06bf8725884a6f6b1f613b3d56a2b9d5.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/06b\/f87\/258\/06bf8725884a6f6b1f613b3d56a2b9d5.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442 \u0432\u0445\u043e\u0434\u0430 (\u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043e\u0442 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0433\u0438\u043f\u0435\u0440\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432), \u043d\u043e \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 <img decoding=\"async\" class=\"formula inline\" source=\"\u03b8\" alt=\"\u03b8\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e9d\/fbb\/8d5\/e9dfbb8d54cf6f49e017525e21b48547.svg\" width=\"9\" height=\"17\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e9d\/fbb\/8d5\/e9dfbb8d54cf6f49e017525e21b48547.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e9d\/fbb\/8d5\/e9dfbb8d54cf6f49e017525e21b48547.svg 781w\" loading=\"lazy\" decode=\"async\"\/>.<\/p>\n<p>\u041f\u0440\u0438 \u0442\u0430\u043a\u043e\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"J\" alt=\"J\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/584\/54f\/a60\/58454fa60f640542de06a6b6091a6df0.svg\" width=\"12\" height=\"17\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/584\/54f\/a60\/58454fa60f640542de06a6b6091a6df0.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/584\/54f\/a60\/58454fa60f640542de06a6b6091a6df0.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043e\u0439\u00a0\u043d\u0430\u00a0\u0432\u0441\u0435\u043c\u00a0\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u0422\u043e \u0435\u0441\u0442\u044c \u0444\u043e\u0440\u043c\u0443\u043b\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"\\Delta q_{i}\" alt=\"\\Delta q_{i}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/733\/96f\/a70\/73396fa70c532d444b0657fe5bf06999.svg\" width=\"32\" height=\"21\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/733\/96f\/a70\/73396fa70c532d444b0657fe5bf06999.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/733\/96f\/a70\/73396fa70c532d444b0657fe5bf06999.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0432\u044b\u0448\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u0436\u0435 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u0435\u0439, \u0430 \u0442\u043e\u0447\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0443\u043b\u043e\u0439 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f <img decoding=\"async\" class=\"formula inline\" source=\"q_i\" alt=\"q_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fa7\/831\/cdd\/fa7831cdde703ac2c689f0e5964822db.svg\" width=\"15\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fa7\/831\/cdd\/fa7831cdde703ac2c689f0e5964822db.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fa7\/831\/cdd\/fa7831cdde703ac2c689f0e5964822db.svg 781w\" loading=\"lazy\" decode=\"async\"\/>. \u041d\u0430 \u0435\u0451 \u043e\u0441\u043d\u043e\u0432\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437.<\/p>\n<\/div>\n<\/details>\n<h2>\u041a\u0430\u043a\u0438\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u043c\u0438 \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c?<\/h2>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 J \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u03b8:<\/p>\n<details class=\"spoiler\">\n<summary>1. \u042d\u043d\u043a\u043e\u0434\u0435\u0440 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e embedding-\u0441\u043b\u043e\u044f<\/summary>\n<div class=\"spoiler__content\"><img decoding=\"async\" class=\"formula\" source=\"\\begin{align}  &amp;\\textbf{\u0412\u0445\u043e\u0434:}\\;\\; x_i = i \\in\\{1,\\dots,N\\} \\qquad \\text{($x_i$ - \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u043d\u0434\u0435\u043a\u0441 i-\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430)}  \\\\[6pt]  &amp;\\textbf{\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:}\\quad  E\\in\\mathbb{R}^{N\\times d}, \\qquad  \\theta=E, \\qquad  \\theta_{i,n} = E_{i,n} \\\\ &amp;\\text{(\u0412 \u0444\u043e\u0440\u043c\u0443\u043b\u0435 \u0432\u044b\u0448\u0435 $n$ - \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0432 \u043c\u0430\u0442\u0440\u0438\u0446\u0435 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432)}  \\\\[6pt]  &amp;\\textbf{\u0412\u044b\u0445\u043e\u0434:}\\quad  q(\\theta,x_i)=E_i\\;\\in\\mathbb{R}^{d}, \\qquad  q_i = q(\\theta,x_i)  \\\\[6pt]  &amp;\\text{\u041f\u0443\u0441\u0442\u044c $m$ - \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 $q$,} \\\\ &amp;\\text{$i'$ \u0438 $n'$ \u2014 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0441\u0442\u0440\u043e\u043a\u0438\/\u0441\u0442\u043e\u043b\u0431\u0446\u0430, \u043f\u043e} \\\\ &amp;\\text{\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0431\u0435\u0440\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0430\u044f (\u043e\u043d\u0438 \u00ab\u0431\u0435\u0433\u0430\u044e\u0442\u00bb \u043f\u043e \u0432\u0441\u0435\u043c} \\\\ &amp;\\text{\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c). \u0422\u0430\u043a\u0436\u0435 \u00ab\u0432\u044b\u0442\u044f\u043d\u0435\u043c\u00bb $\\theta$ \u0438\u0437 \u043c\u0430\u0442\u0440\u0438\u0446\u044b} \\\\ &amp;\\text{\u0432 \u0432\u0435\u043a\u0442\u043e\u0440 \u0434\u043b\u0438\u043d\u044b ${N * d}$.}  \\\\[6pt]  &amp;\\textbf{\u0422\u043e\u0433\u0434\u0430:}\\quad  J_i = \\frac{\\partial q_i}{\\partial \\theta} \\;=\\; \\begin{cases} 1, &amp; \\text{\u0435\u0441\u043b\u0438 $i'= i, n'= m$} \\\\[4pt] 0, &amp; \\text{\u0438\u043d\u0430\u0447\u0435}. \\end{cases}  \\\\[6pt]  &amp;\\text{$J_i$ - \u044d\u0442\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0430 $d \\times (N * d)$, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0430\u044f,} \\\\ &amp;\\text{\u043a\u0430\u043a \u043f\u043e\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u0430\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0432\u044b\u0445\u043e\u0434\u0430,} \\\\ &amp;\\text{\u0435\u0441\u043b\u0438 \u0447\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u043f\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 $\\theta$} \\\\ &amp;\\text{\u043f\u0440\u0438 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0445\u043e\u0434\u0435 $x_i$.}  \\end{align}\" alt=\"\\begin{align}  &amp;\\textbf{\u0412\u0445\u043e\u0434:}\\;\\; x_i = i \\in\\{1,\\dots,N\\} \\qquad \\text{($x_i$ - \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u043d\u0434\u0435\u043a\u0441 i-\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430)}  \\\\[6pt]  &amp;\\textbf{\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:}\\quad  E\\in\\mathbb{R}^{N\\times d}, \\qquad  \\theta=E, \\qquad  \\theta_{i,n} = E_{i,n} \\\\ &amp;\\text{(\u0412 \u0444\u043e\u0440\u043c\u0443\u043b\u0435 \u0432\u044b\u0448\u0435 $n$ - \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0432 \u043c\u0430\u0442\u0440\u0438\u0446\u0435 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432)}  \\\\[6pt]  &amp;\\textbf{\u0412\u044b\u0445\u043e\u0434:}\\quad  q(\\theta,x_i)=E_i\\;\\in\\mathbb{R}^{d}, \\qquad  q_i = q(\\theta,x_i)  \\\\[6pt]  &amp;\\text{\u041f\u0443\u0441\u0442\u044c $m$ - \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 $q$,} \\\\ &amp;\\text{$i'$ \u0438 $n'$ \u2014 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0441\u0442\u0440\u043e\u043a\u0438\/\u0441\u0442\u043e\u043b\u0431\u0446\u0430, \u043f\u043e} \\\\ &amp;\\text{\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0431\u0435\u0440\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0430\u044f (\u043e\u043d\u0438 \u00ab\u0431\u0435\u0433\u0430\u044e\u0442\u00bb \u043f\u043e \u0432\u0441\u0435\u043c} \\\\ &amp;\\text{\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c). \u0422\u0430\u043a\u0436\u0435 \u00ab\u0432\u044b\u0442\u044f\u043d\u0435\u043c\u00bb $\\theta$ \u0438\u0437 \u043c\u0430\u0442\u0440\u0438\u0446\u044b} \\\\ &amp;\\text{\u0432 \u0432\u0435\u043a\u0442\u043e\u0440 \u0434\u043b\u0438\u043d\u044b ${N * d}$.}  \\\\[6pt]  &amp;\\textbf{\u0422\u043e\u0433\u0434\u0430:}\\quad  J_i = \\frac{\\partial q_i}{\\partial \\theta} \\;=\\; \\begin{cases} 1, &amp; \\text{\u0435\u0441\u043b\u0438 $i'= i, n'= m$} \\\\[4pt] 0, &amp; \\text{\u0438\u043d\u0430\u0447\u0435}. \\end{cases}  \\\\[6pt]  &amp;\\text{$J_i$ - \u044d\u0442\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0430 $d \\times (N * d)$, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0430\u044f,} \\\\ &amp;\\text{\u043a\u0430\u043a \u043f\u043e\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u0430\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0432\u044b\u0445\u043e\u0434\u0430,} \\\\ &amp;\\text{\u0435\u0441\u043b\u0438 \u0447\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u043f\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 $\\theta$} \\\\ &amp;\\text{\u043f\u0440\u0438 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0445\u043e\u0434\u0435 $x_i$.}  \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/740\/6be\/37d\/7406be37db10554a5948af151369689a.svg\" width=\"502\" height=\"518\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/740\/6be\/37d\/7406be37db10554a5948af151369689a.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/740\/6be\/37d\/7406be37db10554a5948af151369689a.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432 <img decoding=\"async\" class=\"formula inline\" source=\"J_i\" alt=\"J_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3a5\/a3e\/8fb\/3a5a3e8fb4d031e7cb204a45b35661d0.svg\" width=\"18\" height=\"20\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3a5\/a3e\/8fb\/3a5a3e8fb4d031e7cb204a45b35661d0.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3a5\/a3e\/8fb\/3a5a3e8fb4d031e7cb204a45b35661d0.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0432\u0435\u0437\u0434\u0435, \u043a\u0440\u043e\u043c\u0435 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 &lt;<img decoding=\"async\" class=\"formula inline\" source=\"i\" alt=\"i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3dc\/a3b\/574\/3dca3b574ed2902013be54545470f2c2.svg\" width=\"7\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3dc\/a3b\/574\/3dca3b574ed2902013be54545470f2c2.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3dc\/a3b\/574\/3dca3b574ed2902013be54545470f2c2.svg 781w\" loading=\"lazy\" decode=\"async\"\/>-\u044b\u0439 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433, <img decoding=\"async\" class=\"formula inline\" source=\"n\" alt=\"n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/69b\/63d\/843\/69b63d8439b0beb34346c95a73a059c3.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/69b\/63d\/843\/69b63d8439b0beb34346c95a73a059c3.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/69b\/63d\/843\/69b63d8439b0beb34346c95a73a059c3.svg 781w\" loading=\"lazy\" decode=\"async\"\/>-\u0430\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430&gt;, \u0441\u0442\u043e\u044f\u0442 \u043d\u0443\u043b\u0438, \u0430 \u0432 \u0431\u043b\u043e\u043a\u0435 \u0438\u0437 \u044d\u0442\u0438\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u2014 \u0435\u0434\u0438\u043d\u0438\u0447\u043d\u0430\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u0430:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} J_i \\;=\\; \\Bigl[\\, \\underbrace{0_{d\\times (i-1)d}}_{\\substack{\\text{\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b}\\\\ 1\\ldots(i-1)}} \\;\\Big|\\; \\underbrace{I_d}_{\\substack{\\text{\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b}\\\\ i\\text{-\u0439 \u0441\u0442\u0440\u043e\u043a\u0438}}} \\;\\Big|\\; \\underbrace{0_{d\\times (N-i)d}}_{\\substack{\\text{\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b}\\\\ (i+1)\\ldots N}} \\Bigr]. \\end{align}\" alt=\"\\begin{align} J_i \\;=\\; \\Bigl[\\, \\underbrace{0_{d\\times (i-1)d}}_{\\substack{\\text{\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b}\\\\ 1\\ldots(i-1)}} \\;\\Big|\\; \\underbrace{I_d}_{\\substack{\\text{\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b}\\\\ i\\text{-\u0439 \u0441\u0442\u0440\u043e\u043a\u0438}}} \\;\\Big|\\; \\underbrace{0_{d\\times (N-i)d}}_{\\substack{\\text{\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b}\\\\ (i+1)\\ldots N}} \\Bigr]. \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/516\/b0d\/2b0\/516b0d2b0b49a1de037be37f434a895e.svg\" width=\"321\" height=\"85\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/516\/b0d\/2b0\/516b0d2b0b49a1de037be37f434a895e.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/516\/b0d\/2b0\/516b0d2b0b49a1de037be37f434a895e.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>2. \u042d\u043d\u043a\u043e\u0434\u0435\u0440 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u044f (\u0431\u0435\u0437 bias)<\/summary>\n<div class=\"spoiler__content\"><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} &amp;\\textbf{\u0412\u0445\u043e\u0434:}\\;\\;  x_i \\;=\\; (x_{i,1},\\dots,x_{i,h})^{\\!\\top}  \\in\\! \\mathbb{R}^{h} \\qquad \\text{($x_i$ \u2012 \u0432\u0435\u043a\u0442\u043e\u0440 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 $i$)} \\\\[8pt]  &amp;\\textbf{\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:}\\quad  W \\in \\mathbb{R}^{d \\times h},  \\qquad  \\theta = W, \\qquad \\theta_{m,n} = W_{m,n} \\\\ &amp;\\text{(\u0412 \u0444\u043e\u0440\u043c\u0443\u043b\u0435 \u0432\u044b\u0448\u0435 $m$ \u2012 \u0441\u0442\u0440\u043e\u043a\u0430, \u0432\u044b\u0445\u043e\u0434\u044b; $n$ \u2012 \u0441\u0442\u043e\u043b\u0431\u0435\u0446, \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438)} \\\\[8pt]  &amp;\\textbf{\u0412\u044b\u0445\u043e\u0434:}\\quad  q(\\theta,x_i)\\;=\\;W\\,x_i \\;\\in\\; \\mathbb{R}^{d}, \\qquad  q_i = q(\\theta,x_i) \\\\[8pt]  &amp;\\text{\u041f\u0443\u0441\u0442\u044c $m$ \u2012 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0432\u0435\u043a\u0442\u043e\u0440\u0430 $q_i$,} \\\\ &amp;\\text{$m'$ \u0438 $n'$ \u2012 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0441\u0442\u0440\u043e\u043a\u0438\/\u0441\u0442\u043e\u043b\u0431\u0446\u0430, \u043f\u043e} \\\\ &amp;\\text{\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0431\u0435\u0440\u0451\u0442\u0441\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0430\u044f (\u043e\u043d\u0438 \u00ab\u0431\u0435\u0433\u0430\u044e\u0442\u00bb \u043f\u043e \u0432\u0441\u0435\u043c} \\\\ &amp;\\text{\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c). \u0422\u0430\u043a\u0436\u0435 \u00ab\u0432\u044b\u0442\u044f\u043d\u0435\u043c\u00bb $\\theta$ \u0438\u0437 \u043c\u0430\u0442\u0440\u0438\u0446\u044b} \\\\ &amp;\\text{\u0432 \u0432\u0435\u043a\u0442\u043e\u0440 \u0434\u043b\u0438\u043d\u043e\u0439 $d * h$.} \\\\[8pt]  &amp;\\textbf{\u0422\u043e\u0433\u0434\u0430:}\\quad J_i \\;=\\; \\frac{\\partial q_i}{\\partial \\theta} \\;=\\; \\begin{cases} x_{i,n'}, &amp; \\text{\u0435\u0441\u043b\u0438 $m' = m$} \\\\[6pt] 0,        &amp; \\text{\u0438\u043d\u0430\u0447\u0435}. \\end{cases} \\\\[8pt]  &amp;\\text{$J_i$ \u2012 \u044d\u0442\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0430 $d \\times (d * h)$, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0430\u044f,} \\\\ &amp;\\text{\u043a\u0430\u043a \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u0430\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0432\u044b\u0445\u043e\u0434\u0430,} \\\\ &amp;\\text{\u0435\u0441\u043b\u0438 \u0447\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u043f\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 $\\theta$} \\\\ &amp;\\text{\u043f\u0440\u0438 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0445\u043e\u0434\u0435 $x_i$. } \\end{align}\" alt=\"\\begin{align} &amp;\\textbf{\u0412\u0445\u043e\u0434:}\\;\\;  x_i \\;=\\; (x_{i,1},\\dots,x_{i,h})^{\\!\\top}  \\in\\! \\mathbb{R}^{h} \\qquad \\text{($x_i$ \u2012 \u0432\u0435\u043a\u0442\u043e\u0440 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 $i$)} \\\\[8pt]  &amp;\\textbf{\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:}\\quad  W \\in \\mathbb{R}^{d \\times h},  \\qquad  \\theta = W, \\qquad \\theta_{m,n} = W_{m,n} \\\\ &amp;\\text{(\u0412 \u0444\u043e\u0440\u043c\u0443\u043b\u0435 \u0432\u044b\u0448\u0435 $m$ \u2012 \u0441\u0442\u0440\u043e\u043a\u0430, \u0432\u044b\u0445\u043e\u0434\u044b; $n$ \u2012 \u0441\u0442\u043e\u043b\u0431\u0435\u0446, \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438)} \\\\[8pt]  &amp;\\textbf{\u0412\u044b\u0445\u043e\u0434:}\\quad  q(\\theta,x_i)\\;=\\;W\\,x_i \\;\\in\\; \\mathbb{R}^{d}, \\qquad  q_i = q(\\theta,x_i) \\\\[8pt]  &amp;\\text{\u041f\u0443\u0441\u0442\u044c $m$ \u2012 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0432\u0435\u043a\u0442\u043e\u0440\u0430 $q_i$,} \\\\ &amp;\\text{$m'$ \u0438 $n'$ \u2012 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0441\u0442\u0440\u043e\u043a\u0438\/\u0441\u0442\u043e\u043b\u0431\u0446\u0430, \u043f\u043e} \\\\ &amp;\\text{\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0431\u0435\u0440\u0451\u0442\u0441\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0430\u044f (\u043e\u043d\u0438 \u00ab\u0431\u0435\u0433\u0430\u044e\u0442\u00bb \u043f\u043e \u0432\u0441\u0435\u043c} \\\\ &amp;\\text{\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c). \u0422\u0430\u043a\u0436\u0435 \u00ab\u0432\u044b\u0442\u044f\u043d\u0435\u043c\u00bb $\\theta$ \u0438\u0437 \u043c\u0430\u0442\u0440\u0438\u0446\u044b} \\\\ &amp;\\text{\u0432 \u0432\u0435\u043a\u0442\u043e\u0440 \u0434\u043b\u0438\u043d\u043e\u0439 $d * h$.} \\\\[8pt]  &amp;\\textbf{\u0422\u043e\u0433\u0434\u0430:}\\quad J_i \\;=\\; \\frac{\\partial q_i}{\\partial \\theta} \\;=\\; \\begin{cases} x_{i,n'}, &amp; \\text{\u0435\u0441\u043b\u0438 $m' = m$} \\\\[6pt] 0,        &amp; \\text{\u0438\u043d\u0430\u0447\u0435}. \\end{cases} \\\\[8pt]  &amp;\\text{$J_i$ \u2012 \u044d\u0442\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0430 $d \\times (d * h)$, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0430\u044f,} \\\\ &amp;\\text{\u043a\u0430\u043a \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u0430\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0432\u044b\u0445\u043e\u0434\u0430,} \\\\ &amp;\\text{\u0435\u0441\u043b\u0438 \u0447\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u043f\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 $\\theta$} \\\\ &amp;\\text{\u043f\u0440\u0438 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0445\u043e\u0434\u0435 $x_i$. } \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a1f\/32c\/5e1\/a1f32c5e14336bd596e41fccaaa6c385.svg\" width=\"568\" height=\"542\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a1f\/32c\/5e1\/a1f32c5e14336bd596e41fccaaa6c385.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a1f\/32c\/5e1\/a1f32c5e14336bd596e41fccaaa6c385.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432 <img decoding=\"async\" class=\"formula inline\" source=\"J_i\" alt=\"J_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ac6\/835\/103\/ac6835103a52c70ebf31333bc76ce375.svg\" width=\"18\" height=\"20\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ac6\/835\/103\/ac6835103a52c70ebf31333bc76ce375.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ac6\/835\/103\/ac6835103a52c70ebf31333bc76ce375.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u0437 <img decoding=\"async\" class=\"formula inline\" source=\"d\" alt=\"d\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ac0\/b81\/2d4\/ac0b812d4dc9d75aa9c3fb4c88df03f2.svg\" width=\"10\" height=\"17\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ac0\/b81\/2d4\/ac0b812d4dc9d75aa9c3fb4c88df03f2.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ac0\/b81\/2d4\/ac0b812d4dc9d75aa9c3fb4c88df03f2.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0431\u043b\u043e\u043a\u043e\u0432 (\u0448\u0438\u0440\u0438\u043d\u044b <img decoding=\"async\" class=\"formula inline\" source=\"h\" alt=\"h\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/319\/1fe\/f53\/3191fef532d64e4cecd4b389ee1265fa.svg\" width=\"11\" height=\"17\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/319\/1fe\/f53\/3191fef532d64e4cecd4b389ee1265fa.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/319\/1fe\/f53\/3191fef532d64e4cecd4b389ee1265fa.svg 781w\" loading=\"lazy\" decode=\"async\"\/>) \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"m\" alt=\"m\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/003\/516\/e1f\/003516e1f0ecf40543c5fa5c5fed2b8b.svg\" width=\"17\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/003\/516\/e1f\/003516e1f0ecf40543c5fa5c5fed2b8b.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/003\/516\/e1f\/003516e1f0ecf40543c5fa5c5fed2b8b.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0441\u0442\u043e\u0438\u0442 \u043a\u043e\u043f\u0438\u044f \u0432\u0435\u043a\u0442\u043e\u0440\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"x_i\" alt=\"x_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3ba\/b56\/3c5\/3bab563c555a00de2ea6fa4a3b3958ba.svg\" width=\"18\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3ba\/b56\/3c5\/3bab563c555a00de2ea6fa4a3b3958ba.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3ba\/b56\/3c5\/3bab563c555a00de2ea6fa4a3b3958ba.svg 781w\" loading=\"lazy\" decode=\"async\"\/>; \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043d\u0443\u043b\u0435\u0432\u044b\u0435:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} J_i \\;=\\; \\operatorname{diag}\\!\\bigl(   \\underbrace{x_i^{\\!\\top},\\;x_i^{\\!\\top},\\;\\dots,\\;x_i^{\\!\\top}}_{d\\ \\text{\u0440\u0430\u0437}} \\bigr) \\end{align}\" alt=\"\\begin{align} J_i \\;=\\; \\operatorname{diag}\\!\\bigl(   \\underbrace{x_i^{\\!\\top},\\;x_i^{\\!\\top},\\;\\dots,\\;x_i^{\\!\\top}}_{d\\ \\text{\u0440\u0430\u0437}} \\bigr) \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fc6\/c25\/ca4\/fc6c25ca414ed576cc8994f538880df5.svg\" width=\"242\" height=\"62\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fc6\/c25\/ca4\/fc6c25ca414ed576cc8994f538880df5.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fc6\/c25\/ca4\/fc6c25ca414ed576cc8994f538880df5.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 bias, \u0442\u043e \u043a <img decoding=\"async\" class=\"formula inline\" source=\"J_i\" alt=\"J_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8b3\/991\/3d4\/8b39913d47fc09133f18092d401aa2b7.svg\" width=\"18\" height=\"20\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8b3\/991\/3d4\/8b39913d47fc09133f18092d401aa2b7.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8b3\/991\/3d4\/8b39913d47fc09133f18092d401aa2b7.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0438\u043a\u043b\u0435\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043f\u0440\u0430\u0432\u0430 \u0435\u0434\u0438\u043d\u0438\u0447\u043d\u0430\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u0430.<\/p>\n<\/div>\n<\/details>\n<h2>\u041f\u0440\u0438\u043c\u0435\u0440 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c<\/h2>\n<details class=\"spoiler\">\n<summary>\u042d\u043d\u043a\u043e\u0434\u0435\u0440 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0434\u0432\u0443\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0434\u0443\u0449\u0438\u0445 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u0441\u043b\u043e\u0451\u0432 (\u0431\u0435\u0437 bias)<\/summary>\n<div class=\"spoiler__content\">\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u044d\u043d\u043a\u043e\u0434\u0435\u0440, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0438\u0437 \u0434\u0432\u0443\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0434\u0443\u0449\u0438\u0445 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u0441\u043b\u043e\u0451\u0432 (\u0431\u0435\u0437 bias): <\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} &amp;\\textbf{\u0412\u0445\u043e\u0434:}\\;\\; x_i       = (x_{i,1},\\dots,x_{i,h})^{\\!\\top}       \\in\\mathbb{R}^{h} \\qquad \\text{($x_i$ \u2014 \u0432\u0435\u043a\u0442\u043e\u0440 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 $i$)} \\\\[8pt]  &amp;\\textbf{\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:}\\; A\\in\\mathbb{R}^{d_1\\times h}, \\;B\\in\\mathbb{R}^{d_2\\times d_1}, \\quad \\theta=\\{A,B\\}, \\\\ &amp;\\quad \\theta^{(A)}_{r,s}=A_{r,s}, \\; \\theta^{(B)}_{m,n}=B_{m,n} \\qquad \\text{($r$ \u2014 \u00ab\u0441\u043a\u0440\u044b\u0442\u0430\u044f\u00bb \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430, $m$ \u2014 \u0432\u044b\u0445\u043e\u0434\u043d\u0430\u044f)} \\\\[12pt]  &amp;\\textbf{\u0412\u044b\u0445\u043e\u0434:}\\quad z_i = A\\,x_i \\in\\mathbb{R}^{d_1}, \\qquad q_i       = q(\\theta,x_i)       = B\\,z_i       \\in\\mathbb{R}^{d_2} \\\\[12pt]  &amp;\\text{\u041f\u0443\u0441\u0442\u044c $m$ \u2014 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0432\u0435\u043a\u0442\u043e\u0440\u0430 $q_i$,}\\\\ &amp;\\text{$\\;\\;m',n'$ \u2014 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0441\u0442\u0440\u043e\u043a\u0438\/\u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u0432 $B$,}\\\\ &amp;\\text{$\\;\\;r',s'$ \u2014 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0441\u0442\u0440\u043e\u043a\u0438\/\u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u0432 $A$.} \\\\[8pt]  &amp;\\textbf{\u042f\u043a\u043e\u0431\u0438\u0430\u043d \u043f\u043e $B$:}\\quad \\frac{\\partial q_{i,m}}{\\partial B_{m',n'}} = \\begin{cases} z_{i,n'}, &amp; m'=m,\\\\[4pt] 0,        &amp; \\text{\u0438\u043d\u0430\u0447\u0435}. \\end{cases} \\\\[10pt]  &amp;\\textbf{\u042f\u043a\u043e\u0431\u0438\u0430\u043d \u043f\u043e $A$:}\\quad \\frac{\\partial q_{i,m}}{\\partial A_{r',s'}} = B_{m,r'}\\,x_{i,s'} . \\\\[10pt]  &amp;\\text{\u0418\u0442\u043e\u0433\u043e }J_i    =\\bigl[\\;J^{(B)}_i \\;\\big|\\; J^{(A)}_i\\bigr], \\text{ \u0433\u0434\u0435} \\\\ &amp;J^{(B)}_i\\in\\mathbb{R}^{d_2\\times(d_2d_1)}    \\text{ \u0438\u043c\u0435\u0435\u0442 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u0437 $d_2$ \u0431\u043b\u043e\u043a\u043e\u0432 \u0448\u0438\u0440\u0438\u043d\u044b $d_1$ \u0441\u0442\u0440\u043e\u043a\u0443 }z_i^{\\!\\top}, \\\\ &amp;J^{(A)}_i\\in\\mathbb{R}^{d_2\\times(d_1h)}    \\text{ \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 $d_1h$ \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0432\u0438\u0434\u0430 }B_{:,r'}\\,x_{i,s'}. \\end{align}\" alt=\"\\begin{align} &amp;\\textbf{\u0412\u0445\u043e\u0434:}\\;\\; x_i       = (x_{i,1},\\dots,x_{i,h})^{\\!\\top}       \\in\\mathbb{R}^{h} \\qquad \\text{($x_i$ \u2014 \u0432\u0435\u043a\u0442\u043e\u0440 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 $i$)} \\\\[8pt]  &amp;\\textbf{\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:}\\; A\\in\\mathbb{R}^{d_1\\times h}, \\;B\\in\\mathbb{R}^{d_2\\times d_1}, \\quad \\theta=\\{A,B\\}, \\\\ &amp;\\quad \\theta^{(A)}_{r,s}=A_{r,s}, \\; \\theta^{(B)}_{m,n}=B_{m,n} \\qquad \\text{($r$ \u2014 \u00ab\u0441\u043a\u0440\u044b\u0442\u0430\u044f\u00bb \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430, $m$ \u2014 \u0432\u044b\u0445\u043e\u0434\u043d\u0430\u044f)} \\\\[12pt]  &amp;\\textbf{\u0412\u044b\u0445\u043e\u0434:}\\quad z_i = A\\,x_i \\in\\mathbb{R}^{d_1}, \\qquad q_i       = q(\\theta,x_i)       = B\\,z_i       \\in\\mathbb{R}^{d_2} \\\\[12pt]  &amp;\\text{\u041f\u0443\u0441\u0442\u044c $m$ \u2014 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0432\u0435\u043a\u0442\u043e\u0440\u0430 $q_i$,}\\\\ &amp;\\text{$\\;\\;m',n'$ \u2014 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0441\u0442\u0440\u043e\u043a\u0438\/\u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u0432 $B$,}\\\\ &amp;\\text{$\\;\\;r',s'$ \u2014 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0441\u0442\u0440\u043e\u043a\u0438\/\u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u0432 $A$.} \\\\[8pt]  &amp;\\textbf{\u042f\u043a\u043e\u0431\u0438\u0430\u043d \u043f\u043e $B$:}\\quad \\frac{\\partial q_{i,m}}{\\partial B_{m',n'}} = \\begin{cases} z_{i,n'}, &amp; m'=m,\\\\[4pt] 0,        &amp; \\text{\u0438\u043d\u0430\u0447\u0435}. \\end{cases} \\\\[10pt]  &amp;\\textbf{\u042f\u043a\u043e\u0431\u0438\u0430\u043d \u043f\u043e $A$:}\\quad \\frac{\\partial q_{i,m}}{\\partial A_{r',s'}} = B_{m,r'}\\,x_{i,s'} . \\\\[10pt]  &amp;\\text{\u0418\u0442\u043e\u0433\u043e }J_i    =\\bigl[\\;J^{(B)}_i \\;\\big|\\; J^{(A)}_i\\bigr], \\text{ \u0433\u0434\u0435} \\\\ &amp;J^{(B)}_i\\in\\mathbb{R}^{d_2\\times(d_2d_1)}    \\text{ \u0438\u043c\u0435\u0435\u0442 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u0437 $d_2$ \u0431\u043b\u043e\u043a\u043e\u0432 \u0448\u0438\u0440\u0438\u043d\u044b $d_1$ \u0441\u0442\u0440\u043e\u043a\u0443 }z_i^{\\!\\top}, \\\\ &amp;J^{(A)}_i\\in\\mathbb{R}^{d_2\\times(d_1h)}    \\text{ \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 $d_1h$ \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0432\u0438\u0434\u0430 }B_{:,r'}\\,x_{i,s'}. \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/db9\/b6d\/254\/db9b6d254672d7d5b6fbd84b2e07a001.svg\" width=\"603\" height=\"552\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/db9\/b6d\/254\/db9b6d254672d7d5b6fbd84b2e07a001.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/db9\/b6d\/254\/db9b6d254672d7d5b6fbd84b2e07a001.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0412\u044b\u0445\u043e\u0434\u0438\u0442, \u0447\u0442\u043e \u0434\u0432\u0430 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u0441\u043b\u043e\u044f \u2014 \u044d\u0442\u043e \u043d\u0435\u043b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c \u043c\u043e\u0434\u0435\u043b\u044c.<\/p>\n<p>\u042d\u0442\u043e \u043b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u043f\u043e \u0432\u0445\u043e\u0434\u0443 \u043c\u043e\u0434\u0435\u043b\u044c (linear_layer_\u21161 * linear_layer_\u21162 * x = linear_layer_\u21163 * x). \u041d\u043e \u0435\u0441\u043b\u0438 \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432 \u0433\u043e\u043b\u043e\u0432\u0435 \u0442\u043e, \u043e \u0447\u0435\u043c \u043d\u0430\u043c \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u042f\u043a\u043e\u0431\u0438\u0430\u043d (\u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0434\u0432\u0438\u043d\u0435\u0442\u0441\u044f \u0432\u044b\u0445\u043e\u0434, \u0435\u0441\u043b\u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440), \u0442\u043e \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e \u0434\u043e\u0433\u0430\u0434\u0430\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u043c\u044b \u043f\u043e\u0434\u0432\u0438\u043d\u0435\u043c \u0432\u0435\u0441 \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u043c \u0441\u043b\u043e\u0435, \u0442\u043e \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u044d\u0442\u043e \u0441\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043a\u0430\u043a-\u0442\u043e \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0432\u0435\u0441\u043e\u0432 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u044f: \u043c\u0435\u0436\u0434\u0443 \u043f\u0435\u0440\u0432\u044b\u043c \u0441\u043b\u043e\u0435\u043c \u0438 \u0432\u044b\u0445\u043e\u0434\u043e\u043c \u043a\u0430\u043a \u0440\u0430\u0437 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u043e\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u044d\u0442\u0443 \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u044f. \u0410 \u0440\u0430\u0437 \u043c\u0430\u0442\u0440\u0438\u0446\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"J\" alt=\"J\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d4b\/69a\/39a\/d4b69a39adce0a1768408e4d22d0b704.svg\" width=\"12\" height=\"17\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d4b\/69a\/39a\/d4b69a39adce0a1768408e4d22d0b704.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d4b\/69a\/39a\/d4b69a39adce0a1768408e4d22d0b704.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0442\u0430\u043a\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c \u0438 \u043c\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u0433\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u044b\u0432\u043e\u0434 \u043f\u0440\u043e popularity bias.<\/p>\n<\/div>\n<\/details>\n<h2>\u0414\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 \u043a\u043e\u043b\u043b\u0438\u043d\u0435\u0430\u0440\u043d\u043e \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0443 \u043b\u043e\u0441\u0441\u0430 \u043f\u043e \u0432\u044b\u0445\u043e\u0434\u0443<\/h2>\n<details class=\"spoiler\">\n<summary>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u044b<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0412\u0441\u043f\u043e\u043c\u043d\u0438\u043c \u0444\u043e\u0440\u043c\u0443\u043b\u0443 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 \u0434\u043b\u044f \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u043e\u0432, \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} \\Delta q_{i} \\;=\\; J_{i}\\,\\Delta\\theta \\;=\\; -\\eta\\,\\sum_{j} J_{i}\\,J_{j}^{\\!\\top}\\,g_{j} \\end{align}\" alt=\"\\begin{align} \\Delta q_{i} \\;=\\; J_{i}\\,\\Delta\\theta \\;=\\; -\\eta\\,\\sum_{j} J_{i}\\,J_{j}^{\\!\\top}\\,g_{j} \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/53e\/79e\/bb9\/53e79ebb9aa35133116bda7114fe5e26.svg\" width=\"285\" height=\"48\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/53e\/79e\/bb9\/53e79ebb9aa35133116bda7114fe5e26.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/53e\/79e\/bb9\/53e79ebb9aa35133116bda7114fe5e26.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u042f\u043a\u043e\u0431\u0438\u0430\u043d\u044b \u0434\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440, \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0438\u0445 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 \u0431\u0443\u0434\u0435\u0442 \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u043a\u043e\u043b\u043b\u0438\u043d\u0435\u0430\u0440\u043d\u043e \u0435\u0433\u043e \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0443 (<img decoding=\"async\" class=\"formula inline\" source=\"\\Delta q_{i}\" alt=\"\\Delta q_{i}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e\/e7\/e75\/e75845ce83345ebca2c198a616dcaa2d.svg\" width=\"24\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e\/e7\/e75\/e75845ce83345ebca2c198a616dcaa2d.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e\/e7\/e75\/e75845ce83345ebca2c198a616dcaa2d.svg 781w\" loading=\"lazy\" decode=\"async\"\/> || <img decoding=\"async\" class=\"formula inline\" source=\"g_i\" alt=\"g_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/91\/91d\/91d8947f9447751708c1f4107beb7ab3.svg\" width=\"12\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/91\/91d\/91d8947f9447751708c1f4107beb7ab3.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/91\/91d\/91d8947f9447751708c1f4107beb7ab3.svg 781w\" loading=\"lazy\" decode=\"async\"\/>): <strong>\u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0432 \u043c\u043e\u0434\u0435\u043b\u0438 \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u0430 \u0431\u044b\u043b\u0430 \u00ab\u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f\u00bb \u0441\u0442\u0440\u043e\u043a\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u0435\u0442\u0441\u044f c \u0447\u0443\u0436\u0438\u043c\u0438. <\/strong>\u042d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u043d\u044f\u0442\u044c, \u0435\u0441\u043b\u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u044b.<\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043b\u0443\u0447\u0430\u0439 \u0441 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c embedding-\u0441\u043b\u043e\u0435\u043c:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} J_{i}\\,J_{j}^{\\!\\top}\\ = \\begin{cases} I_d, &amp; \\text{\u0435\u0441\u043b\u0438 $x_i = x_j$} \\\\[4pt] 0, &amp; \\text{\u0438\u043d\u0430\u0447\u0435}. \\end{cases} \\end{align}\" alt=\"\\begin{align} J_{i}\\,J_{j}^{\\!\\top}\\ = \\begin{cases} I_d, &amp; \\text{\u0435\u0441\u043b\u0438 $x_i = x_j$} \\\\[4pt] 0, &amp; \\text{\u0438\u043d\u0430\u0447\u0435}. \\end{cases} \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/78a\/e81\/3eb\/78ae813ebb66eb5d9fc678f591c04e77.svg\" width=\"244\" height=\"64\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/78a\/e81\/3eb\/78ae813ebb66eb5d9fc678f591c04e77.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/78a\/e81\/3eb\/78ae813ebb66eb5d9fc678f591c04e77.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0428\u0430\u0433 SGD:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} \\Delta q_{i} \\;=\\; -\\eta\\,c_i\\,g_{i} \\qquad  \\text{($c_i$ - \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 $x_i$ \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043b\u0441\u044f \u0432 \u0431\u0430\u0442\u0447\u0435)} \\end{align}\" alt=\"\\begin{align} \\Delta q_{i} \\;=\\; -\\eta\\,c_i\\,g_{i} \\qquad  \\text{($c_i$ - \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 $x_i$ \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043b\u0441\u044f \u0432 \u0431\u0430\u0442\u0447\u0435)} \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a32\/b77\/3e7\/a32b773e7b1438fba9908775d4e509bd.svg\" width=\"464\" height=\"28\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a32\/b77\/3e7\/a32b773e7b1438fba9908775d4e509bd.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a32\/b77\/3e7\/a32b773e7b1438fba9908775d4e509bd.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043b\u0443\u0447\u0430\u0439 \u0441 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u043c \u0441\u043b\u043e\u0435\u043c \u0431\u0435\u0437 bias:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} J_{i}\\,J_{j}^{\\!\\top}\\ = (x_i^{\\!\\top} x_j) I_d \\end{align}\" alt=\"\\begin{align} J_{i}\\,J_{j}^{\\!\\top}\\ = (x_i^{\\!\\top} x_j) I_d \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/297\/86b\/794\/29786b794e712db0c1020c8c4a9bac64.svg\" width=\"153\" height=\"28\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/297\/86b\/794\/29786b794e712db0c1020c8c4a9bac64.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/297\/86b\/794\/29786b794e712db0c1020c8c4a9bac64.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0428\u0430\u0433 SGD:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} \\Delta q_{i} \\;=\\; -\\eta\\,\\sum_{j}(x_i^{\\!\\top} x_j)\\,g_{j} \\;=\\; -\\eta\\, \\underbrace{\\|x_i\\|^2\\,g_i}_{\\text{\u0441\u043e\u0431\u0441\u0442\u0432. \u0432\u043a\u043b\u0430\u0434}} \\;-\\; \\eta\\, \\underbrace{\\sum_{j\\neq i}(x_i^{\\!\\top}x_j)\\,g_j}_{\\text{\u0432\u043a\u043b\u0430\u0434 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445}} \\end{align}\" alt=\"\\begin{align} \\Delta q_{i} \\;=\\; -\\eta\\,\\sum_{j}(x_i^{\\!\\top} x_j)\\,g_{j} \\;=\\; -\\eta\\, \\underbrace{\\|x_i\\|^2\\,g_i}_{\\text{\u0441\u043e\u0431\u0441\u0442\u0432. \u0432\u043a\u043b\u0430\u0434}} \\;-\\; \\eta\\, \\underbrace{\\sum_{j\\neq i}(x_i^{\\!\\top}x_j)\\,g_j}_{\\text{\u0432\u043a\u043b\u0430\u0434 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445}} \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5ca\/574\/742\/5ca5747424669f21a53149c21843ab88.svg\" width=\"494\" height=\"86\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5ca\/574\/742\/5ca5747424669f21a53149c21843ab88.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5ca\/574\/742\/5ca5747424669f21a53149c21843ab88.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0418\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u0432\u0445\u043e\u0434\u044b \u0432 \u044d\u043d\u043a\u043e\u0434\u0435\u0440 \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442 \u0447\u0435\u0440\u0435\u0437 \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u0432\u044b\u0445\u043e\u0434 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u0443\u0436\u0435 \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u0433\u043e \u043a\u043e\u043b\u043b\u0438\u043d\u0435\u0430\u0440\u043d\u043e \u0435\u0433\u043e \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0443. \u041d\u043e \u0435\u0441\u043b\u0438 \u0432\u0441\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"x\" alt=\"x\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e68\/ae4\/6f0\/e68ae46f08713a5062146d03b5322025.svg\" width=\"11\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e68\/ae4\/6f0\/e68ae46f08713a5062146d03b5322025.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e68\/ae4\/6f0\/e68ae46f08713a5062146d03b5322025.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"x\" alt=\"x\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/909\/0d0\/613\/9090d0613c84356040fabd2424f6bf40.svg\" width=\"11\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/909\/0d0\/613\/9090d0613c84356040fabd2424f6bf40.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/909\/0d0\/613\/9090d0613c84356040fabd2424f6bf40.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 \u044d\u0442\u043e one-hot \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433), \u0442\u043e \u0432\u043a\u043b\u0430\u0434 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043e\u0431\u043d\u0443\u043b\u0438\u0442\u0441\u044f \u0438 \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u043b\u043b\u0438\u043d\u0435\u0430\u0440\u043d\u043e\u0441\u0442\u044c. \u0412 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438, nn.Linear \u043d\u0430\u0434 one-hot \u0444\u0438\u0447\u0430\u043c\u0438 (\u0431\u0435\u0437 bias \u0432 \u0441\u043b\u043e\u0435) \u0438 nn.Embedding \u2014 \u044d\u0442\u043e \u043e\u0434\u043d\u043e \u0438 \u0442\u043e \u0436\u0435, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0431\u0440\u0430\u0442\u044c \u0432 \u0440\u0430\u0441\u0447\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c (matmul vs lookup).<\/p>\n<\/div>\n<\/details>\n<h2>\u0413\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043b\u044e\u0431\u043e\u0433\u043e \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u043e\u0433\u043e \u043b\u043e\u0441\u0441\u0430 \u043f\u043e \u0432\u044b\u0445\u043e\u0434\u0443 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u0435\u043d \u0435\u043c\u0443  <\/h2>\n<details class=\"spoiler\">\n<summary>\u0415\u0441\u043b\u0438 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u0442 \u0432 \u043b\u043e\u0441\u0441\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u044b, \u0442\u043e \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043b\u043e\u0441\u0441\u0430 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u0435\u043d \u044d\u0442\u043e\u043c\u0443 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0443<\/summary>\n<div class=\"spoiler__content\">\n<p>\u041f\u0443\u0441\u0442\u044c \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 <img decoding=\"async\" class=\"formula inline\" source=\"q\" alt=\"q\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0ff\/c1b\/b4e\/0ffc1bb4e774f2eae8a63df4bbea9e26.svg\" width=\"9\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0ff\/c1b\/b4e\/0ffc1bb4e774f2eae8a63df4bbea9e26.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0ff\/c1b\/b4e\/0ffc1bb4e774f2eae8a63df4bbea9e26.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, \u0432\u044b\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0438\u0437 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430, \u0443\u0447\u0430\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u043b\u043e\u0441\u0441\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u044b\u0435 \u0431\u043b\u0438\u0437\u043e\u0441\u0442\u0438 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430\u043c\u0438, \u043f\u043e\u0440\u043e\u0436\u0434\u0435\u043d\u043d\u044b\u043c\u0438 \u0434\u0432\u0443\u0445\u0431\u0430\u0448\u0435\u043d\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u044c\u044e. \u0422\u043e\u0433\u0434\u0430 \u043b\u043e\u0441\u0441 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u0430\u043a:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} &amp;\\mathcal L=F\\bigl(\\cos(q,k_1),\\dots,\\cos(q,k_r)\\bigr) \\\\ &amp;\\text{\u0418 \u0442\u043e\u0433\u0434\u0430 \u0435\u0433\u043e \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043f\u043e $q$: } \\\\ &amp; \\nabla_q\\mathcal L =\\sum_{s=1}^{r}\\frac{\\partial F}{\\partial \\cos(q,k_s)}\\,       \\nabla_q\\cos(q,k_s) \\end{align}\" alt=\"\\begin{align} &amp;\\mathcal L=F\\bigl(\\cos(q,k_1),\\dots,\\cos(q,k_r)\\bigr) \\\\ &amp;\\text{\u0418 \u0442\u043e\u0433\u0434\u0430 \u0435\u0433\u043e \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043f\u043e $q$: } \\\\ &amp; \\nabla_q\\mathcal L =\\sum_{s=1}^{r}\\frac{\\partial F}{\\partial \\cos(q,k_s)}\\,       \\nabla_q\\cos(q,k_s) \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e8d\/5d6\/2c8\/e8d5d62c84e6863b6ed48befef6b1d7d.svg\" width=\"310\" height=\"116\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e8d\/5d6\/2c8\/e8d5d62c84e6863b6ed48befef6b1d7d.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e8d\/5d6\/2c8\/e8d5d62c84e6863b6ed48befef6b1d7d.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0422\u0443\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0430\u044f \u043b\u043e\u0441\u0441\u0430 \u043f\u043e \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0443 \u2014 \u044d\u0442\u043e \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0441\u043a\u0430\u043b\u044f\u0440. \u041c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043b\u043e\u0441\u0441\u0430 \u043f\u043e <img decoding=\"async\" class=\"formula inline\" source=\"q\" alt=\"q\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ac9\/a4b\/1e2\/ac9a4b1e2ee13f9c9d00248d87da9557.svg\" width=\"9\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ac9\/a4b\/1e2\/ac9a4b1e2ee13f9c9d00248d87da9557.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ac9\/a4b\/1e2\/ac9a4b1e2ee13f9c9d00248d87da9557.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u0435\u043d <img decoding=\"async\" class=\"formula inline\" source=\"q\" alt=\"q\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/66f\/ccf\/35c\/66fccf35ce7892de7410cf9d0b31b919.svg\" width=\"9\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/66f\/ccf\/35c\/66fccf35ce7892de7410cf9d0b31b919.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/66f\/ccf\/35c\/66fccf35ce7892de7410cf9d0b31b919.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, \u0435\u0441\u043b\u0438:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} \\langle q,\\nabla_q\\mathcal L\\rangle=0 \\end{align}\" alt=\"\\begin{align} \\langle q,\\nabla_q\\mathcal L\\rangle=0 \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/146\/fe8\/37a\/146fe837aac703facf217b696900458c.svg\" width=\"113\" height=\"24\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/146\/fe8\/37a\/146fe837aac703facf217b696900458c.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/146\/fe8\/37a\/146fe837aac703facf217b696900458c.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0417\u0430\u043f\u0438\u0448\u0435\u043c:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} &amp;\\langle q,\\nabla_q\\mathcal L\\rangle =\\sum_{s=1}^{r}\\frac{\\partial F}{\\partial \\cos(q,k_s)}\\,       \\langle q, \\nabla_q\\cos(q,k_s)\\rangle =       \\\\&amp;\\text{[\u0438\u0437 \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f 1 \u0437\u043d\u0430\u0435\u043c, \u0447\u0442\u043e $\\langle q, \\nabla_q\\cos(q, *)\\rangle = 0$]}        \\\\&amp;= 0 \\end{align}\" alt=\"\\begin{align} &amp;\\langle q,\\nabla_q\\mathcal L\\rangle =\\sum_{s=1}^{r}\\frac{\\partial F}{\\partial \\cos(q,k_s)}\\,       \\langle q, \\nabla_q\\cos(q,k_s)\\rangle =       \\\\&amp;\\text{[\u0438\u0437 \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f 1 \u0437\u043d\u0430\u0435\u043c, \u0447\u0442\u043e $\\langle q, \\nabla_q\\cos(q, *)\\rangle = 0$]}        \\\\&amp;= 0 \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/553\/dd1\/cad\/553dd1cad19d39b0d20829a66021c86f.svg\" width=\"397\" height=\"112\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/553\/dd1\/cad\/553dd1cad19d39b0d20829a66021c86f.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/553\/dd1\/cad\/553dd1cad19d39b0d20829a66021c86f.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c <img decoding=\"async\" class=\"formula inline\" source=\"q_i\" alt=\"q_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cc1\/dee\/621\/cc1dee62153df36fbff52f722385ca63.svg\" width=\"15\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cc1\/dee\/621\/cc1dee62153df36fbff52f722385ca63.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cc1\/dee\/621\/cc1dee62153df36fbff52f722385ca63.svg 781w\" loading=\"lazy\" decode=\"async\"\/><img decoding=\"async\" class=\"formula inline\" source=\"\u22a5\" alt=\"\u22a5\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bc2\/6de\/a6c\/bc26dea6c52d78a067e8d44b78934e9e.svg\" width=\"15\" height=\"17\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bc2\/6de\/a6c\/bc26dea6c52d78a067e8d44b78934e9e.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bc2\/6de\/a6c\/bc26dea6c52d78a067e8d44b78934e9e.svg 781w\" loading=\"lazy\" decode=\"async\"\/> <img decoding=\"async\" class=\"formula inline\" source=\"g_i\" alt=\"g_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/708\/bcf\/2c3\/708bcf2c345e0e384a5e238cc2d7b110.svg\" width=\"16\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/708\/bcf\/2c3\/708bcf2c345e0e384a5e238cc2d7b110.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/708\/bcf\/2c3\/708bcf2c345e0e384a5e238cc2d7b110.svg 781w\" loading=\"lazy\" decode=\"async\"\/>  \u0434\u043b\u044f \u043b\u044e\u0431\u043e\u0433\u043e \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u043e\u0433\u043e \u043b\u043e\u0441\u0441\u0430. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"\\Delta q_{i}\" alt=\"\\Delta q_{i}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/31d\/3b1\/05b\/31d3b105b208c5117211a5156f1f4e7b.svg\" width=\"32\" height=\"21\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/31d\/3b1\/05b\/31d3b105b208c5117211a5156f1f4e7b.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/31d\/3b1\/05b\/31d3b105b208c5117211a5156f1f4e7b.svg 781w\" loading=\"lazy\" decode=\"async\"\/> || <img decoding=\"async\" class=\"formula inline\" source=\"g_i\" alt=\"g_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b3a\/b43\/0e6\/b3ab430e68cf945b0d1291b03dbea36c.svg\" width=\"16\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b3a\/b43\/0e6\/b3ab430e68cf945b0d1291b03dbea36c.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b3a\/b43\/0e6\/b3ab430e68cf945b0d1291b03dbea36c.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, \u0442\u043e <img decoding=\"async\" class=\"formula inline\" source=\"q_i\" alt=\"q_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/65a\/496\/529\/65a496529310ab9c15876a70d399c5e5.svg\" width=\"15\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/65a\/496\/529\/65a496529310ab9c15876a70d399c5e5.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/65a\/496\/529\/65a496529310ab9c15876a70d399c5e5.svg 781w\" loading=\"lazy\" decode=\"async\"\/> <img decoding=\"async\" class=\"formula inline\" source=\"\u22a5\" alt=\"\u22a5\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/faa\/491\/939\/faa491939949f7af0675b22eb11f3650.svg\" width=\"15\" height=\"17\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/faa\/491\/939\/faa491939949f7af0675b22eb11f3650.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/faa\/491\/939\/faa491939949f7af0675b22eb11f3650.svg 781w\" loading=\"lazy\" decode=\"async\"\/> <img decoding=\"async\" class=\"formula inline\" source=\"\\Delta q_{i}\" alt=\"\\Delta q_{i}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1e7\/6fd\/c04\/1e76fdc04352df0e792a29f044bb9863.svg\" width=\"32\" height=\"21\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1e7\/6fd\/c04\/1e76fdc04352df0e792a29f044bb9863.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1e7\/6fd\/c04\/1e76fdc04352df0e792a29f044bb9863.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c5e\/8b8\/552\/c5e8b855205b50e8fcc841bc89e2b79b.png\" width=\"1242\" height=\"1232\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/c5e\/8b8\/552\/c5e8b855205b50e8fcc841bc89e2b79b.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c5e\/8b8\/552\/c5e8b855205b50e8fcc841bc89e2b79b.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<\/div>\n<\/details>\n<h2>\u0420\u0435\u0437\u044e\u043c\u0435: \u0444\u0430\u043a\u0442\u043e\u0440\u044b, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e<\/h2>\n<p>\u0415\u0441\u043b\u0438 \u0434\u043b\u044f \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u0432 \u0434\u0432\u0443\u0445\u0431\u0430\u0448\u0435\u043d\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0447\u0435\u0442\u044b\u0440\u0435 \u0444\u0430\u043a\u0442\u043e\u0440\u0430: <\/p>\n<ol>\n<li>\n<p>\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u043f\u0442\u0438\u043c\u0430\u0439\u0437\u0435\u0440\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0439 SGD \u0431\u0435\u0437 \u043c\u043e\u043c\u0435\u043d\u0442\u0443\u043c\u0430 \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u0438\u0437\u0430\u0446\u0438\u0438<\/p>\n<\/li>\n<li>\n<p>\u044d\u0442\u043e \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 (\u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c) \u044d\u043d\u043a\u043e\u0434\u0435\u0440<\/p>\n<\/li>\n<li>\n<p>\u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u0430 \u0432 \u044d\u043d\u043a\u043e\u0434\u0435\u0440 \u00ab\u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f\u00bb \u0441\u0442\u0440\u043e\u043a\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u0435\u0442\u0441\u044f c \u0447\u0443\u0436\u0438\u043c\u0438<\/p>\n<\/li>\n<li>\n<p>\u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043b\u043e\u0441\u0441\u0430 \u043f\u043e \u0432\u044b\u0445\u043e\u0434\u0443 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 (\u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0443) \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u0435\u043d \u0432\u044b\u0445\u043e\u0434\u0443 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430<\/p>\n<\/li>\n<\/ol>\n<p>\u0422\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e <strong>\u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e<\/strong>, \u0442.\u0435. \u043f\u043e \u043a\u0430\u0441\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a \u0433\u0438\u043f\u0435\u0440\u0441\u0444\u0435\u0440\u0435, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u043d \u043b\u0435\u0436\u0430\u043b \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0448\u0430\u0433\u0435.<\/p>\n<h2>\u0421\u0432\u044f\u0437\u044c \u0441 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u043c\u0438 \u0441\u0442\u0430\u0442\u044c\u044f\u043c\u0438 \u043f\u0440\u043e \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432<\/h2>\n<p>\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 <a href=\"https:\/\/arxiv.org\/abs\/1704.06369\" rel=\"noopener noreferrer nofollow\">NormFace: L2 Hypersphere Embedding for Face Verification<\/a> (930 \u0446\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0439) \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u043d\u043e\u0432\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u0447\u0438\u0442\u044c \u0433\u043b\u0443\u0431\u043e\u043a\u0438\u0435 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u044b. \u0412 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 3.2 \u043e\u043d\u0438 \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442, \u0447\u0442\u043e \u0434\u043b\u044f \u0438\u0445 \u0432\u044b\u0445\u043e\u0434\u0430 \u0441\u0435\u0442\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"x\" alt=\"x\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fc4\/9bb\/722\/fc49bb722e3de69aceb7bce53e012858.svg\" width=\"11\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fc4\/9bb\/722\/fc49bb722e3de69aceb7bce53e012858.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fc4\/9bb\/722\/fc49bb722e3de69aceb7bce53e012858.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0438 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0430 \u0438\u0445 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u043b\u043e\u0441\u0441\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"\\partial \\mathcal L \/ \\partial x\" alt=\"\\partial \\mathcal L \/ \\partial x\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4bc\/7bf\/ce1\/4bc7bfce18743963a616de718da02657.svg\" width=\"57\" height=\"22\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4bc\/7bf\/ce1\/4bc7bfce18743963a616de718da02657.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4bc\/7bf\/ce1\/4bc7bfce18743963a616de718da02657.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u0434\u0435\u043b\u0430\u044e\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 <em>&#171;it can be inferred that after update, <img decoding=\"async\" class=\"formula inline\" source=\"\\|x\\|^2\" alt=\"\\|x\\|^2\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4fa\/c0f\/5f8\/4fac0f5f8f6211e56bd6cf86247df7b2.svg\" width=\"40\" height=\"25\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4fa\/c0f\/5f8\/4fac0f5f8f6211e56bd6cf86247df7b2.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4fa\/c0f\/5f8\/4fac0f5f8f6211e56bd6cf86247df7b2.svg 781w\" loading=\"lazy\" decode=\"async\"\/> always increases&#187;<\/em>, \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u044f \u0442\u043e, \u0447\u0442\u043e \u0440\u0430\u0437 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043f\u043e \u0432\u044b\u0445\u043e\u0434\u0443 \u0441\u0435\u0442\u0438 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u0435\u043d, \u0442\u043e \u0438 \u0441\u0434\u0432\u0438\u043d\u0435\u0442\u0441\u044f \u0432\u044b\u0445\u043e\u0434 \u0442\u043e\u0436\u0435 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e. \u041d\u043e \u043c\u043d\u0435 \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c \u044d\u0442\u043e\u0442 \u043f\u0435\u0440\u0435\u0445\u043e\u0434: \u043e\u0442 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0430 \u043a \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0430\u043c\u043e\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f. <\/p>\n<p>\u0422\u0430\u043a\u0430\u044f \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0448\u0430\u0433\u0430 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043d\u0430\u0431\u043e\u0440\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0442\u0440\u043e\u0433\u0438\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 (\u0441\u043c. \u0432\u044b\u0448\u0435). \u041c\u044b \u044d\u0442\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0432\u044b\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u044f\u0432\u043d\u043e \u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c: \u043f\u0440\u0438 \u0438\u0445 \u0441\u043e\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0438 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u0432\u0438\u0436\u0443\u0442\u0441\u044f \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e; \u0432\u043d\u0435 \u044d\u0442\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043e\u0442 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0430 \u043a \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 (\u0438, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043a \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u044e\u0449\u0435\u0439 \u043d\u043e\u0440\u043c\u0435 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432) \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f. \u0421\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043c\u043e\u0442\u0438\u0432\u0430\u0446\u0438\u044e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0442\u0440\u0430\u043a\u0442\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u0443\u0441\u043b\u043e\u0432\u043d\u0443\u044e: \u043e\u043d\u0430 \u0432\u0435\u0440\u043d\u0430 \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u043d\u0430\u043c\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0439, \u043d\u043e \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u043c \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0434\u043b\u044f \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u043e\u0432 \u2014 \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0433\u043b\u0443\u0431\u043e\u043a\u0438\u0445.<\/p>\n<p>\u041d\u043e \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0439, \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0445 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0440\u043e\u0441\u0442 \u043d\u043e\u0440\u043c\u044b \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 (\u043f\u043e \u0442\u0435\u043e\u0440\u0435\u043c\u0435 \u041f\u0438\u0444\u0430\u0433\u043e\u0440\u0430). \u0412\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441: \u043a\u0430\u043a \u0435\u0433\u043e \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438?<\/p>\n<h2>\u0410\u043d\u0430\u043b\u0438\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u043e\u0440\u043c\u044b \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043e\u0442 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430<\/h2>\n<p>\u0412 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u0431\u0443\u0434\u0435\u043c \u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c, \u0447\u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0432\u044b\u0448\u0435\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 4 \u0444\u0430\u043a\u0442\u043e\u0440\u0430 \u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e. \u0422\u043e\u0433\u0434\u0430 \u043f\u043e \u0442\u0435\u043e\u0440\u0435\u043c\u0435 \u041f\u0438\u0444\u0430\u0433\u043e\u0440\u0430:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} &amp;\\bigl\\|q_i^{(t+1)}\\bigr\\|^2 - \\bigl\\|q_i^{(t)}\\bigr\\|^2 \\;=\\; \\bigl\\|\\Delta q_i^{(t)}\\bigr\\|^2 \\end{align}\" alt=\"\\begin{align} &amp;\\bigl\\|q_i^{(t+1)}\\bigr\\|^2 - \\bigl\\|q_i^{(t)}\\bigr\\|^2 \\;=\\; \\bigl\\|\\Delta q_i^{(t)}\\bigr\\|^2 \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/dbb\/902\/442\/dbb902442151505323b8af4e9605d81f.svg\" width=\"257\" height=\"30\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/dbb\/902\/442\/dbb902442151505323b8af4e9605d81f.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/dbb\/902\/442\/dbb902442151505323b8af4e9605d81f.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043d\u043e\u0440\u043c\u044b \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430, \u044f \u0441\u0434\u0435\u043b\u0430\u044e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u0438 \u0434\u043e\u043a\u0430\u0436\u0443 \u0435\u0433\u043e \u2014 \u043e\u043d\u043e \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0434\u0430\u043b\u0435\u0435:<\/p>\n<details class=\"spoiler\">\n<summary>\u0427\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433, \u0442\u0435\u043c \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u043e\u043d \u0440\u0430\u0441\u0442\u0435\u0442 \u043f\u0440\u0438 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u043e\u043c \u043b\u043e\u0441\u0441\u0435<\/summary>\n<div class=\"spoiler__content\">\n<p><strong><em>\u0427\u0435\u043c \u0434\u043b\u0438\u043d\u043d\u0435\u0435 <\/em><\/strong><img decoding=\"async\" class=\"formula inline\" source=\"q\" alt=\"q\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8dd\/700\/e09\/8dd700e091fe84be8f324f5eebd4999b.svg\" width=\"9\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8dd\/700\/e09\/8dd700e091fe84be8f324f5eebd4999b.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8dd\/700\/e09\/8dd700e091fe84be8f324f5eebd4999b.svg 781w\" loading=\"lazy\" decode=\"async\"\/><strong><em>, \u0442\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u043d\u043e\u0440\u043c\u0430 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0430 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u043e\u0433\u043e \u043b\u043e\u0441\u0441\u0430 \u043f\u043e <\/em><\/strong><img decoding=\"async\" class=\"formula inline\" source=\"q\" alt=\"q\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/868\/2d2\/adb\/8682d2adb9e75d894d0378c07b057c46.svg\" width=\"9\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/868\/2d2\/adb\/8682d2adb9e75d894d0378c07b057c46.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/868\/2d2\/adb\/8682d2adb9e75d894d0378c07b057c46.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u041f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u0432\u0430\u0436\u043d\u043e: \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440-\u044d\u0444\u0444\u0435\u043a\u0442 &#171;\u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433, \u0442\u0435\u043c \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u043e\u043d \u0440\u0430\u0441\u0442\u0435\u0442&#187;, \u0438 \u044d\u0442\u043e\u0442 \u043a\u043e\u043d\u0442\u0440-\u044d\u0444\u0444\u0435\u043a\u0442 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0445 \u0444\u043e\u0440\u043c\u0443\u043b\u0430\u0445 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432. <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u043a\u0430\u0436\u0435\u043c \u2014 \u043d\u0430\u0447\u043d\u0443 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u0438\u0437 \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u21161:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} \\nabla_{{q}} \\cos(q,k) = \\frac{     \\|{q}\\|\\|{k}\\|\\;{k}     \\;-\\;     ({q}^\\top{k})\\,\\|{k}\\|\\;\\tfrac{{q}}{\\|{q}\\|}   }{     \\bigl(\\|{q}\\|\\|{k}\\|\\bigr)^2   } = \\frac{     {k}     \\;-\\;     \\tfrac{{q}^\\top{k}}{\\|{q}\\|^2}\\,{q}   }{     \\|{q}\\|\\;\\|{k}\\|   } \\end{align}\" alt=\"\\begin{align} \\nabla_{{q}} \\cos(q,k) = \\frac{     \\|{q}\\|\\|{k}\\|\\;{k}     \\;-\\;     ({q}^\\top{k})\\,\\|{k}\\|\\;\\tfrac{{q}}{\\|{q}\\|}   }{     \\bigl(\\|{q}\\|\\|{k}\\|\\bigr)^2   } = \\frac{     {k}     \\;-\\;     \\tfrac{{q}^\\top{k}}{\\|{q}\\|^2}\\,{q}   }{     \\|{q}\\|\\;\\|{k}\\|   } \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/68b\/a41\/a06\/68ba41a062ae1df694aaf060cae96ad0.svg\" width=\"482\" height=\"76\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/68b\/a41\/a06\/68ba41a062ae1df694aaf060cae96ad0.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/68b\/a41\/a06\/68ba41a062ae1df694aaf060cae96ad0.svg 781w\" loading=\"lazy\" decode=\"async\"\/><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} \\hat{q} &amp;= \\frac{q}{\\|q\\|},\\qquad \\hat{k}=\\frac{k}{\\|k\\|}\\\\ \\end{align}\" alt=\"\\begin{align} \\hat{q} &amp;= \\frac{q}{\\|q\\|},\\qquad \\hat{k}=\\frac{k}{\\|k\\|}\\\\ \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/354\/67e\/69e\/35467e69e73363a1ceb87dd217296019.svg\" width=\"201\" height=\"48\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/354\/67e\/69e\/35467e69e73363a1ceb87dd217296019.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/354\/67e\/69e\/35467e69e73363a1ceb87dd217296019.svg 781w\" loading=\"lazy\" decode=\"async\"\/><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} \\nabla_{{q}} \\cos(q,k) = \\frac{1}{\\|q\\|} \\left(     \\hat{k} - (\\hat{q}^\\top \\hat{k}) \\, \\hat{q} \\right) = \\frac{1}{\\|q\\|} \\, (I - \\hat{q} \\hat{q}^\\top) \\hat{k},\\qquad \\text{\u043d\u0430\u0437\u043e\u0432\u0451\u043c } P = I - \\hat{q} \\hat{q}^\\top \\end{align}\" alt=\"\\begin{align} \\nabla_{{q}} \\cos(q,k) = \\frac{1}{\\|q\\|} \\left(     \\hat{k} - (\\hat{q}^\\top \\hat{k}) \\, \\hat{q} \\right) = \\frac{1}{\\|q\\|} \\, (I - \\hat{q} \\hat{q}^\\top) \\hat{k},\\qquad \\text{\u043d\u0430\u0437\u043e\u0432\u0451\u043c } P = I - \\hat{q} \\hat{q}^\\top \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b1f\/04e\/e80\/b1f04ee809681204aac33d67f46841db.svg\" width=\"666\" height=\"48\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b1f\/04e\/e80\/b1f04ee809681204aac33d67f46841db.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b1f\/04e\/e80\/b1f04ee809681204aac33d67f46841db.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u044d\u0442\u0443 <img decoding=\"async\" class=\"formula inline\" source=\"P\" alt=\"P\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/646\/5b5\/082\/6465b508274aba39e83845e45f5e474a.svg\" width=\"15\" height=\"17\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/646\/5b5\/082\/6465b508274aba39e83845e45f5e474a.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/646\/5b5\/082\/6465b508274aba39e83845e45f5e474a.svg 781w\" loading=\"lazy\" decode=\"async\"\/>: \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e \u043c\u0430\u0442\u0440\u0438\u0446\u0430, \u0442\u043e \u044d\u0442\u043e \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435. \u041d\u043e \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d\u0430 \u0438\u0434\u0435\u043c\u043f\u043e\u0442\u0435\u043d\u0442\u043d\u0430 (<img decoding=\"async\" class=\"formula inline\" source=\"P^2 = P\" alt=\"P^2 = P\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3f1\/b1d\/b96\/3f1b1db968f48fb11967e64f98db0be4.svg\" width=\"65\" height=\"21\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3f1\/b1d\/b96\/3f1b1db968f48fb11967e64f98db0be4.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3f1\/b1d\/b96\/3f1b1db968f48fb11967e64f98db0be4.svg 781w\" loading=\"lazy\" decode=\"async\"\/>) \u0438 \u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u043d\u0430 (<img decoding=\"async\" class=\"formula inline\" source=\"P^\\top = P\" alt=\"P^\\top = P\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/849\/db7\/ceb\/849db7ceb5bf9637f3d9c886aec6d7d9.svg\" width=\"69\" height=\"21\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/849\/db7\/ceb\/849db7ceb5bf9637f3d9c886aec6d7d9.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/849\/db7\/ceb\/849db7ceb5bf9637f3d9c886aec6d7d9.svg 781w\" loading=\"lazy\" decode=\"async\"\/>), \u0442\u043e \u043e\u043d\u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u043d\u043e \u0435\u0449\u0451 \u0438 \u043f\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0440\u043e\u043c. \u042d\u0442\u043e\u0442 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0440 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442 \u043b\u044e\u0431\u043e\u0439 \u0432\u0435\u043a\u0442\u043e\u0440 (\u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043d\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u0441\u043b\u0435\u0432\u0430) \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0438\u0437 \u0432\u0441\u0435\u0445 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432, \u043f\u0435\u0440\u043f\u0435\u043d\u0434\u0438\u043a\u0443\u043b\u044f\u0440\u043d\u044b\u0445 <img decoding=\"async\" class=\"formula inline\" source=\"q\" alt=\"q\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/13e\/d3e\/a09\/13ed3ea093c37f8d91f1d5b4fee1fbf4.svg\" width=\"9\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/13e\/d3e\/a09\/13ed3ea093c37f8d91f1d5b4fee1fbf4.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/13e\/d3e\/a09\/13ed3ea093c37f8d91f1d5b4fee1fbf4.svg 781w\" loading=\"lazy\" decode=\"async\"\/>.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u0438\u0435 \u0432\u044b\u0432\u043e\u0434\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043b\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u043e\u0433\u043e \u043b\u043e\u0441\u0441\u0430: <\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} &amp;L(q) = F\\big(\\cos(q,k_1), \\dots, \\cos(q,k_m)\\big) \\\\\\\\ &amp;\\textbf{1. \u041e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: }\\\\ &amp;c_i(q) = \\cos(q,k_i) = \\frac{q^\\top k_i}{\\|q\\|\\,\\|k_i\\|}\\\\ &amp;\\hat{q} = \\frac{q}{\\|q\\|}\\\\ &amp;\\hat{k}_i = \\frac{k_i}{\\|k_i\\|}\\\\ &amp;P = I - \\hat{q}\\hat{q}^\\top \\\\\\\\ &amp;\\textbf{2. \u0413\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430: }\\\\ &amp;\\nabla_q c_i(q) = \\frac{1}{\\|q\\|} \\, P \\hat{k}_i \\\\\\\\ &amp;\\textbf{3. \u0421hain rule: }\\\\ &amp;\\nabla_q L(q) = \\sum_{i=1}^m \\frac{\\partial F}{\\partial c_i} \\; \\nabla_q c_i(q) = \\frac{1}{\\|q\\|} \\sum_{i=1}^m \\frac{\\partial F}{\\partial c_i} \\; P \\hat{k}_i \\\\\\\\ &amp;\\textbf{4. \u0423\u043f\u0440\u043e\u0449\u0430\u0435\u043c \u0444\u043e\u0440\u043c\u0443\u043b\u0443: }\\\\ &amp;\\nabla_q L(q) = \\frac{1}{\\|q\\|} \\; P \\left( \\sum_{i=1}^m \\frac{\\partial F}{\\partial c_i} \\; \\hat{k}_i \\right)\\\\ &amp;u = \\sum_{i=1}^m \\frac{\\partial F}{\\partial c_i} \\; \\hat{k}_i\\\\ &amp;\\nabla_q L(q) = \\frac{1}{\\|q\\|} \\; P u \\end{align}\" alt=\"\\begin{align} &amp;L(q) = F\\big(\\cos(q,k_1), \\dots, \\cos(q,k_m)\\big) \\\\\\\\ &amp;\\textbf{1. \u041e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: }\\\\ &amp;c_i(q) = \\cos(q,k_i) = \\frac{q^\\top k_i}{\\|q\\|\\,\\|k_i\\|}\\\\ &amp;\\hat{q} = \\frac{q}{\\|q\\|}\\\\ &amp;\\hat{k}_i = \\frac{k_i}{\\|k_i\\|}\\\\ &amp;P = I - \\hat{q}\\hat{q}^\\top \\\\\\\\ &amp;\\textbf{2. \u0413\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430: }\\\\ &amp;\\nabla_q c_i(q) = \\frac{1}{\\|q\\|} \\, P \\hat{k}_i \\\\\\\\ &amp;\\textbf{3. \u0421hain rule: }\\\\ &amp;\\nabla_q L(q) = \\sum_{i=1}^m \\frac{\\partial F}{\\partial c_i} \\; \\nabla_q c_i(q) = \\frac{1}{\\|q\\|} \\sum_{i=1}^m \\frac{\\partial F}{\\partial c_i} \\; P \\hat{k}_i \\\\\\\\ &amp;\\textbf{4. \u0423\u043f\u0440\u043e\u0449\u0430\u0435\u043c \u0444\u043e\u0440\u043c\u0443\u043b\u0443: }\\\\ &amp;\\nabla_q L(q) = \\frac{1}{\\|q\\|} \\; P \\left( \\sum_{i=1}^m \\frac{\\partial F}{\\partial c_i} \\; \\hat{k}_i \\right)\\\\ &amp;u = \\sum_{i=1}^m \\frac{\\partial F}{\\partial c_i} \\; \\hat{k}_i\\\\ &amp;\\nabla_q L(q) = \\frac{1}{\\|q\\|} \\; P u \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/825\/b9e\/9b9\/825b9e9b91ed509f9a35bd1102b45102.svg\" width=\"396\" height=\"717\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/825\/b9e\/9b9\/825b9e9b91ed509f9a35bd1102b45102.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/825\/b9e\/9b9\/825b9e9b91ed509f9a35bd1102b45102.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0440\u0430\u0437\u0438\u0442\u044c \u043d\u043e\u0440\u043c\u0443 \u044d\u0442\u043e\u0433\u043e \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0430:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} &amp;\\|\\nabla_q L(q)\\| = \\frac{1}{\\|q\\|} \\; \\|P u\\|\\\\ &amp;\\textbf{\u0422\u0430\u043a \u043a\u0430\u043a \\(P\\) \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0440 (\\(P^\\top = P\\), \\(P^2 = P\\)):}\\\\ &amp;\\|P u\\|^2 = u^\\top P u = u^\\top (I - \\hat{q}\\hat{q}^\\top) u = \\|u\\|^2 - (\\hat{q}^\\top u)^2\\\\ &amp;\\textbf{\u0412 \u0438\u0442\u043e\u0433\u0435: }\\\\ &amp;\\boxed{ \\|\\nabla_q L(q)\\| = \\frac{\\sqrt{\\|u\\|^2 - (\\hat{q}^\\top u)^2}}{\\|q\\|} }\\\\ &amp;\\text{\u0433\u0434\u0435 }  u = \\sum_{i=1}^m \\frac{\\partial F}{\\partial c_i} \\; \\hat{k}_i,  \\quad c_i = \\hat{q}^\\top \\hat{k}_i \\end{align}\" alt=\"\\begin{align} &amp;\\|\\nabla_q L(q)\\| = \\frac{1}{\\|q\\|} \\; \\|P u\\|\\\\ &amp;\\textbf{\u0422\u0430\u043a \u043a\u0430\u043a \\(P\\) \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0440 (\\(P^\\top = P\\), \\(P^2 = P\\)):}\\\\ &amp;\\|P u\\|^2 = u^\\top P u = u^\\top (I - \\hat{q}\\hat{q}^\\top) u = \\|u\\|^2 - (\\hat{q}^\\top u)^2\\\\ &amp;\\textbf{\u0412 \u0438\u0442\u043e\u0433\u0435: }\\\\ &amp;\\boxed{ \\|\\nabla_q L(q)\\| = \\frac{\\sqrt{\\|u\\|^2 - (\\hat{q}^\\top u)^2}}{\\|q\\|} }\\\\ &amp;\\text{\u0433\u0434\u0435 }  u = \\sum_{i=1}^m \\frac{\\partial F}{\\partial c_i} \\; \\hat{k}_i,  \\quad c_i = \\hat{q}^\\top \\hat{k}_i \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bf5\/ca0\/7b0\/bf5ca07b0715ed14bd8c72fbf3db7ed7.svg\" width=\"447\" height=\"278\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bf5\/ca0\/7b0\/bf5ca07b0715ed14bd8c72fbf3db7ed7.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bf5\/ca0\/7b0\/bf5ca07b0715ed14bd8c72fbf3db7ed7.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0441 \u0440\u043e\u0441\u0442\u043e\u043c \u043d\u043e\u0440\u043c\u044b \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 \u043d\u043e\u0440\u043c\u0430 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0430 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u0442\u0441\u044f:<\/p>\n<ul>\n<li>\n<p>\u0417\u043d\u0430\u043c\u0435\u043d\u0430\u0442\u0435\u043b\u044c \u2014 \u043d\u043e\u0440\u043c\u0430 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"q\" alt=\"q\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/13d\/420\/f26\/13d420f26ab4c245ae7818d158bf81f9.svg\" width=\"9\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/13d\/420\/f26\/13d420f26ab4c245ae7818d158bf81f9.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/13d\/420\/f26\/13d420f26ab4c245ae7818d158bf81f9.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<\/li>\n<li>\n<p>\u0427\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043d\u043e\u0440\u043c\u044b \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"q\" alt=\"q\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/46c\/d16\/f74\/46cd16f7441aa47158d1c2c44f0e87fd.svg\" width=\"9\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/46c\/d16\/f74\/46cd16f7441aa47158d1c2c44f0e87fd.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/46c\/d16\/f74\/46cd16f7441aa47158d1c2c44f0e87fd.svg 781w\" loading=\"lazy\" decode=\"async\"\/>:<br \/>\u041a\u043e\u0433\u0434\u0430 \u043c\u044b \u0441\u0447\u0438\u0442\u0430\u0435\u043c <img decoding=\"async\" class=\"formula inline\" source=\"u\" alt=\"u\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bfa\/1fa\/e1f\/bfa1fae1f43b903b8a79ce463139eeba.svg\" width=\"11\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bfa\/1fa\/e1f\/bfa1fae1f43b903b8a79ce463139eeba.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bfa\/1fa\/e1f\/bfa1fae1f43b903b8a79ce463139eeba.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, \u0442\u043e <img decoding=\"async\" class=\"formula inline\" source=\"q\" alt=\"q\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b3d\/517\/810\/b3d517810647c95dd4fb2f89fc45c060.svg\" width=\"9\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b3d\/517\/810\/b3d517810647c95dd4fb2f89fc45c060.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b3d\/517\/810\/b3d517810647c95dd4fb2f89fc45c060.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u0442 \u0442\u0430\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0440\u0430\u0441\u0447\u0435\u0442\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u043e\u0439 <img decoding=\"async\" class=\"formula inline\" source=\"F\" alt=\"F\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/17d\/34e\/0a2\/17d34e0a2779371bc4cf3762cd1c16fc.svg\" width=\"15\" height=\"17\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/17d\/34e\/0a2\/17d34e0a2779371bc4cf3762cd1c16fc.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/17d\/34e\/0a2\/17d34e0a2779371bc4cf3762cd1c16fc.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043f\u043e \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0443. \u041d\u043e\u0440\u043c\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"q\" alt=\"q\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f18\/769\/45f\/f1876945f14fabe1c7656448567c6d38.svg\" width=\"9\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f18\/769\/45f\/f1876945f14fabe1c7656448567c6d38.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f18\/769\/45f\/f1876945f14fabe1c7656448567c6d38.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u2192 \u043a\u043e\u0441\u0438\u043d\u0443\u0441 \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u2192 \u0432\u0445\u043e\u0434 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"F\" alt=\"F\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/26d\/848\/9c0\/26d8489c015d6fcab6e122e46eec5c28.svg\" width=\"15\" height=\"17\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/26d\/848\/9c0\/26d8489c015d6fcab6e122e46eec5c28.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/26d\/848\/9c0\/26d8489c015d6fcab6e122e46eec5c28.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0441\u044f \u2192 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0430\u044f <img decoding=\"async\" class=\"formula inline\" source=\"F\" alt=\"F\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fe2\/f19\/690\/fe2f19690770095740d7471fec3c1f22.svg\" width=\"15\" height=\"17\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fe2\/f19\/690\/fe2f19690770095740d7471fec3c1f22.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fe2\/f19\/690\/fe2f19690770095740d7471fec3c1f22.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043f\u043e \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0443 \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043d\u043e\u0440\u043c\u044b <img decoding=\"async\" class=\"formula inline\" source=\"q\" alt=\"q\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cfd\/972\/73d\/cfd97273d7c89d7bc728ec8de44231a1.svg\" width=\"9\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cfd\/972\/73d\/cfd97273d7c89d7bc728ec8de44231a1.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cfd\/972\/73d\/cfd97273d7c89d7bc728ec8de44231a1.svg 781w\" loading=\"lazy\" decode=\"async\"\/>.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/details>\n<p>\u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u0441\u0430\u043c \u0430\u043d\u0430\u043b\u0438\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u043e\u0440\u043c\u044b \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043e\u0442 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430:<\/p>\n<details class=\"spoiler\">\n<summary>\u041d\u0435\u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043d\u043e\u0440\u043c\u044b \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 \u043e\u0442 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0425\u043e\u0442\u0438\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"\\|q_{i}^{(T)}\\|\" alt=\"\\|q_{i}^{(T)}\\|\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8f8\/1bf\/33a\/8f81bf33aa61d9cf42599ac532fbe231.svg\" width=\"51\" height=\"30\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8f8\/1bf\/33a\/8f81bf33aa61d9cf42599ac532fbe231.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8f8\/1bf\/33a\/8f81bf33aa61d9cf42599ac532fbe231.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u0438\u043d\u043e\u0439 \u0432 <img decoding=\"async\" class=\"formula inline\" source=\"T\" alt=\"T\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0dd\/b27\/60e\/0ddb2760ee74f96812a73cf369afb520.svg\" width=\"14\" height=\"17\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0dd\/b27\/60e\/0ddb2760ee74f96812a73cf369afb520.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0dd\/b27\/60e\/0ddb2760ee74f96812a73cf369afb520.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0431\u0430\u0442\u0447\u0435\u0439 \u0432 \u0441\u0440\u0435\u0434\u043d\u0435\u043c \u043d\u0435 \u0443\u0431\u044b\u0432\u0430\u0435\u0442 \u043f\u043e <img decoding=\"async\" class=\"formula inline\" source=\"p_{i}\" alt=\"p_{i}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c1a\/992\/b47\/c1a992b4704d34fff987a40ae7300705.svg\" width=\"17\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c1a\/992\/b47\/c1a992b4704d34fff987a40ae7300705.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c1a\/992\/b47\/c1a992b4704d34fff987a40ae7300705.svg 781w\" loading=\"lazy\" decode=\"async\"\/>.<\/p>\n<p>\u0412\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u043c\u0435\u0442\u043e\u0434\u043e\u043c \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u043d\u0438\u044f (<a href=\"https:\/\/people.math.wisc.edu\/~roch\/mdp\/roch-mdp-chap4.pdf\" rel=\"noopener noreferrer nofollow\">coupling<\/a>) \u0438\u0437 \u0442\u0435\u043e\u0440\u0438\u0438 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0435\u0439 (\u0441\u0431\u043e\u0440\u043d\u0438\u043a <a href=\"https:\/\/people.math.wisc.edu\/~roch\/mdp\/\" rel=\"noopener noreferrer nofollow\">&#171;Modern Discrete Probability: An Essential Toolkit&#187;<\/a>):<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align}   &amp; \\textbf{1) \u0414\u0432\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438 (\u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439}                                        \\\\   &amp; \\textbf{\u0438\u0441\u0445\u043e\u0434 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0431\u0430\u0442\u0447\u0435\u0439)} \\\\   &amp; \\text{\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u0432\u0430\u0436\u0434\u044b, \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438} \\\\   &amp; \\text{\u043e\u0431\u044a\u0435\u043a\u0442\u0430 $i$: }p'_{i}&lt; p''_{i}. \\text{ \u041d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0448\u0430\u0433\u0435 }t \\text{ \u0438 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0441\u043b\u043e\u0442\u0435 \u0431\u0430\u0442\u0447\u0430} \\\\   &amp; \\text{\u0431\u0435\u0440\u0451\u043c \u043e\u0434\u043d\u043e \u0438 \u0442\u043e \u0436\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e }U \\sim \\text{Uniform}(0, 1):                                   \\\\   &amp; \\quad \\bullet \\text{ \u0432 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c }p \\text{ \u043a\u043b\u0430\u0434\u0451\u043c }i \\text{ \u0432 \u0441\u043b\u043e\u0442, \u0435\u0441\u043b\u0438 }U \\le p_{i};                                    \\\\   &amp; \\quad \\bullet \\text{ \u0438\u043d\u0430\u0447\u0435 \u043a\u043b\u0430\u0434\u0451\u043c \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u043d\u0435-}i\\text{ \u0430\u0439\u0442e\u043c \u0432 \u043e\u0431\u043e\u0438\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0445 (\u0435\u0433\u043e}           \\\\   &amp; \\quad \\text{\u0442\u043e\u0436\u0435 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0438\u0437 \u0442\u043e\u0433\u043e \u0436\u0435 \u0440\u0430\u043d\u0434\u043e\u043c-\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430).}                                                                                                     \\\\  \\\\   &amp; \\text{\u0422\u043e\u0433\u0434\u0430 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u0448\u0430\u0433\u0435 $t$ \u0431\u0430\u0442\u0447\u0430:}                                                                               \\\\  \\\\   &amp; \\text{\u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \\{\u0430\u0439\u0442\u0435\u043c $i$ \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0445\u043e\u0442\u044f \u0431\u044b \u0435\u0434\u0438\u043d\u043e\u0436\u0434\u044b \u043f\u0440\u0438 $p''_{i}$\\}}                                                   \\\\   &amp; \\ge                                                                                                                                  \\\\   &amp; \\text{\u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \\{\u0430\u0439\u0442\u0435\u043c $i$ \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0445\u043e\u0442\u044f \u0431\u044b \u0435\u0434\u0438\u043d\u043e\u0436\u0434\u044b \u043f\u0440\u0438 $p'_{i}$\\}}                                                    \\\\  \\\\   &amp; \\text{ \u0422\u043e \u0435\u0441\u0442\u044c \u0443 \u00ab\u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e\u00bb }p_{i}\\text{ \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0439 }i \\text{ \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435.}                                                     \\\\ \\end{align}\" alt=\"\\begin{align}   &amp; \\textbf{1) \u0414\u0432\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438 (\u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439}                                        \\\\   &amp; \\textbf{\u0438\u0441\u0445\u043e\u0434 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0431\u0430\u0442\u0447\u0435\u0439)} \\\\   &amp; \\text{\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u0432\u0430\u0436\u0434\u044b, \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438} \\\\   &amp; \\text{\u043e\u0431\u044a\u0435\u043a\u0442\u0430 $i$: }p'_{i}&lt; p''_{i}. \\text{ \u041d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0448\u0430\u0433\u0435 }t \\text{ \u0438 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0441\u043b\u043e\u0442\u0435 \u0431\u0430\u0442\u0447\u0430} \\\\   &amp; \\text{\u0431\u0435\u0440\u0451\u043c \u043e\u0434\u043d\u043e \u0438 \u0442\u043e \u0436\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e }U \\sim \\text{Uniform}(0, 1):                                   \\\\   &amp; \\quad \\bullet \\text{ \u0432 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c }p \\text{ \u043a\u043b\u0430\u0434\u0451\u043c }i \\text{ \u0432 \u0441\u043b\u043e\u0442, \u0435\u0441\u043b\u0438 }U \\le p_{i};                                    \\\\   &amp; \\quad \\bullet \\text{ \u0438\u043d\u0430\u0447\u0435 \u043a\u043b\u0430\u0434\u0451\u043c \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u043d\u0435-}i\\text{ \u0430\u0439\u0442e\u043c \u0432 \u043e\u0431\u043e\u0438\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0445 (\u0435\u0433\u043e}           \\\\   &amp; \\quad \\text{\u0442\u043e\u0436\u0435 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0438\u0437 \u0442\u043e\u0433\u043e \u0436\u0435 \u0440\u0430\u043d\u0434\u043e\u043c-\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430).}                                                                                                     \\\\  \\\\   &amp; \\text{\u0422\u043e\u0433\u0434\u0430 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u0448\u0430\u0433\u0435 $t$ \u0431\u0430\u0442\u0447\u0430:}                                                                               \\\\  \\\\   &amp; \\text{\u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \\{\u0430\u0439\u0442\u0435\u043c $i$ \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0445\u043e\u0442\u044f \u0431\u044b \u0435\u0434\u0438\u043d\u043e\u0436\u0434\u044b \u043f\u0440\u0438 $p''_{i}$\\}}                                                   \\\\   &amp; \\ge                                                                                                                                  \\\\   &amp; \\text{\u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \\{\u0430\u0439\u0442\u0435\u043c $i$ \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0445\u043e\u0442\u044f \u0431\u044b \u0435\u0434\u0438\u043d\u043e\u0436\u0434\u044b \u043f\u0440\u0438 $p'_{i}$\\}}                                                    \\\\  \\\\   &amp; \\text{ \u0422\u043e \u0435\u0441\u0442\u044c \u0443 \u00ab\u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e\u00bb }p_{i}\\text{ \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0439 }i \\text{ \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435.}                                                     \\\\ \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d86\/fb6\/99e\/d86fb699e5947a7d2ea47a6aa8bfffab.svg\" width=\"499\" height=\"463\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d86\/fb6\/99e\/d86fb699e5947a7d2ea47a6aa8bfffab.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d86\/fb6\/99e\/d86fb699e5947a7d2ea47a6aa8bfffab.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<details class=\"spoiler\">\n<summary>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435 \u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f\u0445<\/summary>\n<div class=\"spoiler__content\">\n<p>\u041f\u0443\u0441\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e \u0432\u0441\u0435\u043c \u0430\u0439\u0442\u0435\u043c\u0430\u043c \u0440\u0430\u0432\u043d\u043e <img decoding=\"async\" class=\"formula inline\" source=\"p\" alt=\"p\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a7e\/85a\/63d\/a7e85a63d525a7b959951709b5c426cb.svg\" width=\"11\" height=\"15\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a7e\/85a\/63d\/a7e85a63d525a7b959951709b5c426cb.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a7e\/85a\/63d\/a7e85a63d525a7b959951709b5c426cb.svg 781w\" loading=\"lazy\" decode=\"async\"\/>. \u041d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435 \u00ab\u043d\u0435-i\u00bb \u0430\u0439\u0442\u0435\u043c\u043e\u0432 (<img decoding=\"async\" class=\"formula inline\" source=\"k \\ne i\" alt=\"k \\ne i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/71b\/c14\/93e\/71bc1493e9c72339453fbe21d1e088e5.svg\" width=\"43\" height=\"22\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/71b\/c14\/93e\/71bc1493e9c72339453fbe21d1e088e5.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/71b\/c14\/93e\/71bc1493e9c72339453fbe21d1e088e5.svg 781w\" loading=\"lazy\" decode=\"async\"\/>) \u0437\u0430\u0434\u0430\u0434\u0438\u043c \u00ab\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u0435\u00bb \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"r\" alt=\"r\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f06\/a26\/d4a\/f06a26d4a28f44757e305267ba229640.svg\" width=\"9\" height=\"12\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f06\/a26\/d4a\/f06a26d4a28f44757e305267ba229640.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f06\/a26\/d4a\/f06a26d4a28f44757e305267ba229640.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c (<img decoding=\"async\" class=\"formula inline\" source=\"i\" alt=\"i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3d9\/2cd\/9ee\/3d92cd9ee462f339df9d913337aa5349.svg\" width=\"7\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3d9\/2cd\/9ee\/3d92cd9ee462f339df9d913337aa5349.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3d9\/2cd\/9ee\/3d92cd9ee462f339df9d913337aa5349.svg 781w\" loading=\"lazy\" decode=\"async\"\/>-\u044b\u0439 \u0430\u0439\u0442\u0435\u043c \u0432\u044b\u043a\u0438\u043d\u0443\u043b\u0438 \u0438\u0437 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u2014 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043b\u0438\u0441\u044c):<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"r_k = \\frac{p_k}{1-p_i}\" alt=\"r_k = \\frac{p_k}{1-p_i}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0c3\/4f7\/ea2\/0c34f7ea22658c92d852acc813914df5.svg\" width=\"101\" height=\"42\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0c3\/4f7\/ea2\/0c34f7ea22658c92d852acc813914df5.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0c3\/4f7\/ea2\/0c34f7ea22658c92d852acc813914df5.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043e\u0434\u0438\u043d \u0441\u043b\u043e\u0442 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043e\u0431\u0449\u0438\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"U \\sim \\text{Uniform}(0, 1)\" alt=\"U \\sim \\text{Uniform}(0, 1)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/187\/942\/0bb\/1879420bb3314a6cb20facc6c9e6c1f2.svg\" width=\"155\" height=\"22\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/187\/942\/0bb\/1879420bb3314a6cb20facc6c9e6c1f2.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/187\/942\/0bb\/1879420bb3314a6cb20facc6c9e6c1f2.svg 781w\" loading=\"lazy\" decode=\"async\"\/>\u0438 \u0438\u0441\u0445\u043e\u0434 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u00ab\u043d\u0435-i\u00bb \u0430\u0439\u0442\u0435\u043c\u043e\u0432 <img decoding=\"async\" class=\"formula inline\" source=\"Z \\sim Cat(r)\" alt=\"Z \\sim Cat(r)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a5e\/a6e\/480\/a5ea6e4806f0ce189663bdc5414f32fa.svg\" width=\"97\" height=\"22\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a5e\/a6e\/480\/a5ea6e4806f0ce189663bdc5414f32fa.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a5e\/a6e\/480\/a5ea6e4806f0ce189663bdc5414f32fa.svg 781w\" loading=\"lazy\" decode=\"async\"\/>:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"X^{(p)} = \\begin{cases} i, &amp; U \\le p,\\\\ Z, &amp; U &gt; p. \\end{cases}\" alt=\"X^{(p)} = \\begin{cases} i, &amp; U \\le p,\\\\ Z, &amp; U &gt; p. \\end{cases}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/044\/35b\/270\/04435b2709bcd3994f7a83111cb0a825.svg\" width=\"179\" height=\"50\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/044\/35b\/270\/04435b2709bcd3994f7a83111cb0a825.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/044\/35b\/270\/04435b2709bcd3994f7a83111cb0a825.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0422\u043e\u0433\u0434\u0430:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\mathbb P^{(p)}\\{X=i\\}=p, \\qquad \\mathbb P^{(p)}\\{X=k\\}=(1-p)r_k\\quad(k\\neq i)\" alt=\"\\mathbb P^{(p)}\\{X=i\\}=p, \\qquad \\mathbb P^{(p)}\\{X=k\\}=(1-p)r_k\\quad(k\\neq i)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/081\/7d2\/0a3\/0817d20a3f64145a2e6b49488d1ed70d.svg\" width=\"489\" height=\"26\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/081\/7d2\/0a3\/0817d20a3f64145a2e6b49488d1ed70d.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/081\/7d2\/0a3\/0817d20a3f64145a2e6b49488d1ed70d.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0438 \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 <img decoding=\"async\" class=\"formula inline\" source=\"p \\in \\{p'_i,p''_i\\}\" alt=\"p \\in \\{p'_i,p''_i\\}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/264\/899\/b50\/264899b50539efd20b51192b8a3e4e7b.svg\" width=\"99\" height=\"24\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/264\/899\/b50\/264899b50539efd20b51192b8a3e4e7b.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/264\/899\/b50\/264899b50539efd20b51192b8a3e4e7b.svg 781w\" loading=\"lazy\" decode=\"async\"\/>:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\mathbb P^{(p''_i)}\\{X=k\\}=\\gamma\\,\\mathbb P^{(p'_i)}\\{X=k\\},\\ \\quad \\gamma=\\frac{1-p''_i}{1-p'_i}\" alt=\"\\mathbb P^{(p''_i)}\\{X=k\\}=\\gamma\\,\\mathbb P^{(p'_i)}\\{X=k\\},\\ \\quad \\gamma=\\frac{1-p''_i}{1-p'_i}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/119\/051\/49a\/11905149aad011aed4aa9ded4d313b2b.svg\" width=\"390\" height=\"52\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/119\/051\/49a\/11905149aad011aed4aa9ded4d313b2b.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/119\/051\/49a\/11905149aad011aed4aa9ded4d313b2b.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/div>\n<\/details>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align}  &amp; \\textbf{2) \u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u043e\u0434\u043d\u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0441 \u043d\u043e\u0440\u043c\u043e\u0439} \\\\  &amp; \\text{\u041e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u043c } s^{(t)} = \\|q_{i}^{(t)}\\|^{2}. \\\\  &amp; \\text{\u041e\u0434\u043d\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435:} \\\\  &amp; s^{(t+1)} =    \\begin{cases}      s^{(t)}, &amp; \\text{\u0435\u0441\u043b\u0438 } i \\text{ \u043d\u0435 \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043b\u0441\u044f,} \\\\      s^{(t)} + \\Delta(s^{(t)}), &amp; \\text{\u0435\u0441\u043b\u0438 } i \\text{ \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043b\u0441\u044f,}    \\end{cases} \\\\  &amp; \\text{\u0433\u0434\u0435 } \\Delta(s) = \\|\\Delta q^{(t)}\\|^{2} \\ge 0. \\\\  &amp; \\text{\u0414\u043b\u044f \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u043e\u0433\u043e \u043b\u043e\u0441\u0441\u0430 (\u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u0435\u043d $q$)} \\\\  &amp; \\text{\u0442\u0438\u043f\u0438\u0447\u043d\u043e } \\Delta(s) = \\tfrac{c}{s} \\ (\\text{\u0441\u043c. \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u21162}), \\\\  &amp; \\text{\u0433\u0434\u0435 } c &gt; 0: \\text{ \u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u043e\u0440\u043c\u0430, \u0442\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u0440\u0438\u0431\u0430\u0432\u043a\u0430,} \\\\  &amp; \\text{\u043d\u043e \u043e\u043d\u0430 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439.} \\\\\\\\  &amp; \\textbf{3) \u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435: \u0448\u0430\u0433 \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u00ab\u043f\u0435\u0440\u0435\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u00bb \u043f\u043e\u0440\u044f\u0434\u043e\u043a} \\\\  &amp; \\text{\u0414\u043b\u044f \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u0432\u043e\u0434\u0430 \u0432 \u0441\u043b\u0435\u0434. \u043f\u0443\u043d\u043a\u0442\u0435 \u043d\u0443\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438} \\\\  &amp; \\text{\u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0438 $i$ \u0432 \u043e\u0431\u043e\u0438\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0445 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435} \\\\ &amp; \\Phi(s) = s + \\Delta(s) \\\\  &amp;  \\text{\u0431\u044b\u043b\u043e \u043d\u0435\u0443\u0431\u044b\u0432\u0430\u044e\u0449\u0438\u043c: } s_{1} \\le s_{2} \\Rightarrow \\Phi(s_{1}) \\le \\Phi(s_{2}). \\\\  &amp; \\text{\u0414\u043b\u044f } \\Delta(s) = \\tfrac{c}{s}: \\\\  &amp; \\Phi(s) = s + \\tfrac{c}{s}, \\quad    \\Phi'(s) = 1 - \\tfrac{c}{s^{2}} \\ge 0 \\;\\; \\text{\u043f\u0440\u0438 } s \\ge \\sqrt{c}. \\\\  &amp; \\textbf{\u041f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u043c \u0432 \u0437\u043e\u043d\u0443 $s$ $\\ge$ $\\sqrt{c}$} \\\\ &amp; \\text{\u0421\u0440\u0435\u0434\u043d\u0435\u0435 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043d\u0435\u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b}\\\\ &amp; \\text{\u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e:} \\\\ &amp; s + \\frac{c}{s} \\ge 2\\sqrt{c} \\quad (s &gt; 0). \\\\ &amp; \\text{\u0417\u043d\u0430\u0447\u0438\u0442, \u043f\u043e\u0441\u043b\u0435 \u043b\u044e\u0431\u043e\u0433\u043e \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f:} \\\\ &amp; s_{\\text{\u043d\u043e\u0432\u043e\u0435}} = \\Phi(s) = s + \\frac{c}{s} \\ge 2\\sqrt{c} \\ge \\sqrt{c} \\\\ &amp; \\text{\u0412\u0441\u0451! \u041c\u044b \u0434\u043e\u043a\u0430\u0437\u0430\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 \u0448\u043a\u043e\u043b\u044c\u043d\u043e\u0435 \u043d\u0435\u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e, \u0447\u0442\u043e} \\\\ &amp; \\text{$s_{\u043d\u043e\u0432\u043e\u0435}$ \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u043c, \u0447\u0435\u043c $\\sqrt{c}$. \u041d\u0430 \u043d\u043e\u0432\u043e\u043c \u0448\u0430\u0433\u0435, \u0435\u0441\u043b\u0438 $c$ \u043d\u0435} \\\\ &amp; \\text{\u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f \u0441\u0438\u043b\u044c\u043d\u043e, \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043c\u043e\u043d\u043e\u0442\u043e\u043d\u043d\u043e\u0441\u0442\u044c $\\Phi$: $\\Phi'(s) \\ge 0$.} \\\\ &amp; \\text{$\\Phi$ \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u00ab\u0431\u043e\u043b\u044c\u0448\u043e\u0439\u00bb \u0432\u0435\u043a\u0442\u043e\u0440 \u043c\u0435\u043d\u044c\u0448\u0438\u043c} \\\\ &amp; \\text{\u00ab\u043c\u0430\u043b\u043e\u0433\u043e\u00bb \u043f\u0440\u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0438 \u00ab\u0430\u0439\u0442\u0435\u043c $i$ \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043b\u0441\u044f \u0445\u043e\u0442\u044f \u0431\u044b} \\\\ &amp; \\text{\u0435\u0434\u0438\u043d\u043e\u0436\u0434\u044b \u0432 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u043c \u0431\u0430\u0442\u0447\u0435\u00bb.} \\\\ &amp; \\textbf{\u0422\u043e, \u0447\u0442\u043e $c$ \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0448\u0430\u0433\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0441\u0442\u0438, \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f}\\\\ &amp; \\textbf{\u0432 \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u21162.}  \\\\\\\\ &amp; \\textbf{4) \u0418\u043d\u0434\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u0448\u0430\u0433\u0430\u043c: \u043f\u043e\u0447\u0435\u043c\u0443 \u00ab\u0431\u043e\u043b\u044c\u0448\u0435 } p_{i} \\Rightarrow \\textbf{ \u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u0442\u043e\u0433\u00bb} \\\\ &amp; \\text{\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u044c, \u043a\u0430\u043a \u0432 \u043f.1, \u0438 \u0438\u0434\u0451\u043c \u043f\u043e \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044f\u043c $t$:} \\\\ &amp; \\quad \\bullet \\text{ \u0435\u0441\u043b\u0438 } i \\text{ \u043d\u0435\u0442 \u0443 \u043e\u0431\u043e\u0438\u0445, \u043e\u0431\u0430 } s \\text{ \u043d\u0435 \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f;} \\\\ &amp; \\quad \\bullet \\text{ \u0435\u0441\u043b\u0438 } i \\text{ \u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0443 \u0431\u0430\u0442\u0447\u0430 \u0441 } p''_{i}\\text{, \u0435\u0433\u043e } s \\text{ \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u0441\u044f} \\\\ &amp; \\quad \\text{\u043d\u0430 } \\Delta(\\cdot) \\ge 0\\text{, \u0443 } p'_{i} \\text{ \u2014 \u043d\u0435\u0442 } \\Rightarrow \\text{ \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043d\u0435 \u0443\u0445\u0443\u0434\u0448\u0430\u0435\u0442\u0441\u044f;} \\\\ &amp; \\quad \\bullet \\text{ \u0435\u0441\u043b\u0438 } i \\text{ \u0435\u0441\u0442\u044c \u0443 \u043e\u0431\u043e\u0438\u0445, \u043f\u043e \u043d\u0435\u0443\u0431\u044b\u0432\u0430\u044e\u0449\u0435\u0439 } \\Phi(s) \\text{ \u043f\u043e\u0440\u044f\u0434\u043e\u043a } \\\\ &amp; \\quad s'' \\ge s' \\text{ \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f (\u0441\u043c. \u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435 \u043e \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u0438 \u0431\u0430\u0442\u0447\u0435\u0439).} \\\\ &amp; \\text{\u0418\u043d\u0434\u0443\u043a\u0446\u0438\u0435\u0439 \u043f\u043e } t\\text{:}\\\\ &amp; s_{p''_{i}}^{(t)} \\ge s_{p'_{i}}^{(t)} \\text{ (\u043f\u043e\u0447\u0442\u0438 \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u043d\u0430 \u0442\u0435\u0445 \u0436\u0435 \u0438\u0441\u0445\u043e\u0434\u0430\u0445 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438).} \\\\ &amp; \\text{\u0422\u043e\u0433\u0434\u0430 } \\sqrt{\\cdot} \\text{ \u2014 \u043c\u043e\u043d\u043e\u0442\u043e\u043d\u043d\u0430, \u0437\u043d\u0430\u0447\u0438\u0442} \\\\ &amp; \\mathbb{E} \\left\\|q_{i}^{(T)}\\right\\|_{p''_{i}} \\ge \\mathbb{E} \\left\\|q_{i}^{(T)}\\right\\|_{p'_{i}}. \\\\ &amp; \\boxed{ \\text{\u0422\u043e \u0435\u0441\u0442\u044c }\\left\\|q_{i}^{(T)}\\right\\| \\text{ \u0432 \u0441\u0440\u0435\u0434\u043d\u0435\u043c \u043d\u0435 \u0443\u0431\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0438 \u0431\u043e\u043b\u044c\u0448\u0435\u043c $p_{i}$.} } \\end{align}\" alt=\"\\begin{align}  &amp; \\textbf{2) \u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u043e\u0434\u043d\u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0441 \u043d\u043e\u0440\u043c\u043e\u0439} \\\\  &amp; \\text{\u041e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u043c } s^{(t)} = \\|q_{i}^{(t)}\\|^{2}. \\\\  &amp; \\text{\u041e\u0434\u043d\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435:} \\\\  &amp; s^{(t+1)} =    \\begin{cases}      s^{(t)}, &amp; \\text{\u0435\u0441\u043b\u0438 } i \\text{ \u043d\u0435 \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043b\u0441\u044f,} \\\\      s^{(t)} + \\Delta(s^{(t)}), &amp; \\text{\u0435\u0441\u043b\u0438 } i \\text{ \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043b\u0441\u044f,}    \\end{cases} \\\\  &amp; \\text{\u0433\u0434\u0435 } \\Delta(s) = \\|\\Delta q^{(t)}\\|^{2} \\ge 0. \\\\  &amp; \\text{\u0414\u043b\u044f \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u043e\u0433\u043e \u043b\u043e\u0441\u0441\u0430 (\u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u0435\u043d $q$)} \\\\  &amp; \\text{\u0442\u0438\u043f\u0438\u0447\u043d\u043e } \\Delta(s) = \\tfrac{c}{s} \\ (\\text{\u0441\u043c. \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u21162}), \\\\  &amp; \\text{\u0433\u0434\u0435 } c &gt; 0: \\text{ \u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u043e\u0440\u043c\u0430, \u0442\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u0440\u0438\u0431\u0430\u0432\u043a\u0430,} \\\\  &amp; \\text{\u043d\u043e \u043e\u043d\u0430 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439.} \\\\\\\\  &amp; \\textbf{3) \u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435: \u0448\u0430\u0433 \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u00ab\u043f\u0435\u0440\u0435\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u00bb \u043f\u043e\u0440\u044f\u0434\u043e\u043a} \\\\  &amp; \\text{\u0414\u043b\u044f \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u0432\u043e\u0434\u0430 \u0432 \u0441\u043b\u0435\u0434. \u043f\u0443\u043d\u043a\u0442\u0435 \u043d\u0443\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438} \\\\  &amp; \\text{\u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0438 $i$ \u0432 \u043e\u0431\u043e\u0438\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0445 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435} \\\\ &amp; \\Phi(s) = s + \\Delta(s) \\\\  &amp;  \\text{\u0431\u044b\u043b\u043e \u043d\u0435\u0443\u0431\u044b\u0432\u0430\u044e\u0449\u0438\u043c: } s_{1} \\le s_{2} \\Rightarrow \\Phi(s_{1}) \\le \\Phi(s_{2}). \\\\  &amp; \\text{\u0414\u043b\u044f } \\Delta(s) = \\tfrac{c}{s}: \\\\  &amp; \\Phi(s) = s + \\tfrac{c}{s}, \\quad    \\Phi'(s) = 1 - \\tfrac{c}{s^{2}} \\ge 0 \\;\\; \\text{\u043f\u0440\u0438 } s \\ge \\sqrt{c}. \\\\  &amp; \\textbf{\u041f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u043c \u0432 \u0437\u043e\u043d\u0443 $s$ $\\ge$ $\\sqrt{c}$} \\\\ &amp; \\text{\u0421\u0440\u0435\u0434\u043d\u0435\u0435 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043d\u0435\u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b}\\\\ &amp; \\text{\u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e:} \\\\ &amp; s + \\frac{c}{s} \\ge 2\\sqrt{c} \\quad (s &gt; 0). \\\\ &amp; \\text{\u0417\u043d\u0430\u0447\u0438\u0442, \u043f\u043e\u0441\u043b\u0435 \u043b\u044e\u0431\u043e\u0433\u043e \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f:} \\\\ &amp; s_{\\text{\u043d\u043e\u0432\u043e\u0435}} = \\Phi(s) = s + \\frac{c}{s} \\ge 2\\sqrt{c} \\ge \\sqrt{c} \\\\ &amp; \\text{\u0412\u0441\u0451! \u041c\u044b \u0434\u043e\u043a\u0430\u0437\u0430\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 \u0448\u043a\u043e\u043b\u044c\u043d\u043e\u0435 \u043d\u0435\u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e, \u0447\u0442\u043e} \\\\ &amp; \\text{$s_{\u043d\u043e\u0432\u043e\u0435}$ \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u043c, \u0447\u0435\u043c $\\sqrt{c}$. \u041d\u0430 \u043d\u043e\u0432\u043e\u043c \u0448\u0430\u0433\u0435, \u0435\u0441\u043b\u0438 $c$ \u043d\u0435} \\\\ &amp; \\text{\u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f \u0441\u0438\u043b\u044c\u043d\u043e, \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043c\u043e\u043d\u043e\u0442\u043e\u043d\u043d\u043e\u0441\u0442\u044c $\\Phi$: $\\Phi'(s) \\ge 0$.} \\\\ &amp; \\text{$\\Phi$ \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u00ab\u0431\u043e\u043b\u044c\u0448\u043e\u0439\u00bb \u0432\u0435\u043a\u0442\u043e\u0440 \u043c\u0435\u043d\u044c\u0448\u0438\u043c} \\\\ &amp; \\text{\u00ab\u043c\u0430\u043b\u043e\u0433\u043e\u00bb \u043f\u0440\u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0438 \u00ab\u0430\u0439\u0442\u0435\u043c $i$ \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043b\u0441\u044f \u0445\u043e\u0442\u044f \u0431\u044b} \\\\ &amp; \\text{\u0435\u0434\u0438\u043d\u043e\u0436\u0434\u044b \u0432 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u043c \u0431\u0430\u0442\u0447\u0435\u00bb.} \\\\ &amp; \\textbf{\u0422\u043e, \u0447\u0442\u043e $c$ \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0448\u0430\u0433\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0441\u0442\u0438, \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f}\\\\ &amp; \\textbf{\u0432 \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u21162.}  \\\\\\\\ &amp; \\textbf{4) \u0418\u043d\u0434\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u0448\u0430\u0433\u0430\u043c: \u043f\u043e\u0447\u0435\u043c\u0443 \u00ab\u0431\u043e\u043b\u044c\u0448\u0435 } p_{i} \\Rightarrow \\textbf{ \u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u0442\u043e\u0433\u00bb} \\\\ &amp; \\text{\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u044c, \u043a\u0430\u043a \u0432 \u043f.1, \u0438 \u0438\u0434\u0451\u043c \u043f\u043e \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044f\u043c $t$:} \\\\ &amp; \\quad \\bullet \\text{ \u0435\u0441\u043b\u0438 } i \\text{ \u043d\u0435\u0442 \u0443 \u043e\u0431\u043e\u0438\u0445, \u043e\u0431\u0430 } s \\text{ \u043d\u0435 \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f;} \\\\ &amp; \\quad \\bullet \\text{ \u0435\u0441\u043b\u0438 } i \\text{ \u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0443 \u0431\u0430\u0442\u0447\u0430 \u0441 } p''_{i}\\text{, \u0435\u0433\u043e } s \\text{ \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u0441\u044f} \\\\ &amp; \\quad \\text{\u043d\u0430 } \\Delta(\\cdot) \\ge 0\\text{, \u0443 } p'_{i} \\text{ \u2014 \u043d\u0435\u0442 } \\Rightarrow \\text{ \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043d\u0435 \u0443\u0445\u0443\u0434\u0448\u0430\u0435\u0442\u0441\u044f;} \\\\ &amp; \\quad \\bullet \\text{ \u0435\u0441\u043b\u0438 } i \\text{ \u0435\u0441\u0442\u044c \u0443 \u043e\u0431\u043e\u0438\u0445, \u043f\u043e \u043d\u0435\u0443\u0431\u044b\u0432\u0430\u044e\u0449\u0435\u0439 } \\Phi(s) \\text{ \u043f\u043e\u0440\u044f\u0434\u043e\u043a } \\\\ &amp; \\quad s'' \\ge s' \\text{ \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f (\u0441\u043c. \u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435 \u043e \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u0438 \u0431\u0430\u0442\u0447\u0435\u0439).} \\\\ &amp; \\text{\u0418\u043d\u0434\u0443\u043a\u0446\u0438\u0435\u0439 \u043f\u043e } t\\text{:}\\\\ &amp; s_{p''_{i}}^{(t)} \\ge s_{p'_{i}}^{(t)} \\text{ (\u043f\u043e\u0447\u0442\u0438 \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u043d\u0430 \u0442\u0435\u0445 \u0436\u0435 \u0438\u0441\u0445\u043e\u0434\u0430\u0445 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438).} \\\\ &amp; \\text{\u0422\u043e\u0433\u0434\u0430 } \\sqrt{\\cdot} \\text{ \u2014 \u043c\u043e\u043d\u043e\u0442\u043e\u043d\u043d\u0430, \u0437\u043d\u0430\u0447\u0438\u0442} \\\\ &amp; \\mathbb{E} \\left\\|q_{i}^{(T)}\\right\\|_{p''_{i}} \\ge \\mathbb{E} \\left\\|q_{i}^{(T)}\\right\\|_{p'_{i}}. \\\\ &amp; \\boxed{ \\text{\u0422\u043e \u0435\u0441\u0442\u044c }\\left\\|q_{i}^{(T)}\\right\\| \\text{ \u0432 \u0441\u0440\u0435\u0434\u043d\u0435\u043c \u043d\u0435 \u0443\u0431\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0438 \u0431\u043e\u043b\u044c\u0448\u0435\u043c $p_{i}$.} } \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/afd\/027\/bdf\/afd027bdfc4d717f28ee45012c43a43a.svg\" width=\"486\" height=\"1423\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/afd\/027\/bdf\/afd027bdfc4d717f28ee45012c43a43a.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/afd\/027\/bdf\/afd027bdfc4d717f28ee45012c43a43a.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<details class=\"spoiler\">\n<summary>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435 \u043e \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u0438 \u0431\u0430\u0442\u0447\u0435\u0439<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0412 \u0432\u044b\u0448\u0435\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0445 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0431\u0430\u0442\u0447\u0438 \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0441\u043b\u043e\u0442\u0430\u0445, \u0433\u0434\u0435 \u0432\u044b\u043f\u0430\u043b\u043e <img decoding=\"async\" class=\"formula inline\" source=\"p'_i &lt; U_k &lt; p''_i\" alt=\"p'_i &lt; U_k &lt; p''_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/daf\/922\/587\/daf9225877dd7e51b187a70eb6789c53.svg\" width=\"111\" height=\"23\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/daf\/922\/587\/daf9225877dd7e51b187a70eb6789c53.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/daf\/922\/587\/daf9225877dd7e51b187a70eb6789c53.svg 781w\" loading=\"lazy\" decode=\"async\"\/>. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u0433\u0434\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"i\" alt=\"i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c18\/dd1\/708\/c18dd170816c9000b020bf09bca78dc7.svg\" width=\"7\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c18\/dd1\/708\/c18dd170816c9000b020bf09bca78dc7.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c18\/dd1\/708\/c18dd170816c9000b020bf09bca78dc7.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0432 \u043e\u0431\u043e\u0438\u0445 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0431\u0430\u0442\u0447\u0430\u0445, \u043c\u043e\u0436\u0435\u0442 \u0441\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f <img decoding=\"async\" class=\"formula inline\" source=\"c'' &lt; c'\" alt=\"c'' &lt; c'\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0a2\/2d8\/736\/0a22d8736ee4f21f715ce36f6e2814ef.svg\" width=\"58\" height=\"19\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0a2\/2d8\/736\/0a22d8736ee4f21f715ce36f6e2814ef.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0a2\/2d8\/736\/0a22d8736ee4f21f715ce36f6e2814ef.svg 781w\" loading=\"lazy\" decode=\"async\"\/>\u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438   \u0437\u0430\u043f\u0443\u0441\u043a \u0441 <img decoding=\"async\" class=\"formula inline\" source=\"p''_i\" alt=\"p''_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/12c\/184\/f34\/12c184f344ec4a7549a336005e2d2cbd.svg\" width=\"20\" height=\"23\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/12c\/184\/f34\/12c184f344ec4a7549a336005e2d2cbd.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/12c\/184\/f34\/12c184f344ec4a7549a336005e2d2cbd.svg 781w\" loading=\"lazy\" decode=\"async\"\/>\u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u0430\u0439\u0442\u0435\u043c\u043e\u043c <img decoding=\"async\" class=\"formula inline\" source=\"i\" alt=\"i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6c0\/c8f\/3c1\/6c0c8f3c1c7f501d1c8dd5e43cb848b1.svg\" width=\"7\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6c0\/c8f\/3c1\/6c0c8f3c1c7f501d1c8dd5e43cb848b1.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6c0\/c8f\/3c1\/6c0c8f3c1c7f501d1c8dd5e43cb848b1.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, \u0430 \u0437\u0430\u043f\u0443\u0441\u043a \u0441 <img decoding=\"async\" class=\"formula inline\" source=\"p'_i\" alt=\"p'_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/058\/c40\/8ee\/058c408ee113d8eef3246549de0d4c05.svg\" width=\"17\" height=\"23\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/058\/c40\/8ee\/058c408ee113d8eef3246549de0d4c05.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/058\/c40\/8ee\/058c408ee113d8eef3246549de0d4c05.svg 781w\" loading=\"lazy\" decode=\"async\"\/>\u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u0430\u0439\u0442\u0435\u043c\u043e\u043c <img decoding=\"async\" class=\"formula inline\" source=\"i\" alt=\"i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6c0\/c8f\/3c1\/6c0c8f3c1c7f501d1c8dd5e43cb848b1.svg\" width=\"7\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6c0\/c8f\/3c1\/6c0c8f3c1c7f501d1c8dd5e43cb848b1.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6c0\/c8f\/3c1\/6c0c8f3c1c7f501d1c8dd5e43cb848b1.svg 781w\" loading=\"lazy\" decode=\"async\"\/>.<\/p>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f <img decoding=\"async\" class=\"formula inline\" source=\"c'' &lt; c'\" alt=\"c'' &lt; c'\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/aec\/f31\/9a8\/aecf319a84fe544f58c38f5c0044b01f.svg\" width=\"58\" height=\"19\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/aec\/f31\/9a8\/aecf319a84fe544f58c38f5c0044b01f.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/aec\/f31\/9a8\/aecf319a84fe544f58c38f5c0044b01f.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u043c\u0430\u043b\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0440\u044f\u0434\u043e\u043a <img decoding=\"async\" class=\"formula inline\" source=\"s'' \\ge s'\" alt=\"s'' \\ge s'\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cf6\/5dc\/79f\/cf65dc79fc5b38e7ca9695a94388e21f.svg\" width=\"60\" height=\"21\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cf6\/5dc\/79f\/cf65dc79fc5b38e7ca9695a94388e21f.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cf6\/5dc\/79f\/cf65dc79fc5b38e7ca9695a94388e21f.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u0441\u043c\u0435\u043d\u0438\u043b\u0441\u044f \u043d\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"s'' &lt; s'\" alt=\"s'' &lt; s'\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c5d\/e3f\/6c0\/c5de3f6c014cfd5d39227cf152d94294.svg\" width=\"60\" height=\"19\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c5d\/e3f\/6c0\/c5de3f6c014cfd5d39227cf152d94294.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c5d\/e3f\/6c0\/c5de3f6c014cfd5d39227cf152d94294.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u2014 \u0434\u043b\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u0441\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u043b\u043e\u043c\u0430 \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b \u043f\u0440\u0438\u0440\u043e\u0441\u0442\u043e\u0432 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f <img decoding=\"async\" class=\"formula inline\" source=\"c'' \\ll c'\" alt=\"c'' \\ll c'\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7f4\/b12\/c73\/7f4b12c7352b1e56ed0f45bb1782b3df.svg\" width=\"63\" height=\"20\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7f4\/b12\/c73\/7f4b12c7352b1e56ed0f45bb1782b3df.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7f4\/b12\/c73\/7f4b12c7352b1e56ed0f45bb1782b3df.svg 781w\" loading=\"lazy\" decode=\"async\"\/>, \u0447\u0442\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043c\u0430\u043b\u043e\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u044b\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435\u043c (\u0441\u043c. \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u21162, &#171;\u0421\u043e\u0431\u044b\u0442\u0438\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"\\|u_{t+1}\\| \\gg \\|u_{t}\\|\" alt=\"\\|u_{t+1}\\| \\gg \\|u_{t}\\|\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/75c\/7b5\/ca7\/75c7b5ca7b6c3385233b916916c7c41b.svg\" width=\"124\" height=\"22\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/75c\/7b5\/ca7\/75c7b5ca7b6c3385233b916916c7c41b.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/75c\/7b5\/ca7\/75c7b5ca7b6c3385233b916916c7c41b.svg 781w\" loading=\"lazy\" decode=\"async\"\/> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0434\u043a\u0438\u043c&#187;)<\/p>\n<\/div>\n<\/details>\n<\/div>\n<\/details>\n<h2>\u0412\u044b\u0432\u043e\u0434<\/h2>\n<p>\u0415\u0441\u043b\u0438 \u0434\u043b\u044f \u0430\u0439\u0442\u0435\u043c\u043d\u043e\u0439 \u0431\u0430\u0448\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0444\u0430\u043a\u0442\u043e\u0440\u044b: <\/p>\n<ol>\n<li>\n<p>\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u043f\u0442\u0438\u043c\u0430\u0439\u0437\u0435\u0440\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0439 SGD \u0431\u0435\u0437 \u043c\u043e\u043c\u0435\u043d\u0442\u0443\u043c\u0430 \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u0438\u0437\u0430\u0446\u0438\u0438<\/p>\n<\/li>\n<li>\n<p>\u044d\u0442\u0430 \u0431\u0430\u0448\u043d\u044f \u2014 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 (\u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c) \u044d\u043d\u043a\u043e\u0434\u0435\u0440<\/p>\n<\/li>\n<li>\n<p>\u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u0430 \u0432 \u044d\u043d\u043a\u043e\u0434\u0435\u0440 \u00ab\u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f\u00bb \u0441\u0442\u0440\u043e\u043a\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u0435\u0442\u0441\u044f c \u0447\u0443\u0436\u0438\u043c\u0438<\/p>\n<\/li>\n<li>\n<p>\u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043b\u043e\u0441\u0441\u0430 \u043f\u043e \u0432\u044b\u0445\u043e\u0434\u0443 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 (\u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0443) \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u0435\u043d \u0432\u044b\u0445\u043e\u0434\u0443 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430<\/p>\n<\/li>\n<li>\n<p>\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u044b\u0441\u043e\u043a\u0438\u0439 learning rate (\u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0438 \u0431\u0435\u0437 \u044d\u0442\u043e\u0433\u043e; \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u00ab\u043f\u0435\u0440\u0435\u0431\u0438\u0442\u044c\u00bb \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432)<\/p>\n<\/li>\n<\/ol>\n<p>\u0442\u043e <strong>\u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u0443 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0430\u0439\u0442\u0435\u043c\u043e\u0432 \u0438\u043c\u0435\u044e\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u043d\u043e\u0440\u043c\u0443, \u0447\u0435\u043c \u0443 \u043d\u0435\u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0430\u0439\u0442\u0435\u043c\u043e\u0432<\/strong>.<\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u0432\u0438\u0434\u043d\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u0434\u043e\u043b\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u0434\u0432\u0438\u0433\u0430\u043b\u0438\u0441\u044c \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0438\u0445 \u043d\u043e\u0440\u043c\u0430 \u043c\u043e\u043d\u043e\u0442\u043e\u043d\u043d\u043e \u0440\u043e\u0441\u043b\u0430 \u0438 \u0447\u0442\u043e\u0431\u044b \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u043e \u043a popularity bias. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043d\u0430\u0448\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0443\u0442\u043e\u0447\u043d\u044f\u0435\u0442 \u0432\u044b\u0432\u043e\u0434\u044b \u0432\u044b\u0448\u0435\u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044b\u0445 \u0441\u0442\u0430\u0442\u0435\u0439 \u2014 \u043c\u044b \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c, \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043a\u0430\u043a\u0438\u0445 \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432. \u0412 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0435 \u043d\u0430 \u0442\u0435\u043c\u0443 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u043e\u0433\u043e \u043b\u043e\u0441\u0441\u0430 \u044d\u0442\u0438 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u0440\u0430\u043d\u0435\u0435 \u043d\u0435 \u043e\u0441\u0432\u0435\u0449\u0430\u043b\u0438\u0441\u044c.<\/p>\n<h2>\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u0432\u044b\u0432\u043e\u0434\u043e\u0432 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u0445<\/h2>\n<details class=\"spoiler\">\n<summary>\u042d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b, \u0438\u0437\u0443\u0447\u0430\u044e\u0449\u0438\u0435 \u0444\u0430\u043a\u0442\u043e\u0440\u044b, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432<\/summary>\n<div class=\"spoiler__content\">\n<p>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c: <\/p>\n<p>\u0423\u0441\u043b\u043e\u0432\u0438\u0435 1 \u2014 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0438\u0437 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u044f (\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0434 \u0432\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 onehot-\u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432) \u0438\u043b\u0438 \u0438\u0437 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 \u0441\u043b\u043e\u044f<\/p>\n<p>\u0423\u0441\u043b\u043e\u0432\u0438\u0435 2 \u2014 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043b\u043e\u0441\u0441\u0430 \u043f\u043e \u0432\u044b\u0445\u043e\u0434\u0443 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u0435\u043d \u0432\u044b\u0445\u043e\u0434\u0443 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u2116<\/p>\n<\/th>\n<th data-colwidth=\"184\" width=\"184\">\n<p align=\"left\">\u041b\u0435\u0432\u044b\u0439 \u044d\u043d\u043a\u043e\u0434\u0435\u0440<\/p>\n<\/th>\n<th data-colwidth=\"149\" width=\"149\">\n<p align=\"left\">\u041b\u043e\u0441\u0441<\/p>\n<\/th>\n<th data-colwidth=\"94\" width=\"94\">\n<p align=\"left\">\u0423\u0441\u043b\u043e\u0432\u0438\u0435 1?<\/p>\n<\/th>\n<th data-colwidth=\"85\" width=\"85\">\n<p align=\"left\">\u0423\u0441\u043b\u043e\u0432\u0438\u0435 2?<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0422\u0440\u0430\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u0430?<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">1<\/p>\n<\/td>\n<td data-colwidth=\"184\" width=\"184\">\n<p align=\"left\">Embedding<\/p>\n<\/td>\n<td data-colwidth=\"149\" width=\"149\">\n<p align=\"left\">InfoNCE (cos)<\/p>\n<\/td>\n<td data-colwidth=\"94\" width=\"94\">\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<td data-colwidth=\"85\" width=\"85\">\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">2<\/p>\n<\/td>\n<td data-colwidth=\"184\" width=\"184\">\n<p align=\"left\">Embedding<\/p>\n<\/td>\n<td data-colwidth=\"149\" width=\"149\">\n<p align=\"left\">InfoNCE <strong>(dot)<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"94\" width=\"94\">\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<td data-colwidth=\"85\" width=\"85\">\n<p align=\"left\">\u274c<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u042e\u0437\u0435\u0440 \u274c \/ \u0410\u0439\u0442\u0435\u043c \u274c<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">3<\/p>\n<\/td>\n<td data-colwidth=\"184\" width=\"184\">\n<p align=\"left\">Transformer<\/p>\n<\/td>\n<td data-colwidth=\"149\" width=\"149\">\n<p align=\"left\">InfoNCE (cos)<\/p>\n<\/td>\n<td data-colwidth=\"94\" width=\"94\">\n<p align=\"left\">\u274c<\/p>\n<\/td>\n<td data-colwidth=\"85\" width=\"85\">\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u042e\u0437\u0435\u0440 \u274c \/ \u0410\u0439\u0442\u0435\u043c \u2714\ufe0f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">4<\/p>\n<\/td>\n<td data-colwidth=\"184\" width=\"184\">\n<p align=\"left\">Embedding \u2192 Linear<\/p>\n<\/td>\n<td data-colwidth=\"149\" width=\"149\">\n<p align=\"left\">InfoNCE (cos)<\/p>\n<\/td>\n<td data-colwidth=\"94\" width=\"94\">\n<p align=\"left\">\u274c<\/p>\n<\/td>\n<td data-colwidth=\"85\" width=\"85\">\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u042e\u0437\u0435\u0440 \u274c \/ \u0410\u0439\u0442\u0435\u043c \u2714\ufe0f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">5<\/p>\n<\/td>\n<td data-colwidth=\"184\" width=\"184\">\n<p align=\"left\">Embedding (frozen) \u2192 Linear<\/p>\n<\/td>\n<td data-colwidth=\"149\" width=\"149\">\n<p align=\"left\">InfoNCE (cos)<\/p>\n<\/td>\n<td data-colwidth=\"94\" width=\"94\">\n<p align=\"left\">\u274c<\/p>\n<\/td>\n<td data-colwidth=\"85\" width=\"85\">\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u042e\u0437\u0435\u0440 \u274c \/ \u0410\u0439\u0442\u0435\u043c \u2714\ufe0f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">6<\/p>\n<\/td>\n<td data-colwidth=\"184\" width=\"184\">\n<p align=\"left\">one-hot \u2192 Linear<\/p>\n<\/td>\n<td data-colwidth=\"149\" width=\"149\">\n<p align=\"left\">InfoNCE (cos)<\/p>\n<\/td>\n<td data-colwidth=\"94\" width=\"94\">\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<td data-colwidth=\"85\" width=\"85\">\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">7<\/p>\n<\/td>\n<td data-colwidth=\"184\" width=\"184\">\n<p align=\"left\">Embedding<\/p>\n<\/td>\n<td data-colwidth=\"149\" width=\"149\">\n<p align=\"left\"><img decoding=\"async\" class=\"formula inline\" source=\"(1 - cos(q,k))^2\" alt=\"(1 - cos(q,k))^2\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/02b\/84b\/82d\/02b84b82dd8a9aa2e3a1ec55c2e77ba5.svg\" width=\"128\" height=\"25\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/02b\/84b\/82d\/02b84b82dd8a9aa2e3a1ec55c2e77ba5.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/02b\/84b\/82d\/02b84b82dd8a9aa2e3a1ec55c2e77ba5.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<\/td>\n<td data-colwidth=\"94\" width=\"94\">\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<td data-colwidth=\"85\" width=\"85\">\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0442\u043e\u0447\u043d\u044e, \u0447\u0442\u043e \u0432\u043e \u0432\u0441\u0435\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u0445 \u0432 \u0430\u0439\u0442\u0435\u043c\u043d\u043e\u0439 \u0431\u0430\u0448\u043d\u0435 (\u043f\u0440\u0430\u0432\u043e\u043c \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0435) \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e nn.Embedding, \u0430 InfoNCE \u2014 \u044d\u0442\u043e <a href=\"https:\/\/github.com\/RElbers\/info-nce-pytorch\" rel=\"noopener noreferrer nofollow\">\u043a\u043e\u043d\u0442\u0440\u0430\u0441\u0442\u0438\u0432\u043d\u044b\u0439 \u0441\u043e\u0444\u0442\u043c\u0430\u043a\u0441 \u043b\u043e\u0441\u0441 \u0441 in-batch \u043d\u0435\u0433\u0430\u0442\u0438\u0432\u0430\u043c\u0438<\/a>, \u0433\u0434\u0435 cos \u0438\u043b\u0438 dot \u2014 \u044d\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0432 \u044d\u0442\u043e\u043c \u043b\u043e\u0441\u0441\u0435 (\u043c\u044b \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0435\u043c \u0440\u0435\u043b\u0435\u0432\u0430\u043d\u0442\u043d\u043e\u0441\u0442\u044c \u044e\u0437\u0435\u0440\u0430 \u043a \u0430\u0439\u0442\u0435\u043c\u0443 \u0438\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u0443\u044e \u0431\u043b\u0438\u0437\u043e\u0441\u0442\u044c, \u0438\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435). \u0412\u0435\u0437\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f SGD \u0431\u0435\u0437 \u043c\u043e\u043c\u0435\u043d\u0442\u0443\u043c\u0430 \u2014 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043e\u043f\u0442\u0438\u043c\u0430\u0439\u0437\u0435\u0440\u043e\u0432 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c \u043d\u0438\u043a\u0430\u043a\u0443\u044e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u0432 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0438 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432. \u0412 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0435 \u21164 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 one-hot \u2192 Linear \u2192 Linear , \u0442.\u0435. \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e 2 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u0441\u043b\u043e\u044f. \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0438\u0437 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u21165 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0435\u0439 \u0438\u0437 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e Linear \u0441\u043b\u043e\u044f \u0431\u0435\u0437 \u0434\u043e\u043f. \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043d\u0430 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c (one-hot) \u0432\u0445\u043e\u0434\u043e\u0432 \u2014 \u0442\u0443\u0442 \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u0444\u0438\u0447\u0438 \u043d\u0430 \u0432\u0445\u043e\u0434\u0435.<\/p>\n<h3>\u0427\u0442\u043e \u0441\u043b\u0443\u0447\u0438\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u0432 \u043c\u043e\u0434\u0435\u043b\u0438 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0441\u0442\u044c \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c:<\/h3>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u043a \u0432\u044b\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043d\u0438\u044e, \u0447\u0442\u043e <strong>\u0434\u0432\u0430 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u0441\u043b\u043e\u044f \u2014 \u044d\u0442\u043e \u043d\u0435\u043b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c \u043c\u043e\u0434\u0435\u043b\u044c<\/strong>: \u044f \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u043b, \u0447\u0442\u043e \u0438\u0437-\u0437\u0430 \u043d\u0435\u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0441\u0442\u0438 \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0442\u0430\u043c \u0434\u0432\u0438\u0436\u0443\u0442\u0441\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u0438 \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 popularity bias. <strong>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u21164<\/strong> \u0441\u043e\u0433\u043b\u0430\u0441\u0443\u0435\u0442\u0441\u044f \u0441 \u044d\u0442\u0438\u043c\u0438 \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f\u043c\u0438 \u2014 \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u21161 \u0438 \u21166, \u0437\u0434\u0435\u0441\u044c \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u0438\u0437 \u043b\u0435\u0432\u043e\u0433\u043e \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u0434\u0432\u0438\u0436\u0443\u0442\u0441\u044f \u0445\u0430\u043e\u0442\u0438\u0447\u043d\u043e.<\/p>\n<h3>\u0427\u0442\u043e \u0441\u043b\u0443\u0447\u0438\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u0432 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u0445\u043e\u0434\u044b \u0431\u0443\u0434\u0443\u0442 \u043d\u0435 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u044b \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443: <\/h3>\n<p>\u0412\u0441\u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e <strong>\u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0441\u0442\u0438 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u0435\u0449\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432<\/strong>, \u0438 \u0432\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430 <strong>\u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u21165<\/strong> \u2014 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u0438\u0437 \u043b\u0435\u0432\u043e\u0433\u043e \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u0434\u0432\u0438\u0436\u0443\u0442\u0441\u044f \u0445\u0430\u043e\u0442\u0438\u0447\u043d\u043e. \u042d\u0442\u043e \u0441\u043e\u0433\u043b\u0430\u0441\u0443\u0435\u0442\u0441\u044f \u0441 \u043c\u043e\u0438\u043c \u0432\u044b\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043d\u0438\u0435\u043c, \u0447\u0442\u043e \u0434\u043b\u044f \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u0430 \u0432 \u044d\u043d\u043a\u043e\u0434\u0435\u0440 \u00ab\u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f\u00bb \u0441\u0442\u0440\u043e\u043a\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u0435\u0442\u0441\u044f c \u0447\u0443\u0436\u0438\u043c\u0438. \u042f \u0441\u043c\u043e\u0433 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0432\u0435 (\u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u0435) \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044d\u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u2014 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0441\u043b\u043e\u0439 \u043d\u0430\u0434 onehot-\u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438 (\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u21166) \u0438\u043b\u0438 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 \u0441\u043b\u043e\u0439 (\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u21161).<\/p>\n<h3>\u0427\u0442\u043e \u0441\u043b\u0443\u0447\u0438\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0439 \u043b\u043e\u0441\u0441:<\/h3>\n<p><strong>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u21167<\/strong> \u043d\u0435 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u0442 \u043c\u043e\u0435\u043c\u0443 \u0432\u044b\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043d\u0438\u044e <strong>\u00ab\u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043b\u044e\u0431\u043e\u0433\u043e \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u043e\u0433\u043e \u043b\u043e\u0441\u0441\u0430 \u043f\u043e \u0432\u044b\u0445\u043e\u0434\u0443 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u0435\u043d \u0435\u043c\u0443\u00bb<\/strong>.<\/p>\n<p>\u042d\u0442\u0438 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u0438 \u043c\u043d\u0435 \u0431\u044b\u0442\u044c \u0447\u0443\u0442\u044c \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u0435\u0435 \u0432 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0432\u044b\u0432\u043e\u0434\u0430\u0445 \u043f\u0440\u043e \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432.  <\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u042d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e\u0449\u0438\u0435, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0438 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044e popularity bias<\/summary>\n<div class=\"spoiler__content\">\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">\u2116<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041b\u0435\u0432\u044b\u0439 \u044d\u043d\u043a\u043e\u0434\u0435\u0440<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041b\u043e\u0441\u0441<\/p>\n<\/th>\n<th data-colwidth=\"88\" width=\"88\">\n<p align=\"left\">\u0423\u0441\u043b\u043e\u0432\u0438\u0435 1?<\/p>\n<\/th>\n<th data-colwidth=\"83\" width=\"83\">\n<p align=\"left\">\u0423\u0441\u043b\u043e\u0432\u0438\u0435 2?<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0422\u0440\u0430\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u0430?<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435?<\/p>\n<\/th>\n<th>\n<p align=\"left\">Popularity bias?<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">8<\/p>\n<\/td>\n<td>\n<p align=\"left\">Embedding<\/p>\n<\/td>\n<td>\n<p align=\"left\">InfoNCE (cos)<\/p>\n<\/td>\n<td data-colwidth=\"88\" width=\"88\">\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<td data-colwidth=\"83\" width=\"83\">\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2714\ufe0f (\u0432\u044b\u0441\u043e\u043a\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"50\" width=\"50\">\n<p align=\"left\">9<\/p>\n<\/td>\n<td>\n<p align=\"left\">Embedding<\/p>\n<\/td>\n<td>\n<p align=\"left\">InfoNCE (cos)<\/p>\n<\/td>\n<td data-colwidth=\"88\" width=\"88\">\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<td data-colwidth=\"83\" width=\"83\">\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u2714\ufe0f<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u274c (\u043d\u0438\u0437\u043a\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u274c<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0412 <strong>\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u0445 \u21168 \u0438 \u21169 <\/strong>\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044e popularity bias. \u042f \u0432\u0437\u044f\u043b \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0437\u0430\u043a\u0430\u0437\u0430\u0445, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443\u0447\u0430\u0442\u0441\u044f \u043d\u0430\u0448\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432 \u043f\u0440\u043e\u0434\u0435, \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b \u043d\u0430 \u043d\u0438\u0445 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u0432\u0443\u0445\u0431\u0430\u0448\u0435\u043d\u043d\u043e\u0439 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u043e\u0439 \u0441\u0435\u0442\u0438, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u043d\u043e\u0439 \u043a production \u0432\u0435\u0440\u0441\u0438\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 DSSM.<\/p>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u2014 \u0434\u0430, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, <strong>\u0435\u0441\u043b\u0438 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u0434\u0432\u0438\u0433\u0430\u044e\u0442\u0441\u044f \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u0432\u0432\u0438\u0434\u0443 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432\u044b\u0448\u0435\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432, \u0442\u043e \u043e\u043d\u0438 \u043d\u0430\u0440\u0430\u0449\u0438\u0432\u0430\u044e\u0442 \u0441\u0432\u043e\u044e \u043d\u043e\u0440\u043c\u0443<\/strong>; \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0430\u0439\u0442\u0435\u043c\u044b, \u0447\u0430\u0449\u0435 &#171;\u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0449\u0438\u0435 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435&#187; (\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 &#8212; \u0447\u0430\u0449\u0435 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u0432 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435 \u0438, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0447\u0430\u0449\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0435 \u0432 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0438\u0435 \u0431\u0430\u0442\u0447\u0438), \u0438\u043c\u0435\u044e\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u043d\u043e\u0440\u043c\u0443 &#8212; \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u044f (\u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u0438 \u041f\u0438\u0440\u0441\u043e\u043d\u0430 0.54) \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438 \u0430\u0439\u0442\u0435\u043c\u043e\u0432 \u0438 \u043d\u043e\u0440\u043c \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432. \u041d\u043e \u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441:<\/p>\n<p><strong>\u041f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0432\u044b\u044f\u0432\u0438\u0442\u044c \u0432\u0430\u0436\u043d\u044b\u0439 \u0444\u0430\u043a\u0442\u043e\u0440, \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043b\u044f \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f popularity bias \u043f\u0440\u0438 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0438 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432: \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0441 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u043c \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435\u043c,<\/strong> \u0442.\u043a. \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u043f\u043e \u043a\u0430\u0441\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043d\u0430 \u043c\u0430\u043b\u043e\u0435 \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u043e\u0447\u0442\u0438 \u043d\u0435 \u0440\u0430\u0441\u0442\u0438\u0442 \u043d\u043e\u0440\u043c\u0443 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 (\u043f\u043e \u0442\u0435\u043e\u0440\u0435\u043c\u0435 \u041f\u0438\u0444\u0430\u0433\u043e\u0440\u0430) \u0438 \u044d\u0442\u043e\u0442 \u043d\u0435\u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u043e\u0441\u0442 \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 &#171;\u043f\u0435\u0440\u0435\u0431\u043e\u0440\u043e\u0442\u044c&#187; \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u043d\u0434\u043e\u043c \u043d\u043e\u0440\u043c \u043f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432. \u0412 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0435 \u21168 \u043c\u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c Learning Rate \u0443 SGD \u043e\u043f\u0442\u0438\u043c\u0430\u0439\u0437\u0435\u0440\u0430 \u0438 \u043f\u043e\u043d\u0438\u0437\u0438\u0442\u044c \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0443 \u043b\u043e\u0441\u0441\u0430, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0434\u0432\u0438\u0433\u0430\u043b\u0438\u0441\u044c \u043d\u0430 \u0431\u041e\u043b\u044c\u0448\u0438\u0435 \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044f (\u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0431\u043e\u043b\u0435\u0435 \u043e\u0431\u0449\u0435\u043f\u0440\u0438\u043d\u044f\u0442\u043d\u043e\u0433\u043e LR = 0.1 \u0438 temperature = 0.1 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0432\u0438\u0433\u0430\u043b\u0438\u0441\u044c \u043a\u0440\u0430\u0439\u043d\u0435 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043b\u0438 \u043d\u0430 \u0433\u0438\u043f\u0435\u0440\u0441\u0444\u0435\u0440\u044b \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e \u0440\u0430\u0434\u0438\u0443\u0441\u0430 &#8212; \u044f \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u043b \u043e\u043a\u043e\u043b\u043e\u043d\u0443\u043b\u0435\u0432\u0443\u044e \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u044e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438 \u0430\u0439\u0442\u0435\u043c\u043e\u0432 \u0438 \u043d\u043e\u0440\u043c \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0432 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0435 \u21169).<\/p>\n<p>\u042d\u0442\u043e\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u043e\u0433\u043b\u0430\u0441\u0443\u0435\u0442\u0441\u044f \u0441 \u0430\u043d\u0430\u043b\u0438\u0437\u043e\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u043e\u0440\u043c\u044b \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 \u0430\u0439\u0442\u0435\u043c\u0430 \u043e\u0442 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438 \u0430\u0439\u0442\u0435\u043c\u0430.<\/p>\n<\/div>\n<\/details>\n<h2>\u041a\u043e\u0434 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u21161 \u0438 \u21164<\/h2>\n<p>\u042f \u0432\u044b\u0431\u0440\u0430\u043b \u044d\u0442\u0438 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b \u043a\u0430\u043a \u0441\u0430\u043c\u044b\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0434\u043b\u044f \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u044f\u0432\u043b\u0435\u043d\u0438\u044f; 1 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u043b\u0435\u0432\u043e\u0433\u043e \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u0434\u0432\u0438\u0436\u0443\u0442\u0441\u044f \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e. 4 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u043d\u0430\u0440\u0443\u0448\u0430\u0435\u0442 \u044d\u0442\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f (\u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044f &#171;\u043e\u0431\u0449\u0438\u0439&#187; \u0434\u0438\u0437\u0430\u0439\u043d \u043c\u043e\u0434\u0435\u043b\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 NormFace) \u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u043d\u0430\u0440\u0443\u0448\u0430\u044e\u0442\u0441\u044f, \u0442\u043e \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u0434\u0432\u0438\u0436\u0443\u0442\u0441\u044f \u0445\u0430\u043e\u0442\u0438\u0447\u043d\u043e, \u0430 \u043d\u0435 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e. \u041a\u043e\u0434 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0443 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 \u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438.<\/p>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u21161 (\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043b\u0435\u0432\u043e\u0433\u043e \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 Embedding)<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">import math import random  import numpy as np import pandas as pd from tqdm import tqdm import plotly.express as px import matplotlib.pyplot as plt from sklearn.preprocessing import LabelEncoder import torch import torch.nn as nn from torch.utils.data import DataLoader, Dataset from info_nce import InfoNCE # pip install info-nce-pytorch   torch.manual_seed(0) np.random.seed(0) random.seed(0)  device = 'cuda' if torch.cuda.is_available() else 'cpu'  # \u0438\u0433\u0440\u0443\u0448\u0435\u0447\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 - \u043a\u043e\u043b\u043b\u0430\u0431\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0432\u044b\u0443\u0447\u0438\u0442, \u0447\u0442\u043e 5 \u044e\u0437\u0435\u0440,  # 6 \u044e\u0437\u0435\u0440 \u0438 7 \u044e\u0437\u0435\u0440 \u0431\u043b\u0438\u0437\u043a\u0438 \u0434\u0440\u0443\u0433 \u043a \u0434\u0440\u0443\u0433\u0443 \u0438\u0437-\u0437\u0430 \u043f\u043e\u0437\u0438\u0442\u0438\u0432\u043d\u044b\u0445 # \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0441 \u043e\u0434\u043d\u0438\u043c\u0438 \u0438 \u0442\u0435\u043c\u0438 \u0436\u0435 \u0430\u0439\u0442\u0435\u043c\u0430\u043c\u0438 (5i* \u0438 6i*) train = pd.DataFrame([], columns=[\"user_id\", \"item_id\"])  train.loc[len(train)] = [\"1u\", \"1i1\"] train.loc[len(train)] = [\"1u\", \"1i2\"] train.loc[len(train)] = [\"1u\", \"1i3\"] train.loc[len(train)] = [\"2u\", \"2i1\"] train.loc[len(train)] = [\"2u\", \"2i2\"] train.loc[len(train)] = [\"2u\", \"2i3\"] train.loc[len(train)] = [\"3u\", \"3i1\"] train.loc[len(train)] = [\"3u\", \"3i2\"] train.loc[len(train)] = [\"3u\", \"3i3\"] train.loc[len(train)] = [\"4u\", \"4i1\"] train.loc[len(train)] = [\"4u\", \"4i2\"] train.loc[len(train)] = [\"4u\", \"4i3\"] train.loc[len(train)] = [\"5u\", \"5i1\"] train.loc[len(train)] = [\"5u\", \"5i2\"] train.loc[len(train)] = [\"5u\", \"5i3\"] train.loc[len(train)] = [\"6u\", \"6i1\"] train.loc[len(train)] = [\"6u\", \"6i2\"] train.loc[len(train)] = [\"6u\", \"6i3\"] train.loc[len(train)] = [\"7u\", \"5i1\"] train.loc[len(train)] = [\"7u\", \"5i2\"] train.loc[len(train)] = [\"7u\", \"5i3\"] train.loc[len(train)] = [\"7u\", \"5i4\"] train.loc[len(train)] = [\"7u\", \"6i1\"] train.loc[len(train)] = [\"7u\", \"6i2\"] train.loc[len(train)] = [\"7u\", \"6i3\"]  user_encoder = LabelEncoder().fit(train[\"user_id\"]) item_encoder = LabelEncoder().fit(train[\"item_id\"])  class TwoTowerDataset(Dataset):      def __init__(self,                  positive_interactions_dataframe,                  user_encoder,                   item_encoder                 ):         self.positive_interactions_dataframe = \\         positive_interactions_dataframe.copy()                  self.positive_interactions_dataframe[\"encoded_user_id\"] = \\         user_encoder.transform(self.positive_interactions_dataframe.user_id)         self.positive_interactions_dataframe[\"encoded_item_id\"] = \\         item_encoder.transform(self.positive_interactions_dataframe.item_id)                  self.user2features = {}         self.item2features = {}         self.interactions_features_list = []          for row in tqdm(self.positive_interactions_dataframe.itertuples()):             self.interactions_features_list.append(                 (                     (row.encoded_user_id,),                     (row.encoded_item_id,)                 )             )             if row.user_id not in self.user2features:                 self.user2features[row.user_id] = (row.encoded_user_id,)              if row.item_id not in self.item2features:                 self.item2features[row.item_id] = (row.encoded_item_id,)          self.start = 0         self.end = len(self.interactions_features_list)          def __len__(self):         return len(self.interactions_features_list)          def __getitem__(self, i):         return self.interactions_features_list[i]   train_dataset = TwoTowerDataset(train, user_encoder, item_encoder)  def collate_fn(batch):     users_features, items_features = zip(*batch)      return (         torch.IntTensor(np.array(users_features)),         torch.IntTensor(np.array(items_features)),     )  train_loader = DataLoader(     train_dataset,     batch_size=len(train_dataset),     collate_fn=collate_fn )  class TwoTowerModel(nn.Module):     def __init__(self, user_embedding_sizes, item_embedding_sizes, device):         super(TwoTowerModel, self).__init__()         self.device = device          self.user_embeds = nn.Embedding(             user_embedding_sizes[0],              user_embedding_sizes[1]         )         self.item_embeds = nn.Embedding(             item_embedding_sizes[0],              item_embedding_sizes[1]         )      def get_user_embeddings(self, user_features):         \"\"\"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0430\u044f \u0447\u0430\u0441\u0442\u044c TwoTower\"\"\"         user_embeddings = self.user_embeds(user_features[:, 0])          return user_embeddings      def get_item_embeddings(self, item_features):         \"\"\"\u0410\u0439\u0442\u0435\u043c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c TwoTower\"\"\"         item_embeddings = self.item_embeds(item_features[:, 0])          return item_embeddings      def forward(self, user_features, item_features):         user_embs = self.get_user_embeddings(user_features.to(self.device))         item_embs = self.get_item_embeddings(item_features.to(self.device))          return user_embs, item_embs  infonceloss = InfoNCE(temperature=1)  def plot_embedding_shift(     old_users_embeddings,     old_items_embeddings,     new_users_embeddings,     new_items_embeddings,     users_ids,     items_ids,     title=\"Embedding Shift\" ):     \"\"\"     \u0420\u0438\u0441\u0443\u0435\u0442 \u0441\u0434\u0432\u0438\u0433 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0441 \u043e\u043a\u0440\u0443\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0430\u0437\u043d\u044b\u0445 \u0440\u0430\u0434\u0438\u0443\u0441\u043e\u0432.          old_users_embeddings: \u0422\u0435\u043d\u0437\u043e\u0440 \u0441\u0442\u0430\u0440\u044b\u0445 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u044e\u0437\u0435\u0440\u043e\u0432     old_items_embeddings: \u0422\u0435\u043d\u0437\u043e\u0440 \u0441\u0442\u0430\u0440\u044b\u0445 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0430\u0439\u0442\u0435\u043c\u043e\u0432     new_users_embeddings: \u0422\u0435\u043d\u0437\u043e\u0440 \u043d\u043e\u0432\u044b\u0445 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u044e\u0437\u0435\u0440\u043e\u0432     new_items_embeddings: \u0422\u0435\u043d\u0437\u043e\u0440 \u043d\u043e\u0432\u044b\u0445 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0430\u0439\u0442\u0435\u043c\u043e\u0432     users_ids: \u0421\u043f\u0438\u0441\u043e\u043a id \u044e\u0437\u0435\u0440\u043e\u0432 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0443          \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u044e\u0437\u0435\u0440\u043e\u0432     items_ids: \u0421\u043f\u0438\u0441\u043e\u043a id \u0430\u0439\u0442\u0435\u043c\u043e\u0432 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0443          \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0430\u0439\u0442\u0435\u043c\u043e\u0432     \"\"\"     old_users_embeddings = old_users_embeddings.cpu().detach().numpy()     old_items_embeddings = old_items_embeddings.cpu().detach().numpy()     new_users_embeddings = new_users_embeddings.cpu().detach().numpy()     new_items_embeddings = new_items_embeddings.cpu().detach().numpy()      # \u0412\u0432\u043e\u0434\u0438\u043c \u043d\u043e\u0432\u0443\u044e \u043c\u0435\u0442\u0440\u0438\u043a\u0443: \u043a\u0430\u043a\u0430\u044f \u0434\u043e\u043b\u044f \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u043e\u0432 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0430      # \u043f\u0435\u0440\u043f\u0435\u043d\u0434\u0438\u043a\u0443\u043b\u044f\u0440\u043d\u043e \u0440\u0430\u0434\u0438\u0443\u0441-\u0432\u0435\u043a\u0442\u043e\u0440\u0443      # \u0434\u043b\u044f \u044e\u0437\u0435\u0440\u043e\u0432:     count_orthogonal_users = 0     for i in range(len(old_users_embeddings)):         grad = new_users_embeddings[i] - old_users_embeddings[i]                  is_orthogonal = math.isclose(             grad @ old_users_embeddings[i],              0,              abs_tol=1e-6         )         if is_orthogonal:             count_orthogonal_users += 1                  print(         \"\u0414\u043e\u043b\u044f \u044e\u0437\u0435\u0440\u043e\u0432, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u0441\u0442\u0440\u043e\u0433\u043e \u043f\u043e \"         \"\u043a\u0430\u0441\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a \u0433\u0438\u043f\u0435\u0440\u0441\u0444\u0435\u0440\u0435, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043b\u0435\u0436\u0430\u043b \"         \"\u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 \u044d\u0442\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430: \",         count_orthogonal_users \/ len(old_users_embeddings)     )      # \u0434\u043b\u044f \u0430\u0439\u0442\u0435\u043c\u043e\u0432:     count_orthogonal_items = 0     for i in range(len(old_items_embeddings)):         grad = new_items_embeddings[i] - old_items_embeddings[i]                  is_orthogonal = math.isclose(             grad @ old_items_embeddings[i],              0,              abs_tol=1e-6         )         if is_orthogonal:             count_orthogonal_items += 1                  print(         \"\u0414\u043e\u043b\u044f \u0430\u0439\u0442\u0435\u043c\u043e\u0432, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u0441\u0442\u0440\u043e\u0433\u043e \u043f\u043e \"         \"\u043a\u0430\u0441\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a \u0433\u0438\u043f\u0435\u0440\u0441\u0444\u0435\u0440\u0435, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043b\u0435\u0436\u0430\u043b \"         \"\u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 \u044d\u0442\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430: \",         count_orthogonal_items \/ len(old_items_embeddings)     )      if old_users_embeddings.shape[1] == 2:         # \u0414\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0430\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f - \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0434\u0432\u0443\u043c\u0435\u0440\u043d\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f:          old_embs = torch.cat(             (                 torch.from_numpy(old_users_embeddings),                  torch.from_numpy(old_items_embeddings)             ),             0         ).numpy()         new_embs = torch.cat(             (                 torch.from_numpy(new_users_embeddings),                  torch.from_numpy(new_items_embeddings)             ),              0         ).numpy()         ids=users_ids+items_ids                  # \u0421\u043e\u0437\u0434\u0430\u0435\u043c DataFrame \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0433\u0440\u0430\u0444\u0438\u043a\u0430         df = pd.DataFrame({             \"old_x\": old_embs[:, 0],             \"old_y\": old_embs[:, 1],             \"new_x\": new_embs[:, 0],             \"new_y\": new_embs[:, 1],             \"id\": ids         })              # \u0413\u0440\u0430\u0444\u0438\u043a \u0441\u043e \u0441\u0442\u0440\u0435\u043b\u043a\u0430\u043c\u0438         fig, ax = plt.subplots(figsize=(20, 14))                  # \u0420\u0438\u0441\u0443\u0435\u043c \u0441\u0442\u0440\u0435\u043b\u043a\u0438         for i in range(len(df)):             ax.arrow(df[\"old_x\"][i],                      df[\"old_y\"][i],                      df[\"new_x\"][i] - df[\"old_x\"][i],                      df[\"new_y\"][i] - df[\"old_y\"][i],                      head_width=max(                          np.sqrt((df[\"new_x\"][i] - df[\"old_x\"][i])**2 +                                  (df[\"new_y\"][i] - df[\"old_y\"][i])**2) * 0.2,                          0.1),                      head_length=max(                          np.sqrt((df[\"new_x\"][i] - df[\"old_x\"][i])**2 +                                  (df[\"new_y\"][i] - df[\"old_y\"][i])**2) * 0.2,                          0.1),                      fc='blue',                      ec='blue',                      alpha=0.7)          # \u0422\u043e\u0447\u043a\u0438 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432         ax.scatter(df[\"new_x\"],                    df[\"new_y\"],                    color='red',                    label=\"New Positions\",                    s=30)         ax.scatter(df[\"old_x\"],                    df[\"old_y\"],                    color='gray',                    alpha=0.5,                    label=\"Old Positions\",                    s=30)          # \u0420\u0438\u0441\u0443\u0435\u043c \u043e\u0441\u0438 \u0438 \u0440\u0430\u0437\u043d\u044b\u0435 \u043e\u043a\u0440\u0443\u0436\u043d\u043e\u0441\u0442\u0438         line1 = plt.axline((1, 0), (0, 0),                            color='black',                            linestyle='dashed',                            linewidth=2)         line2 = plt.axline((0, 1), (0, 0),                            color='black',                            linestyle='dashed',                            linewidth=2)          circle1 = plt.Circle((0, 0),                              1,                              color='green',                              fill=False,                              linestyle='dashed',                              linewidth=2)         ax.add_patch(circle1)          circle2 = plt.Circle((0, 0),                              1.5,                              color='green',                              fill=False,                              linestyle='dashed',                              linewidth=2)         ax.add_patch(circle2)          circle3 = plt.Circle((0, 0),                              2,                              color='green',                              fill=False,                              linestyle='dashed',                              linewidth=2)         ax.add_patch(circle3)          # \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043e\u0441\u0435\u0439 \u0438 \u043b\u0435\u0433\u0435\u043d\u0434\u044b         ax.set_xlim(-3, 3)         ax.set_ylim(-3, 3)         ax.set_title(title)         ax.legend()         ax.set_aspect('equal')          plt.show()          # \u0418\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441 plotly (\u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 id \u043f\u0440\u0438 \u043d\u0430\u0432\u0435\u0434\u0435\u043d\u0438\u0438)         fig_interactive = px.scatter(df,                                      x=\"new_x\",                                      y=\"new_y\",                                      text=\"id\",                                      title=\"Embedding Positions with IDs\",                                      hover_data={                                          \"id\": True,                                          \"new_x\": False,                                          \"new_y\": False                                      })          fig_interactive.update_layout(             autosize=False,             width=800,             height=800,         )          fig_interactive.show()  user_embedding_sizes = [len(user_encoder.classes_), 2] item_embedding_sizes = [len(item_encoder.classes_), 2]  model = TwoTowerModel(user_embedding_sizes, item_embedding_sizes,                        device).to(device)  optimizer = torch.optim.SGD(model.parameters(), lr=5, momentum=0)  users_ids, users_features = zip(*train_dataset.user2features.items()) items_ids, items_features = zip(*train_dataset.item2features.items())  def train_loop(model, optimizer, train_loader, n_epochs=100):     loss_history = list()     for epoch in range(n_epochs):         for batch in tqdm(train_loader, desc=f'Epoch {epoch}'):                          user_embs, item_embs = model(*batch)             loss = infonceloss(user_embs, item_embs)              optimizer.zero_grad()             loss.backward()              old_users_embeddings = model.get_user_embeddings(                 torch.IntTensor(np.array(users_features)).to(device)             )             old_items_embeddings = model.get_item_embeddings(                 torch.IntTensor(np.array(items_features)).to(device)             )              optimizer.step()              new_users_embeddings = model.get_user_embeddings(                 torch.IntTensor(np.array(users_features)).to(device)             )             new_items_embeddings = model.get_item_embeddings(                 torch.IntTensor(np.array(items_features)).to(device)             )              loss_history.append(loss.item())                          # \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0432\u044b\u0435 \u044d\u043f\u043e\u0445\u0438, \u044d\u043f\u043e\u0445\u0443 \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e             if (epoch &lt; 3) or (epoch == n_epochs\/\/2) or (epoch == n_epochs-1):                 print(f'Train loss: {loss_history[-1]}')                 plot_embedding_shift(                     old_users_embeddings,                     old_items_embeddings,                     new_users_embeddings,                     new_items_embeddings,                     users_ids,                     items_ids                 )  model.train() train_loop(model, optimizer, train_loader)<\/code><\/pre>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u21164 (\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043b\u0435\u0432\u043e\u0433\u043e \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 Embedding\u2192Linear)<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">import math import random  import numpy as np import pandas as pd from tqdm import tqdm import plotly.express as px import matplotlib.pyplot as plt from sklearn.preprocessing import LabelEncoder import torch import torch.nn as nn from torch.utils.data import DataLoader, Dataset from info_nce import InfoNCE # pip install info-nce-pytorch   torch.manual_seed(0) np.random.seed(0) random.seed(0)  device = 'cuda' if torch.cuda.is_available() else 'cpu'  # \u0438\u0433\u0440\u0443\u0448\u0435\u0447\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 - \u043a\u043e\u043b\u043b\u0430\u0431\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0432\u044b\u0443\u0447\u0438\u0442, \u0447\u0442\u043e 5 \u044e\u0437\u0435\u0440,  # 6 \u044e\u0437\u0435\u0440 \u0438 7 \u044e\u0437\u0435\u0440 \u0431\u043b\u0438\u0437\u043a\u0438 \u0434\u0440\u0443\u0433 \u043a \u0434\u0440\u0443\u0433\u0443 \u0438\u0437-\u0437\u0430 \u043f\u043e\u0437\u0438\u0442\u0438\u0432\u043d\u044b\u0445 # \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0441 \u043e\u0434\u043d\u0438\u043c\u0438 \u0438 \u0442\u0435\u043c\u0438 \u0436\u0435 \u0430\u0439\u0442\u0435\u043c\u0430\u043c\u0438 (5i* \u0438 6i*) train = pd.DataFrame([], columns=[\"user_id\", \"item_id\"])  train.loc[len(train)] = [\"1u\", \"1i1\"] train.loc[len(train)] = [\"1u\", \"1i2\"] train.loc[len(train)] = [\"1u\", \"1i3\"] train.loc[len(train)] = [\"2u\", \"2i1\"] train.loc[len(train)] = [\"2u\", \"2i2\"] train.loc[len(train)] = [\"2u\", \"2i3\"] train.loc[len(train)] = [\"3u\", \"3i1\"] train.loc[len(train)] = [\"3u\", \"3i2\"] train.loc[len(train)] = [\"3u\", \"3i3\"] train.loc[len(train)] = [\"4u\", \"4i1\"] train.loc[len(train)] = [\"4u\", \"4i2\"] train.loc[len(train)] = [\"4u\", \"4i3\"] train.loc[len(train)] = [\"5u\", \"5i1\"] train.loc[len(train)] = [\"5u\", \"5i2\"] train.loc[len(train)] = [\"5u\", \"5i3\"] train.loc[len(train)] = [\"6u\", \"6i1\"] train.loc[len(train)] = [\"6u\", \"6i2\"] train.loc[len(train)] = [\"6u\", \"6i3\"] train.loc[len(train)] = [\"7u\", \"5i1\"] train.loc[len(train)] = [\"7u\", \"5i2\"] train.loc[len(train)] = [\"7u\", \"5i3\"] train.loc[len(train)] = [\"7u\", \"5i4\"] train.loc[len(train)] = [\"7u\", \"6i1\"] train.loc[len(train)] = [\"7u\", \"6i2\"] train.loc[len(train)] = [\"7u\", \"6i3\"]  user_encoder = LabelEncoder().fit(train[\"user_id\"]) item_encoder = LabelEncoder().fit(train[\"item_id\"])  class TwoTowerDataset(Dataset):      def __init__(self,                  positive_interactions_dataframe,                  user_encoder,                   item_encoder                 ):         self.positive_interactions_dataframe = \\         positive_interactions_dataframe.copy()                  self.positive_interactions_dataframe[\"encoded_user_id\"] = \\         user_encoder.transform(self.positive_interactions_dataframe.user_id)         self.positive_interactions_dataframe[\"encoded_item_id\"] = \\         item_encoder.transform(self.positive_interactions_dataframe.item_id)                  self.user2features = {}         self.item2features = {}         self.interactions_features_list = []          for row in tqdm(self.positive_interactions_dataframe.itertuples()):             self.interactions_features_list.append(                 (                     (row.encoded_user_id,),                     (row.encoded_item_id,)                 )             )             if row.user_id not in self.user2features:                 self.user2features[row.user_id] = (row.encoded_user_id,)              if row.item_id not in self.item2features:                 self.item2features[row.item_id] = (row.encoded_item_id,)          self.start = 0         self.end = len(self.interactions_features_list)          def __len__(self):         return len(self.interactions_features_list)          def __getitem__(self, i):         return self.interactions_features_list[i]   train_dataset = TwoTowerDataset(train, user_encoder, item_encoder)  def collate_fn(batch):     users_features, items_features = zip(*batch)      return (         torch.IntTensor(np.array(users_features)),         torch.IntTensor(np.array(items_features)),     )  train_loader = DataLoader(     train_dataset,     batch_size=len(train_dataset),     collate_fn=collate_fn )  class TwoTowerModel(nn.Module):     def __init__(self, user_embedding_sizes, item_embedding_sizes, device):         super(TwoTowerModel, self).__init__()         self.device = device          self.user_embeds = nn.Embedding(             user_embedding_sizes[0],              user_embedding_sizes[1]         )         self.user_linear = nn.Linear(             user_embedding_sizes[1],              user_embedding_sizes[1]         )         self.item_embeds = nn.Embedding(             item_embedding_sizes[0],              item_embedding_sizes[1]         )      def get_user_embeddings(self, user_features):         \"\"\"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0430\u044f \u0447\u0430\u0441\u0442\u044c TwoTower\"\"\"         user_embeddings = self.user_embeds(user_features[:, 0])         user_embeddings = self.user_linear(user_embeddings)          return user_embeddings      def get_item_embeddings(self, item_features):         \"\"\"\u0410\u0439\u0442\u0435\u043c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c TwoTower\"\"\"         item_embeddings = self.item_embeds(item_features[:, 0])          return item_embeddings      def forward(self, user_features, item_features):         user_embs = self.get_user_embeddings(user_features.to(self.device))         item_embs = self.get_item_embeddings(item_features.to(self.device))          return user_embs, item_embs  infonceloss = InfoNCE(temperature=1)  def plot_embedding_shift(     old_users_embeddings,     old_items_embeddings,     new_users_embeddings,     new_items_embeddings,     users_ids,     items_ids,     title=\"Embedding Shift\" ):     \"\"\"     \u0420\u0438\u0441\u0443\u0435\u0442 \u0441\u0434\u0432\u0438\u0433 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0441 \u043e\u043a\u0440\u0443\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0430\u0437\u043d\u044b\u0445 \u0440\u0430\u0434\u0438\u0443\u0441\u043e\u0432.          old_users_embeddings: \u0422\u0435\u043d\u0437\u043e\u0440 \u0441\u0442\u0430\u0440\u044b\u0445 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u044e\u0437\u0435\u0440\u043e\u0432     old_items_embeddings: \u0422\u0435\u043d\u0437\u043e\u0440 \u0441\u0442\u0430\u0440\u044b\u0445 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0430\u0439\u0442\u0435\u043c\u043e\u0432     new_users_embeddings: \u0422\u0435\u043d\u0437\u043e\u0440 \u043d\u043e\u0432\u044b\u0445 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u044e\u0437\u0435\u0440\u043e\u0432     new_items_embeddings: \u0422\u0435\u043d\u0437\u043e\u0440 \u043d\u043e\u0432\u044b\u0445 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0430\u0439\u0442\u0435\u043c\u043e\u0432     users_ids: \u0421\u043f\u0438\u0441\u043e\u043a id \u044e\u0437\u0435\u0440\u043e\u0432 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0443          \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u044e\u0437\u0435\u0440\u043e\u0432     items_ids: \u0421\u043f\u0438\u0441\u043e\u043a id \u0430\u0439\u0442\u0435\u043c\u043e\u0432 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0443          \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0430\u0439\u0442\u0435\u043c\u043e\u0432     \"\"\"     old_users_embeddings = old_users_embeddings.cpu().detach().numpy()     old_items_embeddings = old_items_embeddings.cpu().detach().numpy()     new_users_embeddings = new_users_embeddings.cpu().detach().numpy()     new_items_embeddings = new_items_embeddings.cpu().detach().numpy()      # \u0412\u0432\u043e\u0434\u0438\u043c \u043d\u043e\u0432\u0443\u044e \u043c\u0435\u0442\u0440\u0438\u043a\u0443: \u043a\u0430\u043a\u0430\u044f \u0434\u043e\u043b\u044f \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u043e\u0432 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0430      # \u043f\u0435\u0440\u043f\u0435\u043d\u0434\u0438\u043a\u0443\u043b\u044f\u0440\u043d\u043e \u0440\u0430\u0434\u0438\u0443\u0441-\u0432\u0435\u043a\u0442\u043e\u0440\u0443      # \u0434\u043b\u044f \u044e\u0437\u0435\u0440\u043e\u0432:     count_orthogonal_users = 0     for i in range(len(old_users_embeddings)):         grad = new_users_embeddings[i] - old_users_embeddings[i]                  is_orthogonal = math.isclose(             grad @ old_users_embeddings[i],              0,              abs_tol=1e-6         )         if is_orthogonal:             count_orthogonal_users += 1                  print(         \"\u0414\u043e\u043b\u044f \u044e\u0437\u0435\u0440\u043e\u0432, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u0441\u0442\u0440\u043e\u0433\u043e \u043f\u043e \"         \"\u043a\u0430\u0441\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a \u0433\u0438\u043f\u0435\u0440\u0441\u0444\u0435\u0440\u0435, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043b\u0435\u0436\u0430\u043b \"         \"\u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 \u044d\u0442\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430: \",         count_orthogonal_users \/ len(old_users_embeddings)     )      # \u0434\u043b\u044f \u0430\u0439\u0442\u0435\u043c\u043e\u0432:     count_orthogonal_items = 0     for i in range(len(old_items_embeddings)):         grad = new_items_embeddings[i] - old_items_embeddings[i]                  is_orthogonal = math.isclose(             grad @ old_items_embeddings[i],              0,              abs_tol=1e-6         )         if is_orthogonal:             count_orthogonal_items += 1                  print(         \"\u0414\u043e\u043b\u044f \u0430\u0439\u0442\u0435\u043c\u043e\u0432, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u0441\u0442\u0440\u043e\u0433\u043e \u043f\u043e \"         \"\u043a\u0430\u0441\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a \u0433\u0438\u043f\u0435\u0440\u0441\u0444\u0435\u0440\u0435, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043b\u0435\u0436\u0430\u043b \"         \"\u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 \u044d\u0442\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430: \",         count_orthogonal_items \/ len(old_items_embeddings)     )      if old_users_embeddings.shape[1] == 2:         # \u0414\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0430\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f - \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0434\u0432\u0443\u043c\u0435\u0440\u043d\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f:          old_embs = torch.cat(             (                 torch.from_numpy(old_users_embeddings),                  torch.from_numpy(old_items_embeddings)             ),             0         ).numpy()         new_embs = torch.cat(             (                 torch.from_numpy(new_users_embeddings),                  torch.from_numpy(new_items_embeddings)             ),              0         ).numpy()         ids=users_ids+items_ids                  # \u0421\u043e\u0437\u0434\u0430\u0435\u043c DataFrame \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0433\u0440\u0430\u0444\u0438\u043a\u0430         df = pd.DataFrame({             \"old_x\": old_embs[:, 0],             \"old_y\": old_embs[:, 1],             \"new_x\": new_embs[:, 0],             \"new_y\": new_embs[:, 1],             \"id\": ids         })              # \u0413\u0440\u0430\u0444\u0438\u043a \u0441\u043e \u0441\u0442\u0440\u0435\u043b\u043a\u0430\u043c\u0438         fig, ax = plt.subplots(figsize=(20, 14))                  # \u0420\u0438\u0441\u0443\u0435\u043c \u0441\u0442\u0440\u0435\u043b\u043a\u0438         for i in range(len(df)):             ax.arrow(df[\"old_x\"][i],                      df[\"old_y\"][i],                      df[\"new_x\"][i] - df[\"old_x\"][i],                      df[\"new_y\"][i] - df[\"old_y\"][i],                      head_width=max(                          np.sqrt((df[\"new_x\"][i] - df[\"old_x\"][i])**2 +                                  (df[\"new_y\"][i] - df[\"old_y\"][i])**2) * 0.2,                          0.1),                      head_length=max(                          np.sqrt((df[\"new_x\"][i] - df[\"old_x\"][i])**2 +                                  (df[\"new_y\"][i] - df[\"old_y\"][i])**2) * 0.2,                          0.1),                      fc='blue',                      ec='blue',                      alpha=0.7)          # \u0422\u043e\u0447\u043a\u0438 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432         ax.scatter(df[\"new_x\"],                    df[\"new_y\"],                    color='red',                    label=\"New Positions\",                    s=30)         ax.scatter(df[\"old_x\"],                    df[\"old_y\"],                    color='gray',                    alpha=0.5,                    label=\"Old Positions\",                    s=30)          # \u0420\u0438\u0441\u0443\u0435\u043c \u043e\u0441\u0438 \u0438 \u0440\u0430\u0437\u043d\u044b\u0435 \u043e\u043a\u0440\u0443\u0436\u043d\u043e\u0441\u0442\u0438         line1 = plt.axline((1, 0), (0, 0),                            color='black',                            linestyle='dashed',                            linewidth=2)         line2 = plt.axline((0, 1), (0, 0),                            color='black',                            linestyle='dashed',                            linewidth=2)          circle1 = plt.Circle((0, 0),                              1,                              color='green',                              fill=False,                              linestyle='dashed',                              linewidth=2)         ax.add_patch(circle1)          circle2 = plt.Circle((0, 0),                              1.5,                              color='green',                              fill=False,                              linestyle='dashed',                              linewidth=2)         ax.add_patch(circle2)          circle3 = plt.Circle((0, 0),                              2,                              color='green',                              fill=False,                              linestyle='dashed',                              linewidth=2)         ax.add_patch(circle3)          # \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043e\u0441\u0435\u0439 \u0438 \u043b\u0435\u0433\u0435\u043d\u0434\u044b         ax.set_xlim(-3, 3)         ax.set_ylim(-3, 3)         ax.set_title(title)         ax.legend()         ax.set_aspect('equal')          plt.show()          # \u0418\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441 plotly (\u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 id \u043f\u0440\u0438 \u043d\u0430\u0432\u0435\u0434\u0435\u043d\u0438\u0438)         fig_interactive = px.scatter(df,                                      x=\"new_x\",                                      y=\"new_y\",                                      text=\"id\",                                      title=\"Embedding Positions with IDs\",                                      hover_data={                                          \"id\": True,                                          \"new_x\": False,                                          \"new_y\": False                                      })          fig_interactive.update_layout(             autosize=False,             width=800,             height=800,         )          fig_interactive.show()  user_embedding_sizes = [len(user_encoder.classes_), 2] item_embedding_sizes = [len(item_encoder.classes_), 2]  model = TwoTowerModel(user_embedding_sizes, item_embedding_sizes,                        device).to(device)  optimizer = torch.optim.SGD(model.parameters(), lr=5, momentum=0)  users_ids, users_features = zip(*train_dataset.user2features.items()) items_ids, items_features = zip(*train_dataset.item2features.items())  def train_loop(model, optimizer, train_loader, n_epochs=100):     loss_history = list()     for epoch in range(n_epochs):         for batch in tqdm(train_loader, desc=f'Epoch {epoch}'):                          user_embs, item_embs = model(*batch)             loss = infonceloss(user_embs, item_embs)              optimizer.zero_grad()             loss.backward()              old_users_embeddings = model.get_user_embeddings(                 torch.IntTensor(np.array(users_features)).to(device)             )             old_items_embeddings = model.get_item_embeddings(                 torch.IntTensor(np.array(items_features)).to(device)             )              optimizer.step()              new_users_embeddings = model.get_user_embeddings(                 torch.IntTensor(np.array(users_features)).to(device)             )             new_items_embeddings = model.get_item_embeddings(                 torch.IntTensor(np.array(items_features)).to(device)             )              loss_history.append(loss.item())                          # \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0432\u044b\u0435 \u044d\u043f\u043e\u0445\u0438, \u044d\u043f\u043e\u0445\u0443 \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e             if (epoch &lt; 3) or (epoch == n_epochs\/\/2) or (epoch == n_epochs-1):                 print(f'Train loss: {loss_history[-1]}')                 plot_embedding_shift(                     old_users_embeddings,                     old_items_embeddings,                     new_users_embeddings,                     new_items_embeddings,                     users_ids,                     items_ids                 )  model.train() train_loop(model, optimizer, train_loader)<\/code><\/pre>\n<\/div>\n<\/details>\n<h2>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/h2>\n<details class=\"spoiler\">\n<summary>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u21161<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043f\u043e\u0447\u0435\u043c\u0443 \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 q \u043d\u0430 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u043f\u043e \u043d\u0435\u043c\u0443 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0432\u043d\u043e \u043d\u0443\u043b\u044e: <\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} \\cos(\\mathbf{q},\\mathbf{k}) = f(\\mathbf{q}) \\;=\\; \\frac{\\mathbf{q}^\\top \\mathbf{k}}{\\|\\mathbf{q}\\|\\;\\|\\mathbf{k}\\|} \\end{align}\" alt=\"\\begin{align} \\cos(\\mathbf{q},\\mathbf{k}) = f(\\mathbf{q}) \\;=\\; \\frac{\\mathbf{q}^\\top \\mathbf{k}}{\\|\\mathbf{q}\\|\\;\\|\\mathbf{k}\\|} \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/20d\/ecc\/dfa\/20deccdfa027b4bdc4d6cc28a1c6b9ea.svg\" width=\"257\" height=\"52\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/20d\/ecc\/dfa\/20deccdfa027b4bdc4d6cc28a1c6b9ea.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/20d\/ecc\/dfa\/20deccdfa027b4bdc4d6cc28a1c6b9ea.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0412\u0432\u0435\u0434\u0435\u043c \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} f(\\mathbf{q}) = \\frac{u(\\mathbf{q})}{v(\\mathbf{q})}, \\qquad u(\\mathbf{q}) = \\mathbf{q}^\\top \\mathbf{k}, \\qquad v(\\mathbf{q}) = \\|\\mathbf{q}\\|\\;\\|\\mathbf{k}\\| \\end{align}\" alt=\"\\begin{align} f(\\mathbf{q}) = \\frac{u(\\mathbf{q})}{v(\\mathbf{q})}, \\qquad u(\\mathbf{q}) = \\mathbf{q}^\\top \\mathbf{k}, \\qquad v(\\mathbf{q}) = \\|\\mathbf{q}\\|\\;\\|\\mathbf{k}\\| \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ede\/85d\/f9d\/ede85df9db65bbef827d37cc5963f0e4.svg\" width=\"443\" height=\"50\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ede\/85d\/f9d\/ede85df9db65bbef827d37cc5963f0e4.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ede\/85d\/f9d\/ede85df9db65bbef827d37cc5963f0e4.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0422\u043e\u0433\u0434\u0430, \u043f\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0443 \u0434\u0438\u0444\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u043d\u043e\u0433\u043e:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} \\nabla_{\\mathbf{q}} f = \\nabla_{\\mathbf{q}}\\!\\Bigl(\\tfrac{u}{v}\\Bigr) = \\frac{v\\,\\nabla_{\\mathbf{q}}u \\;-\\; u\\,\\nabla_{\\mathbf{q}}v}{v^2} \\end{align}\" alt=\"\\begin{align} \\nabla_{\\mathbf{q}} f = \\nabla_{\\mathbf{q}}\\!\\Bigl(\\tfrac{u}{v}\\Bigr) = \\frac{v\\,\\nabla_{\\mathbf{q}}u \\;-\\; u\\,\\nabla_{\\mathbf{q}}v}{v^2} \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/00d\/a3f\/f85\/00da3ff859728c7c75a40cb6b0bd80a7.svg\" width=\"301\" height=\"46\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/00d\/a3f\/f85\/00da3ff859728c7c75a40cb6b0bd80a7.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/00d\/a3f\/f85\/00da3ff859728c7c75a40cb6b0bd80a7.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u041f\u043e\u0441\u0447\u0438\u0442\u0430\u0435\u043c:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} \\nabla_{\\mathbf{q}}u = \\mathbf{k}, \\qquad \\nabla_{\\mathbf{q}}v = \\|\\mathbf{k}\\|\\;\\frac{\\mathbf{q}}{\\|\\mathbf{q}\\|} \\end{align}\" alt=\"\\begin{align} \\nabla_{\\mathbf{q}}u = \\mathbf{k}, \\qquad \\nabla_{\\mathbf{q}}v = \\|\\mathbf{k}\\|\\;\\frac{\\mathbf{q}}{\\|\\mathbf{q}\\|} \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c61\/a11\/6e8\/c61a116e8b5f52eeb654ccb82af7d45d.svg\" width=\"268\" height=\"44\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c61\/a11\/6e8\/c61a116e8b5f52eeb654ccb82af7d45d.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c61\/a11\/6e8\/c61a116e8b5f52eeb654ccb82af7d45d.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u041f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} \\nabla_{\\mathbf{q}} f = \\frac{     \\|\\mathbf{q}\\|\\|\\mathbf{k}\\|\\;\\mathbf{k}     \\;-\\;     (\\mathbf{q}^\\top\\mathbf{k})\\,\\|\\mathbf{k}\\|\\;\\tfrac{\\mathbf{q}}{\\|\\mathbf{q}\\|}   }{     \\bigl(\\|\\mathbf{q}\\|\\|\\mathbf{k}\\|\\bigr)^2   } = \\frac{     \\mathbf{k}     \\;-\\;     \\tfrac{\\mathbf{q}^\\top\\mathbf{k}}{\\|\\mathbf{q}\\|^2}\\,\\mathbf{q}   }{     \\|\\mathbf{q}\\|\\;\\|\\mathbf{k}\\|   } \\end{align}\" alt=\"\\begin{align} \\nabla_{\\mathbf{q}} f = \\frac{     \\|\\mathbf{q}\\|\\|\\mathbf{k}\\|\\;\\mathbf{k}     \\;-\\;     (\\mathbf{q}^\\top\\mathbf{k})\\,\\|\\mathbf{k}\\|\\;\\tfrac{\\mathbf{q}}{\\|\\mathbf{q}\\|}   }{     \\bigl(\\|\\mathbf{q}\\|\\|\\mathbf{k}\\|\\bigr)^2   } = \\frac{     \\mathbf{k}     \\;-\\;     \\tfrac{\\mathbf{q}^\\top\\mathbf{k}}{\\|\\mathbf{q}\\|^2}\\,\\mathbf{q}   }{     \\|\\mathbf{q}\\|\\;\\|\\mathbf{k}\\|   } \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/286\/09a\/4f0\/28609a4f064e9e8adeb77ddd9bf6ff4c.svg\" width=\"444\" height=\"76\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/286\/09a\/4f0\/28609a4f064e9e8adeb77ddd9bf6ff4c.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/286\/09a\/4f0\/28609a4f064e9e8adeb77ddd9bf6ff4c.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0423\u043c\u043d\u043e\u0436\u0438\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0435 \u043d\u0430 \u0432\u0435\u043a\u0442\u043e\u0440 q:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} \\mathbf{q}^\\top\\nabla_{\\mathbf{q}} f = \\frac{     \\mathbf{q}^\\top\\mathbf{k}     - \\tfrac{\\mathbf{q}^\\top\\mathbf{k}}{\\|\\mathbf{q}\\|^2}\\,\\mathbf{q}^\\top\\mathbf{q}   }{\\|\\mathbf{q}\\|\\;\\|\\mathbf{k}\\|} = \\frac{     \\mathbf{q}^\\top\\mathbf{k}     - \\tfrac{\\mathbf{q}^\\top\\mathbf{k}}{\\|\\mathbf{q}\\|^2}\\,\\|\\mathbf{q}\\|^2   }{\\|\\mathbf{q}\\|\\;\\|\\mathbf{k}\\|} = \\frac{     \\mathbf{q}^\\top\\mathbf{k}     - \\mathbf{q}^\\top\\mathbf{k}   }{\\|\\mathbf{q}\\|\\;\\|\\mathbf{k}\\|} = 0\\end{align}\" alt=\"\\begin{align} \\mathbf{q}^\\top\\nabla_{\\mathbf{q}} f = \\frac{     \\mathbf{q}^\\top\\mathbf{k}     - \\tfrac{\\mathbf{q}^\\top\\mathbf{k}}{\\|\\mathbf{q}\\|^2}\\,\\mathbf{q}^\\top\\mathbf{q}   }{\\|\\mathbf{q}\\|\\;\\|\\mathbf{k}\\|} = \\frac{     \\mathbf{q}^\\top\\mathbf{k}     - \\tfrac{\\mathbf{q}^\\top\\mathbf{k}}{\\|\\mathbf{q}\\|^2}\\,\\|\\mathbf{q}\\|^2   }{\\|\\mathbf{q}\\|\\;\\|\\mathbf{k}\\|} = \\frac{     \\mathbf{q}^\\top\\mathbf{k}     - \\mathbf{q}^\\top\\mathbf{k}   }{\\|\\mathbf{q}\\|\\;\\|\\mathbf{k}\\|} = 0\\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8a1\/3f3\/412\/8a13f3412602f07824afa2d1257f96a4.svg\" width=\"576\" height=\"68\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8a1\/3f3\/412\/8a13f3412602f07824afa2d1257f96a4.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8a1\/3f3\/412\/8a13f3412602f07824afa2d1257f96a4.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0427\u0422\u0414!<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u21162<\/summary>\n<div class=\"spoiler__content\"><img decoding=\"async\" class=\"formula\" source=\"\\begin{align} &amp; \\text{\u041a\u0430\u043a \u0431\u044b\u043b\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043d\u043e \u043f\u0440\u0438 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0435 \u0432\u044b\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043d\u0438\u044f} \\\\ &amp; \\textit{\u0427\u0435\u043c \u0434\u043b\u0438\u043d\u043d\u0435\u0435 $q$, \u0442\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u043d\u043e\u0440\u043c\u0430 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0430 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u043e\u0433\u043e \u043b\u043e\u0441\u0441\u0430 \u043f\u043e $q$:} \\\\ &amp; \\quad s = \\|q\\|^{2} \\\\ &amp; \\Delta(s) = \\eta^{2} \\|\\nabla_{q}L(q)\\|^{2} = \\frac{\\eta^{2}}{s} \\|Pu\\|^{2}, \\\\ &amp; \\text{\u0442\u043e \u0435\u0441\u0442\u044c } \\Delta(s) = \\frac{c}{s} \\text{ , \u0433\u0434\u0435} \\\\ &amp; c = \\eta^{2} \\|Pu\\|^{2}\\\\ \\\\ &amp; \\textbf{\u041f\u043e\u0447\u0435\u043c\u0443 } c \\textbf{ \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0443\u043c\u0435\u0440\u0435\u043d\u043d\u043e (\u0438\u043b\u0438 \u0440\u0435\u0437\u043a\u043e, \u043d\u043e \u0440\u0435\u0434\u043a\u043e)} \\\\ \\\\ &amp; \\textbf{1. \u0421\u043e\u0431\u044b\u0442\u0438\u0435 $\\|u_{t+1}\\| \\gg \\|u_{t}\\|$ \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0434\u043a\u0438\u043c:} \\\\ \\\\ &amp; \\text{\u041d\u043e\u0440\u043c\u0430 \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u043e\u0433\u043e \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0430 $u$:} \\\\ &amp; u = \\sum_{i=1}^m \\frac{\\partial F}{\\partial cos_i} \\; \\hat{k}_i \\\\ &amp; \\text{\u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0441\u0442\u0438 \u0432 \u0441\u0445\u043e\u0434\u044f\u0449\u0435\u043c\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435} \\\\ &amp; \\text{\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u0434\u0432\u0438\u0433\u0430\u044e\u0442\u0441\u044f \u0432} \\\\  &amp; \\text{\u0441\u0432\u043e\u0438 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0438 \u00ab\u0441\u0438\u0433\u043d\u0430\u043b\u044b \u043e\u0448\u0438\u0431\u043a\u0438\u00bb $\\frac{\\partial F}{\\partial cos}$, \u0435\u0441\u043b\u0438 \u043d\u0435} \\\\ &amp; \\text{\u0437\u0430\u0442\u0443\u0445\u0430\u044e\u0442, \u0442\u043e \u0445\u043e\u0442\u044f \u0431\u044b \u0442\u043e\u0447\u043d\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0438\u0440\u0443\u044e\u0442\u0441\u044f.} \\textbf{ \u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0439 \u0440\u0435\u0437\u043a\u0438\u0439} \\\\ &amp; \\textbf{\u0440\u043e\u0441\u0442 \u043d\u043e\u0440\u043c\u044b \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u043e\u0433\u043e \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0430 $u$ \u0441\u0438\u0433\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043b \u0431\u044b \u043e} \\\\ &amp; \\textbf{\u0440\u0430\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u043c\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f.} \\\\ \\\\ &amp; \\text{\u0415\u0441\u043b\u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0439, \u0442\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u043d\u043e} \\\\ &amp; \\text{\u0437\u0430\u044f\u0432\u0438\u0442\u044c, \u0447\u0442\u043e \u0434\u043b\u044f \u0440\u0435\u0437\u043a\u043e\u0433\u043e \u0440\u043e\u0441\u0442\u0430 \u043d\u043e\u0440\u043c\u044b $u$ \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u0447\u0442\u043e\u0431\u044b \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e} \\\\ &amp; \\text{\u0432\u0441\u0435 \u0432\u043a\u043b\u0430\u0434\u044b $\\hat{k}_i$ \u0441\u043e\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u043e \u0441\u043b\u043e\u0436\u0438\u043b\u0438\u0441\u044c \u0432 \u043a\u0430\u0441\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u043b\u043e\u0441\u043a\u043e\u0441\u0442\u044c \u043a $q$ \u2014 \u044f} \\\\ &amp; \\text{\u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u044e, \u0447\u0442\u043e \u043f\u0440\u0438 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0441\u0431\u043e\u0440\u0430 \u0431\u0430\u0442\u0447\u0430 \u044d\u0442\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f} \\\\ &amp; \\text{\u043c\u0430\u043b\u043e\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u044b\u043c. \u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043f\u043e \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c \u0442\u0430\u043a\u043e\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u043e, \u0442\u043e} \\\\ &amp; \\text{\u0441\u0443\u043c\u043c\u0430 \u0432\u043a\u043b\u0430\u0434\u043e\u0432 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0430 \u0447\u0438\u0441\u043b\u043e\u043c \u043f\u0430\u0440 \u0441 \u044d\u0442\u0438\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c \u0432 \u0442\u0440\u0435\u0439\u043d\u0435 \u0438} \\\\ &amp; \\text{\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c $\\frac{\\partial F}{\\partial cos}$, \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u044f \u0441\u0442\u0440\u043e\u0433\u043e \u043e\u0431\u043e\u0441\u043d\u043e\u0432\u0430\u043b \u0432\u044b\u0448\u0435.} \\\\ \\\\ &amp; \\textbf{2. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u0440\u0435\u0434\u043a\u043e\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0435, \u0432\u044b\u0437\u0432\u0430\u0432\u0448\u0435\u0435 $s &lt; \\sqrt{c}$, \u0441\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c:} \\\\ \\\\ &amp; \\text{\u0422\u043e \u043d\u0430 \u044d\u0442\u043e\u043c \u0436\u0435 \u0448\u0430\u0433\u0435} \\\\ &amp; s_{t+1} = s_{t} + \\frac{c_{t}}{s_{t}} \\ge 2\\sqrt{c_{t}} \\ge \\sqrt{c_{t}}, \\\\ &amp; \\text{\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 } \\Phi'(s) \\ge 0 \\text{ \u0441\u043d\u043e\u0432\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u2014 \u043f\u0440\u0438 \u0432\u044b\u0440\u043e\u0441\u0448\u0435\u043c $s$ \u043d\u0430\u0440\u0443\u0448\u0438\u0442\u044c \u0435\u0433\u043e \u0441\u043d\u043e\u0432\u0430} \\\\ &amp; \\text{\u0443\u0436\u0435 \u0441\u043b\u043e\u0436\u043d\u0435\u0435.} \\end{align}\" alt=\"\\begin{align} &amp; \\text{\u041a\u0430\u043a \u0431\u044b\u043b\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043d\u043e \u043f\u0440\u0438 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0435 \u0432\u044b\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043d\u0438\u044f} \\\\ &amp; \\textit{\u0427\u0435\u043c \u0434\u043b\u0438\u043d\u043d\u0435\u0435 $q$, \u0442\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u043d\u043e\u0440\u043c\u0430 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0430 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u043e\u0433\u043e \u043b\u043e\u0441\u0441\u0430 \u043f\u043e $q$:} \\\\ &amp; \\quad s = \\|q\\|^{2} \\\\ &amp; \\Delta(s) = \\eta^{2} \\|\\nabla_{q}L(q)\\|^{2} = \\frac{\\eta^{2}}{s} \\|Pu\\|^{2}, \\\\ &amp; \\text{\u0442\u043e \u0435\u0441\u0442\u044c } \\Delta(s) = \\frac{c}{s} \\text{ , \u0433\u0434\u0435} \\\\ &amp; c = \\eta^{2} \\|Pu\\|^{2}\\\\ \\\\ &amp; \\textbf{\u041f\u043e\u0447\u0435\u043c\u0443 } c \\textbf{ \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0443\u043c\u0435\u0440\u0435\u043d\u043d\u043e (\u0438\u043b\u0438 \u0440\u0435\u0437\u043a\u043e, \u043d\u043e \u0440\u0435\u0434\u043a\u043e)} \\\\ \\\\ &amp; \\textbf{1. \u0421\u043e\u0431\u044b\u0442\u0438\u0435 $\\|u_{t+1}\\| \\gg \\|u_{t}\\|$ \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0434\u043a\u0438\u043c:} \\\\ \\\\ &amp; \\text{\u041d\u043e\u0440\u043c\u0430 \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u043e\u0433\u043e \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0430 $u$:} \\\\ &amp; u = \\sum_{i=1}^m \\frac{\\partial F}{\\partial cos_i} \\; \\hat{k}_i \\\\ &amp; \\text{\u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0441\u0442\u0438 \u0432 \u0441\u0445\u043e\u0434\u044f\u0449\u0435\u043c\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435} \\\\ &amp; \\text{\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u0434\u0432\u0438\u0433\u0430\u044e\u0442\u0441\u044f \u0432} \\\\  &amp; \\text{\u0441\u0432\u043e\u0438 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0438 \u00ab\u0441\u0438\u0433\u043d\u0430\u043b\u044b \u043e\u0448\u0438\u0431\u043a\u0438\u00bb $\\frac{\\partial F}{\\partial cos}$, \u0435\u0441\u043b\u0438 \u043d\u0435} \\\\ &amp; \\text{\u0437\u0430\u0442\u0443\u0445\u0430\u044e\u0442, \u0442\u043e \u0445\u043e\u0442\u044f \u0431\u044b \u0442\u043e\u0447\u043d\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0438\u0440\u0443\u044e\u0442\u0441\u044f.} \\textbf{ \u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0439 \u0440\u0435\u0437\u043a\u0438\u0439} \\\\ &amp; \\textbf{\u0440\u043e\u0441\u0442 \u043d\u043e\u0440\u043c\u044b \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u043e\u0433\u043e \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0430 $u$ \u0441\u0438\u0433\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043b \u0431\u044b \u043e} \\\\ &amp; \\textbf{\u0440\u0430\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u043c\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f.} \\\\ \\\\ &amp; \\text{\u0415\u0441\u043b\u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0439, \u0442\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u043d\u043e} \\\\ &amp; \\text{\u0437\u0430\u044f\u0432\u0438\u0442\u044c, \u0447\u0442\u043e \u0434\u043b\u044f \u0440\u0435\u0437\u043a\u043e\u0433\u043e \u0440\u043e\u0441\u0442\u0430 \u043d\u043e\u0440\u043c\u044b $u$ \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u0447\u0442\u043e\u0431\u044b \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e} \\\\ &amp; \\text{\u0432\u0441\u0435 \u0432\u043a\u043b\u0430\u0434\u044b $\\hat{k}_i$ \u0441\u043e\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u043e \u0441\u043b\u043e\u0436\u0438\u043b\u0438\u0441\u044c \u0432 \u043a\u0430\u0441\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u043b\u043e\u0441\u043a\u043e\u0441\u0442\u044c \u043a $q$ \u2014 \u044f} \\\\ &amp; \\text{\u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u044e, \u0447\u0442\u043e \u043f\u0440\u0438 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0441\u0431\u043e\u0440\u0430 \u0431\u0430\u0442\u0447\u0430 \u044d\u0442\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f} \\\\ &amp; \\text{\u043c\u0430\u043b\u043e\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u044b\u043c. \u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043f\u043e \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c \u0442\u0430\u043a\u043e\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u043e, \u0442\u043e} \\\\ &amp; \\text{\u0441\u0443\u043c\u043c\u0430 \u0432\u043a\u043b\u0430\u0434\u043e\u0432 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0430 \u0447\u0438\u0441\u043b\u043e\u043c \u043f\u0430\u0440 \u0441 \u044d\u0442\u0438\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c \u0432 \u0442\u0440\u0435\u0439\u043d\u0435 \u0438} \\\\ &amp; \\text{\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c $\\frac{\\partial F}{\\partial cos}$, \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u044f \u0441\u0442\u0440\u043e\u0433\u043e \u043e\u0431\u043e\u0441\u043d\u043e\u0432\u0430\u043b \u0432\u044b\u0448\u0435.} \\\\ \\\\ &amp; \\textbf{2. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u0440\u0435\u0434\u043a\u043e\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0435, \u0432\u044b\u0437\u0432\u0430\u0432\u0448\u0435\u0435 $s &lt; \\sqrt{c}$, \u0441\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c:} \\\\ \\\\ &amp; \\text{\u0422\u043e \u043d\u0430 \u044d\u0442\u043e\u043c \u0436\u0435 \u0448\u0430\u0433\u0435} \\\\ &amp; s_{t+1} = s_{t} + \\frac{c_{t}}{s_{t}} \\ge 2\\sqrt{c_{t}} \\ge \\sqrt{c_{t}}, \\\\ &amp; \\text{\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 } \\Phi'(s) \\ge 0 \\text{ \u0441\u043d\u043e\u0432\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u2014 \u043f\u0440\u0438 \u0432\u044b\u0440\u043e\u0441\u0448\u0435\u043c $s$ \u043d\u0430\u0440\u0443\u0448\u0438\u0442\u044c \u0435\u0433\u043e \u0441\u043d\u043e\u0432\u0430} \\\\ &amp; \\text{\u0443\u0436\u0435 \u0441\u043b\u043e\u0436\u043d\u0435\u0435.} \\end{align}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/75f\/fe8\/56e\/75ffe856e516166165e2bbdab424e949.svg\" width=\"583\" height=\"1104\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/75f\/fe8\/56e\/75ffe856e516166165e2bbdab424e949.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/75f\/fe8\/56e\/75ffe856e516166165e2bbdab424e949.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/div>\n<\/details>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \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\/articles\/938938\/\"> https:\/\/habr.com\/ru\/articles\/938938\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435  <\/h2>\n<p>\u041f\u0440\u0438\u0432\u0435\u0442, Habr!  \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0434\u0440\u0435\u0439 \u0410\u0442\u0430\u043c\u0430\u043d\u044e\u043a, \u044f Data Scientist \u0432 R&amp;D \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c Wildberries &amp; Russ. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0437\u0431\u0435\u0440\u0443 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u0438 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0432\u0443\u0445\u0431\u0430\u0448\u0435\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 (\u0431\u0435\u0437 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0438 \u043a \u0434\u043e\u043c\u0435\u043d\u0443 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u043b\u0438\u044f\u0442\u044c \u043d\u0430 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439, \u043d\u043e \u0447\u0430\u0441\u0442\u043e \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0437\u0430 \u043a\u0430\u0434\u0440\u043e\u043c. \u0420\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0451\u0442 \u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0440\u043e\u0441\u0442\u0435 \u043d\u043e\u0440\u043c \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u2014 \u044d\u0444\u0444\u0435\u043a\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u0442 \u0438\u043d\u0442\u0443\u0438\u0442\u0438\u0432\u043d\u044b\u043c \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f\u043c \u043e\u0442 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u044b\u0445 \u043b\u043e\u0441\u0441\u043e\u0432.<\/p>\n<figure class=\"full-width\"><\/figure>\n<h2>\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f<\/h2>\n<p>\u0412\u0441\u0451 \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c, \u043a\u043e\u0433\u0434\u0430 \u044f \u043e\u0431\u0443\u0447\u0430\u043b DSSM-\u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043b\u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u043c\u0430\u0440\u043a\u0435\u0442\u043f\u043b\u0435\u0439\u0441\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430:<\/p>\n<ul>\n<li>\n<p>\u0414\u0432\u0443\u0445\u0431\u0430\u0448\u0435\u043d\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441 \u0440\u0430\u0437\u0434\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430\u043c\u0438<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u044b\u0439 \u043b\u043e\u0441\u0441 (<a href=\"https:\/\/arxiv.org\/abs\/1807.03748\" rel=\"noopener noreferrer nofollow\">InfoNCE<\/a>, \u0435\u0449\u0451 \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u043a\u0430\u043a Full Product Softmax loss) \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0441 in-batch \u043d\u0435\u0433\u0430\u0442\u0438\u0432\u0430\u043c\u0438<\/p>\n<\/li>\n<li>\n<p>\u041e\u0436\u0438\u0434\u0430\u043d\u0438\u0435: \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u044b\u0439 \u043b\u043e\u0441\u0441 \u0434\u043e\u043b\u0436\u0435\u043d \u043d\u0438\u0432\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u043e\u0441\u0438\u043d\u0443\u0441 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442 \u0443\u0433\u043b\u0430 \u043c\u0435\u0436\u0434\u0443 \u0430\u0439\u0442\u0435\u043c\u0430\u043c\u0438 \u0438, \u043a\u0430\u043a \u044f \u0434\u0443\u043c\u0430\u043b \u0440\u0430\u043d\u044c\u0448\u0435, \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u043d\u0435\u0433\u043e \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u00ab\u043c\u043e\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u00bb \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u00ab\u0432\u043f\u0438\u0442\u044b\u0432\u0430\u0442\u044c\u00bb \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c \u0432 \u0438\u0445 \u043d\u043e\u0440\u043c\u0443.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u043f\u0440\u0435\u043f\u043e\u0434\u043d\u0435\u0441\u043b\u0430 \u0441\u044e\u0440\u043f\u0440\u0438\u0437: \u043f\u0440\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0438\u0445 \u043d\u043e\u0440\u043c\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u043e\u0441\u043b\u0438, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u043d\u0438\u0448\u0435\u0432\u044b\u0435 \u0442\u043e\u0432\u0430\u0440\u044b \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0441\u0442\u0430\u0433\u043d\u0430\u0446\u0438\u044e. \u041f\u0440\u0438\u0447\u0435\u043c \u044d\u0444\u0444\u0435\u043a\u0442 \u0443\u0441\u0438\u043b\u0438\u0432\u0430\u043b\u0441\u044f \u0441 \u0440\u043e\u0441\u0442\u043e\u043c \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u043c\u043e\u0441\u0442\u0438 \u0442\u043e\u0432\u0430\u0440\u0430 \u0432 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u0438 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439 \u044f \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u043a\u043e\u0441\u0438\u043d\u0443\u0441, \u0438 \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430\u043c\u0438 \u044e\u0437\u0435\u0440\u0430 \u0438 \u0430\u0439\u0442\u0435\u043c\u0430 \u2014 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u043b\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u0441\u043a\u0430\u0436\u0435\u043d\u0438\u044f. \u041e \u043d\u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0438\u0436\u0435.<\/p>\n<h2>\u041f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e \u0434\u043b\u044f \u0438\u043d\u0434\u0443\u0441\u0442\u0440\u0438\u0438?<\/h2>\n<ul>\n<li>\n<p><em>\u0420\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435:<\/em> \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0441\u0438\u0441\u0442\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043e\u0446\u0435\u043d\u043a\u0438 \u0440\u0435\u043b\u0435\u0432\u0430\u043d\u0442\u043d\u043e\u0441\u0442\u0438:<\/p>\n<p> ( \u2014 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f,  \u2014 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 \u0442\u043e\u0432\u0430\u0440\u0430)<\/p>\n<\/li>\n<li>\n<p><em>\u0421\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438\u0441\u043a\u0430\u0436\u0435\u043d\u0438\u0435:<\/em> \u0440\u043e\u0441\u0442  \u0434\u043b\u044f \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0437\u0430\u0432\u044b\u0448\u0430\u0435\u0442 \u0438\u0445 \u0440\u0435\u043b\u0435\u0432\u0430\u043d\u0442\u043d\u043e\u0441\u0442\u044c:<\/p>\n<pre><code class=\"python\"># \u041f\u0441\u0435\u0432\u0434\u043e\u043a\u043e\u0434 \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f scores = [] for item in candidate_items:     score = dot(user_embedding, item_embedding)  # \u0417\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043d\u043e\u0440\u043c\u044b!     scores.append(score)     top_items = sort(scores)[:10]<\/code><\/pre>\n<\/li>\n<li>\n<p><em>\u042d\u0444\u0444\u0435\u043a\u0442 \u00ab\u0431\u043e\u0433\u0430\u0442\u044b\u0435 \u0431\u043e\u0433\u0430\u0442\u0435\u044e\u0442\u00bb:<\/em> \u0445\u0438\u0442\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442 \u0435\u0449\u0451 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u043a\u0430\u0437\u043e\u0432 \u2192 \u043d\u043e\u0440\u043c\u044b \u0440\u0430\u0441\u0442\u0443\u0442 \u2192 \u0446\u0438\u043a\u043b \u0443\u0441\u0438\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f<\/p>\n<\/li>\n<li>\n<p><em>\u041f\u043e\u0434\u0430\u0432\u043b\u0435\u043d\u0438\u0435 long-tail:<\/em> \u043d\u0438\u0448\u0435\u0432\u044b\u0435 \u0442\u043e\u0432\u0430\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u0434\u043e\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f<\/p>\n<\/li>\n<\/ul>\n<h2>\u0427\u0442\u043e \u0432\u044b \u043d\u0430\u0439\u0434\u0451\u0442\u0435 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435<\/h2>\n<h3>\u0421\u0442\u0430\u0442\u044c\u044f \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442:<\/h3>\n<ul>\n<li>\n<p><strong>\u041f\u043e\u0447\u0435\u043c\u0443 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0440\u0430\u0431\u043e\u0442\u044b (NormFace \u0438 \u0434\u0440.) \u0443\u043f\u0443\u0441\u043a\u0430\u044e\u0442 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0444\u0430\u043a\u0442\u043e\u0440\u044b<\/strong><br \/>\u0418\u0445 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u043d\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0442 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u043e\u0432<\/p>\n<\/li>\n<li>\n<p><strong>\u041a\u0430\u043a \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0443 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432<br \/><\/strong>\u041d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 9 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u043f\u043e\u043a\u0430\u0436\u0443, \u043a\u043e\u0433\u0434\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0438 \u043a\u043e\u0433\u0434\u0430 \u2014 \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u044f \u043d\u043e\u0440\u043c \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0430\u0439\u0442\u0435\u043c\u043e\u0432 \u0441 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0439\u0442\u0435\u043c\u043e\u0432 (\u0447\u0430\u0441\u0442\u043e \u0431\u0443\u0434\u0443 \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u044f\u0432\u043b\u0435\u043d\u0438\u0435 popularity bias)<\/p>\n<\/li>\n<li>\n<p><strong>\u0410\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u044b\u0432\u043e\u0434 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u043e\u0440\u043c\u044b \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043e\u0442 \u0435\u0433\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438<\/strong><br \/>\u0420\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b \u0443\u0441\u0438\u043b\u0438\u0432\u0430\u044e\u0442 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0432 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0432\u044b\u0432\u043e\u0434\u0430\u0445<\/p>\n<\/li>\n<\/ul>\n<h3>\u0426\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0434\u043b\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u043e\u0432:<\/h3>\n<ul>\n<li>\n<p>\u0421\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u0435 \u043c\u0435\u0441\u044f\u0446\u044b \u043d\u0430 \u043e\u0442\u043b\u0430\u0434\u043a\u0435 \u00ab\u043d\u0435\u043e\u0431\u044a\u044f\u0441\u043d\u0438\u043c\u044b\u0445<em>\u00bb<\/em> \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u043e\u0432 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043d\u0430 PyTorch \u0434\u043b\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432<\/p>\n<\/li>\n<\/ul>\n<h2>\u041e \u0447\u0435\u043c \u0441\u0442\u0430\u0442\u044c\u044f?<\/h2>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0432\u0443\u0445\u0431\u0430\u0448\u0435\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 (\u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0431\u044b\u043b\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u043a\u043e\u043b\u043b\u0430\u0431\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438) \u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b \u043f\u0440\u0438\u0447\u0438\u043d\u044b, \u0438\u0437-\u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u043d\u043e\u0440\u043c\u044b \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0442\u0435\u0440\u044c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u0443\u044e \u043c\u0435\u0440\u0443 \u0431\u043b\u0438\u0437\u043e\u0441\u0442\u0438. \u0423 \u044d\u0442\u043e\u0433\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0430 \u0435\u0441\u0442\u044c \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435, \u0432\u044b\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u0438\u0437 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0444\u043e\u0440\u043c\u0443\u043b \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043a\u0438. \u042d\u0442\u043e\u0442 \u0430\u043d\u0430\u043b\u0438\u0437 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442, \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043a\u0430\u043a\u0438\u0445 \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c\u0441\u044f \u0442\u0430\u043a\u043e\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f.<\/p>\n<p>\u042d\u0442\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0443\u0442\u043e\u0447\u043d\u044f\u0435\u0442 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e\u0441\u0442\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u0435\u0439:  <a href=\"https:\/\/arxiv.org\/abs\/1704.06369\" rel=\"noopener noreferrer nofollow\">NormFace: L2 Hypersphere Embedding for Face Verification<\/a> (930 \u0446\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0439), <a href=\"https:\/\/arxiv.org\/abs\/2406.16468\" rel=\"noopener noreferrer nofollow\">The Hidden Pitfalls of the Cosine Similarity Loss<\/a> (5 \u0446\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0439) \u0438 <a href=\"https:\/\/arxiv.org\/abs\/2502.09252\" rel=\"noopener noreferrer nofollow\">On the Importance of Embedding Norms in Self-Supervised Learning<\/a> (2 \u0446\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f). \u042f \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u0432\u043e\u0436\u0443 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0434\u0432\u0438\u0436\u0443\u0442\u0441\u044f \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u0438 \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u044d\u0444\u0444\u0435\u043a\u0442 popularity bias \u2014 \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u044f \u043d\u043e\u0440\u043c \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0430\u0439\u0442\u0435\u043c\u043e\u0432 \u0441 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0439\u0442\u0435\u043c\u043e\u0432.<\/p>\n<p>\u0412 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u044f \u043f\u043e\u043a\u0430\u0436\u0443 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e\u0449\u0438\u0435 \u0441\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0442\u0430\u043c \u0431\u0443\u0434\u0443\u0442 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043a\u043e\u0434\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432.<\/p>\n<h2>\u041e\u0434\u043d\u0430 \u0444\u043e\u0440\u043c\u0443\u043b\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u0432\u0435\u0441\u044c \u0430\u043d\u0430\u043b\u0438\u0437<\/h2>\n<details class=\"spoiler\">\n<summary>\u0424\u043e\u0440\u043c\u0443\u043b\u044b \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043a\u0438<\/summary>\n<div class=\"spoiler__content\">\n<p>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u043e\u0431\u0449\u0438\u0439 \u0432\u0438\u0434 \u043c\u043e\u0434\u0435\u043b\u0438, \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442: \u044d\u0442\u043e \u0434\u0432\u0443\u0445\u0431\u0430\u0448\u0435\u043d\u043d\u0430\u044f \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u0430\u044f \u0441\u0435\u0442\u044c, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0435\u0441\u0442\u044c \u043b\u0435\u0432\u0430\u044f \u0431\u0430\u0448\u043d\u044f (\u043b\u0435\u0432\u044b\u0439 \u044d\u043d\u043a\u043e\u0434\u0435\u0440) \u0438 \u043f\u0440\u0430\u0432\u0430\u044f \u0431\u0430\u0448\u043d\u044f (\u043f\u0440\u0430\u0432\u044b\u0439 \u044d\u043d\u043a\u043e\u0434\u0435\u0440), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u044b \u0438 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u043e\u0431\u0449\u0438\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u041e\u0447\u0435\u043d\u044c \u0447\u0430\u0441\u0442\u043e \u0440\u0435\u0448\u0430\u044e\u0442 \u0437\u0430\u0434\u0430\u0447\u0443 \u0432\u044b\u0443\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0438\u043c\u0435\u043d\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0430\u043a\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438: \u0432\u044b\u0445\u043e\u0434 \u043b\u0435\u0432\u043e\u0439 \u0431\u0430\u0448\u043d\u0438 \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0430\u0435\u0442\u0441\u044f \u0438\u043b\u0438 \u043e\u0442\u0434\u0430\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u0445\u043e\u0434\u0430 \u043f\u0440\u0430\u0432\u043e\u0439 \u0431\u0430\u0448\u043d\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043f\u043e\u0442\u0435\u0440\u044c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u0443\u0435\u043c\/\u043c\u0430\u043a\u0441\u0438\u043c\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 \u044e\u0437\u0435\u0440\u0430 \u0438 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 \u043a\u0443\u043f\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0442\u043e\u0432\u0430\u0440\u0430 \u2014 \u0432\u044b\u0445\u043e\u0434\u043e\u0432 \u043b\u0435\u0432\u043e\u0433\u043e \u0438 \u043f\u0440\u0430\u0432\u043e\u0433\u043e \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u043e\u0432).<\/p>\n<p><em>\u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u0430\u043a\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u2014 Alternating Least Squares, \u0433\u0434\u0435 \u043b\u0435\u0432\u044b\u0439 \u0438 \u043f\u0440\u0430\u0432\u044b\u0439 \u044d\u043d\u043a\u043e\u0434\u0435\u0440 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u043c\u0430\u0442\u0440\u0438\u0446\u0430\u043c\u0438 \u044e\u0437\u0435\u0440\u043d\u044b\u0445 \u0438 \u0430\u0439\u0442\u0435\u043c\u043d\u044b\u0445 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432. \u041c\u044b \u0436\u0435 \u043d\u0430\u0447\u043d\u0451\u043c \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u043e\u0431\u0449\u0443\u044e \u0442\u0435\u043e\u0440\u0438\u044e \u0434\u043b\u044f \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u043e\u0432 \u043b\u044e\u0431\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b. \u041f\u043e \u0445\u043e\u0434\u0443 \u043f\u043e\u0432\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u043c \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u2014 \u0432 \u0442\u0435\u0445 \u043c\u0435\u0441\u0442\u0430\u0445, \u0433\u0434\u0435 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0430\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0431\u0435\u0437 \u0442\u0430\u043a\u0438\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439.<\/em><\/p>\n<p>\u0422\u0430\u043a\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u043e\u0431\u0443\u0447\u0430\u044e\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434\u043e\u043c \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043a\u0438. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043e\u0431\u0449\u0435\u0439 \u0442\u0435\u043e\u0440\u0438\u0438, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u044d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 (<a href=\"https:\/\/studylib.net\/doc\/25662142\/goodfellow-deep-learning\" rel=\"noopener noreferrer nofollow\">\u0440\u0430\u0437\u0434\u0435\u043b 6.5.2 \u0432 \u043a\u043d\u0438\u0433\u0435 Deep Learning Textbook<\/a>), \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u0432\u0437\u044f\u0442\u043e\u0433\u043e \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 (\u043d\u0435\u0432\u0430\u0436\u043d\u043e, \u043b\u0435\u0432\u043e\u0433\u043e \u0438\u043b\u0438 \u043f\u0440\u0430\u0432\u043e\u0433\u043e) \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a \u0442\u0430\u043c \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0435\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432:<\/p>\n<p>\u041e\u0442\u0441\u044e\u0434\u0430 \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0430 \u043b\u043e\u0441\u0441\u0430 \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430: <\/p>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 SGD-\u0448\u0430\u0433\u0430 \u043d\u0430 \u044d\u0442\u043e\u043c \u0431\u0430\u0442\u0447\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430: <\/p>\n<\/div>\n<\/details>\n<p>\u041c\u044b \u043e\u043f\u0438\u0441\u0430\u043b\u0438, \u043a\u0430\u043a \u0441\u043e\u0432\u043e\u043a\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0432\u0441\u0435\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0432 \u0431\u0430\u0442\u0447\u0435 \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430. \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u044d\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e -\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432 \u0431\u0430\u0442\u0447\u0435. \u0412\u044b\u0440\u0430\u0437\u0438\u043c \u044d\u0442\u043e \u0432 \u0432\u0438\u0434\u0435 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430:<\/p>\n<p>\u0418\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0430 \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/p>\n<h2>\u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u0430\u0436\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u043f\u0440\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432<\/h2>\n<details class=\"spoiler\">\n<summary>\u0418\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c popularity bias \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u043e\u0432, \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u043c\u0435\u0442\u0438\u043c, \u0447\u0442\u043e \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u0432\u044b\u0448\u0435, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0430\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u0435\u0439. \u0422\u043e \u0435\u0441\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u0433\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u044b\u0432\u043e\u0434, \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043a\u0430\u043a\u0438\u0445 \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c\u0441\u044f popularity bias (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043f\u043e\u0434 \u044d\u0442\u0438\u043c \u0442\u0435\u0440\u043c\u0438\u043d\u043e\u043c \u044f \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u044e \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u044e \u043d\u043e\u0440\u043c \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u043e\u0432 \u0441 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0439\u0442\u0435\u043c\u043e\u0432), \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u043e\u0432, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u043d\u0438\u0445 \u044d\u0442\u0430 \u043b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u044f \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u0442\u043e\u0447\u043d\u044b\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430. <\/p>\n<\/div>\n<\/details>\n<h2>\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u044d\u043d\u043a\u043e\u0434\u0435\u0440, \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c<\/h2>\n<details class=\"spoiler\">\n<summary>\u042d\u0442\u043e \u044d\u043d\u043a\u043e\u0434\u0435\u0440, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u042f\u043a\u043e\u0431\u0438\u0430\u043d \u0432\u044b\u0445\u043e\u0434\u0430 J \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u03b8<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0414\u043b\u044f \u044f\u0441\u043d\u043e\u0441\u0442\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0439: \u043d\u0430\u0437\u043e\u0432\u0451\u043c  \u043a\u0430\u043a  \u2014 \u0432\u044b\u0445\u043e\u0434 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438  \u0434\u043b\u044f -\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430,  \u2014 \u043a\u0430\u043a .<\/p>\n<p>\u041c\u044b \u0431\u0443\u0434\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u044d\u043d\u043a\u043e\u0434\u0435\u0440 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u043c \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c, \u0435\u0441\u043b\u0438 \u0435\u0433\u043e \u0432\u044b\u0445\u043e\u0434 \u0434\u043b\u044f \u043b\u044e\u0431\u043e\u0433\u043e\u00a0\u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430  \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u0430\u043a:<\/p>\n<p>\u0433\u0434\u0435 \u043c\u0430\u0442\u0440\u0438\u0446\u0430  \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442 \u0432\u0445\u043e\u0434\u0430 (\u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043e\u0442 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0433\u0438\u043f\u0435\u0440\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432), \u043d\u043e \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 .<\/p>\n<p>\u041f\u0440\u0438 \u0442\u0430\u043a\u043e\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0438  \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043e\u0439\u00a0\u043d\u0430\u00a0\u0432\u0441\u0435\u043c\u00a0\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u0422\u043e \u0435\u0441\u0442\u044c \u0444\u043e\u0440\u043c\u0443\u043b\u0430  \u0432\u044b\u0448\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u0436\u0435 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u0435\u0439, \u0430 \u0442\u043e\u0447\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0443\u043b\u043e\u0439 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f . \u041d\u0430 \u0435\u0451 \u043e\u0441\u043d\u043e\u0432\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437.<\/p>\n<\/div>\n<\/details>\n<h2>\u041a\u0430\u043a\u0438\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u043c\u0438 \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c?<\/h2>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 J \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u03b8:<\/p>\n<details class=\"spoiler\">\n<summary>1. \u042d\u043d\u043a\u043e\u0434\u0435\u0440 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e embedding-\u0441\u043b\u043e\u044f<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432  \u0432\u0435\u0437\u0434\u0435, \u043a\u0440\u043e\u043c\u0435 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 &lt;-\u044b\u0439 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433, -\u0430\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430&gt;, \u0441\u0442\u043e\u044f\u0442 \u043d\u0443\u043b\u0438, \u0430 \u0432 \u0431\u043b\u043e\u043a\u0435 \u0438\u0437 \u044d\u0442\u0438\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u2014 \u0435\u0434\u0438\u043d\u0438\u0447\u043d\u0430\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u0430:<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>2. \u042d\u043d\u043a\u043e\u0434\u0435\u0440 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u044f (\u0431\u0435\u0437 bias)<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432  \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u0437  \u0431\u043b\u043e\u043a\u043e\u0432 (\u0448\u0438\u0440\u0438\u043d\u044b ) \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0435  \u0441\u0442\u043e\u0438\u0442 \u043a\u043e\u043f\u0438\u044f \u0432\u0435\u043a\u0442\u043e\u0440\u0430 ; \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043d\u0443\u043b\u0435\u0432\u044b\u0435:<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 bias, \u0442\u043e \u043a  \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0438\u043a\u043b\u0435\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043f\u0440\u0430\u0432\u0430 \u0435\u0434\u0438\u043d\u0438\u0447\u043d\u0430\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u0430.<\/p>\n<\/div>\n<\/details>\n<h2>\u041f\u0440\u0438\u043c\u0435\u0440 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c<\/h2>\n<details class=\"spoiler\">\n<summary>\u042d\u043d\u043a\u043e\u0434\u0435\u0440 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0434\u0432\u0443\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0434\u0443\u0449\u0438\u0445 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u0441\u043b\u043e\u0451\u0432 (\u0431\u0435\u0437 bias)<\/summary>\n<div class=\"spoiler__content\">\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u044d\u043d\u043a\u043e\u0434\u0435\u0440, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0438\u0437 \u0434\u0432\u0443\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0434\u0443\u0449\u0438\u0445 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u0441\u043b\u043e\u0451\u0432 (\u0431\u0435\u0437 bias): <\/p>\n<p>\u0412\u044b\u0445\u043e\u0434\u0438\u0442, \u0447\u0442\u043e \u0434\u0432\u0430 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u0441\u043b\u043e\u044f \u2014 \u044d\u0442\u043e \u043d\u0435\u043b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c \u043c\u043e\u0434\u0435\u043b\u044c.<\/p>\n<p>\u042d\u0442\u043e \u043b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u043f\u043e \u0432\u0445\u043e\u0434\u0443 \u043c\u043e\u0434\u0435\u043b\u044c (linear_layer_\u21161 * linear_layer_\u21162 * x = linear_layer_\u21163 * x). \u041d\u043e \u0435\u0441\u043b\u0438 \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432 \u0433\u043e\u043b\u043e\u0432\u0435 \u0442\u043e, \u043e \u0447\u0435\u043c \u043d\u0430\u043c \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u042f\u043a\u043e\u0431\u0438\u0430\u043d (\u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0434\u0432\u0438\u043d\u0435\u0442\u0441\u044f \u0432\u044b\u0445\u043e\u0434, \u0435\u0441\u043b\u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440), \u0442\u043e \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e \u0434\u043e\u0433\u0430\u0434\u0430\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u043c\u044b \u043f\u043e\u0434\u0432\u0438\u043d\u0435\u043c \u0432\u0435\u0441 \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u043c \u0441\u043b\u043e\u0435, \u0442\u043e \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u044d\u0442\u043e \u0441\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043a\u0430\u043a-\u0442\u043e \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0432\u0435\u0441\u043e\u0432 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u044f: \u043c\u0435\u0436\u0434\u0443 \u043f\u0435\u0440\u0432\u044b\u043c \u0441\u043b\u043e\u0435\u043c \u0438 \u0432\u044b\u0445\u043e\u0434\u043e\u043c \u043a\u0430\u043a \u0440\u0430\u0437 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u043e\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u044d\u0442\u0443 \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u044f. \u0410 \u0440\u0430\u0437 \u043c\u0430\u0442\u0440\u0438\u0446\u0430  \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0442\u0430\u043a\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c \u0438 \u043c\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u0433\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u044b\u0432\u043e\u0434 \u043f\u0440\u043e popularity bias.<\/p>\n<\/div>\n<\/details>\n<h2>\u0414\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 \u043a\u043e\u043b\u043b\u0438\u043d\u0435\u0430\u0440\u043d\u043e \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0443 \u043b\u043e\u0441\u0441\u0430 \u043f\u043e \u0432\u044b\u0445\u043e\u0434\u0443<\/h2>\n<details class=\"spoiler\">\n<summary>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u044b<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0412\u0441\u043f\u043e\u043c\u043d\u0438\u043c \u0444\u043e\u0440\u043c\u0443\u043b\u0443 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0430 \u0434\u043b\u044f \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u043e\u0432, \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u043f\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c:<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u042f\u043a\u043e\u0431\u0438\u0430\u043d\u044b \u0434\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440, \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0438\u0445 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 \u0431\u0443\u0434\u0435\u0442 \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u043a\u043e\u043b\u043b\u0438\u043d\u0435\u0430\u0440\u043d\u043e \u0435\u0433\u043e \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0443 ( || ): <strong>\u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0432 \u043c\u043e\u0434\u0435\u043b\u0438 \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u0430 \u0431\u044b\u043b\u0430 \u00ab\u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f\u00bb \u0441\u0442\u0440\u043e\u043a\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u0435\u0442\u0441\u044f c \u0447\u0443\u0436\u0438\u043c\u0438. <\/strong>\u042d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u043d\u044f\u0442\u044c, \u0435\u0441\u043b\u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u044b.<\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043b\u0443\u0447\u0430\u0439 \u0441 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c embedding-\u0441\u043b\u043e\u0435\u043c:<\/p>\n<p>\u0428\u0430\u0433 SGD:<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043b\u0443\u0447\u0430\u0439 \u0441 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u043c \u0441\u043b\u043e\u0435\u043c \u0431\u0435\u0437 bias:<\/p>\n<p>\u0428\u0430\u0433 SGD:<\/p>\n<p>\u0418\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u0432\u0445\u043e\u0434\u044b \u0432 \u044d\u043d\u043a\u043e\u0434\u0435\u0440 \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442 \u0447\u0435\u0440\u0435\u0437 \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u0432\u044b\u0445\u043e\u0434 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u0443\u0436\u0435 \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u0433\u043e \u043a\u043e\u043b\u043b\u0438\u043d\u0435\u0430\u0440\u043d\u043e \u0435\u0433\u043e \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0443. \u041d\u043e \u0435\u0441\u043b\u0438 \u0432\u0441\u0435  \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438  \u2014 \u044d\u0442\u043e one-hot \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433), \u0442\u043e \u0432\u043a\u043b\u0430\u0434 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043e\u0431\u043d\u0443\u043b\u0438\u0442\u0441\u044f \u0438 \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u043b\u043b\u0438\u043d\u0435\u0430\u0440\u043d\u043e\u0441\u0442\u044c. \u0412 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438, nn.Linear \u043d\u0430\u0434 one-hot \u0444\u0438\u0447\u0430\u043c\u0438 (\u0431\u0435\u0437 bias \u0432 \u0441\u043b\u043e\u0435) \u0438 nn.Embedding \u2014 \u044d\u0442\u043e \u043e\u0434\u043d\u043e \u0438 \u0442\u043e \u0436\u0435, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0431\u0440\u0430\u0442\u044c \u0432 \u0440\u0430\u0441\u0447\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c (matmul vs lookup).<\/p>\n<\/div>\n<\/details>\n<h2>\u0413\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043b\u044e\u0431\u043e\u0433\u043e \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u043d\u043e\u0433\u043e \u043b\u043e\u0441\u0441\u0430 \u043f\u043e \u0432\u044b\u0445\u043e\u0434\u0443 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u0435\u043d \u0435\u043c\u0443  <\/h2>\n<details class=\"spoiler\">\n<summary>\u0415\u0441\u043b\u0438 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u0442 \u0432 \u043b\u043e\u0441\u0441\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u044b, \u0442\u043e \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043b\u043e\u0441\u0441\u0430 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u0435\u043d \u044d\u0442\u043e\u043c\u0443 \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433\u0443<\/summary>\n<div class=\"spoiler__content\">\n<p>\u041f\u0443\u0441\u0442\u044c \u044d\u043c\u0431\u0435\u0434\u0434\u0438\u043d\u0433 , <\/p>\n<\/div>\n<\/details>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\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-473138","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/473138","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=473138"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/473138\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=473138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=473138"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=473138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}