{"id":488447,"date":"2026-07-24T11:23:54","date_gmt":"2026-07-24T11:23:54","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=488447"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=488447","title":{"rendered":"\u0418\u0418 \u0434\u043b\u044f\u00a0\u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0440\u0435\u043d\u0442\u0433\u0435\u043d\u2011\u0441\u043d\u0438\u043c\u043a\u043e\u0432 \u0433\u0440\u0443\u0434\u043d\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u0430"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>\u041a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0448\u0435\u0441\u0442\u0438 \u043f\u0430\u0442\u043e\u043b\u043e\u0433\u0438\u0439 \u043d\u0430\u00a0\u0440\u0435\u043d\u0442\u0433\u0435\u043d\u0435: \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0433\u043e\u043b\u043e\u0432\u044b \u043f\u043e\u0432\u0435\u0440\u0445 RAD\u2011DINO\u2011MAIRA-2<\/h2>\n<p>\u0421\u00a0\u043e\u043a\u0442\u044f\u0431\u0440\u044f 2025\u00a0\u043f\u043e\u00a0\u0430\u043f\u0440\u0435\u043b\u044c 2026\u00a0\u044f \u0441\u043e\u0431\u0438\u0440\u0430\u043b \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f: \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0440\u0435\u043d\u0442\u0433\u0435\u043d\u043e\u0432\u0441\u043a\u0438\u0439 \u0441\u043d\u0438\u043c\u043e\u043a \u0433\u0440\u0443\u0434\u043d\u043e\u0439 \u043a\u043b\u0435\u0442\u043a\u0438 \u0438 \u0434\u043b\u044f\u00a0\u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437\u00a0\u0448\u0435\u0441\u0442\u0438 \u043f\u0430\u0442\u043e\u043b\u043e\u0433\u0438\u0439 \u0432\u044b\u0434\u0430\u0451\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c.<\/p>\n<p>\u042d\u0442\u043e <strong>\u043d\u0435\u00a0\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f<\/strong> (\u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0435\u00a0\u0440\u0438\u0441\u0443\u0435\u0442 \u043c\u0430\u0441\u043a\u0438 \u043e\u0440\u0433\u0430\u043d\u043e\u0432) \u0438 <strong>\u043d\u0435\u00a0\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u043e\u0442\u0447\u0451\u0442\u0430<\/strong>. \u042d\u0442\u043e <strong>\u043c\u043d\u043e\u0433\u043e\u043c\u0435\u0442\u043e\u0447\u043d\u0430\u044f \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f<\/strong>: \u043d\u0430\u00a0\u0432\u044b\u0445\u043e\u0434\u0435\u00a0\u2014 \u0448\u0435\u0441\u0442\u044c \u0447\u0438\u0441\u0435\u043b \u043e\u0442 0\u00a0\u0434\u043e 1. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: \u00ab\u043f\u043b\u0435\u0432\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u043e\u0442\u00a0\u2014 87%, \u043f\u043d\u0435\u0432\u043c\u043e\u0442\u043e\u0440\u0430\u043a\u0441\u00a0\u2014 12%, \u043a\u0430\u0440\u0434\u0438\u043e\u043c\u0435\u0433\u0430\u043b\u0438\u044f\u00a0\u2014 3%\u00bb \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435 \u043f\u043e\u00a0\u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c \u043a\u043b\u0430\u0441\u0441\u0430\u043c. \u042d\u0442\u043e \u043d\u0435\u00a0\u0434\u0438\u0430\u0433\u043d\u043e\u0437 \u0438 \u043d\u0435\u00a0\u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0432\u0440\u0430\u0447\u0430, \u0430\u00a0\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u043d\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430 \u043f\u043e\u00a0\u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u0441\u043f\u0438\u0441\u043a\u0443 \u043f\u0430\u0442\u043e\u043b\u043e\u0433\u0438\u0439.<\/p>\n<p>\u041f\u043e\u043b\u043d\u043e\u0435 \u0434\u043e\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0441\u0435\u0442\u0438 \u0441\u0440\u0430\u0437\u0443 \u043d\u0435\u00a0\u0442\u044f\u043d\u0443\u043b: \u044d\u0442\u043e \u0434\u043e\u0440\u043e\u0433\u043e, \u0434\u043e\u043b\u0433\u043e, \u0438 \u043d\u0430\u00a0\u0434\u0435\u0441\u044f\u0442\u043a\u0430\u0445 \u0442\u044b\u0441\u044f\u0447 \u0441\u043d\u0438\u043c\u043a\u043e\u0432 \u043b\u0435\u0433\u043a\u043e \u0443\u0439\u0442\u0438 \u0432\u00a0\u043f\u0435\u0440\u0435\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0437\u0430\u043c\u043e\u0440\u043e\u0437\u0438\u043b \u0442\u044f\u0436\u0451\u043b\u044b\u0439 \u043f\u0440\u0435\u0434\u043e\u0431\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0438 \u043e\u0431\u0443\u0447\u0430\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0433\u043e\u043b\u043e\u0432\u0443. Macro AUC \u043d\u0430\u00a0\u043f\u0440\u043e\u0432\u0435\u0440\u043e\u0447\u043d\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435\u00a0\u2014 <strong>0.9025<\/strong>, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0437\u0430\u00a0\u0434\u0435\u0441\u044f\u0442\u043e\u043a \u044d\u043f\u043e\u0445. \u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0448\u043b\u043e \u043d\u0430\u00a0A100 80\u00a0\u0413\u0411\u00a0\u2014 \u0434\u043b\u044f\u00a0\u044d\u0442\u043e\u0439 \u0441\u0445\u0435\u043c\u044b \u0431\u0440\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043c\u043e\u0449\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0443 \u0441\u043c\u044b\u0441\u043b\u0430 \u043d\u0435\u00a0\u0431\u044b\u043b\u043e. \u041d\u0430\u00a0RunPod \u0443\u0448\u043b\u043e \u043e\u043a\u043e\u043b\u043e <strong>$300<\/strong>.<\/p>\n<p>\u041d\u0435\u0443\u0434\u0430\u0447\u043d\u044b\u0445 \u043f\u043e\u043f\u044b\u0442\u043e\u043a\u00a0\u0431\u044b\u043b\u043e \u043c\u043d\u043e\u0433\u043e\u00a0\u2014 \u0432\u00a0\u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043d\u0430\u00a0DenseNet121, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u044f \u043f\u0435\u0440\u0435\u0448\u0451\u043b \u043d\u0430\u00a0RAD\u2011DINO. \u041d\u0438\u0436\u0435\u00a0\u2014 \u0447\u0442\u043e\u00a0\u0432\u00a0\u0438\u0442\u043e\u0433\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e, \u0433\u0434\u0435 \u044f \u043e\u0448\u0438\u0431\u0441\u044f \u0441\u00a0\u043f\u0443\u0442\u044f\u043c\u0438 \u043a\u00a0\u0434\u0430\u043d\u043d\u044b\u043c \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043e\u0442\u00a0\u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u0442\u0440\u0430\u0436\u0435\u043d\u0438\u044f. \u0421\u0435\u0439\u0447\u0430\u0441 \u0438\u0449\u0443 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044e \u0434\u043b\u044f\u00a0\u043a\u043b\u0438\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0439, \u0447\u0442\u043e\u0431\u044b \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0437\u0434\u0435\u043b\u0438\u0435 3\u00a0\u043a\u043b\u0430\u0441\u0441\u0430 \u0440\u0438\u0441\u043a\u0430 \u0432\u00a0\u0420\u0424. \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f\u00a0\u2014 \u043f\u0440\u043e\u00a0\u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f, \u0430\u00a0\u043d\u0435\u00a0\u043f\u0440\u043e\u00a0\u043a\u043b\u0438\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435.<\/p>\n<p><strong>\u0414\u0438\u0441\u043a\u043b\u0435\u0439\u043c\u0435\u0440.<\/strong> \u042d\u0442\u043e \u043d\u0435\u00a0\u0421\u042d\u041c\u0414 \u0438 \u043d\u0435\u00a0\u0437\u0430\u043c\u0435\u043d\u0430 \u0440\u0435\u043d\u0442\u0433\u0435\u043d\u043e\u043b\u043e\u0433\u0443. \u0412\u00a0\u043e\u0441\u043d\u043e\u0432\u0435 \u043b\u0435\u0436\u0438\u0442 <code>microsoft\/rad-dino-maira-2<\/code> \u043f\u043e\u0434\u00a0\u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 MSRLA\u00a0\u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f\u00a0\u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u0447\u0430<\/h3>\n<p>\u0428\u0435\u0441\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0438\u0437\u00a0VinBigData Challenge:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p>\u2116<\/p>\n<\/th>\n<th>\n<p>\u041a\u043b\u0430\u0441\u0441<\/p>\n<\/th>\n<th>\n<p>\u0427\u0442\u043e\u00a0\u044d\u0442\u043e<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">0<\/p>\n<\/td>\n<td>\n<p align=\"left\">Cardiomegaly<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0434\u0446\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">1<\/p>\n<\/td>\n<td>\n<p align=\"left\">Atelectasis<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0410\u0442\u0435\u043b\u0435\u043a\u0442\u0430\u0437<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2<\/p>\n<\/td>\n<td>\n<p align=\"left\">Consolidation<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041a\u043e\u043d\u0441\u043e\u043b\u0438\u0434\u0430\u0446\u0438\u044f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">3<\/p>\n<\/td>\n<td>\n<p align=\"left\">Pleural Effusion<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u043b\u0435\u0432\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u043e\u0442<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">4<\/p>\n<\/td>\n<td>\n<p align=\"left\">Pneumothorax<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u043d\u0435\u0432\u043c\u043e\u0442\u043e\u0440\u0430\u043a\u0441<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">5<\/p>\n<\/td>\n<td>\n<p align=\"left\">Edema<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u0442\u0451\u043a \u043b\u0451\u0433\u043a\u0438\u0445<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u041e\u0434\u0438\u043d \u0441\u043d\u0438\u043c\u043e\u043a \u043c\u043e\u0436\u0435\u0442 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u044c\u0441\u044f \u043a\u00a0\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u043a\u043b\u0430\u0441\u0441\u0430\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u00a0\u0432\u044b\u0445\u043e\u0434\u0435 \u0441\u0442\u043e\u044f\u0442 \u0448\u0435\u0441\u0442\u044c \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u0441\u0438\u0433\u043c\u043e\u0438\u0434, \u0430\u00a0\u043d\u0435\u00a0\u043e\u0434\u0438\u043d Softmax.<\/p>\n<h3>DenseNet121\u00a0\u2014 \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0441\u044f<\/h3>\n<p>\u041f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u043e\u0439 \u0418\u0418 \u043d\u0430\u00a0\u0432\u043e\u043f\u0440\u043e\u0441 \u00ab\u043a\u0430\u043a \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u043d\u0442\u0433\u0435\u043d\u00bb \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 DenseNet121, \u043f\u0440\u0435\u0434\u043e\u0431\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u00a0ImageNet. \u042f \u043d\u0430\u00a0\u044d\u0442\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u043f\u043e\u0432\u0451\u043b\u0441\u044f. \u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043d\u0435\u00a0\u0440\u0430\u0437 \u0440\u0443\u0448\u0438\u043b\u043e\u0441\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430\u00a0\u044d\u0442\u043e\u0439 \u0432\u0435\u0442\u043a\u0435.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, <strong>\u043a\u0443\u0434\u0430 \u0441\u0435\u0442\u044c \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u0438 \u043d\u0430\u00a0\u0447\u0451\u043c \u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u044b\u0432\u043e\u0434<\/strong>, \u044f \u0441\u0442\u0440\u043e\u0438\u043b \u0442\u0435\u043f\u043b\u043e\u0432\u044b\u0435 \u043a\u0430\u0440\u0442\u044b (Grad\u2011CAM) \u043f\u043e\u0432\u0435\u0440\u0445 \u0441\u043d\u0438\u043c\u043a\u0430: \u043a\u0440\u0430\u0441\u043d\u044b\u0435 \u0437\u043e\u043d\u044b\u00a0\u2014 \u043e\u0431\u043b\u0430\u0441\u0442\u0438, \u043d\u0430\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u043f\u0438\u0440\u0430\u043b\u0430\u0441\u044c \u0441\u0438\u043b\u044c\u043d\u0435\u0435 \u0432\u0441\u0435\u0433\u043e. \u041d\u0430\u00a0\u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0430\u0445 \u043d\u0438\u0436\u0435\u00a0\u2014 \u043d\u0435\u00a0\u0438\u0442\u043e\u0433\u043e\u0432\u0430\u044f RAD\u2011DINO, \u0430\u00a0\u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0433\u043e\u043d\u044b DenseNet121\u00a0\u0432\u00a0Google Colab. \u041d\u0430\u0434 \u043a\u0430\u0436\u0434\u044b\u043c \u043a\u0430\u0434\u0440\u043e\u043c \u0442\u0440\u0438 \u0441\u0442\u0440\u043e\u043a\u0438: GT (\u0438\u0441\u0442\u0438\u043d\u043d\u0430\u044f \u043c\u0435\u0442\u043a\u0430), PRED (\u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0435) \u0438 Conf (\u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c). \u0417\u0435\u043b\u0451\u043d\u044b\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0438\u00a0\u2014 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435, \u043a\u0440\u0430\u0441\u043d\u044b\u0435\u00a0\u2014 \u043e\u0448\u0438\u0431\u043a\u0430.<\/p>\n<p><strong>\u041b\u043e\u0436\u043d\u044b\u0435 \u00ab\u0437\u0434\u043e\u0440\u043e\u0432\u00bb.<\/strong> \u0412\u00a0\u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0435\u00a0\u2014 \u0432\u044b\u043f\u043e\u0442, \u043f\u043d\u0435\u0432\u043c\u043e\u0442\u043e\u0440\u0430\u043a\u0441 \u0438\u043b\u0438\u00a0\u043a\u0430\u0440\u0434\u0438\u043e\u043c\u0435\u0433\u0430\u043b\u0438\u044f, \u0430\u00a0DenseNet \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e \u0441\u0442\u0430\u0432\u0438\u0442 \u00abNo Finding\u00bb \u0441\u00a0\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e 81\u201394%.\u00a0\u0411\u044b\u043b \u0441\u043b\u0443\u0447\u0430\u0439 \u0441\u00a0\u043a\u0430\u0440\u0434\u0438\u043e\u043c\u0435\u0433\u0430\u043b\u0438\u0435\u0439 \u043f\u0440\u0438 99,3% \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u0447\u0442\u043e\u00a0\u043d\u0430\u0445\u043e\u0434\u043e\u043a \u043d\u0435\u0442. \u041a\u0430\u0440\u0442\u0430 \u043f\u0440\u0438\u00a0\u044d\u0442\u043e\u043c \u0447\u0430\u0441\u0442\u043e \u0441\u0438\u0434\u0438\u0442 \u0432\u00a0\u0446\u0435\u043d\u0442\u0440\u0435 \u0438\u043b\u0438\u00a0\u0441\u0440\u0435\u0434\u043e\u0441\u0442\u0435\u043d\u0438\u0438 \u0438 \u043d\u0435\u00a0\u043f\u043e\u0434\u0441\u0432\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u043d\u043e\u0435 \u0441\u0435\u0440\u0434\u0446\u0435.<\/p>\n<p><strong>\u041f\u0435\u0440\u0435\u043f\u0443\u0442\u0430\u043d\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441.<\/strong> GT\u00a0\u2014 \u043a\u0430\u0440\u0434\u0438\u043e\u043c\u0435\u0433\u0430\u043b\u0438\u044f, PRED\u00a0\u2014 \u043f\u043b\u0435\u0432\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u043e\u0442 \u0441\u00a0\u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e 74%. \u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0441\u0438\u0434\u0438\u0442 \u043d\u0435\u00a0\u043d\u0430\u00a0\u0441\u0435\u0440\u0434\u0446\u0435, \u0430\u00a0\u0432\u044b\u0448\u0435\u00a0\u2014 \u0432\u00a0\u0432\u0435\u0440\u0445\u043d\u0438\u0445 \u0434\u043e\u043b\u044f\u0445 \u0438 \u0432\u00a0\u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0448\u0435\u0438.<\/p>\n<p><strong>\u041f\u0440\u043e\u043f\u0443\u0441\u043a \u043f\u043d\u0435\u0432\u043c\u043e\u0442\u043e\u0440\u0430\u043a\u0441\u0430.<\/strong> GT\u00a0\u2014 \u043f\u043d\u0435\u0432\u043c\u043e\u0442\u043e\u0440\u0430\u043a\u0441, PRED\u00a0\u2014 \u201cNo Finding\u201d \u0441 51,7%. Heatmap \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432\u00a0\u0446\u0435\u043d\u0442\u0440\u0435, \u0430\u00a0\u043d\u0435\u00a0\u0443\u00a0\u043a\u0440\u0430\u044f \u043b\u0451\u0433\u043a\u043e\u0433\u043e, \u0433\u0434\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u0438\u0449\u0443\u0442 \u0432\u043e\u0437\u0434\u0443\u0445.<\/p>\n<p><strong>\u041a\u0440\u0438\u0432\u043e\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0434\u0430\u0436\u0435 \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u00ab\u0443\u0433\u0430\u0434\u0430\u043b\u0430\u00bb.<\/strong> \u041d\u0430\u00a0\u0447\u0430\u0441\u0442\u0438 \u0441\u043d\u0438\u043c\u043a\u043e\u0432 \u0441\u00a0GT \u201cNo Finding\u201d \u0438 \u0432\u0435\u0440\u043d\u044b\u043c PRED \u043a\u0430\u0440\u0442\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f\u00a0\u043b\u0438\u043f\u043d\u0435\u0442 \u043a\u00a0\u043f\u043b\u0435\u0447\u0430\u043c, \u0448\u0435\u0435 \u0438 \u0443\u0433\u043b\u0430\u043c \u043a\u0430\u0434\u0440\u0430, \u0430\u00a0\u043d\u0435\u00a0\u043a\u00a0\u043b\u0451\u0433\u043e\u0447\u043d\u044b\u043c \u043f\u043e\u043b\u044f\u043c. \u0412\u00a0\u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0435 \u044f \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u043b \u0441\u0435\u0431\u0435 \u043f\u043e\u043c\u0435\u0442\u043a\u0438: \u00ab\u0438\u0449\u0438 \u0441\u0442\u0440\u0430\u043d\u043d\u044b\u0435, \u043d\u0435\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0435 \u0438\u043b\u0438\u00a0\u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u0435\u043b\u043a\u0438\u0435 \u043f\u044f\u0442\u043d\u0430\u00bb \u0438 \u00ab\u043f\u0440\u043e\u0432\u0435\u0440\u044c \u0443\u0433\u043b\u044b\u00a0\u2014 \u0447\u0442\u043e\u00a0\u0434\u043e\u043b\u0436\u043d\u043e \u0438\u0441\u0447\u0435\u0437\u043d\u0443\u0442\u044c\u00bb.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u0430\u043a\u0438\u0445 \u043f\u0440\u043e\u0433\u043e\u043d\u043e\u0432 DenseNet121\u00a0\u0434\u043b\u044f\u00a0\u043c\u0435\u043d\u044f \u0437\u0430\u043a\u0440\u044b\u0442. \u041c\u043e\u0434\u0435\u043b\u044c \u0437\u0443\u0431\u0440\u0438\u043b\u0430 \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u044b \u043a\u0430\u0434\u0440\u0430 \u0438 \u0434\u0430\u0432\u0430\u043b\u0430 \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0439 AUC \u043d\u0430\u00a0\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0438 \u043f\u0440\u0438\u00a0\u044f\u0432\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0430\u043b\u0430\u0445 \u043d\u0430\u00a0\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0441\u043d\u0438\u043c\u043a\u0430\u0445. \u0427\u0430\u0441\u0442\u044c \u044d\u0442\u043e\u0439 \u0431\u0435\u0434\u044b\u00a0\u2014 \u043d\u0435\u00a0\u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430, \u0430\u00a0\u043f\u0440\u0438\u0432\u044b\u0447\u043a\u0430 \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u0442\u044c \u0441\u00a0\u0441\u0430\u043c\u043e\u0433\u043e \u00ab\u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0433\u043e\u00bb \u0433\u0440\u044f\u0437\u043d\u043e\u0433\u043e \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430: \u043b\u044e\u0431\u0430\u044f \u043d\u0435\u0439\u0440\u043e\u043d\u043a\u0430 \u043f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u0441\u043e\u0432\u0435\u0442\u0443\u0435\u0442 NIH ChestX\u2011ray, \u0438 \u043d\u0430\u00a0\u043d\u0451\u043c \u043a\u0430\u043a\u00a0\u0440\u0430\u0437 \u043b\u0435\u0433\u043a\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u044d\u0444\u0444\u0435\u043a\u0442 \u0413\u0430\u043d\u0441\u0430. \u0418\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u043f\u043e\u0434\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u043e \u043a\u00a0RAD\u2011DINO\u2011MAIRA-2\u00a0\u0438 \u043a\u00a0\u0431\u043e\u043b\u0435\u0435 \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e\u043c\u0443 \u0432\u044b\u0431\u043e\u0440\u0443 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>\u041a\u0430\u0440\u0442\u044b \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0434\u043b\u044f\u00a0\u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0439 RAD\u2011DINO \u0432\u00a0\u0441\u0442\u0430\u0442\u044c\u044e \u043d\u0435\u00a0\u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e: \u0437\u0434\u0435\u0441\u044c \u0432\u0430\u0436\u043d\u043e\u00a0\u0431\u044b\u043b\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, <strong>\u0433\u0434\u0435 \u043e\u0448\u0438\u0431\u0430\u043b\u0441\u044f DenseNet<\/strong>, \u0430\u00a0\u043d\u0435\u00a0\u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0434\u0432\u0435 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u043e\u043a \u043e\u00a0\u0431\u043e\u043a. \u0414\u043b\u044f\u00a0\u043e\u0442\u043b\u0430\u0434\u043a\u0438 RAD\u2011DINO \u0441\u043a\u0440\u0438\u043f\u0442 \u0441\u00a0attention map \u0443\u00a0\u043c\u0435\u043d\u044f \u0442\u043e\u0436\u0435 \u0435\u0441\u0442\u044c\u00a0\u2014 \u043e\u043d \u0432\u00a0\u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438.<\/p>\n<h4>\u041a\u0430\u043a\u00a0\u0441\u0442\u0440\u043e\u0438\u043b\u0430\u0441\u044c \u0442\u0435\u043f\u043b\u043e\u0432\u0430\u044f \u043a\u0430\u0440\u0442\u0430 DenseNet121<\/h4>\n<p>\u041a\u043e\u0440\u043e\u0442\u043a\u043e: \u0431\u0435\u0440\u0451\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0441\u0432\u0451\u0440\u0442\u043e\u0447\u043d\u044b\u0439 \u0431\u043b\u043e\u043a DenseNet, \u0441\u0447\u0438\u0442\u0430\u0435\u043c Grad\u2011CAM \u0434\u043b\u044f\u00a0\u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430, \u0440\u0430\u0441\u0442\u044f\u0433\u0438\u0432\u0430\u0435\u043c \u043a\u0430\u0440\u0442\u0443 \u0434\u043e\u00a0\u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0441\u043d\u0438\u043c\u043a\u0430 \u0438 \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u043c \u043f\u043e\u0432\u0435\u0440\u0445 \u0440\u0435\u043d\u0442\u0433\u0435\u043d\u0430.<\/p>\n<pre><code class=\"python\">import cv2import numpy as npimport torchimport torch.nn.functional as Ffrom PIL import Imagefrom torchvision import models, transformsclass DenseNetGradCAM:    def __init__(self, model, target_layer):        self.model = model        self.activations = None        self.gradients = None        target_layer.register_forward_hook(self._save_activation)        target_layer.register_full_backward_hook(self._save_gradient)    def _save_activation(self, module, inp, out):        self.activations = out.detach()    def _save_gradient(self, module, gin, gout):        self.gradients = gout[0].detach()    def __call__(self, x, class_idx=None):        self.model.zero_grad(set_to_none=True)        logits = self.model(x)        if class_idx is None:            class_idx = int(logits.argmax(dim=1).item())        logits[0, class_idx].backward()        weights = self.gradients.mean(dim=(2, 3), keepdim=True)        cam = F.relu((weights * self.activations).sum(dim=1, keepdim=True))        cam = cam.squeeze().cpu().numpy()        cam = (cam - cam.min()) \/ (cam.max() - cam.min() + 1e-8)        return cam, logits.detach()def overlay_heatmap(image_rgb, cam, alpha=0.45):    h, w = image_rgb.shape[:2]    heat = cv2.resize(cam, (w, h))    color = cv2.applyColorMap(np.uint8(255 * heat), cv2.COLORMAP_JET)    color = cv2.cvtColor(color, cv2.COLOR_BGR2RGB)    return np.clip((1 - alpha) * image_rgb + alpha * color, 0, 255).astype(np.uint8)# \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044fmodel = models.densenet121(weights=models.DenseNet121_Weights.IMAGENET1K_V1)# ...\u043f\u043e\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0441\u0432\u043e\u044e \u0433\u043e\u043b\u043e\u0432\u0443 \/ \u0432\u0435\u0441\u0430 \u0438 \u0447\u0438\u0441\u043b\u043e \u043a\u043b\u0430\u0441\u0441\u043e\u0432...cam_engine = DenseNetGradCAM(model, model.features[-1])raw = Image.open(\"xray.png\").convert(\"RGB\")tfm = transforms.Compose([    transforms.Resize((224, 224)),    transforms.ToTensor(),    transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),])x = tfm(raw).unsqueeze(0)cam, logits = cam_engine(x)overlay = overlay_heatmap(np.array(raw), cam)# \u0434\u0430\u043b\u044c\u0448\u0435: \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c GT \/ PRED \/ Conf<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:87px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<h3>\u041f\u043e\u0447\u0435\u043c\u0443 RAD\u2011DINO\u2011MAIRA-2<\/h3>\n<p>RAD\u2011DINO\u2011MAIRA-2\u00a0\u0443\u0447\u0438\u043b\u0438 \u0441\u0430\u043c\u043e\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435\u043c (DINOv2) \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043d\u0430 1,4\u00a0\u043c\u043b\u043d \u0440\u0435\u043d\u0442\u0433\u0435\u043d\u043e\u0432: MIMIC\u2011CXR, CheXpert, NIH, PadChest, BRAX \u0438 \u0435\u0449\u0451 \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0443\u043b. \u041d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u0430 \u043f\u043e\u0434\u00a0MIMIC\u2011CXR, \u0432\u0445\u043e\u0434\u00a0\u2014 518\u00d7518, \u043f\u0430\u0442\u0447\u0438\u00a0\u2014 14\u00d714. \u0414\u043b\u044f\u00a0\u0448\u0435\u0441\u0442\u0438 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0445 \u0433\u043e\u043b\u043e\u0432 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0442\u043e\u043d\u043a\u043e\u0439 \u0433\u043e\u043b\u043e\u0432\u044b \u043f\u043e\u0432\u0435\u0440\u0445 \u0437\u0430\u043c\u043e\u0440\u043e\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430: \u043e\u0431\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043c\u0435\u043d\u044c\u0448\u0435 0,25% \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u043d\u0430\u00a0A100 80\u00a0\u0413\u0411 \u043f\u0430\u043a\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 64\u00a0\u0438\u0434\u0451\u0442 \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e.<\/p>\n<p>\u041d\u0430\u00a0VinBigData \u0441\u043d\u0438\u043c\u043a\u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0447\u0438\u0441\u0442\u044b\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0437\u0430\u0442\u0438\u0440\u0430\u043d\u0438\u0435 \u043a\u0443\u0441\u043a\u043e\u0432 \u043a\u0430\u0434\u0440\u0430 \u0432\u00a0\u0444\u0438\u043d\u0430\u043b \u044f \u043d\u0435\u00a0\u0441\u0442\u0430\u0432\u0438\u043b. \u041d\u0430\u00a0\u0441\u044b\u0440\u044b\u0445 DICOM \u0438\u0437\u00a0\u0440\u0435\u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 \u0431\u0435\u0437\u00a0\u0442\u0430\u043a\u043e\u0439 \u0430\u0443\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u044f\u00a0\u0431\u044b \u043d\u0435\u00a0\u043f\u043e\u043b\u0435\u0437.<\/p>\n<p>\u0412\u00a0\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0418\u0418 \u043f\u043e\u043c\u043e\u0433\u0430\u043b \u0441\u00a0\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u043c\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c\u0438 (\u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c Claude Sonnet). Gemini \u0442\u043e\u0436\u0435 \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u00a0\u2014 \u043e\u043d \u0447\u0430\u0449\u0435 \u043e\u0448\u0438\u0431\u0430\u043b\u0441\u044f \u0438\u00a0\u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0442\u0435\u0440\u044f\u043b \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u0438\u043d\u043d\u043e\u0439 \u0441\u0435\u0441\u0441\u0438\u0438. \u041a\u043e\u0434 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b \u0441\u0430\u043c.<\/p>\n<h3>\u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u0443\u0437\u043a\u043e\u0435 \u043c\u0435\u0441\u0442\u043e\u00a0\u2014 \u043d\u0435\u00a0\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430, \u0430\u00a0\u0434\u0430\u043d\u043d\u044b\u0435<\/h3>\n<p>\u0421\u0430\u043c\u043e\u0435 \u0432\u0430\u0436\u043d\u043e\u0435 \u0434\u043b\u044f\u00a0\u0442\u0430\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u00a0\u2014 <strong>\u0447\u0438\u0441\u0442\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435<\/strong>, \u0430\u00a0\u043d\u0435 \u00ab\u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0441\u043b\u043e\u0439\u00bb \u0438\u043b\u0438\u00a0\u0434\u0440\u0443\u0433\u043e\u0439 backbone. \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0437\u0430\u00a0\u043d\u0435\u0434\u0435\u043b\u044e. \u0413\u0440\u044f\u0437\u043d\u0443\u044e \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0443 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0442\u0430\u0449\u0438\u0442\u044c \u0437\u0430\u00a0\u0441\u043e\u0431\u043e\u0439 \u043c\u0435\u0441\u044f\u0446\u0430\u043c\u0438: \u043c\u043e\u0434\u0435\u043b\u044c \u0432\u044b\u0443\u0447\u0438\u0442 \u0448\u0443\u043c, AUC \u043d\u0430\u00a0hold\u2011out \u0438\u0437\u00a0\u0442\u043e\u0439\u00a0\u0436\u0435 \u043a\u0430\u0448\u0438 \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u043c, \u0430\u00a0\u043d\u0430\u00a0\u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u043d\u0438\u043c\u043a\u0430\u0445 \u0432\u0441\u0451 \u0440\u0430\u0437\u0432\u0430\u043b\u0438\u0442\u0441\u044f. \u0414\u043b\u044f\u00a0\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043d\u0435\u00a0\u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0438\u043c\u0435\u043d\u043d\u043e <strong>\u0447\u0438\u0441\u0442\u044b\u0445 \u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u043d\u044b\u0445<\/strong> \u043c\u0435\u0442\u043e\u043a\u00a0\u2014 \u043c\u043d\u043e\u0433\u043e \u0441\u043d\u0438\u043c\u043a\u043e\u0432 \u0431\u0435\u0437\u00a0\u0440\u0430\u0434\u0438\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u0441\u00a0\u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0430\u043c\u0438 \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0437\u043c\u0435\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u0438 \u0441\u00a0\u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u0443\u044e\u0442 \u0441\u00a0\u043a\u043b\u0430\u0441\u0441\u043e\u043c.<\/p>\n<p>\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435: <strong>\u043d\u0435\u00a0\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u043b\u044f\u00a0\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u0430\u043c\u044b\u0439 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u0434\u0430\u0442\u0430\u0441\u0435\u0442 NIH ChestX\u2011ray \/ ChestX\u2011ray14<\/strong> \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e\u00a0\u043e\u043d \u00ab\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0438 \u0432\u0441\u0435 \u0435\u0433\u043e \u0441\u043e\u0432\u0435\u0442\u0443\u044e\u0442\u00bb. \u042d\u0442\u043e \u043a\u0430\u043a\u00a0\u0440\u0430\u0437 \u0442\u043e\u0442 \u043d\u0430\u0431\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043b\u044e\u0431\u0430\u044f \u043d\u0435\u0439\u0440\u043e\u043d\u043a\u0430 \u0438 \u043f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u043e\u0439 \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e\u0442 \u043f\u0435\u0440\u0432\u044b\u043c. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432\u00a0\u0442\u043e\u043c, \u0447\u0442\u043e\u00a0\u043e\u043d \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0433\u0440\u044f\u0437\u043d\u044b\u0439: \u043c\u0435\u0442\u043a\u0438 \u0447\u0430\u0441\u0442\u043e \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u044b \u0438\u0437\u00a0\u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u043e\u0442\u0447\u0451\u0442\u043e\u0432 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u043c\u043d\u043e\u0433\u043e \u0448\u0443\u043c\u0430, \u043b\u043e\u0436\u043d\u044b\u0445 \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u0439 \u0438 \u00ab\u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0445 \u043f\u0443\u0442\u0435\u0439\u00bb. DenseNet \u043d\u0430\u00a0\u043d\u0451\u043c \u043b\u0435\u0433\u043a\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0438\u043b\u0438\u0447\u043d\u044b\u0439 AUC \u0438 \u043f\u0440\u0438\u00a0\u044d\u0442\u043e\u043c \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u043d\u0435\u00a0\u0442\u0443\u0434\u0430\u00a0\u2014 \u0440\u043e\u0432\u043d\u043e \u0442\u043e, \u0447\u0442\u043e\u00a0\u044f \u043b\u043e\u0432\u0438\u043b \u043d\u0430\u00a0\u0442\u0435\u043f\u043b\u043e\u0432\u044b\u0445 \u043a\u0430\u0440\u0442\u0430\u0445.<\/p>\n<p>\u0411\u043e\u043b\u044c\u0448\u043e\u0439 \u0433\u0440\u044f\u0437\u043d\u044b\u0439 \u0434\u0430\u0442\u0430\u0441\u0435\u0442 \u0445\u0443\u0436\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0447\u0438\u0441\u0442\u043e\u0433\u043e. \u0415\u0441\u043b\u0438 \u0441\u0442\u0430\u0432\u0438\u0442\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u0441\u00a0\u043d\u0443\u043b\u044f, \u043b\u0443\u0447\u0448\u0435 VinBigData \/ CheXpert \/ MIMIC\u2011CXR \u0441\u00a0\u043f\u043e\u043d\u044f\u0442\u043d\u043e\u0439 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 \u0438 \u0440\u0443\u0447\u043d\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u0445\u043e\u0442\u044f\u00a0\u0431\u044b \u0447\u0430\u0441\u0442\u0438 \u043e\u0448\u0438\u0431\u043e\u043a, \u0447\u0435\u043c \u0433\u043d\u0430\u0442\u044c \u044d\u043f\u043e\u0445\u0438 \u043d\u0430\u00a0ChestX\u2011ray14\u00a0\u201c\u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e\u00a0\u0442\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0447\u0430\u0442\u2011\u0431\u043e\u0442\u201d.<\/p>\n<h3>\u0414\u0430\u043d\u043d\u044b\u0435\u00a0\u2014 \u0432\u0441\u0451 \u0441\u00a0Kaggle<\/h3>\n<p>\u041a\u0430\u0447\u0430\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u043d\u044b\u0435 \u043d\u0430\u0431\u043e\u0440\u044b \u0441\u00a0Kaggle. \u0415\u0441\u043b\u0438 \u0443\u00a0\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u043d\u0435\u00a0\u0431\u044b\u043b\u043e \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0441\u043d\u0438\u043c\u043a\u043e\u0432 \u0432\u00a0\u0430\u0440\u0445\u0438\u0432\u0435\u00a0\u2014 \u0442\u0430\u043a\u043e\u0439 \u0434\u0430\u0442\u0430\u0441\u0435\u0442 \u043d\u0435\u00a0\u0431\u0440\u0430\u043b. ChestX\u2011ray14\u00a0\u0432\u00a0\u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u043d\u0435\u00a0\u0431\u0440\u0430\u043b \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u2011\u0437\u0430 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u043c\u0435\u0442\u043e\u043a, \u0430\u00a0\u043d\u0435\u00a0\u0438\u0437\u2011\u0437\u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u0430.<\/p>\n<h4>VinBigData<\/h4>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b <code>vinbigdata-512-image-dataset<\/code>: 15\u202f000\u00a0\u0441\u043d\u0438\u043c\u043a\u043e\u0432 512\u00d7512\u00a0\u0441\u00a0\u0440\u0430\u0437\u043c\u0435\u0442\u043a\u043e\u0439 \u0440\u0430\u0434\u0438\u043e\u043b\u043e\u0433\u043e\u0432. \u041e\u0431\u044a\u0451\u043c \u043e\u043a\u043e\u043b\u043e 8\u00a0\u0413\u0411, \u043d\u0430\u00a0RunPod \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u043b \u0447\u0435\u0440\u0435\u0437 Kaggle API. \u042d\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u0430 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0430.<\/p>\n<pre><code class=\"python\">VIN_CLASS_MAP = {3: 0, 4: 1, 5: 2, 10: 3, 12: 4, 6: 5}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041e\u043a\u043e\u043b\u043e \u0447\u0430\u0441\u0430 \u0443\u0431\u0438\u043b \u043d\u0430\u00a0\u043f\u0443\u0442\u044c \u043a\u00a0\u0444\u0430\u0439\u043b\u0430\u043c: \u0432\u00a0\u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0430\u0445 \u0447\u0430\u0441\u0442\u043e \u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u0442 <code>\/data\/vin\/train\/<\/code>, \u0430\u00a0\u0432\u00a0\u0430\u0440\u0445\u0438\u0432\u0435 <code>awsaf49<\/code> \u043b\u0435\u0436\u0438\u0442 <code>vinbigdata\/train\/<\/code>. \u0415\u0441\u043b\u0438 \u043f\u0430\u043f\u043a\u0438 \u043d\u0435\u0442\u00a0\u2014 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0448\u044c 0\u00a0\u0441\u043d\u0438\u043c\u043a\u043e\u0432 \u0438 \u0443\u0445\u043e\u0434\u0438\u0448\u044c \u0432\u00a0\u043e\u0442\u043b\u0430\u0434\u043a\u0443 \u0447\u0435\u0440\u0435\u0437 <code>os.path.exists<\/code>.<\/p>\n<h4>OpenI<\/h4>\n<p>\u0414\u0430\u0442\u0430\u0441\u0435\u0442 <code>chest-xrays-indiana-university<\/code> \u0442\u043e\u0436\u0435 \u0432\u0437\u044f\u043b \u0441\u00a0Kaggle, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e\u00a0\u0441\u043d\u0438\u043c\u043a\u0438 \u0448\u043b\u0438 \u0432\u00a0\u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0435. \u0412\u00a0\u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u043f\u0440\u043e\u0433\u043e\u043d\u0435 OpenI \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b. \u042d\u0442\u043e 7466\u00a0\u043a\u0430\u0434\u0440\u043e\u0432. \u0413\u043e\u0442\u043e\u0432\u044b\u0445 \u043c\u0435\u0442\u043e\u043a \u043f\u043e\u0434\u00a0\u043d\u0430\u0448\u0438 \u0448\u0435\u0441\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043d\u0435\u0442\u00a0\u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u043e\u0442\u0447\u0451\u0442\u044b. \u041d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0440\u0430\u0437\u043c\u0435\u0442\u0447\u0438\u043a \u043d\u0430\u00a0\u043f\u0440\u0430\u0432\u0438\u043b\u0430\u0445:<\/p>\n<pre><code class=\"python\">RULES = {    0: [\"cardiomegaly\", \"cardiac enlargement\", \"heart is enlarged\"],    1: [\"atelectasis\", \"atelectatic\", \"collapse\", \"collapsed\"],    2: [\"consolidation\", \"consolidative\", \"opacification\"],    3: [\"pleural effusion\", \"effusion\", \"pleural fluid\"],    4: [\"pneumothorax\"],    5: [\"pulmonary edema\", \"edema\", \"vascular congestion\"],}NEGATIONS = [    \"no \",    \"not \",    \"without \",    \"negative for \",    \"no evidence of \",]<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0420\u0430\u0437\u043c\u0435\u0442\u043a\u0430 \u0448\u0443\u043c\u043d\u0430\u044f: \u0441\u043b\u043e\u0432\u043e <code>effusion<\/code> \u0438\u043d\u043e\u0433\u0434\u0430 \u0446\u0435\u043f\u043b\u044f\u0435\u0442\u00a0\u043b\u0438\u0448\u043d\u0435\u0435. \u0417\u0430\u0442\u043e \u044d\u0442\u043e \u0434\u0430\u043b\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0451\u043c \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<h4>\u0418\u0442\u043e\u0433\u043e<\/h4>\n<p>\u0412\u00a0\u0441\u0443\u043c\u043c\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c 22\u202f466\u00a0\u0441\u043d\u0438\u043c\u043a\u0430. \u0414\u0435\u043b\u0435\u043d\u0438\u0435 85\/15: \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435\u00a0\u2014 19\u202f096, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430\u00a0\u2014 3\u202f370.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p>\u041a\u043b\u0430\u0441\u0441<\/p>\n<\/th>\n<th>\n<p>pos<\/p>\n<\/th>\n<th>\n<p>pos_weight<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Cardiomegaly<\/p>\n<\/td>\n<td>\n<p align=\"left\">2849<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.9\u00d7<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Atelectasis<\/p>\n<\/td>\n<td>\n<p align=\"left\">1101<\/p>\n<\/td>\n<td>\n<p align=\"left\">19.4\u00d7<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Consolidation<\/p>\n<\/td>\n<td>\n<p align=\"left\">2744<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.2\u00d7<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Pleural Effusion<\/p>\n<\/td>\n<td>\n<p align=\"left\">6436<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.5\u00d7<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Pneumothorax<\/p>\n<\/td>\n<td>\n<p align=\"left\">2882<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.8\u00d7<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Edema<\/p>\n<\/td>\n<td>\n<p align=\"left\">1272<\/p>\n<\/td>\n<td>\n<p align=\"left\">16.7\u00d7<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><code>pos_weight<\/code> \u0448\u0451\u043b \u0432 <code>BCEWithLogitsLoss<\/code>. \u0420\u0435\u043d\u0442\u0433\u0435\u043d\u043e\u043b\u043e\u0433\u043e\u0432 \u043d\u0430\u00a0\u0440\u0430\u0437\u0431\u043e\u0440 \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0435\u00a0\u0437\u0432\u0430\u043b\u00a0\u2014 \u0441\u043c\u043e\u0442\u0440\u0435\u043b \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0438 \u043a\u0430\u0440\u0442\u044b \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0441\u0430\u043c.<\/p>\n<h3>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430<\/h3>\n<p>\u041f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u0442\u0430\u043a\u043e\u0439:<\/p>\n<ol>\n<li>\n<p>\u0432\u0445\u043e\u0434 518\u00d7518<\/p>\n<\/li>\n<li>\n<p><code>AutoImageProcessor<\/code> (\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e\u0434\u00a0MIMIC\u2011CXR)<\/p>\n<\/li>\n<li>\n<p>RAD\u2011DINO\u2011MAIRA-2\u00a0\u2014 \u0437\u0430\u043c\u043e\u0440\u043e\u0436\u0435\u043d, ~86,5\u00a0\u043c\u043b\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>CLS\u2011\u0442\u043e\u043a\u0435\u043d \u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u0438 768<\/p>\n<\/li>\n<li>\n<p>\u0433\u043e\u043b\u043e\u0432\u0430: <code>LayerNorm \u2192 Linear(768\u2192256) \u2192 GELU \u2192 Dropout(0.3) \u2192 Linear(256\u21926)<\/code><\/p>\n<\/li>\n<li>\n<p>\u0448\u0435\u0441\u0442\u044c \u043b\u043e\u0433\u0438\u0442\u043e\u0432 \u2192 \u0441\u0438\u0433\u043c\u043e\u0438\u0434\u0430<\/p>\n<\/li>\n<\/ol>\n<pre><code class=\"python\">class ChestClassifier(nn.Module):    def __init__(self):        super().__init__()        self.backbone = AutoModel.from_pretrained(            \"microsoft\/rad-dino-maira-2\",            trust_remote_code=True,        )        for p in self.backbone.parameters():            p.requires_grad = False        self.head = nn.Sequential(            nn.LayerNorm(768),            nn.Linear(768, 256),            nn.GELU(),            nn.Dropout(0.3),            nn.Linear(256, 6),        )    def forward(self, pixel_values):        cls = self.backbone(pixel_values=pixel_values).last_hidden_state[:, 0, :]        return self.head(cls)<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041e\u0431\u0443\u0447\u0430\u0435\u0442\u0441\u044f 199\u202f942\u00a0\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0438\u0437 86\u202f780\u202f422.<\/p>\n<h3>\u0410\u0443\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/h3>\n<pre><code class=\"python\">train_aug = A.Compose([    A.RandomResizedCrop(        size=(518, 518),        scale=(0.85, 1.0),        ratio=(0.95, 1.05),    ),    A.ShiftScaleRotate(        shift_limit=0.05,        scale_limit=0,        rotate_limit=7,        p=0.5,    ),    A.RandomBrightnessContrast(        brightness_limit=0.1,        contrast_limit=0.1,        p=0.5,    ),])<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0442\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043d\u0435\u00a0\u0441\u0442\u0430\u0432\u0438\u043b: \u0441\u0435\u0440\u0434\u0446\u0435 \u0441\u043b\u0435\u0432\u0430, \u0437\u0435\u0440\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0442\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043b\u043e\u043c\u0430\u0435\u0442 \u0430\u043d\u0430\u0442\u043e\u043c\u0438\u044e.<\/p>\n<h3>\u0414\u0432\u0430 \u043d\u0430\u0431\u043e\u0440\u0430\u00a0\u2014 \u0434\u0432\u0430 \u0432\u0435\u0441\u0430 \u0432\u00a0\u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0442\u0435\u0440\u044c<\/h3>\n<pre><code class=\"python\">LOSS_W = torch.tensor([3.0, 2.0])  # vin, openidef loss_fn(logits, labels, src_ids):    base = F.binary_cross_entropy_with_logits(        logits, labels, pos_weight=pos_weight, reduction=\"none\"    )    return (base * LOSS_W[src_ids].unsqueeze(1)).mean()<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043b\u044e\u0441 <code>WeightedRandomSampler<\/code>: OpenI\u00a0\u2014 5\u00d7, Vin\u00a0\u2014 1\u00d7. \u0411\u0435\u0437\u00a0\u044d\u0442\u043e\u0433\u043e \u0440\u0435\u0434\u043a\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043f\u0440\u043e\u0441\u0435\u0434\u0430\u043b\u0438.<\/p>\n<h3>\u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435<\/h3>\n<p>\u041e\u0431\u0443\u0447\u0430\u043b \u043d\u0430\u00a0RunPod, A100 80\u00a0\u0413\u0411. \u0411\u044e\u0434\u0436\u0435\u0442 \u044d\u0442\u043e\u0439 \u0432\u0435\u0442\u043a\u0438\u00a0\u2014 \u043e\u043a\u043e\u043b\u043e $300.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440<\/p>\n<\/th>\n<th>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0442\u043e\u0440<\/p>\n<\/td>\n<td>\n<p align=\"left\">AdamW, lr=1e-4, weight_decay=1e-4<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0420\u0430\u0437\u043c\u0435\u0440 \u043f\u0430\u043a\u0435\u0442\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">64<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0422\u043e\u0447\u043d\u043e\u0441\u0442\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">bf16\u00a0+ GradScaler<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a<\/p>\n<\/td>\n<td>\n<p align=\"left\">ReduceLROnPlateau, patience=3<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0420\u0430\u043d\u043d\u044f\u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">patience=7\u00a0\u043f\u043e\u00a0macro AUC<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u044d\u043f\u043e\u0445<\/p>\n<\/td>\n<td>\n<p align=\"left\">30<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0423\u0440\u043e\u043a \u043f\u043e\u0441\u043b\u0435 \u043a\u0443\u0447\u0438 \u0441\u043e\u0440\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u043e\u043d\u043e\u0432: \u043f\u043e\u0441\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0439 \u044d\u043f\u043e\u0445\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u043b\u0443\u0447\u0448\u0438\u0435 \u0432\u0435\u0441\u0430 \u0438 \u0441\u0440\u0430\u0437\u0443 \u0437\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u0432\u044b\u0445\u043e\u0434. \u0415\u0441\u043b\u0438 \u043c\u043e\u0434\u0435\u043b\u044c N \u044d\u043f\u043e\u0445 \u043f\u043e\u0434\u0440\u044f\u0434 \u0441\u0435\u0431\u044f \u043d\u0435\u00a0\u043f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u0438\u0442\u00a0\u2014 \u0441\u0442\u043e\u043f. \u0411\u0435\u0437\u00a0\u044d\u0442\u043e\u0433\u043e \u043b\u0435\u0433\u043a\u043e \u043f\u043e\u043b\u0434\u043d\u044f\u00a0\u0436\u0435\u0447\u044c GPU \u0432\u043f\u0443\u0441\u0442\u0443\u044e.<\/p>\n<pre><code>Epoch 00 | loss=2.616 | AUC=0.880Epoch 03 | loss=1.939 | AUC=0.899Epoch 09 | loss=1.621 | AUC=0.903  \u2190 \u043b\u0443\u0447\u0448\u0438\u0439Epoch 16 | \u0440\u0430\u043d\u043d\u044f\u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430, best AUC=0.9025<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 9-\u0439 \u044d\u043f\u043e\u0445\u0438 \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c \u043f\u043b\u0430\u0442\u043e. \u041f\u043e\u043b\u043d\u043e\u0435 \u0434\u043e\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043e\u0441\u043d\u043e\u0432\u044b \u043d\u0435\u00a0\u0433\u043e\u043d\u044f\u043b.<\/p>\n<h3>\u041c\u0435\u0442\u0440\u0438\u043a\u0438 \u043f\u043e\u00a0\u043a\u043b\u0430\u0441\u0441\u0430\u043c<\/h3>\n<p>\u041b\u0443\u0447\u0448\u0438\u0439 \u0447\u0435\u043a\u043f\u043e\u0438\u043d\u0442 \u043d\u0430\u00a0RAD\u2011DINO:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p>\u041a\u043b\u0430\u0441\u0441<\/p>\n<\/th>\n<th>\n<p>AUC\u2011ROC<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Cardiomegaly<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.961<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Pleural Effusion<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.927<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Pneumothorax<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.901<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Atelectasis<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.899<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Edema<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.867<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Consolidation<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.861<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Macro AUC\u00a0\u2014 \u043d\u0430 15% \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u0447\u043d\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u0438\u0437\u00a0\u0442\u043e\u0439\u00a0\u0436\u0435 \u0441\u043c\u0435\u0441\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0442\u0435\u0441\u0442\u0430 \u043d\u0435\u0442: \u0434\u043b\u044f\u00a0\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u043c\u0430\u043b\u043e, \u043d\u0430\u00a0CheXpert \u0446\u0438\u0444\u0440\u044b \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043f\u043e\u043b\u0437\u0442\u0438. \u041e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u0431\u043e\u0440 \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u043e\u00a0\u0441\u043d\u0438\u043c\u043a\u0430\u043c \u0434\u043b\u044f\u00a0\u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0435\u0449\u0451 \u043d\u0435\u00a0\u0434\u0435\u043b\u0430\u043b\u00a0\u2014 \u044d\u0442\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0448\u0430\u0433.<\/p>\n<h3>\u041f\u0440\u043e\u0433\u043e\u043d \u0438 \u043a\u0430\u0440\u0442\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0434\u043b\u044f\u00a0RAD\u2011DINO<\/h3>\n<p>\u0414\u043b\u044f\u00a0\u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043e\u0441\u0442\u0430\u0432\u0438\u043b \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u0438 \u0441\u0442\u0440\u043e\u0438\u0442 \u043a\u0430\u0440\u0442\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0441\u043b\u043e\u044f \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0435\u0440\u0430. \u042d\u0442\u043e \u043d\u0435\u00a0Grad\u2011CAM\u00a0\u2014 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0438\u0434\u043d\u043e, \u043a\u0443\u0434\u0430 \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u0431\u043b\u043e\u043a. \u041d\u0430\u00a0DenseNet \u0442\u0430\u043a \u044f \u0438 \u043b\u043e\u0432\u0438\u043b \u0437\u0443\u0431\u0440\u0451\u0436\u043a\u0443 \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u043e\u0432. \u041d\u0430\u00a0RAD\u2011DINO \u0432\u00a0\u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u043f\u0440\u043e\u0433\u043e\u043d\u0435 \u043a\u0430\u0440\u0442\u0430\u043c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0440\u0435\u0436\u0435, \u0432\u00a0\u0441\u0442\u0430\u0442\u044c\u044e \u0438\u0445 \u043d\u0435\u00a0\u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043b, \u043d\u043e\u00a0\u043a\u043e\u0434 \u043e\u0441\u0442\u0430\u0432\u0438\u043b \u0434\u043b\u044f\u00a0\u043e\u0442\u043b\u0430\u0434\u043a\u0438.<\/p>\n<pre><code class=\"python\">processor = AutoImageProcessor.from_pretrained(\"microsoft\/rad-dino-maira-2\")model = ChestClassifier()model.load_state_dict(torch.load(\"best_model.pth\"))model.eval()raw_img = Image.open(path).convert(\"RGB\")inputs = processor(images=raw_img, return_tensors=\"pt\")with torch.no_grad():    outputs = model.backbone(**inputs, output_attentions=True)    logits = model.head(outputs.last_hidden_state[:, 0, :])    probs = torch.sigmoid(logits[0])    attn = outputs.attentions[-1][0][:, 0, 1:].mean(dim=0)    grid = int(np.sqrt(attn.shape[0]))    heatmap = attn.reshape(grid, grid).numpy()<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0413\u043e\u043b\u043e\u0432\u0430 \u0432\u0435\u0441\u0438\u0442 \u043e\u043a\u043e\u043b\u043e 800\u00a0\u041a\u0411. \u041e\u0441\u043d\u043e\u0432\u0443 \u043a\u0430\u0447\u0430\u0435\u0442 Hugging Face \u043f\u043e\u0434\u00a0MSRLA. \u0412\u0435\u0441\u0430 \u0438 \u044d\u0442\u0430\u043f\u044b \u0443\u00a0\u043c\u0435\u043d\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \/ \u0432\u00a0\u0437\u0430\u043a\u0440\u044b\u0442\u043e\u043c git\u00a0\u2014 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e \u043d\u0435\u00a0\u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043b.<\/p>\n<h3>\u0427\u0442\u043e\u00a0\u0434\u0430\u043b\u044c\u0448\u0435<\/h3>\n<p>\u0420\u0430\u0437\u043c\u043e\u0440\u043e\u0437\u0438\u043b\u00a0\u0431\u044b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 2\u20134\u00a0\u0431\u043b\u043e\u043a\u0430 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430. OpenI \u043f\u043e\u0447\u0438\u0441\u0442\u0438\u043b\u00a0\u0431\u044b \u0436\u0451\u0441\u0442\u0447\u0435 \u0438\u043b\u0438\u00a0\u0432\u043e\u0432\u0441\u0435 \u0432\u044b\u043a\u0438\u043d\u0443\u043b. \u041d\u0430\u00a0\u0440\u0435\u0430\u043d\u0438\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u043d\u0438\u043c\u043a\u0430\u0445 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u00a0\u0431\u044b \u0437\u0430\u0442\u0438\u0440\u0430\u043d\u0438\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u0438 \u043e\u0431\u0440\u0435\u0437\u043a\u0443 \u0442\u0440\u0443\u0431\u043e\u043a. \u0412\u043d\u0435\u0448\u043d\u044f\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430. \u0414\u043b\u044f\u00a0\u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0443\u0436\u0435\u043d \u0442\u0430\u043a\u043e\u0439\u00a0\u0436\u0435 \u0440\u0430\u0437\u0431\u043e\u0440 \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u043e\u00a0\u0441\u043d\u0438\u043c\u043a\u0430\u043c, \u043a\u0430\u043a\u00a0\u044f \u0434\u0435\u043b\u0430\u043b \u0434\u043b\u044f\u00a0DenseNet.<\/p>\n<p>\u0421\u0435\u0439\u0447\u0430\u0441 \u0438\u0449\u0443 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u043e\u0434\u00a0\u043a\u043b\u0438\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u044f \u0434\u043b\u044f\u00a0\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438\u0437\u0434\u0435\u043b\u0438\u044f 3\u00a0\u043a\u043b\u0430\u0441\u0441\u0430 \u0440\u0438\u0441\u043a\u0430 \u0432\u00a0\u0420\u0424.<\/p>\n<h3>\u041f\u043e\u00a0\u0446\u0438\u0444\u0440\u0430\u043c<\/h3>\n<p>\u041e\u043a\u0442\u044f\u0431\u0440\u044c 2025\u00a0\u2014 \u0430\u043f\u0440\u0435\u043b\u044c 2026. \u0414\u0430\u043d\u043d\u044b\u0435\u00a0\u2014 \u0441\u00a0Kaggle, \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u043d\u044b\u0435 \u043d\u0430\u0431\u043e\u0440\u044b \u0441\u043e \u0441\u043d\u0438\u043c\u043a\u0430\u043c\u0438.\u00a0\u0416\u0435\u043b\u0435\u0437\u043e\u00a0\u2014 A100 80\u00a0\u0413\u0411, \u043e\u043a\u043e\u043b\u043e $300. \u041e\u0431\u0443\u0447\u0430\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u0433\u043e\u043b\u043e\u0432\u0443 \u043f\u043e\u0432\u0435\u0440\u0445 RAD\u2011DINO\u2011MAIRA-2. Macro AUC\u00a0\u2014 0.90. \u0414\u043b\u044f\u00a0\u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430 \u044d\u0442\u043e\u0433\u043e \u0445\u0432\u0430\u0442\u0430\u0435\u0442. \u0414\u043b\u044f\u00a0\u043a\u043b\u0438\u043d\u0438\u043a\u0438\u00a0\u2014 \u043f\u043e\u043a\u0430 \u043d\u0435\u0442.<\/p>\n<p>\u0421\u0442\u0430\u0442\u044c\u044f \u043f\u0440\u043e\u00a0\u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435, \u0430\u00a0\u043d\u0435\u00a0\u043f\u0440\u043e\u00a0\u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0438\u0437\u0434\u0435\u043b\u0438\u0435.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/735\/902\/58e\/73590258ee4613f7cc1243e722eae04e.png\" alt=\"\u0422\u0435\u043f\u043b\u043e\u0432\u0430\u044f \u043a\u0430\u0440\u0442\u0430 Densenet121 \u043a\u0443\u0434\u0430 \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u043c\u043e\u0434\u0435\u043b\u044c \u0441\u0432\u0438\u043d\u0446\u043e\u0432\u044b\u0435 \u0431\u0443\u043a\u0432\u044b \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f, \u043a\u0430\u043a \u043f\u0430\u0442\u043e\u043b\u043e\u0433\u0438\u044f\" title=\"\u0422\u0435\u043f\u043b\u043e\u0432\u0430\u044f \u043a\u0430\u0440\u0442\u0430 Densenet121 \u043a\u0443\u0434\u0430 \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u043c\u043e\u0434\u0435\u043b\u044c \u0441\u0432\u0438\u043d\u0446\u043e\u0432\u044b\u0435 \u0431\u0443\u043a\u0432\u044b \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f, \u043a\u0430\u043a \u043f\u0430\u0442\u043e\u043b\u043e\u0433\u0438\u044f\" width=\"1553\" height=\"611\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/735\/902\/58e\/73590258ee4613f7cc1243e722eae04e.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/735\/902\/58e\/73590258ee4613f7cc1243e722eae04e.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0422\u0435\u043f\u043b\u043e\u0432\u0430\u044f \u043a\u0430\u0440\u0442\u0430 Densenet121\u00a0\u043a\u0443\u0434\u0430 \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u043c\u043e\u0434\u0435\u043b\u044c \u0441\u0432\u0438\u043d\u0446\u043e\u0432\u044b\u0435 \u0431\u0443\u043a\u0432\u044b \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f, \u043a\u0430\u043a\u00a0\u043f\u0430\u0442\u043e\u043b\u043e\u0433\u0438\u044f<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/17b\/106\/8fd\/17b1068fdc7da1be2a7aca5bc332d2ad.png\" width=\"767\" height=\"405\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/17b\/106\/8fd\/17b1068fdc7da1be2a7aca5bc332d2ad.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/17b\/106\/8fd\/17b1068fdc7da1be2a7aca5bc332d2ad.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9ac\/cc8\/171\/9accc81717549b17767dfb5988db6c47.png\" alt=\"\u0422\u0435\u043f\u043b\u043e\u0432\u0430\u044f \u043a\u0430\u0440\u0442\u0430 Densenet121 \u043a\u0443\u0434\u0430 \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u043c\u043e\u0434\u0435\u043b\u044c\" title=\"\u0422\u0435\u043f\u043b\u043e\u0432\u0430\u044f \u043a\u0430\u0440\u0442\u0430 Densenet121 \u043a\u0443\u0434\u0430 \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u043c\u043e\u0434\u0435\u043b\u044c\" width=\"1579\" height=\"586\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/9ac\/cc8\/171\/9accc81717549b17767dfb5988db6c47.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9ac\/cc8\/171\/9accc81717549b17767dfb5988db6c47.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0422\u0435\u043f\u043b\u043e\u0432\u0430\u044f \u043a\u0430\u0440\u0442\u0430 Densenet121\u00a0\u043a\u0443\u0434\u0430 \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u043c\u043e\u0434\u0435\u043b\u044c<\/figcaption><\/div>\n<\/figure>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1062678\/\">https:\/\/habr.com\/ru\/articles\/1062678\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0448\u0435\u0441\u0442\u0438 \u043f\u0430\u0442\u043e\u043b\u043e\u0433\u0438\u0439 \u043d\u0430\u00a0\u0440\u0435\u043d\u0442\u0433\u0435\u043d\u0435: \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0433\u043e\u043b\u043e\u0432\u044b \u043f\u043e\u0432\u0435\u0440\u0445 RAD\u2011DINO\u2011MAIRA-2\u0421\u00a0\u043e\u043a\u0442\u044f\u0431\u0440\u044f 2025\u00a0\u043f\u043e\u00a0\u0430\u043f\u0440\u0435\u043b\u044c 2026\u00a0\u044f \u0441\u043e\u0431\u0438\u0440\u0430\u043b \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f: \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0440\u0435\u043d\u0442\u0433\u0435\u043d\u043e\u0432\u0441\u043a\u0438\u0439 \u0441\u043d\u0438\u043c\u043e\u043a \u0433\u0440\u0443\u0434\u043d\u043e\u0439 \u043a\u043b\u0435\u0442\u043a\u0438 \u0438 \u0434\u043b\u044f\u00a0\u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437\u00a0\u0448\u0435\u0441\u0442\u0438 \u043f\u0430\u0442\u043e\u043b\u043e\u0433\u0438\u0439 \u0432\u044b\u0434\u0430\u0451\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c.\u042d\u0442\u043e \u043d\u0435\u00a0\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f (\u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0435\u00a0\u0440\u0438\u0441\u0443\u0435\u0442 \u043c\u0430\u0441\u043a\u0438 \u043e\u0440\u0433\u0430\u043d\u043e\u0432) \u0438 \u043d\u0435\u00a0\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u043e\u0442\u0447\u0451\u0442\u0430. \u042d\u0442\u043e \u043c\u043d\u043e\u0433\u043e\u043c\u0435\u0442\u043e\u0447\u043d\u0430\u044f \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f: \u043d\u0430\u00a0\u0432\u044b\u0445\u043e\u0434\u0435\u00a0\u2014 \u0448\u0435\u0441\u0442\u044c \u0447\u0438\u0441\u0435\u043b \u043e\u0442 0\u00a0\u0434\u043e 1. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: \u00ab\u043f\u043b\u0435\u0432\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u043e\u0442\u00a0\u2014 87%, \u043f\u043d\u0435\u0432\u043c\u043e\u0442\u043e\u0440\u0430\u043a\u0441\u00a0\u2014 12%, \u043a\u0430\u0440\u0434\u0438\u043e\u043c\u0435\u0433\u0430\u043b\u0438\u044f\u00a0\u2014 3%\u00bb \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435 \u043f\u043e\u00a0\u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c \u043a\u043b\u0430\u0441\u0441\u0430\u043c. \u042d\u0442\u043e \u043d\u0435\u00a0\u0434\u0438\u0430\u0433\u043d\u043e\u0437 \u0438 \u043d\u0435\u00a0\u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0432\u0440\u0430\u0447\u0430, \u0430\u00a0\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u043d\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430 \u043f\u043e\u00a0\u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u0441\u043f\u0438\u0441\u043a\u0443 \u043f\u0430\u0442\u043e\u043b\u043e\u0433\u0438\u0439.\u041f\u043e\u043b\u043d\u043e\u0435 \u0434\u043e\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0441\u0435\u0442\u0438 \u0441\u0440\u0430\u0437\u0443 \u043d\u0435\u00a0\u0442\u044f\u043d\u0443\u043b: \u044d\u0442\u043e \u0434\u043e\u0440\u043e\u0433\u043e, \u0434\u043e\u043b\u0433\u043e, \u0438 \u043d\u0430\u00a0\u0434\u0435\u0441\u044f\u0442\u043a\u0430\u0445 \u0442\u044b\u0441\u044f\u0447 \u0441\u043d\u0438\u043c\u043a\u043e\u0432 \u043b\u0435\u0433\u043a\u043e \u0443\u0439\u0442\u0438 \u0432\u00a0\u043f\u0435\u0440\u0435\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0437\u0430\u043c\u043e\u0440\u043e\u0437\u0438\u043b \u0442\u044f\u0436\u0451\u043b\u044b\u0439 \u043f\u0440\u0435\u0434\u043e\u0431\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0438 \u043e\u0431\u0443\u0447\u0430\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0433\u043e\u043b\u043e\u0432\u0443. Macro AUC \u043d\u0430\u00a0\u043f\u0440\u043e\u0432\u0435\u0440\u043e\u0447\u043d\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435\u00a0\u2014 0.9025, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0437\u0430\u00a0\u0434\u0435\u0441\u044f\u0442\u043e\u043a \u044d\u043f\u043e\u0445. \u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0448\u043b\u043e \u043d\u0430\u00a0A100 80\u00a0\u0413\u0411\u00a0\u2014 \u0434\u043b\u044f\u00a0\u044d\u0442\u043e\u0439 \u0441\u0445\u0435\u043c\u044b \u0431\u0440\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043c\u043e\u0449\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0443 \u0441\u043c\u044b\u0441\u043b\u0430 \u043d\u0435\u00a0\u0431\u044b\u043b\u043e. \u041d\u0430\u00a0RunPod \u0443\u0448\u043b\u043e \u043e\u043a\u043e\u043b\u043e $300.\u041d\u0435\u0443\u0434\u0430\u0447\u043d\u044b\u0445 \u043f\u043e\u043f\u044b\u0442\u043e\u043a\u00a0\u0431\u044b\u043b\u043e \u043c\u043d\u043e\u0433\u043e\u00a0\u2014 \u0432\u00a0\u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043d\u0430\u00a0DenseNet121, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u044f \u043f\u0435\u0440\u0435\u0448\u0451\u043b \u043d\u0430\u00a0RAD\u2011DINO. \u041d\u0438\u0436\u0435\u00a0\u2014 \u0447\u0442\u043e\u00a0\u0432\u00a0\u0438\u0442\u043e\u0433\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e, \u0433\u0434\u0435 \u044f \u043e\u0448\u0438\u0431\u0441\u044f \u0441\u00a0\u043f\u0443\u0442\u044f\u043c\u0438 \u043a\u00a0\u0434\u0430\u043d\u043d\u044b\u043c \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043e\u0442\u00a0\u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u0442\u0440\u0430\u0436\u0435\u043d\u0438\u044f. \u0421\u0435\u0439\u0447\u0430\u0441 \u0438\u0449\u0443 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044e \u0434\u043b\u044f\u00a0\u043a\u043b\u0438\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0439, \u0447\u0442\u043e\u0431\u044b \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0437\u0434\u0435\u043b\u0438\u0435 3\u00a0\u043a\u043b\u0430\u0441\u0441\u0430 \u0440\u0438\u0441\u043a\u0430 \u0432\u00a0\u0420\u0424. \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f\u00a0\u2014 \u043f\u0440\u043e\u00a0\u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f, \u0430\u00a0\u043d\u0435\u00a0\u043f\u0440\u043e\u00a0\u043a\u043b\u0438\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435.\u0414\u0438\u0441\u043a\u043b\u0435\u0439\u043c\u0435\u0440. \u042d\u0442\u043e \u043d\u0435\u00a0\u0421\u042d\u041c\u0414 \u0438 \u043d\u0435\u00a0\u0437\u0430\u043c\u0435\u043d\u0430 \u0440\u0435\u043d\u0442\u0433\u0435\u043d\u043e\u043b\u043e\u0433\u0443. \u0412\u00a0\u043e\u0441\u043d\u043e\u0432\u0435 \u043b\u0435\u0436\u0438\u0442 microsoft\/rad-dino-maira-2 \u043f\u043e\u0434\u00a0\u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 MSRLA\u00a0\u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f\u00a0\u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439.\u0417\u0430\u0434\u0430\u0447\u0430\u0428\u0435\u0441\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0438\u0437\u00a0VinBigData Challenge:\u2116\u041a\u043b\u0430\u0441\u0441\u0427\u0442\u043e\u00a0\u044d\u0442\u043e0Cardiomegaly\u0423\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0434\u0446\u04301Atelectasis\u0410\u0442\u0435\u043b\u0435\u043a\u0442\u0430\u04372Consolidation\u041a\u043e\u043d\u0441\u043e\u043b\u0438\u0434\u0430\u0446\u0438\u044f3Pleural Effusion\u041f\u043b\u0435\u0432\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u043e\u04424Pneumothorax\u041f\u043d\u0435\u0432\u043c\u043e\u0442\u043e\u0440\u0430\u043a\u04415Edema\u041e\u0442\u0451\u043a \u043b\u0451\u0433\u043a\u0438\u0445\u041e\u0434\u0438\u043d \u0441\u043d\u0438\u043c\u043e\u043a \u043c\u043e\u0436\u0435\u0442 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u044c\u0441\u044f \u043a\u00a0\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u043a\u043b\u0430\u0441\u0441\u0430\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u00a0\u0432\u044b\u0445\u043e\u0434\u0435 \u0441\u0442\u043e\u044f\u0442 \u0448\u0435\u0441\u0442\u044c \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u0441\u0438\u0433\u043c\u043e\u0438\u0434, \u0430\u00a0\u043d\u0435\u00a0\u043e\u0434\u0438\u043d Softmax.DenseNet121\u00a0\u2014 \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0441\u044f\u041f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u043e\u0439 \u0418\u0418 \u043d\u0430\u00a0\u0432\u043e\u043f\u0440\u043e\u0441 \u00ab\u043a\u0430\u043a \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u043d\u0442\u0433\u0435\u043d\u00bb \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 DenseNet121, \u043f\u0440\u0435\u0434\u043e\u0431\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u00a0ImageNet. \u042f \u043d\u0430\u00a0\u044d\u0442\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u043f\u043e\u0432\u0451\u043b\u0441\u044f. \u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043d\u0435\u00a0\u0440\u0430\u0437 \u0440\u0443\u0448\u0438\u043b\u043e\u0441\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430\u00a0\u044d\u0442\u043e\u0439 \u0432\u0435\u0442\u043a\u0435.\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0443\u0434\u0430 \u0441\u0435\u0442\u044c \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u0438 \u043d\u0430\u00a0\u0447\u0451\u043c \u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u044b\u0432\u043e\u0434, \u044f \u0441\u0442\u0440\u043e\u0438\u043b \u0442\u0435\u043f\u043b\u043e\u0432\u044b\u0435 \u043a\u0430\u0440\u0442\u044b (Grad\u2011CAM) \u043f\u043e\u0432\u0435\u0440\u0445 \u0441\u043d\u0438\u043c\u043a\u0430: \u043a\u0440\u0430\u0441\u043d\u044b\u0435 \u0437\u043e\u043d\u044b\u00a0\u2014 \u043e\u0431\u043b\u0430\u0441\u0442\u0438, \u043d\u0430\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u043f\u0438\u0440\u0430\u043b\u0430\u0441\u044c \u0441\u0438\u043b\u044c\u043d\u0435\u0435 \u0432\u0441\u0435\u0433\u043e. \u041d\u0430\u00a0\u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0430\u0445 \u043d\u0438\u0436\u0435\u00a0\u2014 \u043d\u0435\u00a0\u0438\u0442\u043e\u0433\u043e\u0432\u0430\u044f RAD\u2011DINO, \u0430\u00a0\u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0433\u043e\u043d\u044b DenseNet121\u00a0\u0432\u00a0Google Colab. \u041d\u0430\u0434 \u043a\u0430\u0436\u0434\u044b\u043c \u043a\u0430\u0434\u0440\u043e\u043c \u0442\u0440\u0438 \u0441\u0442\u0440\u043e\u043a\u0438: GT (\u0438\u0441\u0442\u0438\u043d\u043d\u0430\u044f \u043c\u0435\u0442\u043a\u0430), PRED (\u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0435) \u0438 Conf (\u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c). \u0417\u0435\u043b\u0451\u043d\u044b\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0438\u00a0\u2014 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435, \u043a\u0440\u0430\u0441\u043d\u044b\u0435\u00a0\u2014 \u043e\u0448\u0438\u0431\u043a\u0430.\u041b\u043e\u0436\u043d\u044b\u0435 \u00ab\u0437\u0434\u043e\u0440\u043e\u0432\u00bb. \u0412\u00a0\u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0435\u00a0\u2014 \u0432\u044b\u043f\u043e\u0442, \u043f\u043d\u0435\u0432\u043c\u043e\u0442\u043e\u0440\u0430\u043a\u0441 \u0438\u043b\u0438\u00a0\u043a\u0430\u0440\u0434\u0438\u043e\u043c\u0435\u0433\u0430\u043b\u0438\u044f, \u0430\u00a0DenseNet \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e \u0441\u0442\u0430\u0432\u0438\u0442 \u00abNo Finding\u00bb \u0441\u00a0\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e 81\u201394%.\u00a0\u0411\u044b\u043b \u0441\u043b\u0443\u0447\u0430\u0439 \u0441\u00a0\u043a\u0430\u0440\u0434\u0438\u043e\u043c\u0435\u0433\u0430\u043b\u0438\u0435\u0439 \u043f\u0440\u0438 99,3% \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u0447\u0442\u043e\u00a0\u043d\u0430\u0445\u043e\u0434\u043e\u043a \u043d\u0435\u0442. \u041a\u0430\u0440\u0442\u0430 \u043f\u0440\u0438\u00a0\u044d\u0442\u043e\u043c \u0447\u0430\u0441\u0442\u043e \u0441\u0438\u0434\u0438\u0442 \u0432\u00a0\u0446\u0435\u043d\u0442\u0440\u0435 \u0438\u043b\u0438\u00a0\u0441\u0440\u0435\u0434\u043e\u0441\u0442\u0435\u043d\u0438\u0438 \u0438 \u043d\u0435\u00a0\u043f\u043e\u0434\u0441\u0432\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u043d\u043e\u0435 \u0441\u0435\u0440\u0434\u0446\u0435.\u041f\u0435\u0440\u0435\u043f\u0443\u0442\u0430\u043d\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441. GT\u00a0\u2014 \u043a\u0430\u0440\u0434\u0438\u043e\u043c\u0435\u0433\u0430\u043b\u0438\u044f, PRED\u00a0\u2014 \u043f\u043b\u0435\u0432\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u043e\u0442 \u0441\u00a0\u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e 74%. \u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0441\u0438\u0434\u0438\u0442 \u043d\u0435\u00a0\u043d\u0430\u00a0\u0441\u0435\u0440\u0434\u0446\u0435, \u0430\u00a0\u0432\u044b\u0448\u0435\u00a0\u2014 \u0432\u00a0\u0432\u0435\u0440\u0445\u043d\u0438\u0445 \u0434\u043e\u043b\u044f\u0445 \u0438 \u0432\u00a0\u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0448\u0435\u0438.\u041f\u0440\u043e\u043f\u0443\u0441\u043a \u043f\u043d\u0435\u0432\u043c\u043e\u0442\u043e\u0440\u0430\u043a\u0441\u0430. GT\u00a0\u2014 \u043f\u043d\u0435\u0432\u043c\u043e\u0442\u043e\u0440\u0430\u043a\u0441, PRED\u00a0\u2014 \u201cNo Finding\u201d \u0441 51,7%. Heatmap \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432\u00a0\u0446\u0435\u043d\u0442\u0440\u0435, \u0430\u00a0\u043d\u0435\u00a0\u0443\u00a0\u043a\u0440\u0430\u044f \u043b\u0451\u0433\u043a\u043e\u0433\u043e, \u0433\u0434\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u0438\u0449\u0443\u0442 \u0432\u043e\u0437\u0434\u0443\u0445.\u041a\u0440\u0438\u0432\u043e\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0434\u0430\u0436\u0435 \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u00ab\u0443\u0433\u0430\u0434\u0430\u043b\u0430\u00bb. \u041d\u0430\u00a0\u0447\u0430\u0441\u0442\u0438 \u0441\u043d\u0438\u043c\u043a\u043e\u0432 \u0441\u00a0GT \u201cNo Finding\u201d \u0438 \u0432\u0435\u0440\u043d\u044b\u043c PRED \u043a\u0430\u0440\u0442\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f\u00a0\u043b\u0438\u043f\u043d\u0435\u0442 \u043a\u00a0\u043f\u043b\u0435\u0447\u0430\u043c, \u0448\u0435\u0435 \u0438 \u0443\u0433\u043b\u0430\u043c \u043a\u0430\u0434\u0440\u0430, \u0430\u00a0\u043d\u0435\u00a0\u043a\u00a0\u043b\u0451\u0433\u043e\u0447\u043d\u044b\u043c \u043f\u043e\u043b\u044f\u043c. \u0412\u00a0\u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0435 \u044f \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u043b \u0441\u0435\u0431\u0435 \u043f\u043e\u043c\u0435\u0442\u043a\u0438: \u00ab\u0438\u0449\u0438 \u0441\u0442\u0440\u0430\u043d\u043d\u044b\u0435, \u043d\u0435\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0435 \u0438\u043b\u0438\u00a0\u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u0435\u043b\u043a\u0438\u0435 \u043f\u044f\u0442\u043d\u0430\u00bb \u0438 \u00ab\u043f\u0440\u043e\u0432\u0435\u0440\u044c \u0443\u0433\u043b\u044b\u00a0\u2014 \u0447\u0442\u043e\u00a0\u0434\u043e\u043b\u0436\u043d\u043e \u0438\u0441\u0447\u0435\u0437\u043d\u0443\u0442\u044c\u00bb.\u041f\u043e\u0441\u043b\u0435 \u0442\u0430\u043a\u0438\u0445 \u043f\u0440\u043e\u0433\u043e\u043d\u043e\u0432 DenseNet121\u00a0\u0434\u043b\u044f\u00a0\u043c\u0435\u043d\u044f \u0437\u0430\u043a\u0440\u044b\u0442. \u041c\u043e\u0434\u0435\u043b\u044c \u0437\u0443\u0431\u0440\u0438\u043b\u0430 \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u044b \u043a\u0430\u0434\u0440\u0430 \u0438 \u0434\u0430\u0432\u0430\u043b\u0430 \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0439 AUC \u043d\u0430\u00a0\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0438 \u043f\u0440\u0438\u00a0\u044f\u0432\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0430\u043b\u0430\u0445 \u043d\u0430\u00a0\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0441\u043d\u0438\u043c\u043a\u0430\u0445. \u0427\u0430\u0441\u0442\u044c \u044d\u0442\u043e\u0439 \u0431\u0435\u0434\u044b\u00a0\u2014 \u043d\u0435\u00a0\u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430, \u0430\u00a0\u043f\u0440\u0438\u0432\u044b\u0447\u043a\u0430 \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u0442\u044c \u0441\u00a0\u0441\u0430\u043c\u043e\u0433\u043e \u00ab\u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0433\u043e\u00bb \u0433\u0440\u044f\u0437\u043d\u043e\u0433\u043e \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430: \u043b\u044e\u0431\u0430\u044f \u043d\u0435\u0439\u0440\u043e\u043d\u043a\u0430 \u043f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u0441\u043e\u0432\u0435\u0442\u0443\u0435\u0442 NIH ChestX\u2011ray, \u0438 \u043d\u0430\u00a0\u043d\u0451\u043c \u043a\u0430\u043a\u00a0\u0440\u0430\u0437 \u043b\u0435\u0433\u043a\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u044d\u0444\u0444\u0435\u043a\u0442 \u0413\u0430\u043d\u0441\u0430. \u0418\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u043f\u043e\u0434\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u043e \u043a\u00a0RAD\u2011DINO\u2011MAIRA-2\u00a0\u0438 \u043a\u00a0\u0431\u043e\u043b\u0435\u0435 \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e\u043c\u0443 \u0432\u044b\u0431\u043e\u0440\u0443 \u0434\u0430\u043d\u043d\u044b\u0445.\u041a\u0430\u0440\u0442\u044b \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0434\u043b\u044f\u00a0\u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0439 RAD\u2011DINO \u0432\u00a0\u0441\u0442\u0430\u0442\u044c\u044e \u043d\u0435\u00a0\u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e: \u0437\u0434\u0435\u0441\u044c \u0432\u0430\u0436\u043d\u043e\u00a0\u0431\u044b\u043b\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u0433\u0434\u0435 \u043e\u0448\u0438\u0431\u0430\u043b\u0441\u044f DenseNet, \u0430\u00a0\u043d\u0435\u00a0\u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0434\u0432\u0435 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u043e\u043a \u043e\u00a0\u0431\u043e\u043a. \u0414\u043b\u044f\u00a0\u043e\u0442\u043b\u0430\u0434\u043a\u0438 RAD\u2011DINO \u0441\u043a\u0440\u0438\u043f\u0442 \u0441\u00a0attention map \u0443\u00a0\u043c\u0435\u043d\u044f \u0442\u043e\u0436\u0435 \u0435\u0441\u0442\u044c\u00a0\u2014 \u043e\u043d \u0432\u00a0\u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438.\u041a\u0430\u043a\u00a0\u0441\u0442\u0440\u043e\u0438\u043b\u0430\u0441\u044c \u0442\u0435\u043f\u043b\u043e\u0432\u0430\u044f \u043a\u0430\u0440\u0442\u0430 DenseNet121\u041a\u043e\u0440\u043e\u0442\u043a\u043e: \u0431\u0435\u0440\u0451\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0441\u0432\u0451\u0440\u0442\u043e\u0447\u043d\u044b\u0439 \u0431\u043b\u043e\u043a DenseNet, \u0441\u0447\u0438\u0442\u0430\u0435\u043c Grad\u2011CAM \u0434\u043b\u044f\u00a0\u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430, \u0440\u0430\u0441\u0442\u044f\u0433\u0438\u0432\u0430\u0435\u043c \u043a\u0430\u0440\u0442\u0443 \u0434\u043e\u00a0\u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0441\u043d\u0438\u043c\u043a\u0430 \u0438 \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u043c \u043f\u043e\u0432\u0435\u0440\u0445 \u0440\u0435\u043d\u0442\u0433\u0435\u043d\u0430.import cv2import numpy as npimport torchimport torch.nn.functional as Ffrom PIL import Imagefrom torchvision import models, transformsclass DenseNetGradCAM:    def __init__(self, model, target_layer):        self.model = model        self.activations = None        self.gradients = None        target_layer.register_forward_hook(self._save_activation)        target_layer.register_full_backward_hook(self._save_gradient)    def _save_activation(self, module, inp, out):        self.activations = out.detach()    def _save_gradient(self, module, gin, gout):        self.gradients = gout[0].detach()    def __call__(self, x, class_idx=None):        self.model.zero_grad(set_to_none=True)        logits = self.model(x)        if class_idx is None:            class_idx = int(logits.argmax(dim=1).item())        logits[0, class_idx].backward()        weights = self.gradients.mean(dim=(2, 3), keepdim=True)        cam = F.relu((weights * self.activations).sum(dim=1, keepdim=True))        cam = cam.squeeze().cpu().numpy()        cam = (cam &#8212; cam.min()) \/ (cam.max() &#8212; cam.min() + 1e-8)        return cam, logits.detach()def overlay_heatmap(image_rgb, cam, alpha=0.45):    h, w = image_rgb.shape[:2]    heat = cv2.resize(cam, (w, h))    color = cv2.applyColorMap(np.uint8(255 * heat), cv2.COLORMAP_JET)    color = cv2.cvtColor(color, cv2.COLOR_BGR2RGB)    return np.clip((1 &#8212; alpha) * image_rgb + alpha * color, 0, 255).astype(np.uint8)# \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044fmodel = models.densenet121(weights=models.DenseNet121_Weights.IMAGENET1K_V1)# &#8230;\u043f\u043e\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0441\u0432\u043e\u044e \u0433\u043e\u043b\u043e\u0432\u0443 \/ \u0432\u0435\u0441\u0430 \u0438 \u0447\u0438\u0441\u043b\u043e \u043a\u043b\u0430\u0441\u0441\u043e\u0432&#8230;cam_engine = DenseNetGradCAM(model, model.features[-1])raw = Image.open(&#171;xray.png&#187;).convert(&#171;RGB&#187;)tfm = transforms.Compose([    transforms.Resize((224, 224)),    transforms.ToTensor(),    transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),])x = tfm(raw).unsqueeze(0)cam, logits = cam_engine(x)overlay = overlay_heatmap(np.array(raw), cam)# \u0434\u0430\u043b\u044c\u0448\u0435: \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c GT \/ PRED \/ Conf\u041f\u043e\u0447\u0435\u043c\u0443 RAD\u2011DINO\u2011MAIRA-2RAD\u2011DINO\u2011MAIRA-2\u00a0\u0443\u0447\u0438\u043b\u0438 \u0441\u0430\u043c\u043e\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435\u043c (DINOv2) \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043d\u0430 1,4\u00a0\u043c\u043b\u043d \u0440\u0435\u043d\u0442\u0433\u0435\u043d\u043e\u0432: MIMIC\u2011CXR, CheXpert, NIH, PadChest, BRAX \u0438 \u0435\u0449\u0451 \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0443\u043b. \u041d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u0430 \u043f\u043e\u0434\u00a0MIMIC\u2011CXR, \u0432\u0445\u043e\u0434\u00a0\u2014 518\u00d7518, \u043f\u0430\u0442\u0447\u0438\u00a0\u2014 14\u00d714. \u0414\u043b\u044f\u00a0\u0448\u0435\u0441\u0442\u0438 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0445 \u0433\u043e\u043b\u043e\u0432 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0442\u043e\u043d\u043a\u043e\u0439 \u0433\u043e\u043b\u043e\u0432\u044b \u043f\u043e\u0432\u0435\u0440\u0445 \u0437\u0430\u043c\u043e\u0440\u043e\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430: \u043e\u0431\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043c\u0435\u043d\u044c\u0448\u0435 0,25% \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u043d\u0430\u00a0A100 80\u00a0\u0413\u0411 \u043f\u0430\u043a\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 64\u00a0\u0438\u0434\u0451\u0442 \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e.\u041d\u0430\u00a0VinBigData \u0441\u043d\u0438\u043c\u043a\u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0447\u0438\u0441\u0442\u044b\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0437\u0430\u0442\u0438\u0440\u0430\u043d\u0438\u0435 \u043a\u0443\u0441\u043a\u043e\u0432 \u043a\u0430\u0434\u0440\u0430 \u0432\u00a0\u0444\u0438\u043d\u0430\u043b \u044f \u043d\u0435\u00a0\u0441\u0442\u0430\u0432\u0438\u043b. \u041d\u0430\u00a0\u0441\u044b\u0440\u044b\u0445 DICOM \u0438\u0437\u00a0\u0440\u0435\u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 \u0431\u0435\u0437\u00a0\u0442\u0430\u043a\u043e\u0439 \u0430\u0443\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u044f\u00a0\u0431\u044b \u043d\u0435\u00a0\u043f\u043e\u043b\u0435\u0437.\u0412\u00a0\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0418\u0418 \u043f\u043e\u043c\u043e\u0433\u0430\u043b \u0441\u00a0\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u043c\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c\u0438 (\u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c Claude Sonnet). Gemini \u0442\u043e\u0436\u0435 \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u00a0\u2014 \u043e\u043d \u0447\u0430\u0449\u0435 \u043e\u0448\u0438\u0431\u0430\u043b\u0441\u044f \u0438\u00a0\u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0442\u0435\u0440\u044f\u043b \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u0438\u043d\u043d\u043e\u0439 \u0441\u0435\u0441\u0441\u0438\u0438. \u041a\u043e\u0434 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b \u0441\u0430\u043c.\u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u0443\u0437\u043a\u043e\u0435 \u043c\u0435\u0441\u0442\u043e\u00a0\u2014 \u043d\u0435\u00a0\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430, \u0430\u00a0\u0434\u0430\u043d\u043d\u044b\u0435\u0421\u0430\u043c\u043e\u0435 \u0432\u0430\u0436\u043d\u043e\u0435 \u0434\u043b\u044f\u00a0\u0442\u0430\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u00a0\u2014 \u0447\u0438\u0441\u0442\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0430\u00a0\u043d\u0435 \u00ab\u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0441\u043b\u043e\u0439\u00bb \u0438\u043b\u0438\u00a0\u0434\u0440\u0443\u0433\u043e\u0439 backbone. \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0437\u0430\u00a0\u043d\u0435\u0434\u0435\u043b\u044e. \u0413\u0440\u044f\u0437\u043d\u0443\u044e \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0443 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0442\u0430\u0449\u0438\u0442\u044c \u0437\u0430\u00a0\u0441\u043e\u0431\u043e\u0439 \u043c\u0435\u0441\u044f\u0446\u0430\u043c\u0438: \u043c\u043e\u0434\u0435\u043b\u044c \u0432\u044b\u0443\u0447\u0438\u0442 \u0448\u0443\u043c, AUC \u043d\u0430\u00a0hold\u2011out \u0438\u0437\u00a0\u0442\u043e\u0439\u00a0\u0436\u0435 \u043a\u0430\u0448\u0438 \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u043c, \u0430\u00a0\u043d\u0430\u00a0\u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u043d\u0438\u043c\u043a\u0430\u0445 \u0432\u0441\u0451 \u0440\u0430\u0437\u0432\u0430\u043b\u0438\u0442\u0441\u044f. \u0414\u043b\u044f\u00a0\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043d\u0435\u00a0\u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u0447\u0438\u0441\u0442\u044b\u0445 \u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u043a\u00a0\u2014 \u043c\u043d\u043e\u0433\u043e \u0441\u043d\u0438\u043c\u043a\u043e\u0432 \u0431\u0435\u0437\u00a0\u0440\u0430\u0434\u0438\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u0441\u00a0\u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0430\u043c\u0438 \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0437\u043c\u0435\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u0438 \u0441\u00a0\u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u0443\u044e\u0442 \u0441\u00a0\u043a\u043b\u0430\u0441\u0441\u043e\u043c.\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435: \u043d\u0435\u00a0\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u043b\u044f\u00a0\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u0430\u043c\u044b\u0439 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u0434\u0430\u0442\u0430\u0441\u0435\u0442 NIH ChestX\u2011ray \/ ChestX\u2011ray14 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e\u00a0\u043e\u043d \u00ab\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0438 \u0432\u0441\u0435 \u0435\u0433\u043e \u0441\u043e\u0432\u0435\u0442\u0443\u044e\u0442\u00bb. \u042d\u0442\u043e \u043a\u0430\u043a\u00a0\u0440\u0430\u0437 \u0442\u043e\u0442 \u043d\u0430\u0431\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043b\u044e\u0431\u0430\u044f \u043d\u0435\u0439\u0440\u043e\u043d\u043a\u0430 \u0438 \u043f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u043e\u0439 \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e\u0442 \u043f\u0435\u0440\u0432\u044b\u043c. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432\u00a0\u0442\u043e\u043c, \u0447\u0442\u043e\u00a0\u043e\u043d \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0433\u0440\u044f\u0437\u043d\u044b\u0439: \u043c\u0435\u0442\u043a\u0438 \u0447\u0430\u0441\u0442\u043e \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u044b \u0438\u0437\u00a0\u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u043e\u0442\u0447\u0451\u0442\u043e\u0432 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u043c\u043d\u043e\u0433\u043e \u0448\u0443\u043c\u0430, \u043b\u043e\u0436\u043d\u044b\u0445 \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u0439 \u0438 \u00ab\u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0445 \u043f\u0443\u0442\u0435\u0439\u00bb. DenseNet \u043d\u0430\u00a0\u043d\u0451\u043c \u043b\u0435\u0433\u043a\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0438\u043b\u0438\u0447\u043d\u044b\u0439 AUC \u0438 \u043f\u0440\u0438\u00a0\u044d\u0442\u043e\u043c \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u043d\u0435\u00a0\u0442\u0443\u0434\u0430\u00a0\u2014 \u0440\u043e\u0432\u043d\u043e \u0442\u043e, \u0447\u0442\u043e\u00a0\u044f \u043b\u043e\u0432\u0438\u043b \u043d\u0430\u00a0\u0442\u0435\u043f\u043b\u043e\u0432\u044b\u0445 \u043a\u0430\u0440\u0442\u0430\u0445.\u0411\u043e\u043b\u044c\u0448\u043e\u0439 \u0433\u0440\u044f\u0437\u043d\u044b\u0439 \u0434\u0430\u0442\u0430\u0441\u0435\u0442 \u0445\u0443\u0436\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0447\u0438\u0441\u0442\u043e\u0433\u043e. \u0415\u0441\u043b\u0438 \u0441\u0442\u0430\u0432\u0438\u0442\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u0441\u00a0\u043d\u0443\u043b\u044f, \u043b\u0443\u0447\u0448\u0435 VinBigData \/ CheXpert \/ MIMIC\u2011CXR \u0441\u00a0\u043f\u043e\u043d\u044f\u0442\u043d\u043e\u0439 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 \u0438 \u0440\u0443\u0447\u043d\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u0445\u043e\u0442\u044f\u00a0\u0431\u044b \u0447\u0430\u0441\u0442\u0438 \u043e\u0448\u0438\u0431\u043e\u043a, \u0447\u0435\u043c \u0433\u043d\u0430\u0442\u044c \u044d\u043f\u043e\u0445\u0438 \u043d\u0430\u00a0ChestX\u2011ray14\u00a0\u201c\u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e\u00a0\u0442\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0447\u0430\u0442\u2011\u0431\u043e\u0442\u201d.\u0414\u0430\u043d\u043d\u044b\u0435\u00a0\u2014 \u0432\u0441\u0451 \u0441\u00a0Kaggle\u041a\u0430\u0447\u0430\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u043d\u044b\u0435 \u043d\u0430\u0431\u043e\u0440\u044b \u0441\u00a0Kaggle. \u0415\u0441\u043b\u0438 \u0443\u00a0\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u043d\u0435\u00a0\u0431\u044b\u043b\u043e \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0441\u043d\u0438\u043c\u043a\u043e\u0432 \u0432\u00a0\u0430\u0440\u0445\u0438\u0432\u0435\u00a0\u2014 \u0442\u0430\u043a\u043e\u0439 \u0434\u0430\u0442\u0430\u0441\u0435\u0442 \u043d\u0435\u00a0\u0431\u0440\u0430\u043b. ChestX\u2011ray14\u00a0\u0432\u00a0\u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u043d\u0435\u00a0\u0431\u0440\u0430\u043b \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u2011\u0437\u0430 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u043c\u0435\u0442\u043e\u043a, \u0430\u00a0\u043d\u0435\u00a0\u0438\u0437\u2011\u0437\u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u0430.VinBigData\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b vinbigdata-512-image-dataset: 15\u202f000\u00a0\u0441\u043d\u0438\u043c\u043a\u043e\u0432 512\u00d7512\u00a0\u0441\u00a0\u0440\u0430\u0437\u043c\u0435\u0442\u043a\u043e\u0439 \u0440\u0430\u0434\u0438\u043e\u043b\u043e\u0433\u043e\u0432. \u041e\u0431\u044a\u0451\u043c \u043e\u043a\u043e\u043b\u043e 8\u00a0\u0413\u0411, \u043d\u0430\u00a0RunPod \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u043b \u0447\u0435\u0440\u0435\u0437 Kaggle API. \u042d\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u0430 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u0430.VIN_CLASS_MAP = {3: 0, 4: 1, 5: 2, 10: 3, 12: 4, 6: 5}\u041e\u043a\u043e\u043b\u043e \u0447\u0430\u0441\u0430 \u0443\u0431\u0438\u043b \u043d\u0430\u00a0\u043f\u0443\u0442\u044c \u043a\u00a0\u0444\u0430\u0439\u043b\u0430\u043c: \u0432\u00a0\u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0430\u0445 \u0447\u0430\u0441\u0442\u043e \u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u0442 \/data\/vin\/train\/, \u0430\u00a0\u0432\u00a0\u0430\u0440\u0445\u0438\u0432\u0435 awsaf49 \u043b\u0435\u0436\u0438\u0442 vinbigdata\/train\/. \u0415\u0441\u043b\u0438 \u043f\u0430\u043f\u043a\u0438 \u043d\u0435\u0442\u00a0\u2014 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0448\u044c 0\u00a0\u0441\u043d\u0438\u043c\u043a\u043e\u0432 \u0438 \u0443\u0445\u043e\u0434\u0438\u0448\u044c \u0432\u00a0\u043e\u0442\u043b\u0430\u0434\u043a\u0443 \u0447\u0435\u0440\u0435\u0437 os.path.exists.OpenI\u0414\u0430\u0442\u0430\u0441\u0435\u0442 chest-xrays-indiana-university \u0442\u043e\u0436\u0435 \u0432\u0437\u044f\u043b \u0441\u00a0Kaggle, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e\u00a0\u0441\u043d\u0438\u043c\u043a\u0438 \u0448\u043b\u0438 \u0432\u00a0\u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0435. \u0412\u00a0\u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u043f\u0440\u043e\u0433\u043e\u043d\u0435 OpenI \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b. \u042d\u0442\u043e 7466\u00a0\u043a\u0430\u0434\u0440\u043e\u0432. \u0413\u043e\u0442\u043e\u0432\u044b\u0445 \u043c\u0435\u0442\u043e\u043a \u043f\u043e\u0434\u00a0\u043d\u0430\u0448\u0438 \u0448\u0435\u0441\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043d\u0435\u0442\u00a0\u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u043e\u0442\u0447\u0451\u0442\u044b. \u041d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0440\u0430\u0437\u043c\u0435\u0442\u0447\u0438\u043a \u043d\u0430\u00a0\u043f\u0440\u0430\u0432\u0438\u043b\u0430\u0445:RULES = {    0: [&#171;cardiomegaly&#187;, &#171;cardiac enlargement&#187;, &#171;heart is enlarged&#187;],    1: [&#171;atelectasis&#187;, &#171;atelectatic&#187;, &#171;collapse&#187;, &#171;collapsed&#187;],    2: [&#171;consolidation&#187;, &#171;consolidative&#187;, &#171;opacification&#187;],    3: [&#171;pleural effusion&#187;, &#171;effusion&#187;, &#171;pleural fluid&#187;],    4: [&#171;pneumothorax&#187;],    5: [&#171;pulmonary edema&#187;, &#171;edema&#187;, &#171;vascular congestion&#187;],}NEGATIONS = [    &#171;no &#171;,    &#171;not &#171;,    &#171;without &#171;,    &#171;negative for &#171;,    &#171;no evidence of &#171;,]\u0420\u0430\u0437\u043c\u0435\u0442\u043a\u0430 \u0448\u0443\u043c\u043d\u0430\u044f: \u0441\u043b\u043e\u0432\u043e effusion \u0438\u043d\u043e\u0433\u0434\u0430 \u0446\u0435\u043f\u043b\u044f\u0435\u0442\u00a0\u043b\u0438\u0448\u043d\u0435\u0435. \u0417\u0430\u0442\u043e \u044d\u0442\u043e \u0434\u0430\u043b\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0451\u043c \u0434\u0430\u043d\u043d\u044b\u0445.\u0418\u0442\u043e\u0433\u043e\u0412\u00a0\u0441\u0443\u043c\u043c\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c 22\u202f466\u00a0\u0441\u043d\u0438\u043c\u043a\u0430. \u0414\u0435\u043b\u0435\u043d\u0438\u0435 85\/15: \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435\u00a0\u2014 19\u202f096, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430\u00a0\u2014 3\u202f370.\u041a\u043b\u0430\u0441\u0441pospos_weightCardiomegaly28496.9\u00d7Atelectasis110119.4\u00d7Consolidation27447.2\u00d7Pleural Effusion64362.5\u00d7Pneumothorax28826.8\u00d7Edema127216.7\u00d7pos_weight \u0448\u0451\u043b \u0432 BCEWithLogitsLoss&#8230;.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-488447","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/488447","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=488447"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/488447\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=488447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=488447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=488447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}