Multimodal fusion research on StripNet+GTA-UAV proxy: - 3 independent fusion tracks: condition-aware (A), token/bottleneck (B), role-aware (C) - Shared interfaces, protocol, dataset audit, baseline benchmarks - Canonical version-chain references to vault (SPEC, ANALYSIS, TRIAGE) - Personalized task plans and decision tables for each researcher - 3 generated DOCX task assignment files with milestones and DoD checklist - Full modality dropout diagnostics and missing-modality robustness requirements - Data contract, benchmark registry, experiment tracking infrastructure Operational documents: - docs/00_project/: MERIDIAN context, protocol, repository reuse guide, experiment specification - docs/01_tasks/: Master assignment + 3 individual researcher tracks + joint integration - docs/02_references/: Core literature, version-chain bases, code maps - docs/03_codebase_guides/: Existing code snapshots from vault - scripts/: gen_task_plans.js (DOCX generation), placeholder infrastructure - vendor_reference/: Snapshots of caption_test, depth_edges_annotate, existing SOFIA/SegModel code - reports/, results/, experiments/: Shared output structure for all 3 researchers 3 DOCX files generated from gen_task_plans.js (Times New Roman 14pt, GOST format): - План_заданий_Павленко_БВ.docx (Condition-Aware track, fusion API owner) - План_заданий_Близно_МВ.docx (Token/Bottleneck track, benchmark owner) - План_заданий_Мороз_ЕС.docx (Role-Aware track, data contract owner) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
10 KiB
Задание Павленко Богдану Викторовичу
1. Трек
Condition-Aware RGB-Anchored Fusion.
Дополнительная командная роль: владелец общего fusion API и архитектурной совместимости трёх реализаций.
2. Исследовательский вопрос
Может ли controller, использующий RGB content summary и признаки качества auxiliary inputs, динамически выбирать полезный вклад text, segmentation и geometry, сохраняя надёжный RGB residual path?
3. Обязательное чтение
Общий пакет
docs/02_references/01_required/docs/02_references/02_fusion_core/СИНТЕЗ_3_fusion.mddocs/02_references/02_fusion_core/SPEC_fusion_ACF_MERIDIAN_v5.mddocs/02_references/02_fusion_core/ANALYSIS_FiLM_alternatives_taxonomy_v4.mddocs/02_references/06_paper_analyses/B14_BB_2025_Strip R-CNN Large Strip Convolution for Remote Sensing Object Detection.md
Персональный пакет
F39_2025_CAFuser_Condition-Aware_Multimodal_Fusion.mdF37_2024_AsymFormer_Asymmetrical_Cross-Modal_Mobile_RGB-D.mdF43_2024_Robust_Multimodal_Missing_Modalities_PEFT.md— peer-reviewed (TPAMI 2024) опора identity-adapters и missing-modality поведенияF40_2025_M3amba_CLIP-driven_Mamba_Multi-modal_RS.mdF4_2025_EARTHMIND ... MULTIMODAL LLM.mdF44_2025_Fusion-Mamba_Cross-modality_Object_Detection.mdF68_2024_RemoteDet-Mamba_Hybrid_RS.mdF47_2026_TacFiLM_Tactile_Modality_Fusion_VLA.md
Файлы находятся внутри docs/02_references/06_paper_analyses/ и 05_text/.
Канонические опоры (проверенные выводы из vault, использовать в evidence matrix)
| Источник | Факт | Следствие для трека A |
|---|---|---|
C5 WeatherPrompt (NeurIPS 2025), 05_text/ |
Dynamic Gate 80.20 > Concat 78.90 > Static gate 78.45 | веса fusion должны быть instance-conditioned — прямой аргумент за controller |
| F14 WeatherPrompt deep dive | FiLM 73.37% > CrossAttn 68.10% > Concat 62.50%; спецификация text→FiLM MLP: zero-init, two-speed LR, EMA | готовый рецепт text-пути и инициализации |
| Flamingo (NeurIPS 2022, см. TRIAGE §1) | zero-init tanh(α)-gated cross-attention: при α=0 модель ≡ frozen base | корень линии identity-at-init; цитировать как первоисточник |
| F39 CAFuser (RA-L 2025) | condition token строится из RGB и управляет fusion остальных модальностей | каноничный шаблон трека |
| TRIAGE §6a, вывод 1 | gated additive residual — dropout-safe; чисто multiplicative gating ломается при near-zero aux | residual-форма обязательна для primary |
4. Общая обязанность: fusion API
Совместно с коллегами определить и реализовать:
class FusionModelBase(nn.Module):
def encode_view(self, batch: ViewBatch, view: ViewName) -> FusionViewOutput:
...
API должен:
- принимать одинаковый batch для всех variants;
- различать satellite CHM и UAV depth через
view; - возвращать descriptor и diagnostics;
- не требовать paired-view features;
- поддерживать batch size 1;
- быть пригодным для unit tests;
- позволять registry/factory выбирать variant через gin.
До merge API получить согласие Близно и Мороза.
5. Персональные задачи
A0. Evidence matrix
Создать таблицу минимум по восьми источникам:
| Source | Original task | Fusion operator | Conditioning signal | Identity path | Transfer to StripNet | Risk |
|---|
Для каждого source отдельно отметить paper fact и собственное предположение.
A1. Определить RGB anchor
Сравнить возможные content summaries:
- GAP stage 3.
- GAP stage 4.
- Concatenated GAP stages 3-4.
- Lightweight attention pooling stage 4.
Выбрать primary summary. Обосновать, почему он содержит достаточно информации для выбора modality contribution.
A2. Определить quality signals
Минимальный набор кандидатов:
| Modality | Возможные quality features |
|---|---|
| Text | empty mask, token count, text norm, caption quality score |
| Segmentation | entropy, background fraction, class diversity, valid fraction |
| CHM | valid fraction, dynamic range, gradient energy |
| Depth | valid fraction, dynamic range, smoothness/gradient consistency |
Не включать все признаки автоматически. Выбрать признаки, которые можно вычислить стабильно и без labels test split.
A3. Спроектировать auxiliary paths
Для каждой modality определить:
- raw tensor;
- normalization;
- encoder;
- output channel dimension;
- target StripNet stage;
- residual transform;
- initialization;
- validity handling.
CHM и depth используют раздельные input projectors, даже если после них общий interface.
A4. Сформировать три кандидата
| Candidate | Required design |
|---|---|
| A-C1 | channel-wise gated additive residual |
| A-C2 | multi-stage FiLM с condition-aware gates |
| A-C3 | dense residual paths для maps + token cross-attention для text |
Для каждого рассчитать:
- insertion stages;
- trainable params;
- dominant operations;
- expected VRAM;
- identity preservation;
- modality attribution;
- главный failure mode.
A5. Выбрать primary и fallback
Рекомендуемый scoring template:
| Criterion | Weight |
|---|---|
| Retrieval fit | 25 |
| RGB preservation | 20 |
| Modality attribution | 15 |
| Compute | 15 |
| Stability | 15 |
| Implementation risk | 10 |
A6. Формализовать controller
Минимальная формула:
c_v = Controller([Pool(X_v^{rgb}); q_v^{text}; q_v^{seg}; q_v^{geom}; e_v^{view}])
X_v^{l,new} = X_v^{l,rgb} + sum_m a_{v,m}^{l} * Delta_{v,m}^{l}
Нужно определить:
- scalar, channel или spatial gates;
- sigmoid или softmax;
- конкурируют ли модальности за единичную массу;
- contribution cap;
- zero-init residual;
- regularization, если она действительно нужна;
- поведение при validity = 0: gate невалидной модальности обязан давать нулевой вклад, а оставшиеся gates — оставаться корректными (не «доставать» массу из несуществующего входа). Показать это формулой и покрыть тестом.
A7. Выбрать fusion levels
Сравнить:
- Stage 4 only.
- Stages 3-4.
- Stages 2-4.
- Dense maps в stages 2-3, text только stage 4/readout.
Для каждого указать tensor shapes и дополнительную стоимость.
A8. Descriptor readout
Сравнить:
- GAP stage 4;
- GGeM;
- attention pooling;
- residual addition fused descriptor к RGB descriptor.
Primary readout обязан сохранять прямой RGB information path.
A9. Diagnostics
Реализовать минимум:
- mean/std gate по modality и stage;
- contribution norm
||a_m * Delta_m|| / ||X_rgb||; - cosine RGB vs fused descriptor;
- fraction saturated gates
<0.05или>0.95; - descriptor variance.
A10. Tests
Обязательные тесты:
- Output shape
[B,1024]для B=1 и B=4. - Descriptor norm.
- Identity behaviour при zero auxiliary residual.
- Invalid-mask handling.
- Satellite и UAV geometry projectors не смешиваются.
- No NaN на constant segmentation/depth/CHM.
- Backprop gradient достигает каждого active projector.
A11. Персональные ablations
| ID | Сравнение |
|---|---|
| A-AB1 | static weights vs condition-aware |
| A-AB2 | content-only vs content+quality |
| A-AB3 | scalar vs channel gates |
| A-AB4 | independent sigmoid vs normalized softmax gates |
| A-AB5 | standard init vs identity-preserving init |
| A-AB6 | stage 4 vs stages 3-4 |
| A-AB7 | shared vs view-specific controller head |
| A-AB8 | GAP vs GGeM vs attention pooling |
A12. Falsification
Гипотеза condition-aware controller считается не подтверждённой, если выполняется любое:
- static residual не хуже primary в пределах шума;
- gates почти постоянны по samples;
- один gate насыщен для большинства samples без contribution gain;
- улучшение есть только на одном seed;
- compute существенно растёт без R@1 gain;
- fused descriptor почти идентичен RGB при заявленном multimodal effect.
6. Кодовые артефакты
Ожидаемые файлы:
src/fuse_proj/models/fusion/base.py
src/fuse_proj/models/fusion/registry.py
src/fuse_proj/models/fusion/condition_aware.py
in/config_files/fusion_condition_aware.gin
tests/test_condition_aware.py
reports/pavlenko/DESIGN.md
reports/pavlenko/IMPLEMENTATION_AND_RESULTS.md
7. Definition of Done
- Общий API принят всей командой.
- Evidence matrix заполнена.
- Три кандидата сравнены.
- Primary и fallback выбраны до full run.
- Satellite и UAV tensor flow полностью описаны.
- Gates математически определены.
- Реализованы diagnostics.
- Все tests проходят.
- Проведены A-AB1..A-AB8 для выбранного набора.
- Мороз выполнил code review.
- Результаты занесены в общий experiment registry.