Files
fuze_task/docs/01_tasks/01_PAVLENKO_CONDITION_AWARE.md
Pikaliov 2c6a00a4ca fuse_proj: Initial operational package for 3 researchers (Pavlenko/Blizno/Moroz)
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>
2026-06-11 17:16:57 +03:00

10 KiB
Raw Permalink Blame History

Задание Павленко Богдану Викторовичу

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.md
  • docs/02_references/02_fusion_core/SPEC_fusion_ACF_MERIDIAN_v5.md
  • docs/02_references/02_fusion_core/ANALYSIS_FiLM_alternatives_taxonomy_v4.md
  • docs/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.md
  • F37_2024_AsymFormer_Asymmetrical_Cross-Modal_Mobile_RGB-D.md
  • F43_2024_Robust_Multimodal_Missing_Modalities_PEFT.md — peer-reviewed (TPAMI 2024) опора identity-adapters и missing-modality поведения
  • F40_2025_M3amba_CLIP-driven_Mamba_Multi-modal_RS.md
  • F4_2025_EARTHMIND ... MULTIMODAL LLM.md
  • F44_2025_Fusion-Mamba_Cross-modality_Object_Detection.md
  • F68_2024_RemoteDet-Mamba_Hybrid_RS.md
  • F47_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 должен:

  1. принимать одинаковый batch для всех variants;
  2. различать satellite CHM и UAV depth через view;
  3. возвращать descriptor и diagnostics;
  4. не требовать paired-view features;
  5. поддерживать batch size 1;
  6. быть пригодным для unit tests;
  7. позволять 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:

  1. GAP stage 3.
  2. GAP stage 4.
  3. Concatenated GAP stages 3-4.
  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

Сравнить:

  1. Stage 4 only.
  2. Stages 3-4.
  3. Stages 2-4.
  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

Обязательные тесты:

  1. Output shape [B,1024] для B=1 и B=4.
  2. Descriptor norm.
  3. Identity behaviour при zero auxiliary residual.
  4. Invalid-mask handling.
  5. Satellite и UAV geometry projectors не смешиваются.
  6. No NaN на constant segmentation/depth/CHM.
  7. 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.