Объясните сетевые предсказания с помощью 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' аргументы значения имени.
Используйте этот синтаксис, чтобы вычислить карту CAM градиента для задач неклассификации.
[ также возвращает имена слоя функции, и слой сокращения использовался для расчета карты CAM градиента. Используйте этот синтаксис с любой из комбинаций входных аргументов в предыдущих синтаксисах. scoreMap,featureLayer,reductionLayer] = gradCAM(___)
___ = gradCAM(___, задает опции с помощью одного или нескольких аргументов значения имени в дополнение к входным параметрам в предыдущих синтаксисах. Например, 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.