Эта статья была впервые опубликована на:Уокер ИИ
Прежде чем начнется обсуждение всей статьи, давайте сделаем некоторые концептуальные пояснения. Сверточные блоки каждого слоя сверточной нейронной сети фактически действуют как детекторы объектов в модельной сети, хотя и не обеспечивают наблюдение за расположением объектов. Хотя у него есть исключительная способность находить объекты в сверточных слоях, эта способность теряется при использовании полносвязных слоев для классификации. На основе этого предлагается концепция CAM (отображение активации классов), использующая глобальное среднее объединение, чтобы сообщить нам в виде тепловой карты, какие пиксели модель использует, чтобы узнать, что изображение принадлежит к определенной категории, что делает модель прозрачной. и интерпретируемый, как показано ниже:
1. Рабочий механизм Global Average Pooling
Здесь мы предполагаем, что конечное количество категорий равно n, последний слой содержит n карт признаков, вычисляется среднее значение всех пикселей в каждой карте признаков, а затем подключается полносвязный слой с n нейронами. Причина наличия n карт объектов заключается в том, что каждая карта объектов в основном извлекает некоторые функции, относящиеся к определенной категории.
2. Что такое САМ?
Карта признаков последнего слоя CNN богата наиболее распространенной семантической информацией о категории (которую можно понимать как высоко абстрактный признак категории), поэтому CAM визуализируется на основе карты признаков последнего слоя. CAM позволяет нам получить хорошее объяснение сети CNN.Тепловая карта получается с использованием принципа перекрытия веса карты признаков.Подробный принцип работы показан на следующем рисунке.
Предположим, что в последнем слое есть n карт объектов, обозначенных как, нейрон в слое классификации имеет n весов, и один нейрон соответствует классу, пусть первыйВес каждого нейронаC класса генерируется в режиме CAM:
Размер сгенерированного CAM согласуется с размером карты объектов последнего слоя, а затем можно выполнить повышение дискретизации, чтобы получить CAM того же размера, что и исходное изображение.
2.1. Почему этот расчет может получить область, связанную с категорией
Используя GAP для представления глобальной средней функции объединения, следуя приведенным выше обозначениям, классификационная оценка c-го класса равна, вес GAP, размер карты признаков, первоекарта объектоврядЗначение пикселя столбца, то есть:
Пиксель на карте объектов соответствует области исходного изображения, а значение пикселя представляет собой объект, извлеченный из области, как видно из приведенной выше формулы.Размер определяется значением пикселя и весом на карте функции. Продукт значения пикселя и веса на карте объекта больше 0, что способствует классификации образцов в этот класс, то есть CNN считает, что CNN считает, что Эта область в исходном изображении имеет функции, связанные с классом. Уравнение 1 - это рассчитать, имеет ли каждое значение пикселя на карте функции, связанные с категором функции. Если это так, мы можем пособиться, чтобы увидеть, какую часть исходного изображения этот пиксель соответствует. Начальная точка зазора также такая же, то есть во время процесса обучения сеть учится определить, какая область в исходном изображении имеет функции, связанные с категором. Поскольку разрыв удаляет избыточные полностью подключенные слои и не вносит параметры, пробел может снизить риск переоценки. Результаты визуализации также показывают, что правильная классификация CNN действительно связана с тем, что правильная категория, связанные с категориями в исходном изображении.
2.2 Дефекты CAM
Необходимо изменить структуру сети и переобучить модель, что неудобно в практических приложениях.
3. Grad-CAM
3.1 Структура Grad-CAM
Основная идея Grad-CAM и CAM одинакова, разница заключается в том, как получить вес каждой карты признаков, а для расчета веса используется глобальное среднее значение градиента. Определяет первый шаг в Grad-CAMВес каждой карты признаков, соответствующей категории c:
Среди них Z представляет количество пикселей на карте объектов,представляет градиент оценки c-го класса,означает первыйКарта функции,Значение пикселя в этом месте. Затем получают веса соответствующих категорий всех карт объектов, а затем взвешивают и суммируют, чтобы можно было получить окончательную тепловую карту Формула суммирования выглядит следующим образом:
3.2 Эффект Grad-CAM
4. Вывод
Визуализация может еще больше дифференцировать классификации, точнее и точнее выявить надежность классификаторов, а также помочь выявить систематические ошибки в наборе данных. Настоящее приложение ИИ также должно заставлять людей доверять его поведению и использовать его.
5. Реализация кода
https://github.com/jacobgil/keras-cam
использованная литература
-
B. Zhou, A. Khosla, A. Lapedriza, A. Oliva, and A. Torralba. Object detectors emerge in deep scene cnns. International Conference on Learning Representations, 2015.
-
Computers - Computer Graphics; Investigators from Georgia Institute of Technology Have Reported New Data on Computer Graphics (Grad-CAM: Visual Explanations from Deep Networks via Gradient-Based Localization). 2020, :355-.
PS: Для получения дополнительной технической галантереи, пожалуйста, обратите внимание на [Публичный аккаунт | xingzhe_ai] и обсудите с ходоками!