Кластерная интерпретация глубоких ReLU-сетей: аффинные модели по кластерам и важность признаков
Короткая мотивация
Глубокие полносвязные сети с функцией активации ReLU индуцируют естественную кластеризацию входов по шаблонам активности нейронов: для каждого входа часть нейронов «активна» (ReLU в линейном режиме), часть «неактивна». Показано, что внутри каждого такого кластера вся сеть эквивалентна аффинному отображению (линейное преобразование плюс сдвиг), что открывает путь к строгой post-hoc интерпретации предсказаний в виде кластер-специфической важности признаков без изменения структуры и обучения сети.
Цель курсовой — воспроизвести ключевые идеи и эксперименты статьи (ReLU-MLP, синтетика и Titanic), аккуратно проверить утверждения и расширить анализ на свои данные.
Постановка задачи (по пунктам)
- Мини-обзор (5–10 стр.) и терминология.
- Чётко ввести термины: активный нейрон (выход ReLU ), шаблон активности, аффинное отображение (линейное преобразование + сдвиг), кластер входов (эквивалентностный класс по совпадающему шаблону активности), важность признаков (коэффициенты аффинной модели внутри кластера).
- Кратко пересказать основную идею: композиция аффинных слоёв в фиксированном шаблоне активности остаётся аффинной; следовательно, для каждого кластера можно выписать эффективные параметры , интерпретируя компоненты как важности признаков для этого кластера.
- Формализация и проверка аффинности внутри кластера.
- Для заданного входа сохранить активный подграф прямого распространения (только активные нейроны и рёбра); показать, что выход есть
- для некоторых (композиция аффинных слоёв).
- Реализовать в PyTorch/NumPy извлечение по сохранённому шаблону активности (блок-матричное перемножение с «масками» активностей).
- Проверка корректности: численно сравнить и на множестве точек из того же кластера; убедиться, что значения совпадают с машинной точностью.
- Для заданного входа сохранить активный подграф прямого распространения (только активные нейроны и рёбра); показать, что выход есть
- Кластеризация по шаблонам активности и важность признаков.
- Сгруппировать выборку по двоичным шаблонам активности всех слоёв; для каждого кластера вычислить и вектор кластерной важности признаков (в случае скалярного выхода — строки ).
- Построить гистограммы/диаграммы важности по кластерам; сопроводить текстовой интерпретацией (какие признаки «двигают» решение внутри кластера и в какую сторону).
- Репликация экспериментов из статьи и расширения.
- Синтетическая логическая задача (формула типа ): обучить небольшой ReLU-MLP; показать, что возникают кластеры, соответствующие «правилам»; проверить, что важности улавливают используемые признаки.
- Titanic (Kaggle): повторить процедуру из статьи (предобработка, ReLU-MLP, кластеризация по активностям, важности признаков), сопроводить интерпретациями для каждого кластера.
- Расширение (собственная небольшая табличная задача): применить методику к своим данным; сравнить интерпретации с базовыми post-hoc методами (например, permutation importance или линейная локальная аппроксимация) и обсудить совпадения/расхождения.
- Анализ ограничений и устойчивости.
- Обсудить рост числа кластеров при снятии регуляризации/изменении архитектуры и влияние на читаемость результатов.
- Предостережение: при высокой мультиколлинеарности признаков веса аффинной модели не всегда напрямую интерпретируемы; указать способы проверки (корреляционные матрицы, VIF).
- Репозиторий и воспроизводимость.
- Единый репозиторий с README, фиксированными seed,
requirements.txt, скриптами для обучения, извлечения кластеров/аффинных параметров и построения всех рисунков.
- Единый репозиторий с README, фиксированными seed,
Минимальные пререквизиты
Линейная алгебра (линейные/аффинные преобразования), основы вероятности и машинного обучения, базовый Python/NumPy/PyTorch. Курс по дифференциальным уравнениям не требуется.
Требования к оформлению
Итоговый отчёт обязательно набирается в LaTeX (класс article; библиография через biblatex или natbib). Включить: мотивацию, аккуратное введение терминов (русские эквиваленты проверены), формализацию и проверку аффинности, эксперименты (метрики/графики), интерпретации по кластерам, обсуждение ограничений, ссылку на репозиторий.
Литература
- N. Picchiotti, M. Gori. Clustering-Based Interpretation of Deep ReLU Network. 2021. (основной источник)
- A. Barredo Arrieta et al. Explainable Artificial Intelligence (XAI): Concepts, taxonomies, opportunities and challenges toward responsible AI. Information Fusion, 2020.
- S. M. Lundberg, S.-I. Lee. A Unified Approach to Interpreting Model Predictions (SHAP). NeurIPS, 2017.
- K. Simonyan, A. Vedaldi, A. Zisserman. Saliency Maps. ICLR Workshop, 2014.
Оценивание (ориентир)
Корректность формализации и проверки аффинности (30%), репликация и качество интерпретаций (35%), чистота кода и воспроизводимость (20%), структура и стиль LaTeX-отчёта (15%).
Ожидаемый результат
- Отчёт (PDF), набранный в LaTeX (20–30 страниц без приложений), содержащий:
- введение и терминологию (активные нейроны, шаблоны активности, кластеры, аффинная эквивалентность, кластерная важность признаков);
- формализацию: вывод/объяснение представления внутри фиксированного шаблона активности;
- реализацию извлечения по шаблону активности и численную верификацию совпадения и на точках одного кластера (совпадение с машинной точностью);
- эксперименты и интерпретации:
- синтетическая логическая задача (кластеры как «правила», важности признаков);
- Titanic (Kaggle): кластеризация по активностям и интерпретации по кластерам;
- собственная табличная задача + сравнение с базовыми post-hoc подходами (например, permutation importance/локальная линейная аппроксимация) и обсуждение совпадений/расхождений;
- анализ ограничений (рост числа кластеров, читаемость, мультиколлинеарность и проверки через корреляции/VIF);
- выводы и ограничения, ссылка на репозиторий.
- Исходники отчёта:
.tex(+.bib, если используется biblatex/natbib), а также все рисунки/таблицы, использованные в PDF. - Репозиторий с кодом, обеспечивающий воспроизводимость:
requirements.txt(илиenvironment.yml);- скрипты обучения модели, извлечения шаблонов активности/кластеров и вычисления ;
- скрипты построения всех графиков/диаграмм важности;
READMEс инструкцией запуска и указанием фиксированных seed;- сохранение результатов (графики, таблицы, конфиги) в отдельную папку (
results/илиout/).
- Приложение (в отчёте или отдельным файлом): дополнительные графики по кластерам, ablation’ы по архитектуре/регуляризации и/или листинги ключевых частей кода (извлечение , проверка аффинности, кластеризация по активностям).