Курсовая работа (исследовательский проект), магистратура МФТАД, НИУ ВШЭ. Систематическое исследование того, как параметры лёгкого детерминированного метода на основе кривых сложности–энтропии Реньи (complexity–entropy, CE) влияют на оценку ошибок генерации диффузионных моделей.
CE-дескрипторы пригодны для оценки синтетичности; обнаружение галлюцинаций остаётся вне их возможностей:
- H1 (реальное vs синтетическое) — подтверждена: AUROC до 0.858 [0.779, 0.927], воспроизводится на независимом CIFAKE (0.756 [0.727, 0.782], n=1200); но CE не превосходит тривиальный спектр Фурье.
- H2 (галлюцинации vs удачные генерации) — отвергнута: 0 из 44 конфигураций значимы (лучший AUROC 0.549 [0.411, 0.691]).
- Механизм (E5): CE реагирует на текстурные дефекты (размытие, шум), но слеп к структуросохраняющему дублированию — аналогу семантической галлюцинации.
| Путь | Содержание |
|---|---|
paper/ce_features.py |
CE-признаки: 5 схем линеаризации 2D→1D + нативные 2D-ординалы |
paper/evaluate.py |
протокол: LogReg + повторная стратиф. CV + bootstrap-CI |
paper/sweep.py |
параметрический перебор (scheme × d × τ × 2D) |
paper/baselines.py |
FFT / GLCM-Haralick / LBP / pixel-stats |
paper/inject.py |
контролируемая инъекция артефактов (ground truth) |
paper/figs*.py |
фигуры |
paper/results/ |
sweep.csv, baselines.csv, inject.csv + фигуры |
arXiv_diploma_report/report_ru.tex |
текст работы (русский), компилируется в PDF |
bach_code/ |
исходные ноутбуки (прототип) |
python3 -m venv .venv
.venv/bin/pip install numpy scipy scikit-learn scikit-image pillow ordpy pandas matplotlib datasets pyarrow
cd paper
../.venv/bin/python sweep.py # параметрический перебор -> results/sweep.csv
../.venv/bin/python baselines.py # бейзлайны -> results/baselines.csv
../.venv/bin/python inject.py # инъекция артефактов -> results/inject.csv
../.venv/bin/python figs.py figs_inject.pyДанные изображений (bach_code/data/) и CIFAKE не входят в репозиторий
(авторские права); их нужно получить отдельно. CIFAKE подтягивается стримингом
через HuggingFace (paper/cifake.py).
- размерность вложения d ∈ {3, 4, 5, 6}; задержка τ ∈ {1, 2}
- набор Реньи α ∈ {0.0, 0.1, …, 1.0} (10 точек) → вектор [Hα, Cα]
- схемы линеаризации: row, col, snake, diag, hilbert; нативные 2D-ординалы (dx×dy)
- метрики: AUROC, average precision (AP), 95% bootstrap-CI
Лёгкий, быстрый, детерминированный. Исходный конвейер содержал необучаемую случайно инициализированную свёртку (источник шумовых «результатов»); она удалена.