Как специалисты по данным, мы часто работаем с моделями глубокого обучения для решения широкого круга проблем. Одной из проблем работы с моделями глубокого обучения является понимание того, как они делают прогнозы. В случае сверточных нейронных сетей (CNN), используемых для задач классификации изображений, часто неясно, как сеть приходит к своим прогнозам.

Введение в CNN

Давайте кратко рассмотрим, что такое сверточные нейронные сети (CNN) и как они работают. CNN — это модель глубокого обучения, предназначенная для обработки и анализа изображений. Они состоят из нескольких слоев, каждый из которых выполняет определенную операцию над изображением.

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

Проблема понимания прогнозов CNN

Хотя CNN успешно справляются с задачами классификации изображений, их часто рассматривают как черные ящики, поскольку неясно, как они приходят к своим предсказаниям. Это отсутствие интерпретируемости является серьезной проблемой при использовании CNN в реальных приложениях, где нам необходимо понять, как сеть делает свои прогнозы. Статья Сверточные сети глубоко внутри: визуализация моделей классификации изображений и карт значимости (ICLR 2014)» решает эту проблему, предоставляя способ визуализации активации функций CNN и определения областей изображения, наиболее важные для предсказания сети.

Визуализация активаций функций и карт значимости

Ключевым вкладом статьи является метод визуализации активации функций CNN и создания карт значимости, которые выделяют области изображения, наиболее важные для предсказания сети.

В своей работе авторы решают два важных вопроса:

1. Карта заметности. Какие пиксели на изображении наиболее важны для сети при принятии решения?

Градиент оценки выходного класса по отношению к входному изображению вычисляется с использованием обратного распространения. Этот градиент показывает, насколько сильно изменяется выход сети при изменении входного изображения.

Градиент позволяет определить, какие пиксели во входном изображении оказывают наибольшее влияние на результат предсказания.

Области изображения, наиболее важные для предсказания сети, выделены на картах значимости.

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

2. Модель класса: как выглядит интерпретация нейронной сетью обычного «собака», «кошка» или другого целевого класса изображения?

Авторы предлагают найти идеальное изображение, которое максимизирует оценку класса, но при этом будет ограничено яркостью:

Заключение

Визуализируя активацию функций CNN и создавая карты важности, мы можем получить представление о том, как сеть обрабатывает изображение, и определить функции, которые наиболее важны для ее предсказания. Это имеет важные применения в задачах классификации изображений, где важно понимать, как сеть делает свои прогнозы.