Студенты Y-DATA разработали пайплайн, который может помочь врачам в ранней диагностике рака легких

«Наша система выдает результат, сравнимый с мнением врача-рентгенолога».

Роман Гуревич, Таль Хелец и Илья Кравец — студенты Y-DATA, одногодичной программы Яндекса в Израиле, представили решение, которое должно помочь врачам в ранней диагностике рака легких. Их проект был признан лучшим на междисциплинарной школе по машинному обучению и data science в Тоскане. Илья Кравец рассказал о работе, которую проделала команда Y-DATA.

Прикладные проекты — важная часть обучения в Y-DATA. Каждый студент выбрал направление, которое интересует его больше всего, а потом мы разделились на команды. В итоге наша команда стала работать с небольшой компанией DeepOncology AI над проблемой диагностики рака легких.

Слева направо: Шломо Кашани (ментор команды), Роман, Илья, Костя Килимник (куратор Y-DATA), Таль.

Дело в том, что при раке легких выживаемость пациентов напрямую зависит от того, насколько рано злокачественная опухоль была выявлена. Однако сейчас по-прежнему, чтобы провести диагностику, врачам часто приходится глазами просматривать огромный массив фотографий.

Машинное обучение с медицинскими снимками можно упрощенно разделить на анализ двухмерных изображений — обычных рентгеновских снимков и трехмерных — с параметром глубины. Работа с трёхмерными данными исследована хуже, так как такие изображения очень много весят и требуют много ресурсов для анализа, но с другой стороны, такие данные могут содержать больше информации. Посоветовавшись с нашим ментором из DeepOncologyAI мы поставили задачу, которую до нас никто не решал: диагностика через поиск похожих 3D снимков.

Мы использовали интересное решение — перевод снимков в эмбеддинги. Это такой подход к поиску, когда исходные данные сжимаются в абстрактный вектор в надежде, что этот вектор сохранит семантические свойства исходных данных. Это будут какие-то цифры, которые сами по себе человеку ничего не скажут, но схожие сущности будут находиться близко друг к другу.

Например, «собака» и «кошка» перейдут в векторы, которые ближе друг к другу, чем «собака» и «стул», потому что «собака» и «кошка» по смыслу ближе, чем «стул» и «собака». Мы применили подобный подход для трехмерных фотографий разных легочных образований.

В нашем случае, в качестве запроса посылается картинка, и система находит в базе данных другие картинки, которые считает наиболее похожими на нее. Однако на этом этапе нам пришлось поломать голову. Довольно много времени мы потратили именно на то, чтобы понять, как, собственно, проверить, похожи ли картинки.

Изначально у нас были медицинские снимки из соревнования LUNA-16, смысл которых мы не понимали, так как мы не медики, и объемы изображений были слишком велики, чтобы сортировать их вручную. Но мы обнаружили, что эти данные были частью открытого массива, опубликованного американской Foundation for the National Institutes of Health. И для каждого новообразования были выставлены оценки четырех врачей. Соответственно, мы решили считать, что два образования похожи, если врачи поставили им похожие оценки, и натренировали нашу нейросеть приближать оценки врачей.

В итоге мы провели оценку полученного пайплайна и пришли к выводу, что наша система выдает результат, сравнимый с мнением врача-рентгенолога, и поэтому может использоваться для получения второго мнения в спорных ситуациях.

Наше решение на основе базы данных с диагнозами пациентов и полученными во время компьютерной томографии снимками определяет потенциальные злокачественные опухоли и подсказывает врачам похожие случаи с историями болезни пациентов. Тем самым возрастают скорость и качество постановки диагнозов.

Конечно, нашему проекту пока далеко до законченного продукта. Может вскрыться множество других проблем, вообще не связанные с машинным обучением. Но мы хотим продолжить исследования в этой области.

Краткий пересказ от Yandex GPT