Функции потерь - один из важных компонентов методов сегментации медицинских изображений на основе глубокого обучения. За последние четыре года было предложено более 20 функций потерь для различных задач сегментации. Большинство из них можно использовать в любых задачах сегментации в режиме plug-and-play. В этом блоге

  • Мы представляем систематическую таксономию для сортировки существующих функций потерь по четырем значимым категориям. Это помогает выявить связи и фундаментальное сходство между ними.
  • Более того, мы реализуем все функции потерь с помощью pytorch. Код и ссылки находятся в открытом доступе здесь.

Для простоты мы перечисляем только основную идею каждой потери и опускаем математические формулировки в этом посте. Если вас интересуют точные формулировки, посетите слайд Google.

Убытки, связанные с распределением

  • Перекрестная энтропия (CE) выводится из расхождения Кульбака-Лейблера (KL), которое является мерой различия между двумя распределениями. Для общих задач машинного обучения распределение данных задается обучающим набором, поэтому H (p) будет постоянным.

Таким образом, минимизация CE эквивалентна минимизации расхождения KL.

  • Взвешенная кросс-энтропия - это расширение CE, в котором каждому классу присваивается разный вес. Как правило, неуказанным классам будет присвоен больший вес.
  • Потеря TopK направлена ​​на то, чтобы вынудить сети сосредоточиться на жестких образцах во время обучения.
  • Потеря фокуса адаптирует стандартный CE для работы с экстремальным дисбалансом класса передний план-фон, где потери, присваиваемые хорошо классифицированным примерам, уменьшаются.
  • Потеря CE со штрафом за расстояние взвешивает кросс-энтропию по карте расстояний, полученной из наземной маски истинности. Он направлен на то, чтобы сосредоточить внимание сети на пограничных регионах, которые трудно сегментировать.

Потери по регионам

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

  • Потеря специфичности чувствительности (SS) - это взвешенная сумма среднеквадратичной разницы между чувствительностью и специфичностью. Для решения несбалансированных проблем SS уделяет больше внимания специфичности.
  • Потеря кубиков напрямую оптимизирует коэффициент кубиков, который является наиболее часто используемым показателем оценки сегментации.
  • Потери IoU (также называемые потерями Жаккарда), аналогичные потерям в кости, также используются для прямой оптимизации метрики сегментации.
  • Tversky loss устанавливает разные веса для ложноотрицательных (FN) и ложноположительных (FP), что отличается от проигрыша в кости с использованием равных весов для FN и FP.
  • Общая потеря кубиков - это мультиклассовое расширение потери кубиков, где вес каждого класса обратно пропорционален квадрату частот меток.
  • Потеря фокуса Тверски применяет концепцию потери фокуса, чтобы сосредоточиться на сложных случаях с низкой вероятностью.
  • Штраф за проигрыш предусматривает наказание за ложноотрицательные и ложные срабатывания при общей потере игральных костей.

Граничные потери

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

  • Граничная потеря

  • Потери расстояния Хаусдорфа (HD) предназначены для оценки HD по вероятности выхода CNN, чтобы научиться напрямую сокращать HD. В частности, HD можно оценить с помощью преобразования искажения истинности земли и сегментации.

Сложная потеря

Суммируя различные типы функций потерь, мы можем получить несколько составных функций потерь, таких как Dice + CE, Dice + TopK, Dice + Focal и т. Д.

Все функции потери метионов могут быть использованы в режиме plug-and-play. Код размещен на github: https://github.com/JunMa11/SegLoss.

Любые предложения будут очень признательны!