Files
Pavlenko_disser/notes/In and Out Distribution.md

195 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
tags:
- диссер
- анализ_данных
---
# Расшифровка терминов и уточнение по метрикам
## 1. ID и OOD
**ID — In-Distribution** ("в распределении") **OOD — Out-of-Distribution** ("вне распределения")
Это базовые термины из области обнаружения аномалий и оценки надёжности нейросетей.
### Что это означает
Когда вы обучаете модель на каком-то наборе данных (например, drone-снимки городских сцен), модель формирует внутреннее представление о том, как выглядят "нормальные" входы. Это и есть распределение **ID**.
Когда на инференсе подаётся что-то совсем непохожее (например, drone-снимок леса вместо города, или вообще картинка кота, или фрагмент шумовой текстуры) — это **OOD**.
### Почему это важно для вашей работы
Mahalanobis-методы из литературы (Lee et al. 2018, Mahalanobis++ 2025) изначально создавались **именно для задачи OOD-детекции**: отделить "нормальные" входы от "аномальных". Формально это работает так:
```
для x:
вычислить d_M(x, μ_ID, Σ_ID) # расстояние до центра ID-распределения
если d_M велико → x вероятно OOD (аномалия)
если d_M мало → x вероятно ID (всё нормально)
```
**В вашей работе** мы делаем семантически другой ход: используем **ту же математику** (расстояние Махаланобиса в обучаемом подпространстве), но **не для бинарного решения "аномалия / норма"**, а как **непрерывный управляющий сигнал** внутри forward-pass. Высокий SM-InfoScore = «признак далёк от типичного для этой модальности» = «доверять меньше, шум вероятен» — и residual-связь подавляется.
Это и есть та самая **методологическая новизна перехода** от статистического OOD-классификатора к архитектурному маршрутизатору, о которой я писал в первом отчёте. Когда я пишу «Mahalanobis++ устойчиво различает ID/OOD» — это значит «механизм хорошо отличает типичные признаки от атипичных», и **именно это свойство** мы переиспользуем для маршрутизации остаточной связи.
### Применимость к CVGL
В CVGL "OOD" может означать:
- drone-кадр с сильной засветкой / размытием
- caption с плохой генерацией (галлюцинации QwenLM)
- sat без caption (passthrough)
- метаданные с шумом GPS
Для всех этих случаев SM-InfoScore должен возрастать → residual / gate подавлять зашумлённый источник.
---
## 2. Энергетическая неопределённость (Energy-based uncertainty)
Альтернативный способ оценить «насколько модель уверена / насколько вход информативен», конкурирующий с Mahalanobis-подходом.
### Как работает
Берётся выход классификатора (логиты `z_1, ..., z_K` до softmax) и считается **энергия**:
```
E(x) = log Σ_k exp(z_k)
```
- **Низкая энергия** (большие логиты хотя бы по одному классу) → модель уверена, вход «нормальный»
- **Высокая энергия** (все логиты примерно равные и небольшие) → модель не уверена, вход «странный»
Это монотонно связано с **свободной энергией в статистической физике** (отсюда название) и с лог-плотностью распределения данных.
### Где используется
- **Liu et al., NeurIPS 2020** — Energy-based OOD detection, классическая работа.
- **QMF (Quality-aware Multimodal Fusion)** [Zhang et al., ICML 2023, arXiv:2306.02050] — **самый близкий конкурент вашему методу**: они оценивают качество каждой модальности через энергию её предсказаний и взвешивают модальности обратно пропорционально неопределённости.
### Чем хуже / отличается от вашего SM-InfoScore
|Аспект|Energy-based (QMF)|SM-InfoScore (ваш)|
|---|---|---|
|Что измеряется|Свойство выхода классификатора|Свойство признака внутри сети|
|Когда доступен|После полного forward-pass|На любом уровне между слоями|
|Имеет ли вероятностную интерпретацию|Да (свободная энергия)|Да (лог-правдоподобие при гауссовой модели)|
|Учитывает ли ковариационную структуру|Нет (скаляр по логитам)|Да (через Σ_sub)|
|Применим ли в retrieval без классификатора|**Нет** (нужен softmax-выход)|**Да** (работает на признаках)|
**Последняя строка — критический аргумент в защите.** Энергетический подход QMF не применим в retrieval без модификаций, потому что в retrieval нет финального классификатора. У вас задача — именно retrieval, поэтому SM-InfoScore **естественно ложится** на пайплайн, а Energy-based — нет.
---
## 3. Эвиденциальная неопределённость (Evidential uncertainty)
Третья альтернативная семья методов оценки уверенности — на базе **теории Демпстера-Шейфера** и **распределения Дирихле**.
### Как работает
Вместо того чтобы предсказывать вероятности классов `p(y|x)` напрямую, модель предсказывает **параметры распределения Дирихле** `α = (α_1, ..., α_K)` над симплексом вероятностей. Это «распределение распределений».
```
α_k = exp(z_k) + 1 # evidential output
S = Σ_k α_k # общая «масса свидетельств»
p_k = α_k / S # ожидаемая вероятность класса k
u = K / S # неопределённость (uncertainty mass)
```
- Большие `α_k` → много свидетельств в пользу класса k → низкая `u`
- Все `α_k ≈ 1` → нет свидетельств → высокая `u`, модель «не знает»
### Где используется
- **TMC / ETMC** [Han et al., IEEE TPAMI 45(2), 2023] — Trusted Multi-View Classification, главный конкурент в семействе evidential multimodal fusion. Они применяют **правило Демпстера** для комбинирования evidential outputs от разных модальностей.
- **EDL (Evidential Deep Learning)** [Sensoy et al., NeurIPS 2018] — оригинальная работа.
### Чем хуже / отличается от вашего SM-InfoScore
|Аспект|Evidential (TMC)|SM-InfoScore (ваш)|
|---|---|---|
|Уровень оперирования|Decision-level (классификационные выходы)|Feature-level (внутри сети)|
|Совместимость с retrieval|**Плохая** (рассчитан на классификацию)|Естественная|
|Базовая математика|Dirichlet + Демпстер-Шейфер|Многомерное гауссово правдоподобие|
|Обучаемость без меток классов|Сложно|Естественно (EMA по батчам)|
|Сложность вычислений|Сложение Демпстера квадратично по числу классов|O(d²) для Mahalanobis, O(d·k) при low-rank Σ|
**Главное:** evidential методы требуют классификационной задачи (или специальной evidential-функции потерь). В вашем retrieval-пайплайне их применение требует **тяжёлой перестройки архитектуры** — введение fake-классов, изменение loss. SM-InfoScore вписывается без этого.
---
## Сводное сравнение семейств методов оценки информативности
|Семейство|Базовый аппарат|Ключевая работа|Уровень|Подходит для retrieval CVGL|
|---|---|---|---|---|
|**Mahalanobis (subspace)**|Гауссово правдоподобие|Lee 2018 → Mahalanobis++ 2025|Feature-level|**Да** (используется автором)|
|**Energy-based**|Свободная энергия / log-sum-exp|Liu 2020 → QMF 2023|Decision-level|Нет (требует классификатора)|
|**Evidential**|Dirichlet + Демпстер-Шейфер|Sensoy 2018 → TMC 2023|Decision-level|Нет (требует классов)|
|**Entropy-based**|Шеннонова энтропия выхода|Hendrycks 2017 (MSP)|Decision-level|Нет (требует softmax)|
|**Feature-norm**|L2-норма признака|Park ICCV 2023|Feature-level|Частично (упрощённый прокси)|
В защите это работает мощно: оппоненту, который скажет «а почему не Energy-based / TMC?» вы отвечаете: **«потому что наша задача — retrieval, а не классификация; эти методы требуют классификационного выхода или существенной перестройки архитектуры, тогда как SM-InfoScore работает на признаках напрямую»**.
---
## 4. Уточнение про метрики гипотез
**Да, метрики во всех гипотезах — это ровно метрики retrieval-сопоставления самого вашего пайплайна.** Конкретнее:
### Что считается
В вашем пайплайне на выходе — нормализованные эмбеддинги `q̂ ∈ ^{B×512}` (drone) и `ĝ ∈ ^{N×512}` (sat-галерея). Сходство:
```
similarity = q̂ · ĝᵀ # матрица B × N
ranking = argsort(similarity, descending=True, axis=1)
```
Для каждого drone-запроса получается **ранжированный список** sat-снимков. Метрики:
- **Recall@1 (R@1)** — доля запросов, где правильный sat оказался **на первом месте** в ранжированном списке. Главная метрика CVGL.
- **Recall@5 (R@5)** — доля запросов, где правильный sat в **топ-5**.
- **Recall@10 (R@10)** — доля запросов, где правильный sat в **топ-10**.
- **AP (Average Precision)** — площадь под precision-recall кривой; учитывает не только наличие positive в топе, но и его позицию. Для University-1652 считается mean Average Precision (mAP) по всем drone-запросам.
### Считается в двух направлениях
- **drone → sat**: основной протокол. На University-1652 это сценарий «навигация БПЛА» — по drone-кадру найти точку на спутнике.
- **sat → drone**: обратный сценарий. На University-1652 это «поиск дрона по координате» — найти все drone-кадры, снятые с заданной точки.
Стандартное представление в таблицах статей по CVGL:
```
drone → sat sat → drone
Method R@1 R@5 R@10 AP | R@1 AP
Baseline 85.30 ... ... 88.55 | 89.74 85.78
Method 92.40 ... ... 94.10 | 93.20 90.50
```
### Точно к каким гипотезам относится
Все гипотезы из трёх пунктов НН (`N1_H1`-`N1_H5`, `N2_H1`-`N2_H5`, `N3_H1`-`N3_H5`) формулируются и проверяются **именно через эти ретриевал-метрики на финальном этапе** — после полного forward-pass через ваш пайплайн.
Промежуточные диагностические величины, которые упоминаются (распределения SM-InfoScore, значения learnable α после сходимости, корреляции между уровнями) — это **внутренние диагностики**, которые объясняют **почему** метод работает, но **не являются метриками оценки гипотез сами по себе**. Это важно различать:
|Что|Роль|
|---|---|
|R@1, R@5, R@10, AP на University-1652 / SUES-200 / DenseUAV|**Главная метрика принятия / отвержения гипотезы**|
|Распределение SM-InfoScore по уровням|Диагностика, объясняющая поведение|
|Корреляция Pearson между InfoScore уровней|Диагностика для N2_H2 (комплементарность)|
|Значения α_sem и α_meta после сходимости|Диагностика для N3_H1 (раздельные гейты)|
|FLOPs, latency на Jetson|**Метрика для N3_H5 (edge-применимость)** — единственная не-ретриевал метрика|
|Loss / accuracy на классификации / регрессии (прошлые эксперименты)|**Не используется** для оценки гипотез по CVGL; только для preliminary-калибровки гиперпараметров|
### Почему важно это разделение
Если оппонент на защите спросит «а как вы доказали гипотезу N1_H2?» — ответ должен быть: **«измерено повышение Recall@1 на drone→sat на University-1652 cross-area split на 5 запусках с разными seed; парный t-test даёт p < 0.05; среднее улучшение 1.7% при заявленном пороге 1.5%»**. А не «у нас распределение SM-InfoScore стало более бимодальным».
Распределения и корреляции работают как **подтверждающие диагностики**, делающие защиту более убедительной, но **главные числа в таблицах** — это всегда retrieval-метрики ваш пайплайна на стандартных протоколах оценки соответствующих датасетов:
- **University-1652**: стандартный протокол — drone→sat и sat→drone, train на 701 building, test на 951 building (разные здания, cross-area).
- **SUES-200**: 4 высоты {150m, 200m, 250m, 300m}, отчёт R@1 / AP отдельно по высотам.
- **DenseUAV**: dense sampling в районах с интенсивной городской застройкой, отчёт R@1 / AP.
Таким образом, **повышение Recall@1 на стандартных бенчмарках CVGL — единственный критерий научной значимости** всех гипотез П1, П2 и большинства П3 (кроме N3_H5, где добавляется FLOPs / latency для edge-обоснования).