При медицинском исследовании легких с помощью рентгенограмм грудной клетки можно выделить примерно 14 видов патологий таких как рак, пневмоторакс, пневмония, фиброз, эмфизема и туберкулез.
Главным заболеванием, из-за которого люди проходят регулярные флюорографические исследования, является туберкулез. Он является весьма заразным и опасным заболеванием, поэтому проведение рентгенологического исследования грудной клетки, является обязательной и ежегодной процедурой для каждого человека в России.
Из-за массовости этой процедуры многие миллионы рентгенограмм должны быть проанализированы, что является огромной нагрузкой для радиологов. Более того, чтобы снизить риски человеческого фактора, рентгенограмма проверяется минимум двумя специалистами или одним и тем же специалистом, но два раза с интервалом минимум один день. Анализ рентгенограмм — это сложная работы над однородными изображениями, и даже опытным радиологам сложно качественно обработать более чем 100 рентгенограмм в день. Также по данным СПб НИИФ причиной 21% поздних стадий туберкулеза является несвоевременное обнаружение на флюорографии. Поэтому существует заинтересованность в разработке компьютерных алгоритмов для поиска аномалий на рентгенограмме, которые впоследствии станут вспомогательным инструментом в помощь радиологам.
Одним из методов машинного обучения являются нейронные сети. Нейронные сети являются универсальными системами для интерполяции функций. Нейронная сеть с оптимальной архитектурой способна аппроксимировать функцию выделения патологий и переложить задачу формализации признаков патологий с человека на нейронную сеть, что упрощает классификацию снимков грудной клетки.
Новизна данной работы состоит в применении автоэнкодеров и генеративно-состязательных нейросетей для классификации медицинских данных. В работе проверялось две гипотезы. Первая состояла в том, что в скрытом пространстве автоэнкодера можно разделить здоровые и нездоровые снимки, а вторая — в том, что если обучить генеративную нейронную сеть на здоровых снимках, то патологии можно искать как разницу между входным и выходным снимком.
Работа состоит из обзора, трех глав и заключения.
В обзорной части (1) описывается какие подходы уже применялись для обнаружения патологий в легких, подробно обозревается нейронная сеть ChextXNet, описываются основные концепции генеративных методов машинного обучения, в том числе подробно описывается модели автоэнкодера и генеративно-состязательной нейронной сети. Описываются алгоритмы случайный лес и машина опорных векторов, использованные для классификации скрытого представления снимков на здоровые и нездоровые, и метрики AUC-ROC и AUC-PR, использованные для оценки качества алгоритмов.
В первой главе (2) описываются использованные данные: удалось отобрать 27320 здоровых снимков и 13863 снимков с аномалиями из датасета NIH Chest X-ray.
Во второй главе (3) подробно описывается архитектура автоэнкоде- ра и генеративно-состязательной нейронной сети: применяли последовательно сверточные слои, слои нормализации и активационные слои ReLU и рассчитывали ошибки моделей как среднюю квадратическую ошибку. Также для классификации применялся случайный лес с 1000 решающими деревьями и машина опорных векторов с радиальной базисной функцией в качестве ядра.
В третьей главе (4) описывались эксперименты: выборка разделялась в пропорциях 85% и 15% для обучения и тестирования соответственно, применялся метод оптимизации Адама со скоростью обучения 1e-3. Приводятся результаты и делается вывод, что первая гипотеза жизнеспособна и получена наилучшая точность в 0.65, а подтвердить вторую не удалось.
В рамках данной выпускной квалификационной работы были достигнуты следующие результаты.
1. Проведена подготовка данных для машинного обучения: из да- тасета NIH Chest X Ray были отобраны снимки без патологий подходящие для обучения.
2. Разработана модель автоэнкодера и комбинированная модель, включающая в себя генеративно-состязательную нейросеть и вариационный автоэнкодер. Реализованы модели на языке программирования python с помощью фреймворка Pytorch.
3. Проведены эксперименты с реализованными моделями: проведено обучение на обработанных данных, в качестве метрики для оценки эффективности моделей выбраны метрики AUR-ROC и AUC- PR, модели протестированы на тестовой части данных и получена лучшая точность классификации 0.65.