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

Авторы: Мария Кокшайкина и Мария Добко

Введение

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

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

Учащемуся и учителю предоставляются два различных преобразования входных данных, выходные данные сети учителей центрируются по среднему значению, вычисленному для пакета. Выходные данные каждой модели нормализуются с softmax температуры по размеру признаков, и их сходство вычисляется с использованием функции кросс-энтропийных потерь. Учитель не распространяет градиенты во время обучения, они обновляются экспоненциальной скользящей средней (ema) параметров ученика (описание основано на официальной бумаге).

DINO был протестирован на наборах данных ImageNet, Copydays, Google Landmarks v2 и DAVIS-2017 для таких задач, как классификация, обнаружение копий, извлечение изображений и сегментация экземпляров видео.

Хотя Vision Transformers с архитектурой DINO могут достичь отличных результатов, их успех зависит от количества доступных данных.

Заявление о проблеме

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

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

Основные различия между медицинскими изображениями и общими наборами данных изображений:

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

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

Данные

Пневмоторакс.

Мы использовали набор данных SIIM-ACR Pneumothorax Segmentation из kaggle challenge. Исходные изображения доступны в формате DICOM, а основные аннотации на уровне пикселей в виде масок с кодировкой длин серий (RLE). Некоторые изображения содержат случаи пневмоторакса (коллапс легкого), некоторые - нормальные легкие. В целом набор данных содержит 12047 изображений, 9378 нормальных и 2669 изображений пневмоторакса. Вот примеры рентгеновских снимков грудной клетки из набора данных:

WSSS4LUAD.

Задача WSSS4LUAD направлена ​​на выполнение семантической сегментации ткани в окрашенном H&E целостном изображении (WSI) для аденокарциномы легкого в условиях слабого контроля (https://wsss4luad.grand-challenge.org/). Он предоставляет только аннотации на уровне изображений и предполагает, что участники создадут маски сегментации трех общих и значимых типов тканей, эпителиальной ткани опухоли, ткани стромы опухоли и нормальной ткани. Базовая информация на пиксельном уровне отправлена ​​для проверки и тестирования. Для обучения из 63 WSI было вырезано 10091 патч. Распределение меток следующее: опухоль: 6579, строма: 7076, нормальная: 1832.

Эксперименты с данными о пневмотораксе

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

Архитектура по умолчанию - настройка индивидуальных гиперпараметров.

Мы настроили несколько различных гиперпараметров и обучили модели с ними на данных пневмоторакса. Например, мы:

  • изменен глобальный диапазон шкалы урожая с 0,4–1 до 0,7–1
  • увеличено количество местных культур с 8 до 12
  • используется нормализация оттенков серого
  • уменьшена размерность последнего слоя заделки с 65536 до 8192 и 4096
  • протестировали разную скорость обучения и количество эпох разминки

Мы оценили полученную модель с помощью классификатора KNN, используя выходные встраивания DINO в качестве функций. Использовались 10 лучших соседей и рассчитывалась точность с F1-оценкой.

Мы также заметили, что интересующая область пневмоторакса часто не появлялась в локальных случайных культурах DINO по умолчанию. Чтобы предотвратить это, мы решили поэкспериментировать с пользовательской культурой Quorter Random Resized Crop для местных культур, основываясь на том, что пневмоторакс обычно располагается в углах изображения. Эта обрезка отличается от кадра по умолчанию ограничениями для центральной точки. Для каждой местной культуры мы фиксируем четверть (4 четверти * 3 кадра = всего 12 культур), затем случайным образом выбираем верхнюю левую точку кадрирования в пределах толщины / 4 и высоты / 2 от границы изображения до центра. изображения. При таком подходе мы уверены, что пневмоторакс был включен в посевы.

Результаты некоторых из этих экспериментов показаны в таблице ниже:

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

Архитектура по умолчанию - предварительно обученная модель в ImageNet

Мы проверили, улучшит ли производительность загрузка предварительно обученной модели и ее использование в наших данных. Маленькая модель Deit с загруженными предварительно обученными весами из ImageNet показывает точность 85,203 и показатель F1: 0,60964 при проверке, установленной со следующей матрицей неточностей:

Это на 5% лучший показатель F1, чем при обучении той же модели с нуля. Это неожиданное поведение, поскольку обучение на нашем наборе данных оказывается менее полезным, чем использование весов из совершенно другого набора данных. Это может означать, что обучение DINO на наших данных не дает никаких знаний о пневмотораксе.

Мы протестировали переносное обучение и начали обучение с предварительно обученных весов на ImageNet, однако эти эксперименты не показали никаких улучшений ни в классификационных оценках, ни в картах активации.

Трансформаторы с классификационной головкой

Чтобы помочь DINO отличить пневмоторакс, мы пришли к идее поэкспериментировать с обучением с учителем, добавив в архитектуру классификационную головку. Входными данными классификационной головки являются кодировки DINO для всех 14 культур (2 глобальных и 12 местных). Чтобы управлять потерями в этом случае, мы добавили комбинированные потери DINO + двоичная кросс-энтропия (bce) с переменным весовым коэффициентом bce для классификационной части потерь. Сначала мы начали с bce weight = 0,7, но это привело к нежелательному результату: потери классификации уменьшились, но не потери DINO. Затем мы устанавливаем вес bce равным 0,1, в результате чего обе потери начинают сходиться. Мы проводим несколько экспериментов с простыми классификационными головками с весом bce, равным 0,1:

Матрица неточностей для свертки (kernel_size = 8) + линейный эксперимент:

Мы ожидали, что это обновление принесет дополнительные знания о пневмотораксе на изображения в процессе обучения и поможет DINO сосредоточиться на правильных функциях. Однако, судя по визуализации карт активации, никаких улучшений эти изменения не принесли.

Магистраль CNN с классификационной головкой.

Другая идея заключалась в том, чтобы запустить DINO с классификационной головкой с использованием магистрали CNN ResNeXt 50. Если проблема с алгоритмом была скрыта в природе архитектуры трансформатора, этот эксперимент устранил бы ее. Мы попробовали два варианта классификационной головки: один со средним объединением со сверточным слоем, а другой - только со средним объединением.

Матрица неточностей для эксперимента Среднее объединение по культурам (kernel_size = (ncrops, 1)) + свертка (kernel_size = 8):

Но, как и в предыдущих экспериментах, активационные карты не показали признаков изучения областей пневмоторакса.

Оценка с классификационной головкой

Для последнего эксперимента мы также запускаем оценку без внешнего классификатора KNN, используя только внутренние прогнозы линейного слоя заголовка классификации, за которым следует сигмоидальная функция. Это дало точность 0,8636 и показатель f1 0,7007, что выше, чем в любых других экспериментах. Однако это по-прежнему не улучшает карты активации во время тренировочного процесса, DINO в основном учится определять контур легких и не учится находить области с пневмотораксом.

Эксперименты с гистопатологическими изображениями

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

Выводы

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

Мы предполагаем, что такое поведение было в основном вызвано природой медицинских данных, что (в отличие от ImageNet) представляет несколько проблем для DINO.

  • Одна из этих проблем - представление классов. В медицине у нас обычно всего два класса: нормальные и аномалии (болезни). Более того, наборы данных сильно несбалансированы. Это создает проблему для обучения осмысленным вложениям для изображений с низкой изменчивостью.
  • Другой проблемой является область интереса, которая намного меньше по сравнению с естественными изображениями и влияет на процесс обучения. Более того, не все культуры в модели студента могут захватывать положительные области, что приводит к дальнейшему дисбалансу присутствия аномалии не только на уровне изображения, но и в пределах одной выборки.

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