В последнее время все чаще обсуждается применение AI в медицине. И, конечно, область медицины, которая прямо напрашивается для такого применения это областей диагностики.
Кажется, и раньше можно было применять экспертные системы и алгоритмы классификации к задачам постановки диагноза. Однако, есть одна область AI, которая добилась наибольших успехов в последние годы, а именно область распознавания изображений и сверточные нейронные сети. На некоторых тестах алгоритмы AI в распознавании картинок превзошли человека. Вот два примера: Large Scale Visual Recognition Challenge и German Traffic Sign Recognition Benchmark.
Соответственно, возникла идея применить AI к области распознавания изображений там, где и врачи занимаются распознаванием изображений, а именно к анализу снимков и, для начала, рентгеновских снимков.
Рентгеноскопия применяется для диагностики широкого спектра заболеваний и повреждений: повреждения легких (пневмония, раковые заболевания), переломы и иные повреждения костей, часть диагностики работы системы пищеварения и много чего другого.
Важно, что в диагностике части этих заболеваний рентгеновский снимок и его интерпретация является превалирующим инструментом в постановке диагноза.
Интерпретация снимка, в свою очередь, делается врачом-рентгенологом на основе визуального анализа изображений. Возникает вопрос: а что, если мы применим прогресс в анализе изображений с помощью ИИ к анализу и интерпретации рентгеновских снимков. Что получится?
Получится ли нам добиться качества, сопоставимого с врачами? Или, может быть, точность классификации превысит точность врачей, как превысила в распознавании картинок в Large Scale Visual Recognition Challenge?
На Kaggle сейчас несколько соревнований по анализу рентгеновских снимков с целью диагностики пневмонии. Вот, например, одно из них.
Здесь 5,863 снимков были размечены врачами, каждый из снимков размечался двумя врачами и только если они совпадали в диагнозе снимок добавлялся в набор данных. Пациенты для снимков специально не отбирались (все снимки были сделаны в рамках обычной работы с пациентами). Набор классов сбалансирован в сторону пневмоний, что наверное, близко к реальной жизни, так как снимки делаются пациентам уже с подозрением на пневмонию.
Лучше из решений достигает precision = 0.84 и recall = 0.96. Дальше возникает вопрос: много это или мало… Хороший это вопрос.
На всякий случай напоминаем, что precision это какой процент из тех пациентов, которых модель определила, как больных пневмонией, действительно больны пневмонией (и соответственно, какой обратный к этому процент врачи, таким образом, будут по ошибке лечить не от той болезни). Recall — это какой процент всех пациентов, больных пневмонией обнаружит модель (обратный к этому процент — сколько пациентов, больных пневмонией модель разметит как здоровых).
Итак, много это или мало? Ну, можно посмотреть на этот вопрос так: а у врачей как? У них какой precision и recall.
Для этого нужно было бы посадить группу врачей, дать им снимки для разметки, а потом сравнить качество их разметки с качеством разметки алгоритмом по аналогии с German Traffic Sign Recognition Benchmark, где сравнивалось качество распознавания дорожных знаков. Насколько я знаю, с врачами такого пока никто не делал.
Но, положим, что мы так сделали и оказалось, что качество разметки с помощью алгоритма сопоставимо с качеством разметки врачом. Если сейчас это еще и не так (что не факт), то уверен, в ближайшем будущем это случится. Что дальше?
Заменим врачей-рентгенологов искусственным интеллектом? Об этом особенно давно мечтают в Соединенный Штатах, где врачи-рентгенологи очень высоко оплачиваются и, наверное, заслуженно, учитывая их значимость в постановке определенного типа диагнозов.
Давайте посмотрим, как должен был бы выглядеть процесс использования алгоритма в таком случае на практике?
- Во-первых, необходимо было бы стандартизировать формат и качество выдачи снимков на различном рентгеновском оборудовании. Возможно, оно и сейчас стандартизировано (я не эксперт), но мне почему-то кажется, что нет. Если этой стандартизации не будет, то невозможно будет гарантировать устойчивость модели при переходе от одной установки к другой.
- Во-вторых, необходимо будет добавить регулярный контроль качества модели. То есть, модели регулярно должна подаваться на вход размеченная врачами тестовая выборка и качество ее работы постоянно должно валидироваться. На всех моделях, используемых во всех клиниках. Это значит, что должна быть одна централизованная модель (или очень небольшое их количество), так как иначе слишком много ресурсов нужно, чтобы все модели валидировать. По логике, наверное, производители рентгеновского оборудования и придут к тому, что вместе с рентгеновской установкой будут поставлять и модель.
- В третьих, в модель должны быть встроены пороги уверенности, при превышении которых снимок все равно передается врачу на классификацию.
Как вы поняли, даже если модели сейчас по качеству классификации сопоставимы или превосходят врачей, для их (врачей) замены или точнее сокращения штата требуется набор процессных шагов. Я уже не говорю о наборе регуляторых и сертификационных шагов, которые в целом необходимы для внедрения на практике такого решения.
В общем, от сценария выше мы еще далеко, как мне кажется.
Возможен ли иной сценарий? Мне кажется да. Вспомним теорему Кондорсе (Condorcet Jury Theorem), которая говорит о том, что вероятность принятия правильного решения группой людей выше, чем каждым из них в отдельности. Таким образом, качество классификации совместно врача и модели выше, чем качество классификации любого одного из них.
Таким образом, врач может использовать модель в качестве советчика. Зачем? Потому, что у врача у самого есть свои precision и recall. Пусть, врачи это так не называют, но есть ошибки. Одни ошибки приводят к тому, что часть заболеваний пропускают. Таких ошибок, я думаю, меньше, так как врачи как раз и стремятся минимизировать ошибку первого рода. Другие ошибки приводят к тому, что людей лечат от пневмонии, которой у них нет, и часть мест в больницах занята без необходимости. Сколько всего ошибок — неизвестно, но они есть.
Соответственно, представим, что мы используем две разные модели и мнение врача касательно какого-то снимка. Плюс от теоремы Кондорсе в том, что она не только утверждает, что две головы лучше, чем одна, но и позволяет посчитать на сколько.
Пусть у каждого из них (у каждой из моделей и у врача) точность 0.84 (конечно, мы не знаем точность врача, но предположим, что она не ниже точности моделей). Тогда, по теореме Кондорсе суммарная точность получается равной 0.84 ^ 3 + 3 * 0.84 ^ 2 * (1 — 0.84) = 0.93, что дает явный прирост по сравнению с исходной точностью в 0.84. Таким образом, применяя модель врач становится явно точнее в своих прогнозах.
Заметим, что в данной парадигме мы сохраняем святую-святых, мы оставляем финальное принятие решения за врачем, не перекладывая его на машину. Это, как мне кажется, облегчит внедрение подобных решений и откроет путь ИИ советчикам в медицине.
А вы что думаете?
Как обычно, хотите освоить применение сверточных нейронных сетей и компьютерного зрения на практике — приходите к нам на курс для аналитиков, старт 28 января. Есть также вводный курс, если вам необходимо подтянуть основы.