Как увидеть признаки, выученные нейросетью: от карты значимости до атласа активаций
Цветные пятна, синтетические текстуры и схемы нейронных связей отвечают на разные вопросы. Шесть первичных исследований показывают, как исследователи превращают числовые представления свёрточных сетей в предмет для анализа.

Два разных вопроса к одному классификатору
Когда классификатор распознаёт объект, его ответ можно исследовать как минимум двумя способами. Первый вопрос: какое изображение вообще повышает оценку выбранного класса? Второй: какие участки именно этой фотографии сильнее влияют на оценку? В работе Karen Simonyan, Andrea Vedaldi и Andrew Zisserman эти задачи разделены на визуализацию модели класса и карту значимости конкретного примера.
Для первого варианта веса уже обученной сети фиксируются, а оптимизация изменяет входное изображение. Градиент указывает направление, в котором оценка класса растёт. Авторы максимизировали ненормированную оценку до softmax и добавляли регуляризацию. Вероятность класса менее удобна для такого вопроса: её можно поднять не только усилением нужного класса, но и уменьшением оценок остальных.
Во втором варианте исходная фотография остаётся точкой анализа. Производные оценки по входным пикселям показывают локальную чувствительность ответа к их изменению. Такая карта не является новой фотографией предмета или объяснением всей сети. Она относится к выбранной паре «изображение — класс». Одна и та же модель поэтому может выдавать разные карты для разных классов на одном кадре, хотя сами её обученные параметры не меняются.
Что можно восстановить из скрытого представления
В исследовании Aravindh Mahendran и Andrea Vedaldi поставлен другой эксперимент: сначала получить числовое представление изображения, затем найти новый вход, который создаёт похожий код. Это инверсия представления. Задача формулируется как уменьшение расхождения между целевым вектором признаков и вектором реконструкции с дополнительным ограничением на характер изображения.
Такое ограничение необходимо, поскольку классификатор может отбрасывать низкоуровневые свойства, несущественные для его задачи. Авторы использовали регуляризацию диапазона значений и вариаций между соседними пикселями. В отличие от восстановления файла из архива, результат здесь не обязан единственным образом совпадать с оригиналом. Несколько изображений могут быть почти эквивалентными с точки зрения выбранного слоя.
Именно множественность реконструкций делает процедуру исследовательским инструментом. Если меняется освещение или расположение деталей, но сохраняется код, это показывает инвариантность представления к таким изменениям. Если реконструкция удерживает пространственные подробности, значит, соответствующая информация ещё присутствует. Работа сравнивает не только глубокие сети, но и HOG и SIFT: общий вопрос касается свойств представлений, а не исключительно нейронной архитектуры.

Нейрон, канал и слой дают разные синтетические образы
В статье Distill «Feature Visualization» цель оптимизации переносится с выходного класса на разные внутренние объекты GoogLeNet. Можно усиливать один нейрон в определённой пространственной позиции, среднюю активность канала или активность слоя целиком. В свёрточной сети один канал соответствует одному и тому же детектору, применённому в разных местах; отдельный нейрон дополнительно фиксирует положение.
Поэтому похожие на текстуры исследовательские изображения не являются универсальными «мыслями нейросети». Их внешний вид зависит от того, какую числовую цель выбрали. Для канала ищется вход, полезный детектору в разных местах. Для слоя одновременно стимулируется множество признаков. Вариант DeepDream может начинаться с существующего изображения, тогда как визуализация отдельного признака часто начинается с шума.
На результат влияет и устройство оптимизации. В Distill применялись пространственные преобразования входа и параметризация изображения в декоррелированном пространстве, чтобы уменьшить преобладание высокочастотных узоров. Опубликованные картинки иллюстрируют конкретный метод получения примеров. Они показывают, какие стимулы повышают активацию при этих условиях, но сами по себе не описывают все возможные входы, на которые способен реагировать данный детектор.

