Интерпретируемость модели, понимание машинного обучения

Измерение методов XAI с помощью неверности и чувствительности

Интуиция, лежащая в основе измерений неверности и чувствительности для методов XAI.

Объяснимый искусственный интеллект (XAI) с каждым годом становится все более популярным. Кроме того, с каждым годом у нас появляется больше методов, объясняющих, как работают наши модели. Единственная проблема с большинством из этих подходов - это сравнение.

У нас есть два типа методов:

  • Количественный - на основе некоторого числового значения
  • Качественный - на основе мнений / опросов

Позвольте мне показать вам, в чем проблема:

Здесь у нас есть два объяснения одного и того же прогноза (сделанного моделью ResNet18) с использованием двух методов: Управляемое обратное распространение (GPB) и Интегрированные градиенты (IG). Как видите, предсказанный класс неверен, но два объяснения, почему это должен быть бузина, совершенно разные. Как человек, не имеющий представления о растениях, я бы сказал, что объяснение GPB лучше, и, вероятно, так оно и есть. Мы могли бы спросить больше людей, а в конце собрать все ответы и решить, какой из них лучше. Прежде чем это сделать, давайте перейдем к другому примеру.

В данном случае мы рассматриваем другой метод под названием GradCAM. Этот пример не так очевиден, как предыдущий. Версия GradCAM имеет меньше шума (больше внимания уделяется цветам), но без эксперта мы не можем быть уверены, какая из них лучше. Мы все еще можем опрашивать людей и получать ответы на них, но будет ли этот ответ верным? Конечно, мы можем протестировать 100 или даже 1000 изображений и придумать отличное представление о том, какой метод лучше, но это не будет масштабироваться, когда в нашем наборе данных будет 10 тысяч изображений, и нам нужно сравнить 5 различных методов с использованием 5 разных моделей.

Это проблема качественного подхода. Мы можем сравнить несколько примеров, но это не даст нам какой-либо значимой метрики, если мы захотим добавить еще один метод в наш сравнительный опрос. Вот тогда и появятся количественные методы. Идея количественного метода состоит в том, чтобы иметь некую метрику, которую можно воспроизвести и которая позволяет нам сравнивать числовые значения. В статье О (неверности) и восприимчивости к объяснениям Чи-Куан Йе и другие представляют две меры (так называемые неверность и чувствительность ), что должно быть объективной оценкой такого рода объяснений (карта значимости).

Чувствительность

Начнем со второго, потому что его легче объяснить. Как следует из названия, это измерение говорит нам, насколько «чувствительным» является метод.

Где:

  • Φ - функция объяснения
  • f - модель черного ящика.
  • x - ввод
  • r называется радиусом входной окрестности.

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

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

Вы можете спросить: "Что это за радиус?" (параметр r). Это в основном нижняя и верхняя границы равномерного распределения U {−r, r}. Теперь, когда мы знаем параметры, вот примеры:

Рис. 3. сделан с помощью простой модели, которая работает с изображениями 3x3x1 (оттенки серого). Мы вычитаем 0,1 шума из исходного ввода и вычисляем атрибуцию на основе нового маскированного ввода. Мы видим, что атрибуция изменяется (позиция (2,1) в сетке Маскированная входная атрибуция). В этом примере получается значение чувствительности ~ 0,01 (оно немного больше, потому что другие атрибуты также изменились, но это изменение очень мало). Возможен случай, когда значение чувствительности будет равно 0.

Этот пример - подделка (проверьте его в приложении ниже), но я сделал это, чтобы показать вам, когда атрибуция может быть равна 0. В этом случае (рис. 4) мы также применили некоторое возмущение (-0,1 к ( 1,1) позиция), но атрибуция нового замаскированного ввода остается прежней. Это единственный случай, когда значение чувствительности будет иметь значение 0. Значение чувствительности IRL рассчитывается не на основе одного возмущения, а скорее 10 или более.

Неверность

Неверность - это немного сложнее, чем чувствительность. Результат принимает больше значений, чем просто атрибуция (а также оценка и сам шум). Уравнение неверности выглядит так:

Где:

  • Φ - функция объяснения
  • f - модель черного ящика.
  • x - ввод
  • Я - серьезное возмущение

На этот раз мы имеем дело с существенным возмущением. В статье много обсуждается это возмущение, но, в конце концов, у нас остается 2 основных варианта:

  • Шумный базовый уровень - просто используйте гауссовский случайный вектор
  • Удаление квадратов - удаление случайных подмножеств пикселей.

Первый вариант проще с точки зрения реализации и использования. Нам просто нужно сгенерировать вектор (точнее, тензор) той же формы, что и наш вход, используя распределение Гаусса. Этот метод уже встроен во все библиотеки ML. Хорошо, но как именно выглядит этот расчет?

Мы можем разделить это уравнение неверности на 2 или даже 3 части:

@1

Нам нужно рассчитать атрибуцию, используя исходные данные, и умножить ее на транспонированный вектор шума. Это может показаться простым (и это так), но следует отметить одну важную вещь. Поскольку мы используем наш исходный вектор шума, если он имеет несколько значений 0, значения атрибуции, размещенные на транспонированных позициях этих значений, будут очищены (умножение на 0).

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

@2

Эта часть еще проще, потому что мы просто получаем результат нашей модели черного ящика и вычитаем значение после возмущения из значения до возмущения.

@3

Это не совсем отдельная часть, но нам не нужны отрицательные числа, поэтому мы просто возводим результат в квадрат.

Демо

К сожалению, я не могу включить приложение в статью Medium. Исходная демонстрация доступна по адресу https://erdem.pl/2021/03/measuring-xai-methods-with-infidelity-and-sensitivity#demo

Теперь вы знаете, как выглядит расчет, и я подготовил простое демонстрационное приложение, в котором вы можете поиграть с разными шумами и проверить, как это влияет на неверность и / или чувствительность. Помните, что значения шума в этом примере очень большие, и обычно даже значительное возмущение намного меньше этого.

Это приложение использует модель, которая принимает входное изображение 3x3x1 и прогнозирует присвоение одному из двух классов. Это простая модель, и вам не стоит беспокоиться о ее полезности (ее нет). Я создал его только для того, чтобы показать влияние выбранного шума на неверность и чувствительность. Было бы неудобно демонстрировать тот же эффект, используя большую сетку.

Выводы

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

Если вы заинтересованы в использовании этих методов, вы можете попробовать Captum Library и их реализацию этих методов:

Использованная литература:

  • Аксиоматическая атрибуция для глубоких сетей, Мукунд Сундарараджан и др. 2017 arxiv 1703.01365
  • Стремление к простоте: вся сверточная сеть, Йост Тобиас Спрингенберг и др. 2015 архив 1412.6806
  • О (не) верности и чувствительности к объяснениям, Чих-Куан Йе и др. 2019 arxiv 1901.09392
  • Grad-CAM: визуальные объяснения глубинных сетей с помощью градиентной локализации, Р. Р. Сельвараджу и др. 2016 архив 1610.02391

Первоначально опубликовано на https://erdem.pl.