Объясните сетевые предсказания с помощью CAM градиента
возвращает взвешенную градиентом активацию класса, сопоставляющую (CAM градиента) карта изменения в классификационной оценке изображения scoreMap
= gradCAM(net
,X
,label
)X
, когда сеть net
оценивает счет класса к классу, данному label
. Используйте эту функцию, чтобы объяснить сетевые предсказания и проверять, что ваша сеть фокусируется на правильных частях изображения.
CAM градиента interpretability метод использует градиенты классификационной оценки относительно итоговой сверточной карты функции. Части изображения с большим значением для карты CAM градиента - те который большая часть удара сетевой счет к тому классу.
Используйте этот синтаксис, чтобы вычислить карту CAM градиента для изображения или задач классификации пикселей.
возвращает карту важности CAM градиента с помощью функции сокращения. scoreMap
= gradCAM(net
,X
,reductionFcn
)reductionFcn
указатель на функцию, который уменьшает выходные активации слоя сокращения к скалярному значению. Этот скаляр выполняет роль счета класса к задачам классификации и обобщает метод CAM градиента к задачам неклассификации, таким как регрессия.
gradCAM
функция вычисляет карту CAM градиента путем дифференциации сокращенного выхода слоя сокращения относительно функций в слое функции. gradCAM
автоматически выбирает сокращение и слои функции, чтобы использовать при вычислении карты. Чтобы задать эти слои, используйте 'ReductionLayer'
и 'FeatureLayer'
аргументы name-value.
Используйте этот синтаксис, чтобы вычислить карту CAM градиента для задач неклассификации.
[
также возвращает имена слоя функции, и слой сокращения использовался для расчета карты CAM градиента. Используйте этот синтаксис с любой из комбинаций входных аргументов в предыдущих синтаксисах. scoreMap
,featureLayer
,reductionLayer
] = gradCAM(___)
___ = gradCAM(___,
задает опции с помощью одних или нескольких аргументов name-value в дополнение к входным параметрам в предыдущих синтаксисах. Например, Name,Value
)'ReductionLayer','prob'
устанавливает слой сокращения на net
слой под названием 'prob'
.
reductionFcn
функция получает выход от слоя сокращения как прослеженный dlarray
объект. Функция должна сократить этот выход к скалярному dlarray
который gradCAM
затем дифференцируется относительно активаций слоя функции. Например, чтобы вычислить карту CAM градиента для канала 208 из softmax активаций сети, функцией сокращения является @(x)(x(208))
. Эта функция получает активации и извлекает 208-й канал.
gradCAM
функция автоматически выбирает сокращение и слои функции, чтобы использовать при вычислении карты CAM градиента. Для некоторых сетей выбранные слои не могут подойти. Например, если ваша сеть имеет несколько слоев, которые могут использоваться в качестве слоя функции, затем функция выбирает один из тех слоев, но его выбор не может наиболее подойти. Для таких сетей задайте который слой функции использовать использование 'FeatureLayer'
аргумент значения имени.
[1] Selvaraju, Рэмпрасаэт Р., Майкл Когсвелл, Десять кубометров Abhishek, Рамакришна Ведэнтэм, Devi Parikh и Dhruv Batra. “CAM градиента: Визуальные Объяснения от Глубоких Сетей через Основанную на градиенте Локализацию”. 2017 (октябрь 2017): 618–626, https://doi.org/10.1109/ICCV.2017.74.
[2] Виноградова, Кира, Александр Дибров и Джин Майерс. “К Поддающейся толкованию Семантической Сегментации через Взвешенное Градиентом Отображение Активации Класса”. Продолжения Конференции AAAI по Искусственному интеллекту 34, № 10 (апрель 2020): 13943–13944, https://doi.org/10.1609/aaai.v34i10.7244.