Задний план:

Внедрение искусственного интеллекта в здравоохранение произвело революцию в отрасли. Что касается магнитно-резонансной томографии (МРТ), она обеспечивает более быстрое и лучшее обнаружение опухолей и рака с сегментацией и локализацией.

Постановка задачи:

В качестве консультанта по искусственному интеллекту и машинному обучению медицинская диагностическая компания поставила перед вами задачу повысить скорость и точность обнаружения и локализации опухолей головного мозга на основе МРТ. Предоставленный набор данных содержит 3929 МРТ-сканов головного мозга с указанием местоположения опухоли, чтобы вы могли разработать модель, которая обнаруживает и локализует опухоли головного мозга.

Интерес:

Интерес этой компании заключается в увеличении ранней диагностики опухолей головного мозга и снижении стоимости диагностики рака.

Решение:

Для решения вышеуказанной задачи строится модель классификации и сегментации.

Данные:

Источник: данные взяты отсюда

Используя функцию .info, я напечатал столбцы в файле csv.

Затем с помощью функции .head я напечатал первые 30 строк в наборе данных.

Как видно из приведенного выше, столбец с именем mask имеет значение 0, что указывает на отсутствие опухолей.

Визуализация данных

Используя matplolib.pyplot, я визуализировал 723-е изображение в наборе данных, которое имеет максимальное значение 255 и минимальное значение 0.

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

Разделение:

Используя функцию train_test_split, я разделил данные на обучение и тестирование со значением 15%. Затем, используя генератор изображений данных от keras, я изменил масштаб данных и разделил данные проверки на 15%.

Генерация данных:

Я сгенерировал подмножества поезда, проверки и тестового изображения с размером пакета 16, режимом класса, который равен категориальному и целевому размеру (256 256), а перемешивание равно false.

Я создал базовую модель с помощью resnet50 с весами из предварительно обученного значения, которое является сетью изображений. Ниже приводится краткое описание базовой модели.

Строительная сеть:

Я построил сеть, используя два скрытых слоя с активацией relu, плотностью 256 и отсевом 0,3 с выходным слоем, используя активацию softmax. Ниже представлено краткое описание модели.

Сборник:

Я скомпилировал модель, используя категориальную кроссэнтропию для потерь, оптимизатор Адама и метрики «точности».

Я также использовал раннюю остановку после 20 терпения, с контрольными точками, устанавливающими save_best_model в true.

Обучение:

Здесь были пробы и ошибки. Первая модель была обучена с 10 эпохами, что привело к точности 0,329 с этой визуализированной метрикой путаницы.

Вторая модель обучалась на 50 эпохах. обучение не дошло до 50 эпох, так как была вызвана ранняя остановка, в результате чего модель остановилась на 33 эпохах. Эта модель имела точность 0,866 и не могла работать с визуализированными метриками путаницы.

Третья модель обучалась с 1 эпохой с изменением некоторых гиперпараметров. Проверка была разделена на 20% вместо 15%. Точность с этой визуализированной метрикой путаницы составила 0,76.

Окончательная модель была обучена с 25 эпохами, которые имели точность 0,946, и это визуализировало метрики путаницы.

Глядя на модели выше, у нас есть наш победитель, четвертая модель.

Счет:

С помощью функции scikit Learn Classification_report изображение ниже было отчетом.

Модель сегментации:

Модель сегментации, которая поможет в локализации, была построена с использованием маски, целью которой является понимание изображения на уровне пикселей.

Методология:

Данные были разделены на обучающие, проверочные и тестовые подмножества. Функция потерь была выполнена с использованием пользовательской функции потерь, которая является функцией потерь Тверски. Подробнее об этом можно прочитать здесь, а репозиторий функции можно найти здесь.

Использовался оптимизатор Adam со скоростью обучения 0,05 и эпсилон 0,1, функцией потерь focus_tversky и метриками «tversky». Также применялись ранняя остановка и контрольно-пропускные пункты.

Обучение:

Модель сегментации обучалась с использованием 10 эпох с потерей и

Результат вышеизложенного недостаточен для сегментации, так как был замечен ложноотрицательный результат.

Визуализация:

Модель была построена для визуализации МРТ со сканированием, исходной маской, прогнозируемой маской, наземной истиной и сканированием с прогнозируемой маской.

Обсуждение:

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

Вывод:

На обучение всех моделей ушло 48 часов, и я впервые столкнулся с функцией тверского. Приветствуются любые предложения о том, как повысить точность этой модели как минимум до 99%, вы можете связаться со мной через мой профиль LinkedIn.

PS: Это часть моего сертификационного курса, который я прошел в Udemy.