Влияние фрагментов на прогноз
В задаче классификации фотографий можно очень легко оценивать влияние каждого фрагмента изображения на прогноз. Для этого изображение нужно разбить на суперпиксели (superpixels [1]), то есть группы соседних пикселей, примерно похожих по цвету и размеру, а затем поочерёдно затирать каждый суперпиксель (заполняя равномерно некоторым цветом) и смотреть, насколько изменится прогноз модели.
Ниже показаны примеры разбиения изображения на суперпиксели [2]:
На изображениях ниже подсвечены суперпиксели, заполнение которых равномерным цветом приводит к максимальному изменению прогноза [3]:
По самым значимым суперпикселям видно, что модель обучилась корректно - при классификации объекта она анализирует именно его, а не фон.
Вместо суперпикселей изображение можно разбить на квадратные участки и затирать поочерёдно каждый участок, чтобы оценить его влияние. Однако в этом случае полученная карта влияния будет получаться более грубой, чем используя суперпиксели.
Аналогичный подход можно применить и при классификации текстов - нужно поочерёдно удалять слова, фразы или целые предложения и смотреть, насколько изменится прогноз модели, чтобы определить самые значимые части текста, голосующие за выбранный класс.
Выделение суперпикселей
Для выделения суперпикселей существуют различные алгоритмы. Опишем один из самых известных - алгоритм SLIC (simple linear iterative clustering) [2]:
-
Изображение переводится в цветовое пространство CIELAB. Тогда цвет каждой точки будет кодироваться не тройкой , а тройкой .
-
Инициализируются центры K кластеров по равномерной сетке координат . Если у нас пикселей, то вначале каждый кластер будет содержать пикселей, а сторона каждого кластера будет примерно равна .
-
Центры немного смещаются, чтобы обеспечить минимум перепада цветов вдоль вертикальной и горизонтальной оси в окрестности 3x3:
- В цикле до сходимости, используя алгоритм K-средних [4]:
- для каждого центра производится распределение окружающих его пикселей между кластерами по принципу близости до его центра в пространстве и пространственной окрестности .
- обновляются расположения центров кластеров как средние значения 5-мерных векторов, описывающих каждый пиксель.
- Постобработка: если обнаружены несвязные области, отнесенные к одному центроиду, они присоединяются к ближайшему соседнему кластеру.
В работе [5] можно прочитать про другие методы извлечения суперпикселей и их сравнение с методом SLIC. Алгоритмы извлечения суперпикселей реализованы в библиотеке scikit-image [6].