first commit

This commit is contained in:
2026-04-24 09:49:17 +03:00
commit 5782a2b35f
46 changed files with 1783 additions and 0 deletions

View File

@@ -0,0 +1,222 @@
---
tags:
- диссер
---
# 1. Информативность признаков: определение и численные показатели
## Зачем измерять информативность признаков?
==**В мультимодальном контексте вопрос «насколько полезен вектор признаков данной модальности для данного примера» является ключевым. Если текстовые признаки сформированы на основе ненадёжных или отсутствующих метаданных, их информативность низка и они вносят шум. Численная оценка информативности позволяет строить адаптивные механизмы слияния.**==
---
### 1.1. Энтропия распределения активаций
**Идея:** слабоинформативный вектор признаков близок к равномерному распределению по компонентам (максимальная энтропия). Информативный вектор концентрирован — большинство активаций малы, единичные — высоки.
Для вектора `v ∈ R^d` после softmax-нормализации `p = softmax(v)`:
```
H(v) = −Σᵢ p_i · log(p_i)
```
- `H → 0`: вектор концентрирован в одном измерении → высокая информативность.
- `H → log(d)`: вектор равномерен → низкая информативность.
**Нормализованная энтропия:**
```
H_norm(v) = H(v) / log(d) ∈ [0, 1]
```
Можно использовать как основу для коэффициента маршрутизации:
```
r = 1 H_norm(v) # чем выше энтропия → меньше доверие → слабее остаток
```
**Ограничения:** чувствителен к масштабу вектора; требует нормализации перед применением.
---
### 1.2. Норма вектора признаков (L2-норма)
**Идея:** признаки с малой нормой несут мало информации (близки к нулевому вектору).
```
‖v‖₂ = √(Σᵢ vᵢ²)
```
**Относительная норма (для сравнения модальностей):**
```
SNR_proxy = ‖v_text‖ / (‖v_img‖ + ε)
```
Если `SNR_proxy << 1` — текстовые признаки слабее визуальных → их вклад через остаточную связь нежелателен.
**Плюсы:** дифференцируем, вычислительно дёшев, не требует дополнительных слоёв.
**Ограничения:** норма зависит от масштаба, не отражает внутреннюю структуру вектора.
---
### 1.3. Дисперсия активаций
**Идея:** высокая дисперсия компонент вектора означает, что разные измерения несут различимую информацию. Низкая дисперсия (все компоненты близки) соответствует «вырождённому» вектору.
```
Var(v) = (1/d) · Σᵢ (vᵢ μ_v)², μ_v = (1/d) · Σᵢ vᵢ
```
Нормализованный показатель:
```
CV(v) = std(v) / (|μ_v| + ε) # коэффициент вариации
```
**Применение:** можно использовать как вспомогательный показатель совместно с нормой.
---
### 1.4. Косинусное сходство с «эталонным» признаком (Task-Alignment Score)
**Идея:** информативность вектора модальности может быть оценена через его согласованность с результирующим предсказанием или с вектором другой модальности.
**Task-Alignment:**
```
TAS(v_text, v_img) = <v_text, v_img> / (‖v_text‖ · ‖v_img‖)
```
- `TAS → 1`: модальности согласованы → текстовые признаки информативны относительно задачи.
- `TAS → 0`: модальности ортогональны → текст несёт независимую или нерелевантную информацию.
- `TAS → 1`: конфликт между модальностями → текст активно противоречит изображению.
**Связь с L_align:** это тот же показатель, который уже применяется в функции потерь `L_align = 1 TAS`. Таким образом, L_align можно переосмыслить не только как функцию потерь, но и как оперативный сигнал информативности текстовой модальности.
---
### 1.5. Ранговые меры (эффективный ранг)
**Идея:** при работе с пакетом (батчем) изображений матрица признаков `V ∈ R^{B×d}` имеет эффективный ранг, отражающий разнообразие представлений. Вырожденный ранг (все строки похожи) означает, что модальность не несёт примеро-специфической информации.
**Эффективный ранг через сингулярные значения:**
```
σ₁ ≥ σ₂ ≥ ... ≥ σ_r — сингулярные числа V
p_i = σ_i / Σ_j σ_j
EffRank(V) = exp(−Σᵢ p_i · log(p_i)) # экспонента энтропии p
```
- `EffRank → 1`: один доминирующий сингулярный вектор → признаки вырождены.
- `EffRank → min(B, d)`: все направления равнозначны → признаки разнообразны.
**Применение:** полезен для мониторинга качества признаков в процессе обучения; вычислительно дороже поэлементных мер, но применим на уровне батча.
---
### 1.6. Взаимная информация (Mutual Information)
**Идея:** количество информации, которую вектор признаков `v_text` несёт о метке `y`.
```
MI(v_text; y) = H(y) H(y | v_text)
```
**Практическая аппроксимация (MINE):** через нейросетевую оценку взаимной информации:
```
MI_θ(X; Y) ≈ E_{p(x,y)}[T_θ(x,y)] log(E_{p(x)p(y)}[e^{T_θ(x,y)}])
```
где `T_θ` — обучаемая сеть-критик.
**Применение в контексте CVGL:** MI между текстовыми признаками (метаданные) и визуальными признаками (изображение) позволяет оценить, насколько текстовый контейнер дополняет визуальную информацию, а не дублирует её.
**Ограничения:** высокая вычислительная стоимость; требует отдельного обучения критика.
---
## Сводная таблица показателей информативности
| Показатель | Формула (кратко) | Сложность | Дифф-мость | Применимость в ARGF |
| ------------------------------- | ----------------------------- | --------- | ----------------- | ------------------------- |
| Нормализованная энтропия H_norm | `−Σ p·log(p) / log(d)` | O(d) | ✓ (через softmax) | Коэффициент r напрямую |
| L2-норма | `‖v‖₂` | O(d) | ✓ | Отношение норм как r |
| Дисперсия / CV | `std(v)/\|μ\|` | O(d) | ✓ | Вспомогательный сигнал |
| Task-Alignment Score | `<v_img, v_text> / (‖·‖·‖·‖)` | O(d) | ✓ | Переиспользование L_align |
| Эффективный ранг | `exp(H(σ/Σσ))` | O(Bd²) | Частично | Мониторинг обучения |
| Взаимная информация (MINE) | Нейросетевая оценка | Высокая | ✓ | Теоретическая рамка |
## Проблемы
![[Pasted image 20260421112254.png]]
# 2. Идея для InfoScore
[[Рекомендации и идеи]]
**==Мера корректности проекции в конкретное подпространство==**
![[Pasted image 20260421112809.png]]
# 📘 Часть 4. Модификации InfoScore для возможной интеграции
Если хочется сохранить InfoScore как активный компонент метода (а не только диагностику), возможны 4 пути модификации с разной степенью инвазивности.
---
## 🔹 4.1 Вариант M1 — SM-InfoScore (Subspace-Mahalanobis)
### 💡 Идея
Вместо меры информативности вектора в $\mathbb{R}^d$ используется мера корректности его проекции в конкретное подпространство.
---
## 📐 Формулы
### Обучаемые статистики (EMA по батчам)
$$
\mu_{sub} = (1 - \alpha)\,\mu_{sub}^{prev} + \alpha \cdot \text{mean}_{batch}(v_{sub})
$$
$$
\Sigma_{sub} = (1 - \alpha)\,\Sigma_{sub}^{prev} + \alpha \cdot \text{cov}_{batch}(v_{sub})
$$
где:
- $\alpha = 0.01$ — EMA momentum
---
### 📊 SM-InfoScore
$$
SM(v_{sub}) =
(v_{sub} - \mu_{sub})^T \cdot
(\Sigma_{sub} + \varepsilon I)^{-1} \cdot
(v_{sub} - \mu_{sub}) \in \mathbb{R}_+
$$
---
## ✅ Свойства
- ✔ Per-example (решает проблему EffRank)
- ✔ Теоретически обоснован (расстояние Махаланобиса)
- ✔ Дифференцируем (через стабильное разложение Холецкого)
- ✔ Связан с правдоподобием:
$$
SM = -2 \log \mathcal{N}(v_{sub}; \mu_{sub}, \Sigma_{sub}) + \text{const}
$$
---
## 🧩 Блок-схема
```text
v_img → MLP_sub_img → P_sub^T → v_img_sub
|
distance(·, μ_sub, Σ_sub) → SM_sub ∈ ℝ₊
μ_sub, Σ_sub ← EMA update (running statistics)
```
![[Pasted image 20260421112940.png]]