Модуль II·Статья II·~3 мин чтения

Объяснимый AI и анализ представлений

Глубокое обучение: теория и практика

Превратить статью в подкаст

Выберите голоса, формат и длину — AI запишет аудио

Объяснимый AI и анализ представлений нейронных сетей

Нейронные сети — «чёрные ящики»: они выдают предсказания, но не объясняют решений. В высокоответственных областях (медицина, финансы, право) объяснимость — юридическое требование (GDPR Art. 22). Интерпретируемость также помогает отлаживать модели и обнаруживать систематические ошибки.

Визуализация признаков CNN

Что выучила CNN? Можно напрямую изучить фильтры W^{(1)} первого слоя (размерность 3×3×3 или 7×7×3): они напоминают ребра Gabor. Но глубокие слои — многомерные, не интерпретируются напрямую.

Активационные карты: для изображения x визуализируем feature map aˡ[k] (k-й канал l-го слоя). Яркие пиксели = сильная реакция на k-й паттерн.

Grad-CAM (Selvaraju et al., 2017):

wₖ = (1/Z)Σᵢⱼ ∂y^c/∂Aᵢⱼᵏ (глобальный average pooling градиентов) L_Grad-CAM = ReLU(Σₖ wₖ Aᵏ)

Здесь y^c — score класса c, Aᵏ — feature map канала k последнего Conv-слоя. Тепловая карта показывает, какие регионы изображения повлияли на предсказание. Grad-CAM++ и Score-CAM — улучшения.

Интерпретируемость через сдвиги признаков

LIME (Ribeiro et al., 2016): Для объяснения предсказания f(x): генерируем n' «возмущённых» версий x' (случайно маскируем суперпиксели); получаем f(x'₁),...,f(x'_{n'}); взвешиваем по близости к x; обучаем интерпретируемую модель g (лассо): min_g E_π[(f(x')−g(x'))²] + Ω(g). Коэффициенты g — объяснение.

Integrated Gradients: IG_i(x) = (xᵢ − x'ᵢ)·∫₀¹ ∂f/∂xᵢ|_{x'+α(x−x')} dα. Приписывает вклад признака i как интегрированный градиент от baseline x' до x. Аксиомы: завершённость (ΣIG_i = f(x)−f(x')), чувствительность (если признак i влияет на выход — IG_i ≠ 0).

Зондирование (Probing)

Идея: что «хранят» скрытые представления нейросети? Берём h — скрытый вектор из слоя l. Обучаем простой (линейный) классификатор P: h → label. Если P работает хорошо → информация о label закодирована в h.

BERTology: зондирование слоёв BERT показало: нижние слои — морфология, средние — синтаксис (POS, NER), верхние — семантика, дискурс.

Probing classifier: для каждого слоя l, обучаем logistic regression: P: aˡ(x) → target. Точность P как функция l показывает, какой слой лучше кодирует target.

Механистическая интерпретируемость

Суперпозиционная гипотеза (Elhage et al., 2022): нейронные сети хранят больше «признаков», чем имеют нейронов. Один нейрон кодирует несколько признаков через интерференцию. Sparse autoencoders позволяют разделить суперпозиционные признаки.

Induction heads (Olsson et al., 2022): определённые головы внимания в трансформерах выполняют «in-context learning» — после обучения обнаруживают паттерны вида A...B...A и предсказывают B. Это механистическое объяснение few-shot learning GPT.

Circuit analysis: найти минимальный «вычислительный контур» (circuit) — подграф весов — ответственный за определённое поведение (например, добавление чисел). IOI task (Indirect Object Identification): «John and Mary went to the store. Mary gave a book to ___» — идентифицированы конкретные головы внимания, вычисляющие этот ответ.

Численный пример

ResNet-50 диагностирует рак кожи (датасет HAM10000): без объяснений. Применяем Grad-CAM: для изображения «меланома» — тепловая карта фокусируется на тёмном пятне с нерегулярными краями. Для «себорейного кератоза» — на комедонах.

Проблема: Grad-CAM показал, что модель сфокусирована на... линейке врача! (Confound — метка масштаба присутствовала только на злокачественных снимках). Intepretability помогла выявить этот систематический bias.

Задание: Обучите ResNet-18 на Cats vs Dogs (25K фото). (1) Реализуйте Grad-CAM для 20 случайных тестовых изображений. Визуализируйте тепловые карты. Интерпретируйте: какие части кошки/собаки важны для классификатора? (2) Проведите probing: для каждого residual блока обучите линейный классификатор (цвет фона, порода, наличие неба). Какой слой лучше кодирует каждый признак? (3) Реализуйте LIME для 5 ошибочных предсказаний: почему модель ошиблась?

§ Акт · что дальше