Анализ обработки признаков в YOLO NAS S при помощи CAM

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Методы объяснения моделей — практичный инструмент для понимания модели, оценки её точности и стабильности. Однако, часто можно столкнуться с ситуацией, когда фреймворк, в котором метод реализован, просто не "дружит" с реализацией модели. В этом туториале хочу подробно показать CAM (class activation map) для объяснения моделей зрения.

Почему CAM?

Class Activation Maps (CAM) — базовый инструмент для визуализации того, какие области изображения наиболее важны для модели при принятии решения. Он позволяет понять:

  • Какие признаки извлекает модель на разных слоях свертки;

  • Какие зоны изображения вносят вклад в прогноз конкретного класса;

Кроме того, с практической точки зрения:

  • Его почти всегда можно реализовать руками (если у вас есть задача классификации и сверточный слой);

  • Его можно использовать практически в любой задаче классификации с использованием сверточных нейронных сетей.

В процессе туториала я буду использовать YOLO NAS S из библиотеки super-gradients, фреймворк PyTorch и набор данных, включающий изображения с различными животными (коровами, овечками и другими).

В общем, прошу к чтению!

А зовут меня Сабрина. Сейчас я заканчиваю бакалавриат, пишу дипломную работу по интерпретируемости и намеренна идти дальше. Саму область explainable AI я исследую уже 3 года, и просто безумно её люблю. Рада видеть вас среди читателей!

План туториала:

  1. Подготовка данных и загрузка модели YOLO NAS S.

  2. Извлечение карт активации классов (CAM). 

  3. Анализ работы модели: что извлекает backbone, что делает head.

  4. Выводы и анализ результатов.

1. Модель, данные и фреймворк

Используем предобученную YOLO NAS S, реализованную в библиотеке super-gradients. Как пишут разработчики — бибилотека предоставляет готовые к использованию state-of-the-art (SOTA) модели, а также инструменты для обучения и развертывания моделей. Преимущества библиотеки (если кратко) описаны такие:

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

  • Готовые модели: доступны предобученные модели, включая YOLO-NAS и YOLO-NAS-POSE.

Загрузка простая. Процесс инференса — тоже.

from super_gradients.training import models
from super_gradients.common.object_names import Models

model = models.get(Models.YOLO_NAS_S, pretrained_weights="coco")
model.eval();

Данные выложены на GitHub. Вы можете скачать их по ссылке (архив) или следовать туториалу в ноутбуке.

2. CAM: извлечение и теория

Class Activation Maps (CAM) — это базовый метод в explainable AI, который позволяет визуализировать, какие области изображения наиболее важны для модели при принятии решения. Построение таких карт активаций основано на идее сверточных нейронных сетей — если мы начнем разворачивать CNN, то обнаружим, что полносвязный слой, отвечающий за классификацию, содержит столько наборов весов, сколько классов прогнозирует модель — например, для модели, обученной на Imagenet, мы будем иметь 1000 наборов.

Из этого факта и строится идея карты активации класса — значения карт признаков, получаемых на предпоследнем сверточном слое,  домножаются на веса определенного класса. А именно построение CAM проводится по формуле:

CAM_k = w^c_kA^k

где:


Интересные статьи

Интересные статьи

В этой статье я расскажу об интеграции с Keycloak — популярным опенсорсным продуктом для управления доступом (IAM). Многие компании используют его для организации единого входа (Single Sign-On, SSO) в...
Автоматизация и цифровизация бизнеса сейчас очень популярные понятия. Многие понимают, что им это обязательно надо, это модно, это здорово, особенно важна автоматизация для производственных компаний и...
SWAP (своп) — это механизм виртуальной памяти, при котором часть данных из оперативной памяти (ОЗУ) перемещается на хранение на HDD (жёсткий диск), SSD (твёрдотельный накоп...
В статье "Contemporary Front-end Architectures" рассмотрены архитектуры фронт-энда с точки зрения потоков данных в исторической ретроспективе. Материал состоит из трех частей Тео...
В «1С-Битрикс» считают: современный интернет-магазин должен быть визуально привлекательным, адаптированным для просмотра с мобильных устройств и максимально персонализированным с помощью технологии Бо...