first commit
18
3_work/Hierarchical Information Decomposition Fusion.md
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
tags:
|
||||
- диссер
|
||||
---
|
||||
# Базовая информация
|
||||
|
||||
Продвинутый метод многоуровневого фьюза на основе иерархической декомпозиции информации.
|
||||
|
||||
![[Pasted image 20260421105149.png|397]]
|
||||
## Источники текста
|
||||
|
||||
| Шаблон | Назначение |
|
||||
| ------ | ------------------------------------------------------------------ |
|
||||
| T_meta | хранение метаданных снимка (координаты, углы, высота, погода и др) |
|
||||
| T_L_i | Описание снимка согласно уровням деталей вида |
|
||||
|
||||
![[Pasted image 20260421105836.png]]
|
||||
|
||||
92
3_work/baseline_gate_fusion.md
Normal file
@@ -0,0 +1,92 @@
|
||||
---
|
||||
tags:
|
||||
- диссер
|
||||
---
|
||||
[[Gate Fusion]]
|
||||
# Эксперименты: базовый Gate-Fusion (расширенная версия статьи)
|
||||
|
||||
> Источник: «Регрессионная нейронная сеть на основе регуляризации функции потерь в одномодальном и мультимодальном подходах к задаче оценки положения БПЛА»
|
||||
> Авторы: Пикалёв Я.С., Павленко Б.В.
|
||||
|
||||
---
|
||||
|
||||
## Постановка задачи
|
||||
|
||||
Задача: регрессия углов ориентации камеры БПЛА (yaw, pitch, roll) и высоты по входным аэрофотоснимкам.
|
||||
|
||||
---
|
||||
|
||||
## Архитектура модели (RegrUAV)
|
||||
|
||||
| Компонент | Описание |
|
||||
|---|---|
|
||||
| **Backbone** | StripNet-small (ортогональные large-kernel свёртки, оптимизированы для UAV-снимков) |
|
||||
| **Neck** | Attention Block + Multifusion Block (многомасштабное объединение признаков) |
|
||||
| **Head** | 2× FC-слоя → 3 угла (pitch, yaw, roll) |
|
||||
| **Текстовый энкодер** | MobileCLIP2-s0 (частичная разморозка: слои текстовой проекции + последний блок трансформера) |
|
||||
| **Объединение** | Gate-Fusion |
|
||||
| **Оптимизатор** | Ranger (RAdam + Lookahead) |
|
||||
|
||||
---
|
||||
|
||||
## Одномодальные эксперименты
|
||||
|
||||
**Метрика:** MAE (Mean Absolute Error), Loss = Focal Huber Loss
|
||||
|
||||
| Backbone | Датасет | Train Loss | Train MAE | Val Loss | Val MAE |
|
||||
| ------------------ | ----------- | ---------- | --------- | -------- | -------- |
|
||||
| ==StripNet-small== | ==GTA-UAV== | ==0.05== | ==0.11== | ==0.05== | ==0.10== |
|
||||
| InceptionNext-tiny | GTA-UAV | 0.08 | 0.17 | 0.10 | 0.21 |
|
||||
| ==StripNet-small== | ==VisLoc== | ==0.10== | ==0.22== | ==0.11== | ==0.22== |
|
||||
| InceptionNext-tiny | VisLoc | 0.11 | 0.24 | 0.11 | 0.21 |
|
||||
|
||||
**Вывод:** StripNet-small превосходит InceptionNext-tiny на специфических UAV-данных (GTA-UAV). На VisLoc разница по val MAE минимальна, однако StripNet стабильнее по train MAE.
|
||||
|
||||
---
|
||||
|
||||
## Мультимодальные эксперименты (Gate-Fusion)
|
||||
|
||||
**Настройки:** 50 эпох, backbone StripNet-small, датасет VisLoc
|
||||
|
||||
### Влияние гиперпараметров
|
||||
|
||||
| p_textDropout | λ | d_step | Train Loss | Train MAE | Val Loss | Val MAE |
|
||||
|---|---|---|---|---|---|---|
|
||||
| 0.2 | 0.5 | 10 | 0.03 | 0.10 | 0.11 | 0.19 |
|
||||
| 0.2 | 0.5 | 10 | 0.03 | 0.10 | 0.13 | 0.15 |
|
||||
| 0.3 | 0.1 | 5 | 0.02 | 0.08 | 0.11 | 0.17 |
|
||||
| 0.3 | 0.5 | 5 | 0.04 | 0.13 | 0.12 | 0.20 |
|
||||
|
||||
### Сравнение одномодального и мультимодального подхода
|
||||
|
||||
| Модальность | Train Loss | Train MAE | Val Loss | Val MAE |
|
||||
|---|---|---|---|---|
|
||||
| img (one-modal) | 0.10 | 0.22 | 0.11 | 0.22 |
|
||||
| img + text (Gate-Fusion) | **0.02** | **0.08** | 0.11 | **0.17** |
|
||||
|
||||
**Вывод:** мультимодальный подход снижает train MAE с 0.22 до 0.08 (в 2.75 раза), val MAE с 0.22 до 0.17 (на 23%). Val Loss не меняется, что говорит об отсутствии переобучения.
|
||||
|
||||
---
|
||||
|
||||
## Экспериментальные наблюдения
|
||||
|
||||
1. **p_textDropout и d_step коррелируют:** увеличение p_textDropout (0.2→0.3) коррелирует с уменьшением шага интерполяции (10→5). Возможно, более точная интерполяция высоты компенсирует более частое отключение текстовых признаков.
|
||||
2. **Наилучший результат:** p_textDropout=0.3, λ=0.1, d_step=5 → val MAE=0.17.
|
||||
3. **Gate-Fusion vs конкатенация:** Gate-Fusion не увеличивает размерность объединённого вектора, что позволило избежать роста вычислительных затрат при переходе к мультимодальному подходу.
|
||||
|
||||
---
|
||||
|
||||
## Наборы данных
|
||||
|
||||
### GTA-UAV
|
||||
- Синтетический датасет на основе GTA V
|
||||
- 33 763 снимка
|
||||
- Метки: координаты, углы Эйлера, кватернионы, семантические маски, условия погоды и времени суток
|
||||
- Диапазон высот: широкий (синтетический)
|
||||
|
||||
### VisLoc
|
||||
- Реальный датасет для визуальной локализации
|
||||
- 6 742 снимка с реальных БПЛА
|
||||
- Метки: GPS/RTK с точностью до сантиметров
|
||||
- Диапазон высот: 400–2000 м
|
||||
- Сложности: шум сенсора, блики, вариации освещённости и погоды
|
||||
191
3_work/methods/Gate Fusion.md
Normal file
@@ -0,0 +1,191 @@
|
||||
---
|
||||
aliases:
|
||||
- GF
|
||||
- gate
|
||||
tags:
|
||||
- диссер
|
||||
- Нейросети
|
||||
- fusion
|
||||
---
|
||||
|
||||
# Метод Gate-Fusion и его модификации
|
||||
|
||||
## 1. Базовый Gate-Fusion
|
||||
|
||||
### Идея
|
||||
|
||||
Gate-Fusion — адаптивное слияние признаков двух модальностей через обучаемый вектор шлюзов `g`. В отличие от конкатенации и поэлементного сложения, шлюз позволяет модели динамически регулировать вклад каждой модальности на уровне отдельных примеров батча.
|
||||
|
||||
### Формулировка
|
||||
|
||||
Комбинированное промежуточное представление:
|
||||
|
||||
```
|
||||
z = tanh(W_x · x + W_y · y + b_z) (1)
|
||||
```
|
||||
|
||||
Вектор шлюза:
|
||||
|
||||
```
|
||||
g = σ(W_x · x + W_y · y + b_g) (2)
|
||||
```
|
||||
|
||||
Итоговое объединение:
|
||||
|
||||
```
|
||||
fused = g ⊙ z + (1 − g) ⊙ x (3)
|
||||
```
|
||||
|
||||
В применяемом варианте для задачи регрессии/классификации на UAV-снимках:
|
||||
|
||||
```
|
||||
fused = v_img ⊙ g + v_text ⊙ (1 − g) (4)
|
||||
```
|
||||
|
||||
где:
|
||||
- `v_img` — вектор визуальных признаков,
|
||||
- `v_text` — вектор текстовых признаков,
|
||||
- `g = σ(linear([v_img; v_text]))` — обучаемый шлюз.
|
||||
|
||||
### Свойства
|
||||
|
||||
- **Адаптивность:** шлюз вычисляется из входных данных, то есть вклад модальности меняется от примера к примеру.
|
||||
- **Сохранение размерности:** выходной вектор имеет ту же размерность, что и входные модальности (`d`), без роста вычислительной нагрузки.
|
||||
- **Устойчивость к шуму:** если одна из модальностей зашумлена, шлюз снижает её вклад, опираясь на более надёжную.
|
||||
- **Ограничение:** меньшая выразительность межмодальных зависимостей по сравнению с полным cross-attention (нет попарного взаимодействия токенов).
|
||||
|
||||
---
|
||||
|
||||
## 2. Stochastic Text-Dropout
|
||||
|
||||
При обучении с вероятностью `p_textDropout` текстовые признаки игнорируются — модель обучается только на визуальном сигнале. Это:
|
||||
|
||||
1. Предотвращает переобучение на текстовую модальность.
|
||||
2. Обеспечивает работоспособность модели в тестовом режиме, когда текстовый энкодер отключён (экономия ресурсов).
|
||||
|
||||
Функция потерь адаптируется:
|
||||
|
||||
```
|
||||
L = L_reg, если text-dropout активен
|
||||
L = L_reg + λ · L_align, иначе
|
||||
```
|
||||
|
||||
Функция выравнивания признаков:
|
||||
|
||||
```
|
||||
L_align = 1 − <v_img, v_text> / (‖v_img‖ · ‖v_text‖) (5)
|
||||
```
|
||||
|
||||
Экспериментально установлены оптимальные диапазоны:
|
||||
- `p_textDropout ∈ {0.2, 0.3}`
|
||||
- `λ ∈ {0.1, 0.5}`
|
||||
|
||||
---
|
||||
|
||||
## 3. Модификация SRGF (Simple Residual Gate Fusion)
|
||||
|
||||
### Идея
|
||||
|
||||
Добавление остаточных связей для каждой модальности — усиление признакового сигнала и предотвращение затухания градиентов в глубоких конфигурациях.
|
||||
|
||||
### Формулировка
|
||||
|
||||
```
|
||||
img_res = v_img ⊙ g + v_img (6)
|
||||
text_res = v_text ⊙ (1 − g) + v_text (7)
|
||||
fused = img_res + text_res (8)
|
||||
```
|
||||
|
||||
### Анализ
|
||||
|
||||
Шлюз сохраняет механизм регулировки вклада, при этом остаточная связь гарантирует, что исходный сигнал модальности всегда присутствует в итоговом представлении. Однако остаточная связь добавляет и шум исходных сигналов к уже отфильтрованным признакам, что частично нивелирует эффект подавления слабой модальности.
|
||||
|
||||
**Результаты:** не показала значимого улучшения по сравнению с базовым Gate-Fusion на задачах регрессии и классификации; наблюдается рост ошибки при валидации (val Loss: 1.10 против 0.72 для классификации).
|
||||
|
||||
---
|
||||
|
||||
## 4. Модификация с дополнительной суммой (Gate + Sum)
|
||||
|
||||
### Формулировка
|
||||
|
||||
```
|
||||
fused = v_img + v_text + v_img ⊙ g + v_text ⊙ (1 − g) (9)
|
||||
```
|
||||
|
||||
### Анализ
|
||||
|
||||
Исходные признаки всегда вносят единичный вклад (через сумму), а шлюз выступает дополнительным усилителем. При отключении текстовых признаков в тест-режиме модель получает остаточный сигнал через сумму визуальных признаков.
|
||||
|
||||
**Результаты:**
|
||||
- Снижение val Loss классификации: 0.66 (против 0.72 у базового).
|
||||
- Снижение val MAE регрессии: 0.19 (против 0.28 у базового).
|
||||
- Проблема: дополнительное масштабирование признаков вызывает нестабильность масштаба объединённого вектора, что сильнее сказывается на регрессии, чем на классификации.
|
||||
|
||||
---
|
||||
|
||||
## 5. Модификация RCGF (Residual Cross-Gate Fusion)
|
||||
|
||||
### Идея
|
||||
|
||||
Взаимная контекстуальная модуляция: каждая модальность управляет шлюзом другой. Текст «запрашивает» у изображения релевантные признаки; изображение верифицирует текст, подавляя слабо соотносящиеся текстовые компоненты.
|
||||
|
||||
### Формулировка
|
||||
|
||||
Шлюз для изображения (управляется текстом):
|
||||
|
||||
```
|
||||
g_x = σ(linear(v_text)) (10)
|
||||
```
|
||||
|
||||
Шлюз для текста (управляется изображением):
|
||||
|
||||
```
|
||||
g_y = σ(linear(v_img)) (11)
|
||||
```
|
||||
|
||||
Итоговое объединение:
|
||||
|
||||
```
|
||||
fused = v_img ⊙ g_y + v_text ⊙ g_x (12)
|
||||
```
|
||||
|
||||
### Анализ
|
||||
|
||||
RCGF — концептуально ближайший к механизму внимания вариант среди исследованных: шлюз-маска функционирует как упрощённая одномерная матрица внимания. В отличие от полного cross-attention, отсутствует попарное взаимодействие токенов, что сохраняет линейную сложность.
|
||||
|
||||
**Результаты:**
|
||||
- Классификация: val F1 = 0.96, val Top-1 = 0.96 (против 0.99 / 0.98 у базового Gate-Fusion).
|
||||
- Регрессия: val MAE = 0.25 (против 0.28 у базового; +Gate+Sum даёт 0.19).
|
||||
- Вывод: улучшение по сравнению с SRGF, но не превосходит базовый Gate-Fusion по всем метрикам.
|
||||
|
||||
---
|
||||
|
||||
## 6. Сводная таблица результатов
|
||||
|
||||
### Классификация (UC Merced Land Use Dataset)
|
||||
|
||||
| Метод | Train Loss | Val Loss | Train F1 | Val F1 | Train Top-1 | Val Top-1 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| Gate-Fusion | 0.63 | **0.72** | 0.95 | **0.99** | 0.93 | **0.98** |
|
||||
| Gate + Sum | 0.75 | **0.66** | 0.93 | 0.97 | 0.91 | 0.97 |
|
||||
| SRGF | 0.75 | 1.10 | 0.94 | 0.93 | 0.93 | 0.92 |
|
||||
| RCGF | 0.75 | 0.88 | 0.95 | 0.96 | 0.93 | 0.96 |
|
||||
|
||||
### Регрессия (VisLoc)
|
||||
|
||||
| Метод | Train Loss | Val Loss | Train MAE | Val MAE |
|
||||
|---|---|---|---|---|
|
||||
| Gate-Fusion | 0.02 | 0.14 | 0.08 | 0.28 |
|
||||
| Gate + Sum | 0.02 | **0.12** | 0.13 | **0.19** |
|
||||
| SRGF | 0.03 | 0.13 | 0.16 | 0.25 |
|
||||
| RCGF | 0.03 | **0.12** | 0.16 | 0.25 |
|
||||
|
||||
---
|
||||
|
||||
## 7. Выводы
|
||||
|
||||
1. Базовый Gate-Fusion наиболее устойчив на задаче классификации — сохраняет чёткий механизм регулировки вклада модальностей.
|
||||
2. Модификация Gate + Sum даёт наилучшее снижение ошибки регрессии (val MAE 0.19), сохраняя механизм шлюза и добавляя суммарный остаточный сигнал.
|
||||
3. Остаточные связи на уровне каждой модальности (SRGF) приводят к переносу шума исходных сигналов в объединённое представление — ухудшение при классификации.
|
||||
4. RCGF (перекрёстные шлюзы) — перспективное направление для дальнейшей разработки как компромисс между выразительностью cross-attention и эффективностью Gate-Fusion.
|
||||
5. Применение text-dropout и L_align необходимо для предотвращения переобучения на текстовую модальность при любой конфигурации слияния.
|
||||
129
3_work/methods/loss_functions.md
Normal file
@@ -0,0 +1,129 @@
|
||||
---
|
||||
tags:
|
||||
- диссер
|
||||
---
|
||||
[[Математическая функция]]
|
||||
[[Расчёт функции потерь]]
|
||||
# Функции потерь
|
||||
|
||||
## 1. Focal Huber Loss (FHL)
|
||||
|
||||
### Мотивация
|
||||
|
||||
При регрессии параметров положения БПЛА данные обладают двумя характерными проблемами:
|
||||
- **Выбросы** — отдельные снимки с экстремальными углами или высотами;
|
||||
- **Дисбаланс** — неравномерное распределение значений меток в пространстве.
|
||||
|
||||
MSE чрезмерно усиливает влияние выбросов. Huber Loss смягчает это, но не решает проблему дисбаланса. Focal Loss, изначально предназначенная для классификации, решает проблему дисбаланса, но не применима напрямую к регрессии.
|
||||
|
||||
**Focal Huber Loss** объединяет оба механизма.
|
||||
|
||||
### Formulation
|
||||
|
||||
Функция Huber Loss:
|
||||
|
||||
```
|
||||
H_β(d) = { d² / (2β), d < β
|
||||
{ d − β/2, d ≥ β
|
||||
|
||||
d = |y − ŷ|
|
||||
```
|
||||
|
||||
Focal-взвешивание:
|
||||
|
||||
```
|
||||
F_γ(d) = tanh(β·d)^γ (вариант с tanh)
|
||||
F_γ(d) = (2σ(β·d) − 1)^γ (вариант с sigmoid)
|
||||
|
||||
σ(z) = 1 / (1 + e^{−z})
|
||||
```
|
||||
|
||||
Итоговая Focal Huber Loss:
|
||||
|
||||
```
|
||||
FHL = (1/N) · Σ H_β(d_i) · F_γ(d_i)
|
||||
```
|
||||
|
||||
### Свойства
|
||||
|
||||
- Малые ошибки имеют пониженный вес → модель фокусируется на сложных примерах.
|
||||
- После того, как простые примеры освоены, их вклад в градиент снижается.
|
||||
- Устойчивость к выбросам обеспечивается линейным режимом Huber для больших `d`.
|
||||
|
||||
---
|
||||
|
||||
## 2. Функция выравнивания признаков L_align
|
||||
|
||||
### Мотивация
|
||||
|
||||
При мультимодальном обучении необходимо, чтобы визуальные и текстовые признаки, описывающие одну и ту же сцену, находились близко в латентном пространстве. В противном случае шлюз Gate-Fusion получает некогерентные сигналы.
|
||||
|
||||
### Формулировка
|
||||
|
||||
```
|
||||
L_align = 1 − <v_img, v_text> / (‖v_img‖ · ‖v_text‖)
|
||||
```
|
||||
|
||||
Это косинусная ошибка сходства: равна 0 при полном совпадении направлений, равна 1 при ортогональности, равна 2 при противонаправленности.
|
||||
|
||||
### Интеграция в общую функцию потерь
|
||||
|
||||
```
|
||||
L = L_reg, если text-dropout активен (prob = p_textDropout)
|
||||
L = L_reg + λ · L_align, иначе
|
||||
```
|
||||
|
||||
- **`λ`** — коэффициент влияния ошибки выравнивания. Оптимальные значения: `λ ∈ {0.1, 0.5}`.
|
||||
- При text-dropout ошибка выравнивания не вычисляется (текстовые признаки недоступны).
|
||||
|
||||
### Эффект
|
||||
|
||||
- Препятствует расхождению модальностей в латентном пространстве.
|
||||
- Работает как дополнительная регуляризация, не требующая внешних меток.
|
||||
- Совместно с text-dropout предотвращает коллапс модели в сторону текстовой модальности.
|
||||
|
||||
---
|
||||
|
||||
## 3. Feature Distribution Smoothing (FDS)
|
||||
|
||||
Применяется для задачи регрессии как метод борьбы с дисбалансом данных по значению высоты.
|
||||
|
||||
### Идея
|
||||
|
||||
Статистики (среднее и ковариация) признаков в пространстве скрытых представлений сглаживаются между соседними ячейками целевого значения (высоты).
|
||||
|
||||
### Формулировка
|
||||
|
||||
Статистики для ячейки `b`:
|
||||
|
||||
```
|
||||
μ_b = (1/N_b) Σ z_i
|
||||
Σ_b = (1/(N_b−1)) Σ (z_i − μ_b)(z_i − μ_b)ᵀ
|
||||
```
|
||||
|
||||
Сглаживание через симметричное ядро `k(y_b, y_b')`:
|
||||
|
||||
```
|
||||
μ̃_b = Σ_{b'} k(y_b, y_b') · μ_{b'}
|
||||
Σ̃_b = Σ_{b'} k(y_b, y_b') · Σ_{b'}
|
||||
```
|
||||
|
||||
Калибровка признаков:
|
||||
|
||||
```
|
||||
z̃ = Σ̃_b^{1/2} · Σ_b^{−1/2} · (z − μ_b) + μ̃_b
|
||||
```
|
||||
|
||||
Статистики обновляются через Exponential Moving Average (EMA) после каждой эпохи.
|
||||
|
||||
---
|
||||
|
||||
## 4. Сводка гиперпараметров функций потерь
|
||||
|
||||
| Параметр | Назначение | Оптимальный диапазон |
|
||||
|---|---|---|
|
||||
| `β` (Huber) | Граница линейного/квадратичного режима | Зависит от масштаба данных |
|
||||
| `γ` (Focal) | Сила подавления лёгких примеров | 1–3 |
|
||||
| `λ` | Вес L_align в итоговой функции потерь | 0.1–0.5 |
|
||||
| `p_textDropout` | Вероятность игнорирования текстовых признаков | 0.2–0.3 |
|
||||
| `d_step` | Шаг интерполяции высоты | 5–10 м |
|
||||
131
3_work/methods/text_templates.md
Normal file
@@ -0,0 +1,131 @@
|
||||
---
|
||||
tags:
|
||||
- диссер
|
||||
- "#text_prompts"
|
||||
---
|
||||
|
||||
# Текстовые шаблоны для кодирования метаданных аэрофотоснимков
|
||||
|
||||
## 1. Обоснование подхода
|
||||
|
||||
### Почему текст, а не прямая подача числовых признаков?
|
||||
|
||||
Прямая подача числовых метаданных в виде векторов требует дополнительной входной ветви и усложняет архитектуру. Текстовые шаблоны позволяют:
|
||||
|
||||
- задействовать предобученные языковые модели (CLIP, MobileCLIP), чьи пространства уже содержат богатые семантические структуры;
|
||||
- передавать метаданные без изменения архитектуры модели;
|
||||
- обеспечить семантическую интерпретацию числовых значений (не просто `h=450`, а `"taken from a height of 450 meters"`);
|
||||
- унифицировать разнородные источники информации в едином входном формате.
|
||||
|
||||
> Авторы LLaVA-ST установили, что прямая передача точных числовых значений в текст **ухудшает** обучение; преобразование в интерпретируемые категории, интервалы или относительные описания — **улучшает**.
|
||||
|
||||
### Выбор языка шаблонов
|
||||
|
||||
Английский язык выбран как основной по следующим основаниям:
|
||||
|
||||
- Модели CLIP и MobileCLIP обучены преимущественно на англоязычных корпусах (WIT — 100% EN, LAION-5B — ~40% EN оригинал + ~3B переведённых пар).
|
||||
- Анализ косинусного сходства показывает: медианное сходство для англоязычного текста (0.296 при 50-м перцентиле) выше, чем для оригинального нетранслированного (0.286).
|
||||
- Англоязычные описания обеспечивают более согласованные с изображениями текстовые эмбеддинги.
|
||||
|
||||
---
|
||||
|
||||
## 2. Типы метаданных аэрофотоснимков
|
||||
|
||||
### Числовые признаки
|
||||
|
||||
| Признак | Описание | Влияние на изображение |
|
||||
|---|---|---|
|
||||
| Высота съёмки (h) | Высота БПЛА над землёй, м | Масштаб объектов, разрешение |
|
||||
| Yaw | Азимутный угол камеры, ° | Ориентация сцены |
|
||||
| Pitch | Угол тангажа, ° | Перспективные искажения |
|
||||
| Roll | Угол крена, ° | Наклон горизонта |
|
||||
| Количество объектов класса | Агрегированный счётчик по метаклассу | Семантическое содержание |
|
||||
|
||||
### Категориальные признаки
|
||||
|
||||
| Признак | Значения | Влияние на изображение |
|
||||
|---|---|---|
|
||||
| Тип платформы | БПЛА / Спутник | Разрешение, угол обзора |
|
||||
| Время суток | Утро / День / Вечер / Ночь | Освещённость, длина теней |
|
||||
| Сезон | Весна / Лето / Осень / Зима | Цвет растительности, снег |
|
||||
| Погода | Ясно / Облачно / Дождь / Туман | Видимость, шум, блики |
|
||||
|
||||
---
|
||||
|
||||
## 3. Разработанные шаблоны
|
||||
|
||||
### Задача регрессии (высота / углы ориентации)
|
||||
|
||||
Минимальный шаблон с акцентом на числовое значение:
|
||||
|
||||
```
|
||||
"This is a drone aerial image taken from a height of <h> meters"
|
||||
```
|
||||
|
||||
Расширенный шаблон с углами:
|
||||
|
||||
```
|
||||
"Drone aerial photo from UAV, taken from height <h> meters, with camera orientation
|
||||
defined by yaw <yaw>°, pitch <pitch>°, and roll <roll>°."
|
||||
```
|
||||
|
||||
### Задача классификации
|
||||
|
||||
Варианты с указанием целевого класса без лишних метаданных:
|
||||
|
||||
```
|
||||
a) "The target is a <class> in an aerial photo"
|
||||
b) "An aerial photo contains a <class>"
|
||||
c) "An aerial view showing a <class>"
|
||||
```
|
||||
|
||||
### Задача семантической сегментации (полный шаблон)
|
||||
|
||||
```
|
||||
"Drone aerial photo from UAV, taken from height <h> meters, with camera orientation
|
||||
defined by yaw <yaw>°, pitch <pitch>°, and roll <roll>°. <time> time, season is <season>.
|
||||
Here is next amount of metaclasses. Road: <count>, Nature: <count>, Construction: <count>,
|
||||
Obstacle: <count>, Water: <count>"
|
||||
```
|
||||
|
||||
Смысл каждого компонента:
|
||||
- **Высота** → масштаб захватываемого контекста;
|
||||
- **Ориентация камеры** → геометрия проекции;
|
||||
- **Временные параметры** → освещённость и внешний вид объектов;
|
||||
- **Метаклассы** → семантическое содержание сцены.
|
||||
|
||||
---
|
||||
|
||||
## 4. Принципы разработки шаблонов
|
||||
|
||||
1. **Структурированность** — числовые и категориальные значения лингвистически корректно связаны со смысловыми описаниями.
|
||||
2. **Семантическая интерпретируемость** — текст остаётся читаемым человеком.
|
||||
3. **Согласование с визуальными признаками** — элементы шаблона соответствуют наблюдаемым характеристикам изображения.
|
||||
4. **Минимальная достаточность** — набор признаков определяется доступностью данных в датасете или возможностью их извлечения методом VQA.
|
||||
|
||||
---
|
||||
|
||||
## 5. Интерполяция значений высоты
|
||||
|
||||
При дискретности меток высоты в датасете введён механизм интерполяции:
|
||||
|
||||
```
|
||||
h_q = round(h / d_step) · d_step # квантование до ближайшего шага
|
||||
h_out = max(h_min, min(h_max, h_q)) # ограничение диапазоном датасета
|
||||
```
|
||||
|
||||
где `d_step` — шаг интерполяции. Экспериментально установлены оптимальные значения: `d_step ∈ {5, 10}`.
|
||||
|
||||
Цель: обеспечить более плавную ассоциацию между визуальным представлением изображения и значением высоты, повысить устойчивость к вариациям высоты и углов поворота камеры.
|
||||
|
||||
---
|
||||
|
||||
## 6. Извлечение категориальных признаков методом VQA
|
||||
|
||||
Признаки, не содержащиеся явно в метаданных датасета (сезон, погода, время суток), могут быть получены с помощью Visual Question Answering:
|
||||
|
||||
- **Вопрос:** "What is the approximate season shown in this aerial image?"
|
||||
- **Вопрос:** "What time of day does this image appear to be taken?"
|
||||
- **Вопрос:** "What is the weather condition in this image?"
|
||||
|
||||
Это позволяет автоматически обогащать текстовые описания без ручной разметки.
|
||||
32
3_work/Базовые эксперименты.md
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
tags:
|
||||
- диссер
|
||||
- "#ML_Exp"
|
||||
---
|
||||
[[Gate Fusion]]
|
||||
# Baseline (Gated img & cat with text)
|
||||
|
||||
|
||||
![[Pasted image 20260418145720.png|557]]
|
||||
|
||||
![[Pasted image 20260418145749.png|560]]
|
||||
|
||||
## VisLoc - No Text_drop
|
||||
|
||||
**Train**
|
||||
|
||||
![[Pasted image 20260418152236.png|236]]
|
||||
|
||||
**Test**
|
||||
|
||||
![[Pasted image 20260418152255.png|253]]
|
||||
|
||||
## VisLoc - Text_drop
|
||||
|
||||
**Train**
|
||||
|
||||
![[Pasted image 20260418152704.png|238]]
|
||||
|
||||
**Test**
|
||||
|
||||
![[Pasted image 20260418152827.png|252]]
|
||||
BIN
3_work/Материалы/CLS_GFs_Train_comp_pv3_ptd_01_l_03.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
BIN
3_work/Материалы/CLS_GFs_val_comp_pv3_ptd_01_l_03.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
3_work/Материалы/CLS_GFs_val_comp_pv3_ptd_01_l_03_v2.png
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
3_work/Материалы/Pasted image 20260418144455.png
Normal file
|
After Width: | Height: | Size: 89 KiB |
BIN
3_work/Материалы/Pasted image 20260421105149.png
Normal file
|
After Width: | Height: | Size: 57 KiB |
BIN
3_work/Материалы/Pasted image 20260421105836.png
Normal file
|
After Width: | Height: | Size: 123 KiB |
BIN
3_work/Материалы/REGR_GFs_Train_comp_pv3_ptd_03_l_01.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
3_work/Материалы/REGR_GFs_val_comp_pv3_ptd_03_l_01_v2.png
Normal file
|
After Width: | Height: | Size: 47 KiB |
125
3_work/Модификации Gate-Fusion.md
Normal file
@@ -0,0 +1,125 @@
|
||||
---
|
||||
tags:
|
||||
- диссер
|
||||
- "#ML_Exp"
|
||||
---
|
||||
[[Gate Fusion]]
|
||||
# Эксперименты: модификации Gate-Fusion (SRGF / RCGF)
|
||||
|
||||
> Источник: «Модификации метода объединения через мультипликативные шлюзы с применением остаточных связей»
|
||||
> Автор: Павленко Б.В. // Проблемы искусственного интеллекта. 2024.
|
||||
|
||||
---
|
||||
|
||||
## Постановка эксперимента
|
||||
|
||||
**Цель:** исследовать влияние остаточных связей на качество работы Gate-Fusion в задачах регрессии и классификации на UAV-снимках.
|
||||
|
||||
**Гипотеза:** остаточная связь в Gate-механизмах работает как усилитель признакового сигнала и снижает ошибку, аналогично её роли в ResNet.
|
||||
|
||||
**Условия:**
|
||||
- Backbone: StripNet-small
|
||||
- Текстовый энкодер: MobileCLIP2-s0
|
||||
- Оптимизатор: Ranger
|
||||
- p_textDropout = 0.1, λ = 0.3 (для воспроизводимости)
|
||||
- Регрессия: 10 эпох, датасет VisLoc
|
||||
- Классификация: 20 эпох, датасет UC Merced Land Use Dataset (~2K снимков, 21 класс)
|
||||
|
||||
---
|
||||
|
||||
## Исследуемые методы
|
||||
|
||||
| Метод | Формула | Описание |
|
||||
| ----------- | ------------------------------------------------------------------------------------- | ------------------------------------------ |
|
||||
| Gate-Fusion | `fused = v_img ⊙ g + v_text ⊙ (1−g)` | Базовый метод |
|
||||
| Gate + Sum | `fused = v_img + v_text + v_img ⊙ g + v_text ⊙ (1−g)` | Дополнительная сумма исходных модальностей |
|
||||
| SRGF | `img_r = v_img ⊙ g + v_img; text_r = v_text ⊙ (1−g) + v_text; fused = img_r + text_r` | Раздельные остаточные связи |
|
||||
| RCGF | `g_x = σ(W·v_text); g_y = σ(W·v_img); fused = v_img ⊙ g_y + v_text ⊙ g_x` | Перекрёстные шлюзы без остаточных связей |
|
||||
|
||||
---
|
||||
|
||||
## Результаты классификации (UC Merced)
|
||||
|
||||
### Обучение
|
||||
|
||||
| Метод | Loss | F1 | Top-1 | Top-5 |
|
||||
|---|---|---|---|---|
|
||||
| Gate-Fusion | 0.63 | 0.95 | 0.93 | 0.99 |
|
||||
| Gate + Sum | 0.75 | 0.93 | 0.91 | 0.99 |
|
||||
| SRGF | 0.75 | 0.94 | 0.93 | 0.99 |
|
||||
| RCGF | 0.75 | 0.95 | 0.93 | 0.99 |
|
||||
![[CLS_GFs_Train_comp_pv3_ptd_01_l_03.png]]
|
||||
### Валидация
|
||||
|
||||
| Метод | Loss | F1 | Top-1 | Top-5 |
|
||||
|---|---|---|---|---|
|
||||
| Gate-Fusion | **0.72** | **0.99** | **0.98** | **1.00** |
|
||||
| Gate + Sum | **0.66** | 0.97 | 0.97 | 1.00 |
|
||||
| SRGF | 1.10 | 0.93 | 0.92 | 1.00 |
|
||||
| RCGF | 0.88 | 0.96 | 0.96 | 0.99 |
|
||||
![[CLS_GFs_val_comp_pv3_ptd_01_l_03.png]]
|
||||
|
||||
![[CLS_GFs_val_comp_pv3_ptd_01_l_03_v2.png]]
|
||||
---
|
||||
|
||||
## Результаты регрессии (VisLoc)
|
||||
|
||||
### Обучение
|
||||
|
||||
| Метод | Loss | MAE |
|
||||
|---|---|---|
|
||||
| Gate-Fusion | 0.02 | 0.08 |
|
||||
| Gate + Sum | 0.02 | 0.13 |
|
||||
| SRGF | 0.03 | 0.16 |
|
||||
| RCGF | 0.03 | 0.16 |
|
||||
![[REGR_GFs_Train_comp_pv3_ptd_03_l_01.png]]
|
||||
### Валидация
|
||||
|
||||
| Метод | Loss | MAE |
|
||||
|---|---|---|
|
||||
| Gate-Fusion | 0.14 | 0.28 |
|
||||
| Gate + Sum | **0.12** | **0.19** |
|
||||
| SRGF | 0.13 | 0.25 |
|
||||
| RCGF | **0.12** | 0.25 |
|
||||
![[REGR_GFs_val_comp_pv3_ptd_03_l_01_v2.png]]
|
||||
|
||||
---
|
||||
|
||||
## Анализ результатов
|
||||
|
||||
### Gate + Sum
|
||||
Единственная модификация, показавшая значимое улучшение:
|
||||
- Val Loss классификации: 0.66 (−8.3% к базовому)
|
||||
- Val MAE регрессии: 0.19 (−32.1% к базовому)
|
||||
|
||||
**Механизм улучшения:** при отключённом text-dropout в тест-режиме модель получает остаточный сигнал через сумму визуальных признаков, что компенсирует отсутствие текстовой ветки. Gate при этом сохраняет свою функцию мягкого усилителя.
|
||||
|
||||
**Проблема:** дополнительная сумма исходных модальностей вызывает нестабильность масштаба объединённого вектора — особенно критично для регрессии (MAE чувствителен к масштабу), менее критично для классификации (Top-1/F1 остаются высокими).
|
||||
|
||||
### SRGF
|
||||
Раздельные остаточные связи добавляют шум исходных сигналов к уже отфильтрованным через шлюз признакам. Это **нарушает** основной принцип Gate-Fusion — регулировку вклада модальности. Результат: val Loss классификации вырос до 1.10 (ухудшение на 53%).
|
||||
|
||||
**Вывод:** остаточная связь на уровне каждой модальности **несовместима** с принципом работы Gate-Fusion в условиях зашумлённых UAV-данных.
|
||||
|
||||
### RCGF
|
||||
Перекрёстные шлюзы частично улучшают регрессию (val Loss 0.12, MAE 0.25) по сравнению с базовым (val Loss 0.14, MAE 0.28), но уступают Gate + Sum. На классификации уступает базовому Gate-Fusion по F1 и Top-1.
|
||||
|
||||
**Концептуальная ценность:** RCGF наиболее близок к механизму внимания из исследованных вариантов — без роста вычислительной сложности. Перспективно для дальнейшего развития в направлении CVGL.
|
||||
|
||||
---
|
||||
|
||||
## Подтверждение / опровержение гипотезы
|
||||
|
||||
**Гипотеза частично опровергнута.** Остаточные связи в Gate-механизмах работают как усилитель сигнала только при условии сохранения оригинальной схемы Gate-Fusion (Gate + Sum). Модификации, встраивающие остаточные связи в сами шлюзы (SRGF), нарушают механизм регулировки вклада модальности и приводят к ухудшению показателей.
|
||||
|
||||
---
|
||||
|
||||
## Выводы и дальнейшие направления
|
||||
|
||||
1. Для задачи регрессии оптимальна модификация **Gate + Sum** при условии стабилизации масштаба объединённого вектора (например, через нормализацию).
|
||||
2. Базовый **Gate-Fusion** остаётся наиболее надёжным для задачи классификации.
|
||||
3. **RCGF** — перспективное направление для адаптации под CVGL, где текст может выступать запросом к визуальному пространству.
|
||||
4. Необходимо исследовать сочетание Gate + Sum с нормализацией выходного вектора для устранения нестабильности масштаба.
|
||||
5. Для задачи CVGL требуется отдельная адаптация функции потерь с учётом метрики сопоставления изображений (triplet loss, contrastive loss).
|
||||
|
||||
|
||||