Как из чисел получается словарь признаков
В «The Building Blocks of Interpretability» авторы соединяют визуализацию признаков с активациями на конкретном входе. Скрытый свёрточный слой удобно представить трёхмерным массивом: две оси задают пространственное положение, третья — канал. В каждой ячейке находится значение активации, которое без дополнительного представления человеку трудно интерпретировать.
Семантический словарь связывает такие значения с изображениями соответствующих признаков. Вместо списка номеров каналов интерфейс показывает визуальные примеры, упорядоченные по величине активации. На примерах GoogLeNet исследователи сопоставляли эти образы с признаками шерсти, ушей и морды. Причём название на человеческом языке не заменяет сам пример: несколько каналов, условно относимых к ушам, могут различаться длиной, формой и контекстом.
Следующий шаг — проследить влияние между скрытыми слоями, а не ограничиваться связью входа с итоговым ответом. Визуализация служит словарём обозначений, атрибуция — способом установить вклад, а уменьшение размерности — способом организовать множество объектов на экране. Материал предлагает именно составные интерфейсы из нескольких методов. Его демонстрации опираются на выбранную сеть и не утверждают, что каждый канал любой современной модели обязательно совпадает с одним знакомым человеку понятием.
| Метод | Что зафиксировано | Что исследуется |
|---|---|---|
| Карта значимости | Сеть, фотография и выбранный класс | Чувствительность оценки к пикселям |
| Визуализация признака | Сеть и цель активации | Вход, усиливающий выбранную цель |
| Инверсия представления | Целевой код скрытого слоя | Разные входы с близким кодом |
| Атлас активаций | Сеть, слой и выборка | Частые сочетания внутренних признаков |
| Анализ circuits | Параметры и связи выбранного фрагмента | Роль локальной цепочки вычислений |
Источник: Первичные исследования, перечисленные в источниках материала
Атлас показывает часто встречающиеся сочетания
Activation Atlas расширяет масштаб анализа: вместо одного канала или одной фотографии рассматриваются многочисленные векторы активаций. Авторы собирали их из изображений ImageNet, затем располагали сходные представления рядом в двумерном пространстве и объединяли их в ячейки. Для усреднённого представления каждой ячейки создавалась визуализация. Получалась карта типичных сочетаний признаков, а не просто коллаж исходных фотографий.
В опубликованной работе размер ячейки отражает плотность попавших в неё активаций. Подписи указывают классы, которые эти представления поддерживают в линейном приближении. На карте видны области, связанные с растениями, едой, строениями, водой и частями животных. Пространственное соседство относится к сходству внутренних представлений выбранного слоя, а не к физическому расположению объектов в мире.
Для атласа существенен набор исходных данных: он показывает те состояния, которые удалось получить на выбранной выборке. В работе использовался миллион случайно выбранных обучающих изображений ImageNet. Это не полный перечень всех состояний сети. Зато такая агрегация делает заметными распространённые совместные активации, которые трудно увидеть, последовательно рассматривая независимые визуализации отдельных каналов.
От знакомой формы к конкретной цепочке вычислений
Исследование Circuits меняет единицу анализа: важно не только назвать признак, но и разобраться, какие связи его создают и как результат используется дальше. В «Zoom In» показаны семейства детекторов кривых в InceptionV1. Для них авторы сопоставляли оптимизированные изображения, реальные примеры, синтетические стимулы и изменение ответа при поворотах.
Дополнительное свидетельство даёт структура весов. Исследователи прослеживали, как более простые признаки складываются в детектор кривизны и какие последующие элементы получают его выход. Они также вручную задавали понятную реализацию похожей цепочки, чтобы сопоставить её поведение с найденной. Это уже анализ локального алгоритма внутри сети, а не только подбор выразительной картинки.
В этой работе широкие утверждения об универсальности подобных цепочек прямо обозначены как гипотезы. Наряду с интерпретируемыми детекторами обсуждаются полисемантичные нейроны, реагирующие на разные типы стимулов. Поэтому исследование различает наблюдаемую активацию, предполагаемый смысл признака и подтверждение его вычислительной роли. Карта значимости, визуализация, инверсия, атлас и разбор связей остаются разными приборами: их можно объединять, но у каждого сохраняется собственный объект измерения.
Источники
- Simonyan et al. — Deep Inside Convolutional Networks ↗
- Mahendran, Vedaldi — Understanding Deep Image Representations by Inverting Them ↗
- Olah et al. — Feature Visualization ↗
- Olah et al. — The Building Blocks of Interpretability ↗
- Carter et al. — Exploring Neural Networks with Activation Atlases ↗
- Olah et al. — Zoom In: An Introduction to Circuits ↗


