Снимки мозга
2025—2026
Пять архитектур на одном наборе снимков мозга и разрыв между тем, что обещала валидация, и тем, что показала тестовая папка.
- Формат
- Классификация изображений, четыре диагноза, пять архитектур
- Моя роль
- Подготовка данных, обучение, разбор результатов
- Инструменты
- Python · PyTorch · torchvision · scikit-learn · Colab
Классификация снимков МРТ мозга по четырём классам: глиома, менингиома, опухоль гипофиза и здоровый мозг. Около трёх тысяч изображений из открытого набора, где обучающая и тестовая части лежат отдельными папками. На нём я сравнил пять предобученных на ImageNet архитектур: ResNet18, MobileNetV2, DenseNet121, EfficientNetB0 и Vision Transformer.
Все модели прошли один и тот же конвейер: приведение к 224 на 224, батч 32, три эпохи, AdamW, перекрёстная энтропия, без индивидуальной настройки. Только одинаковый конвейер делает сравнение осмысленным: подбери каждой архитектуре своё расписание обучения, и сравнивать придётся уже расписания.
Точность на валидации считалась по разбиению обучающей папки 80/20 и составила от 0,8955 у трансформера до 0,9652 у DenseNet121. На отложенной тестовой папке, 394 снимка, которых модели не видели, те же пять дали от 71,1 до 78,4 процента. Каждая потеряла на этом переходе от 18 до 21 пункта.
Разрыв объясняется сдвигом распределения, а не переобучением в обычном смысле. Валидационная выборка вырезана из обучающей папки и наследует те же томографы, те же последовательности, ту же предобработку. Тестовую папку собирали отдельно. Модель, которая даёт 96 процентов на одной выборке и 78 на другой, выучила особенности обучающей коллекции наравне с признаками опухолей.
Потери распределены по классам неравномерно. DenseNet121, лучшая из пяти, распознаёт 31 глиому из ста: 35 относит к менингиоме, 32 — к здоровым. Полнота по остальным трём классам держится: 0,965 у менингиомы, 0,990 у класса «нет опухоли», 0,851 у гипофиза. За сводными 78,4 процента прячется классификатор, который пропускает две трети глиом.
Рейтинг моделей тоже переворачивается. Vision Transformer с большим отрывом оказался последним на валидации, но по глиоме даёт лучшую полноту из пяти — 34 из ста. Выбор по одной сводной метрике указал бы не на ту модель.
В более раннем прогоне я решал бинарную задачу, есть опухоль или нет, на 506 снимках с ResNet18 и получил точность 0,980, F1 0,984 и AUC 1,00. Но на валидации из 102 снимков последнее число мало что доказывает.
Чтобы считать это результатом, нужны обучающая и тестовая выборки из одного источника, полнота по каждому классу рядом со средним и рентгенолог, который скажет, отличаются ли срезы с глиомой в этой коллекции систематически. А пока честнее всего приводить цифру 31 из ста.