Возвращение к объяснимому методу маскирования для классификаторов изображений и его применение к Vision Transformer (ViT)

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

В этой статье я покажу один такой алгоритм, описанный в Значимые возмущения (Фонг и др., 2018),, который применим к черному ящику. модели и доступны для непрофессионала. Я объясню его преимущества, как он работает и его ограничения при объяснении классификаторов. В последнем разделе я демонстрирую несколько применений алгоритма. Я использую алгоритм для изображений, загружаемых в Google Brain's Vision Transformer (ViT), чтобы показать, как вы можете использовать алгоритм для интерпретации вашей собственной модели классификации изображений (да, даже если это самая разрекламированная модель в 2021 году). Я также создаю состязательные изображения, которые добавляют визуально незаметные шумы к исходному изображению, так что модель неправильно предсказывает метку, используя метод быстрого градиентного знака, и демонстрирую, что алгоритм может снизить шум изображения, маскируя эти шумы. В некоторых случаях маскирование восстанавливает исходный прогноз модели на изображении.

Моя реализация и демонстрационный блокнот доступны для вас на моем Github.

Изображение стоит его замаскированных частей

Наш метод - это разновидность локального объяснения, цель которого - объяснить, как модель ведет себя при определенных входных данных. Наш метод конкретно отвечает на два вопроса:

  1. На какие части изображения модель больше всего полагалась при прогнозировании?
  2. Насколько эта модель полагалась на эти особенности для своих прогнозов?

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

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

Метод достигает своей цели путем (1) создания начальной маски, (2) возмущения изображения этой маской, затем (3) итеративного вычисления градиента модели с учетом возмущенного изображения и (4) обновления маски таким образом, чтобы модель вероятность на исходной этикетке сведена к минимуму. Помните, что модель представляет собой черный ящик: ее вес никогда не меняется, обновляется только маска!

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

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

Гладкие возмущения: иногда создание маски с помощью SGD приводит к использованию артефактов, обнаруженных в модели. Поэтому он создает маски с шумом, которые не соответствуют никаким семантически наблюдаемым характеристикам (например, шуму, крыльям, глазам), обнаруженным на изображении, что затрудняет их интерпретируемость. Поэтому авторы добавляют шум к маске, чтобы объяснитель не учился на одной, возможно, зашумленной маске (3-й член, где изображение x_0 имеет некоторый шум с помощью тау) и норме полной вариации (TV) (2-й член). Это приводит к гладкой маске.

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

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

Интерпретация решения модели

Теперь мы будем использовать последнюю версию Vision Transformer (ViT) из Изображение стоит 16x16 слов: преобразователи для распознавания изображений в масштабе e (Досовицкий и др., 2020) , чтобы показать, что этот метод объяснимости все еще применим к недавним (а иногда и революционным) модельным архитектурам. Мы также будем использовать изображение Летнего дворца в Пекине, первоначальное предсказание которого - Дворец (698 на ImageNet).

Сначала мы загружаем нашу модель преобразователя, в данном случае базовый вариант ViT для изображений 224 x 224, предварительно обученных в ImageNet, и просто вызываем функцию perturb вместе с нашими преобразованиями предварительной обработки. Результаты представлены ниже и сохранены в виде изображений.

Поскольку маска выделяет наиболее важные детали изображения в соответствии с моделью, мы можем напрямую проверить, правильны ли функции, которые использует модель. Тем не менее, маска также показывает проблему наземной истины, о которой я говорил ранее. Есть ли какие-то части маски, отсутствующие в нашей предполагаемой маске наземной информации, например, крыша здания? Как мы можем узнать, какие особенности важны для ярлыка дворец? Тем не менее, мы можем идентифицировать, по крайней мере, если модель смотрит на детали в правильных областях изображения, например, избегая фокусировки на деревьях, чтобы сделать эту классификацию (хотя маска действительно показывает некоторый небольшой фокус на деревьях).

Действительно, вероятность модели на исходной предсказанной метке падает с ~ 0,74% до ~ 0,0008%, и она классифицирует возмущенное изображение (исходное изображение с примененной маской) как маяк (437), показывая, что перекрывая основные области image мешают модели правильно классифицировать изображение.

Защита модели от состязательных изображений

Теперь применим этот метод к изображениям с уменьшенным шумом, возмущенным состязательным шумом (состязательное изображение). Насколько эффективен метод против визуально неуловимого враждебного шума? Авторы использовали итеративный и мощный градиентный метод, но мы посмотрим, сможет ли модель отреагировать на более слабую атаку.

Мы рассматриваем целевую версию метода быстрого градиентного знака (FGSM), введенного Goodfellow, et. al. (2015) и установите для состязательного изображения ярлык Замок (483), который многим кажется семантически похожим на Дворец (действительно ли при размышлении об этих двух терминах возникает одно и то же изображение в твоей голове?). В конце концов, оба этих внушительных здания содержат укрепления и исторический дом королевской семьи.

Модели-трансформеры также уязвимы для состязательных изображений. Как видите (или нет!), Состязательный шум мешает нам различить что-либо визуально различное между двумя изображениями, но наша модель ошибочно классифицировала состязательное изображение как Замок. Однако применение метода значимых возмущений к состязательному изображению открывает один из возможных способов отличить чистые изображения от состязательных изображений.

Маска, созданная на состязательном изображении, четко показывает меньше выделенных областей и более заметно пикселизированных областей по сравнению с маской чистого изображения, которое имеет более выделенные и гладкие области. Авторы отметили, что их алгоритм работал аналогично состязательным атакам на основе градиента, потому что оба типа методов итеративно изменяют данные (т. Е. Возмущают изображение) на основе градиента функции стоимости данных для увеличения функции стоимости ( т.е. заставить модель неправильно классифицировать изображение). Они даже обучили классификатор, который достиг ~ 93% точности в различении масок чистых и состязательных изображений, созданных гораздо более мощным методом итеративной атаки.

Мы также можем использовать маску для шумоподавления изображения. Поскольку модель основывается на состязательном шуме для классификации состязательного изображения, маска состязательного изображения должна выделять состязательный шум как важные области изображения. Следовательно, возмущение враждебного изображения его маской может позволить модели вернуть свое исходное предсказание с учетом возмущенного изображения. Действительно, это случай нашего состязательного изображения с маской (очищенное изображение). Наша модель правильно предсказывает изображение как дворец. Авторы также удалили 5000 состязательных изображений и обнаружили, что их модель возвращала исходное предсказание примерно в 40% случаев.

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

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

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

² Хотя авторы использовали 300 итераций, на практике я обнаружил, что первые 20 итераций, использующие мою реализацию, уже значительно снижают вероятность, связанную с исходной меткой. Тем не менее, 300 итераций с CUDA в Google Colab заняли 5 секунд.

Благодарим Патрика и Голама за отзывы.