Медицинская карта — это смесь чисел, диагнозов и категорий. Обычная нейросеть (обучающаяся программа) теряется, потому что не может сопоставить уровень белка (число) с диагнозом (да/нет) и подтипом опухоли (категория). Их ошибки несопоставимы — словно переводчик путает сантиметры с килограммами. Авторы работы отказались от точных значений и перевели всё на язык порядка. Программа лишь спрашивает: у этого пациента показатель выше или ниже, чем у соседа? Такое ранжирование делает ошибки соизмеримыми.
Сначала общий блок нейросети просеивает сотни генов, оставляя лишь те, что важны для всех задач разом. Специальный приём (он обнуляет вклад бесполезных генов) убирает шум. Затем для каждой задачи нейросеть выдаёт условные баллы и сравнивает их по порядку. Вопрос «правильный ли диагноз?» и «точен ли уровень белка?» сводится к одному: верно ли угадан порядок среди пациентов.
На 234 больных раком лёгкого точность поднялась с 0.951 до 0.968 — на тысячу пациентов это 17 спасённых от ложного диагноза. Среди отобранных генов — не только легочные: E2F1 (прежде связанный с раком груди) и Scd1 (жировой обмен). Так «порядковый переводчик» находит общий язык между иммунитетом и опухолью.
Жёсткое правило «больше/меньше» заменили плавной S-образной кривой, чтобы компьютер учился постепенно, без рывков. А сама идея сравнивать порядки была предложена ещё в 1987 году.
Это как универсальный переводчик из фантастических фильмов, только вместо языков — типы медицинских данных.