Объясните сетевые предсказания с помощью Grad-CAM
возвращает карту отображения активации класса с взвешенным градиентом (Grad-CAM) изменения в классификационной оценке изображения scoreMap = gradCAM(net,X,label)X, когда сеть net оценивает счет класса для класса, заданную как label. Используйте эту функцию для объяснения сетевых предсказаний и проверки того, что ваша сеть фокусируется на правых частях изображения.
Метод интерпретации Grad-CAM использует градиенты классификационной оценки относительно окончательной сверточной карты функций. Части изображения с большим значением для карты Grad-CAM являются теми, которые больше всего влияют на счет сети для этого класса.
Используйте этот синтаксис для вычисления карты Grad-CAM для задач классификации изображений или пикселей.
возвращает карту важности Grad-CAM с помощью функции сокращения. scoreMap = gradCAM(net,X,reductionFcn)reductionFcn является указателем на функцию, который уменьшает выходные активации восстановительного слоя до скалярного значения. Этот скаляр выполняет роль счета класса для задач классификации и обобщает метод Grad-CAM для неклассификационных задач, таких как регрессия.
gradCAM функция вычисляет карту Grad-CAM путем дифференцирования уменьшенного выхода слоя сокращения относительно функций в слое признаков. gradCAM автоматически выбирает слои сокращений и функций, которые будут использоваться при вычислении карты. Чтобы задать эти слои, используйте 'ReductionLayer' и 'FeatureLayer' аргументы имя-значение.
Используйте этот синтаксис для вычисления карты Grad-CAM для задач неклассификации.
[ также возвращает имена слоя функции и слоя сокращения, используемые для вычисления карты Grad-CAM. Используйте этот синтаксис с любыми комбинациями входных аргументов в предыдущих синтаксисах. scoreMap,featureLayer,reductionLayer] = gradCAM(___)
___ = gradCAM(___, задает опции, использующие один или несколько аргументов имя-значение в дополнение к входным параметрам в предыдущих синтаксисах. Для примера, Name,Value)'ReductionLayer','prob' устанавливает слой редукции в net слой с именем 'prob'.
The reductionFcn функция получает выход от восстановительного слоя как трассированный dlarray объект. Функция должна уменьшить этот выход до скалярного dlarray, который gradCAM затем дифференцируется относительно активации слоя функции. Для примера, чтобы вычислить карту Grad-CAM для канала 208 активаций softmax сети, функция сокращения @(x)(x(208)). Эта функция получает активации и извлекает 208-й канал.
gradCAM функция автоматически выбирает сокращение и слои признаков, которые будут использоваться при вычислении карты Grad-CAM. Для некоторых сетей выбранные слои могут оказаться неподходящими. Например, если ваша сеть имеет несколько слоев, которые могут использоваться в качестве слоя признаков, то функция выбирает один из этих слоев, но ее выбор может оказаться не самым подходящим. Для таких сетей задайте, какой слой функции использовать, используя 'FeatureLayer' аргумент имя-значение.
[1] Selvaraju, Ramprasaath R., Michael Cogswell, Abhishek Das, Ramakrishna Vedantam, Devi Parikh и Dhruv Batra. «Grad-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.