Кластерная интерпретация глубоких ReLU-сетей: аффинные модели по кластерам и важность признаков

Материал из Машинное обучение - Кафедра прикладной кибернетики
Перейти к навигации Перейти к поиску

Короткая мотивация

Глубокие полносвязные сети с функцией активации ReLU индуцируют естественную кластеризацию входов по шаблонам активности нейронов: для каждого входа часть нейронов «активна» (ReLU в линейном режиме), часть «неактивна». Показано, что внутри каждого такого кластера вся сеть эквивалентна аффинному отображению (линейное преобразование плюс сдвиг), что открывает путь к строгой post-hoc интерпретации предсказаний в виде кластер-специфической важности признаков без изменения структуры и обучения сети.

Цель курсовой — воспроизвести ключевые идеи и эксперименты статьи (ReLU-MLP, синтетика и Titanic), аккуратно проверить утверждения и расширить анализ на свои данные.

Постановка задачи (по пунктам)

  1. Мини-обзор (5–10 стр.) и терминология.
    • Чётко ввести термины: активный нейрон (выход ReLU ), шаблон активности, аффинное отображение (линейное преобразование + сдвиг), кластер входов (эквивалентностный класс по совпадающему шаблону активности), важность признаков (коэффициенты аффинной модели внутри кластера).
    • Кратко пересказать основную идею: композиция аффинных слоёв в фиксированном шаблоне активности остаётся аффинной; следовательно, для каждого кластера можно выписать эффективные параметры , интерпретируя компоненты как важности признаков для этого кластера.
  2. Формализация и проверка аффинности внутри кластера.
    • Для заданного входа сохранить активный подграф прямого распространения (только активные нейроны и рёбра); показать, что выход есть
    • для некоторых (композиция аффинных слоёв).
    • Реализовать в PyTorch/NumPy извлечение по сохранённому шаблону активности (блок-матричное перемножение с «масками» активностей).
    • Проверка корректности: численно сравнить и на множестве точек из того же кластера; убедиться, что значения совпадают с машинной точностью.
  3. Кластеризация по шаблонам активности и важность признаков.
    • Сгруппировать выборку по двоичным шаблонам активности всех слоёв; для каждого кластера вычислить и вектор кластерной важности признаков (в случае скалярного выхода — строки ).
    • Построить гистограммы/диаграммы важности по кластерам; сопроводить текстовой интерпретацией (какие признаки «двигают» решение внутри кластера и в какую сторону).
  4. Репликация экспериментов из статьи и расширения.
    • Синтетическая логическая задача (формула типа ): обучить небольшой ReLU-MLP; показать, что возникают кластеры, соответствующие «правилам»; проверить, что важности улавливают используемые признаки.
    • Titanic (Kaggle): повторить процедуру из статьи (предобработка, ReLU-MLP, кластеризация по активностям, важности признаков), сопроводить интерпретациями для каждого кластера.
    • Расширение (собственная небольшая табличная задача): применить методику к своим данным; сравнить интерпретации с базовыми post-hoc методами (например, permutation importance или линейная локальная аппроксимация) и обсудить совпадения/расхождения.
  5. Анализ ограничений и устойчивости.
    • Обсудить рост числа кластеров при снятии регуляризации/изменении архитектуры и влияние на читаемость результатов.
    • Предостережение: при высокой мультиколлинеарности признаков веса аффинной модели не всегда напрямую интерпретируемы; указать способы проверки (корреляционные матрицы, VIF).
  6. Репозиторий и воспроизводимость.
    • Единый репозиторий с README, фиксированными seed, requirements.txt, скриптами для обучения, извлечения кластеров/аффинных параметров и построения всех рисунков.

Минимальные пререквизиты

Линейная алгебра (линейные/аффинные преобразования), основы вероятности и машинного обучения, базовый Python/NumPy/PyTorch. Курс по дифференциальным уравнениям не требуется.

Требования к оформлению

Итоговый отчёт обязательно набирается в LaTeX (класс article; библиография через biblatex или natbib). Включить: мотивацию, аккуратное введение терминов (русские эквиваленты проверены), формализацию и проверку аффинности, эксперименты (метрики/графики), интерпретации по кластерам, обсуждение ограничений, ссылку на репозиторий.

Литература

  1. N. Picchiotti, M. Gori. Clustering-Based Interpretation of Deep ReLU Network. 2021. (основной источник)
  2. A. Barredo Arrieta et al. Explainable Artificial Intelligence (XAI): Concepts, taxonomies, opportunities and challenges toward responsible AI. Information Fusion, 2020.
  3. S. M. Lundberg, S.-I. Lee. A Unified Approach to Interpreting Model Predictions (SHAP). NeurIPS, 2017.
  4. K. Simonyan, A. Vedaldi, A. Zisserman. Saliency Maps. ICLR Workshop, 2014.

Оценивание (ориентир)

Корректность формализации и проверки аффинности (30%), репликация и качество интерпретаций (35%), чистота кода и воспроизводимость (20%), структура и стиль LaTeX-отчёта (15%).

Ожидаемый результат

  1. Отчёт (PDF), набранный в LaTeX (20–30 страниц без приложений), содержащий:
    • введение и терминологию (активные нейроны, шаблоны активности, кластеры, аффинная эквивалентность, кластерная важность признаков);
    • формализацию: вывод/объяснение представления внутри фиксированного шаблона активности;
    • реализацию извлечения по шаблону активности и численную верификацию совпадения и на точках одного кластера (совпадение с машинной точностью);
    • эксперименты и интерпретации:
      • синтетическая логическая задача (кластеры как «правила», важности признаков);
      • Titanic (Kaggle): кластеризация по активностям и интерпретации по кластерам;
      • собственная табличная задача + сравнение с базовыми post-hoc подходами (например, permutation importance/локальная линейная аппроксимация) и обсуждение совпадений/расхождений;
    • анализ ограничений (рост числа кластеров, читаемость, мультиколлинеарность и проверки через корреляции/VIF);
    • выводы и ограничения, ссылка на репозиторий.
  2. Исходники отчёта: .tex (+ .bib, если используется biblatex/natbib), а также все рисунки/таблицы, использованные в PDF.
  3. Репозиторий с кодом, обеспечивающий воспроизводимость:
    • requirements.txt (или environment.yml);
    • скрипты обучения модели, извлечения шаблонов активности/кластеров и вычисления ;
    • скрипты построения всех графиков/диаграмм важности;
    • README с инструкцией запуска и указанием фиксированных seed;
    • сохранение результатов (графики, таблицы, конфиги) в отдельную папку (results/ или out/).
  4. Приложение (в отчёте или отдельным файлом): дополнительные графики по кластерам, ablation’ы по архитектуре/регуляризации и/или листинги ключевых частей кода (извлечение , проверка аффинности, кластеризация по активностям).

Научный руководитель

ФИО: Мокаев Тимур Назирович [e-mail][Telegram]