From f374b0dafcbae66bca705dfbeb6373a5a964bf17 Mon Sep 17 00:00:00 2001 From: Pikaliov Date: Mon, 4 May 2026 10:43:03 +0300 Subject: [PATCH] =?UTF-8?q?Initial=20commit=20=E2=80=94=20generate-hypothe?= =?UTF-8?q?sis=20skill?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Standalone Claude Code skill repo extracted from CVGL vault (.claude/skills/generate-hypothesis/). Generates testable If/Then/Because hypotheses for the NADEZHDA / SOFIA research project from the literature library. Contents: - SKILL.md — behaviour spec (6-phase pipeline, output contract) - README.md — human-facing entry: when to use, install, examples - templates/hypothesis_full.md — full template (8 required sections) - templates/hypothesis_compact.md — short draft template - reference/method_taxonomy.md — methods to NADEZHDA components mapping Co-Authored-By: Claude Opus 4.7 (1M context) --- .gitignore | 58 +++++++++++++ README.md | 140 ++++++++++++++++++++++++++++++++ SKILL.md | 115 ++++++++++++++++++++++++++ reference/method_taxonomy.md | 102 +++++++++++++++++++++++ templates/hypothesis_compact.md | 33 ++++++++ templates/hypothesis_full.md | 98 ++++++++++++++++++++++ 6 files changed, 546 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 SKILL.md create mode 100644 reference/method_taxonomy.md create mode 100644 templates/hypothesis_compact.md create mode 100644 templates/hypothesis_full.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..120d131 --- /dev/null +++ b/.gitignore @@ -0,0 +1,58 @@ +# Python build artifacts +__pycache__/ +*.py[cod] +*$py.class +*.egg-info/ +*.egg +.eggs/ +build/ +dist/ + +# Virtual environments +.venv/ +venv/ +env/ +ENV/ +.python-version + +# Coverage / testing +.coverage +.coverage.* +htmlcov/ +.tox/ +.nox/ +.pytest_cache/ +.mypy_cache/ +.ruff_cache/ +.dmypy.json + +# IDE / OS +.idea/ +.vscode/ +!.vscode/settings.json +!.vscode/launch.json +!.vscode/extensions.json +*.swp +*.swo +*~ +.DS_Store +Thumbs.db +desktop.ini + +# Jupyter +.ipynb_checkpoints/ + +# Secrets — never commit +.env +.env.local +*.key +*.pem +credentials.json + +# Temp +*.log +*.tmp +*.bak +*.backup +*.orig +~$* diff --git a/README.md b/README.md new file mode 100644 index 0000000..ebe61f4 --- /dev/null +++ b/README.md @@ -0,0 +1,140 @@ +# skill-claude-generate-hypothesis + +Claude Code skill for generating testable scientific hypotheses for the CVGL / NADEZHDA research project. Analyzes the vault's literature library, extracts evidence from analyzed papers, deduplicates against existing hypotheses, and produces structured `If / Then / Because` claims ready to drop into `2_hypotesis/`. + +> Behaviour spec — see [`SKILL.md`](SKILL.md). This file is the human-facing entry point. + +## Installation + +Drop this repo's contents into your vault's Claude Code skills directory: + +```bash +git clone https://git.lissad.keenetic.name/Pikaliov/skill-claude-generate-hypothesis.git \ + .claude/skills/generate-hypothesis +``` + +Or as a submodule, if you prefer to track upstream: + +```bash +git submodule add https://git.lissad.keenetic.name/Pikaliov/skill-claude-generate-hypothesis.git \ + .claude/skills/generate-hypothesis +``` + +After installation Claude Code picks up the skill on the next session. Verify with `/help` — `/generate-hypothesis` should appear in the user-invocable list. + +**Vault prerequisites** (referenced by the skill but not bundled here): +- `1_lit_research/{2_backbone,3_fusion,4_reduction,5_multimodal_approach,6_cvgl}/` — paper analyses (P/B/F/R/M-prefixed) +- `1_lit_research/СИНТЕЗ_всех_статей_для_LUPI_CVGL.md` — synthesis index +- `2_hypotesis/cvgl/HYP_*.md` — existing hypotheses (used for dedup) +- `0_prompts/tag_taxonomy.md` — tag whitelist for frontmatter +- `CONVENTIONS.md` — repo-wide RU/EN split rules + +If you adapt the skill to another vault layout, update the path globs in [`SKILL.md`](SKILL.md) §"Фаза 2: Поиск литературы". + +## When to use + +- Designing a new experiment and need a falsifiable claim before writing code. +- Synthesizing 5–8 related papers into one actionable research direction. +- Exploring "what if we replaced X with Y" without re-reading the entire vault. +- Stress-testing an idea against existing hypotheses to find duplicates or contradictions. + +## Invocation + +```text +/generate-hypothesis "" [Teacher|Student|Fusion|Loss|Edge|Dataset] +``` + +**Examples** + +```text +/generate-hypothesis "Поможет ли Coupled Mamba fusion для объединения drone и satellite признаков в Student?" Fusion +/generate-hypothesis "Снизит ли GGeM с FP16 кэшем latency на Jetson?" Edge +/generate-hypothesis "Заменит ли DINOv3-L текущий DINOv2-L Teacher?" Teacher +``` + +## What it does (6 phases) + +| # | Phase | Output | +|---|-------|--------| +| 1 | Parse the question, route to the right NADEZHDA component | component tag, keywords | +| 2 | Targeted vault search across `1_lit_research/{2_backbone,3_fusion,4_reduction,5_multimodal_approach,6_cvgl}` and the synthesis index | 5–8 papers read | +| 3 | Dedup against `2_hypotesis/cvgl/HYP_*.md` | extend existing or create new | +| 4 | Extract method / numbers / limitations / applicability | per-paper evidence rows | +| 5 | Synthesize the claim in `If / Then / Because` form (≤30 words) | hypothesis statement | +| 6 | Render via [`templates/hypothesis_full.md`](templates/hypothesis_full.md) or [`templates/hypothesis_compact.md`](templates/hypothesis_compact.md) with frontmatter, wiki-links, math, tables | drop-in `.md` for `2_hypotesis/` | + +## Output contract + +Every produced hypothesis must have: + +1. **Formal claim** — `If [method], then [±X% on metric Y on dataset Z], because [mechanistic rationale]` +2. **Confidence** — High / Medium / Low + one-line justification +3. **Scope** — Teacher / Student / Fusion / Loss / Edge / Full system +4. **Evidence** — 2–4 papers, wiki-linked, with concrete numbers (R@1, params, FLOPs, latency) +5. **Falsifiable test** — baseline, metric, threshold, p-value +6. **Experimental plan** — datasets, stages, timeline +7. **Assumptions** — what must hold for the claim to be testable +8. **Links** — `extends` / `contradicts` / `similar` references to existing hypotheses + +## Hard constraints + +- ❌ Никогда не выдумывать статьи, числа или wiki-links на несуществующие файлы. Если evidence отсутствует — `confidence = LOW` с явной отметкой. +- ✅ Текст — русский, формулы и термины — английский (см. `[[../../CONVENTIONS.md]]`). +- ✅ Каждое число должно иметь источник (откуда взято). +- ✅ Имя файла: `HYP_<метод>_<компонент>_<суть>.md`. +- ✅ Теги — только из `[[0_prompts/tag_taxonomy]]`. +- ✅ Перед расширением похожей гипотезы — обязательная проверка `2_hypotesis/cvgl/HYP_*.md`, не создавать дубликат. + +## NADEZHDA component cheat-sheet + +| Component | Current state | Where the skill looks | +|-----------|--------------|----------------------| +| **Teacher** | DINOv3-L, ~356 M frozen, 5 modalities (sat/UAV/street-view/depth/text), Multi-FiLM-Fusion, modality dropout p=0.3 | `1_lit_research/2_backbone/`, `5_multimodal_approach/` | +| **Student** | SOFIA v7.1 / FastViT-T12 weight-shared, 2 modalities, CVD, GGeM → 512-dim | `1_lit_research/2_backbone/`, `3_fusion/` | +| **Fusion** | Multi-FiLM-Fusion (Teacher) / late gated (Student) | `1_lit_research/3_fusion/` | +| **Distillation** | 7 losses (InfoNCE, LUPI-MSE, feature alignment, RKD, seg distill, CVD_MI, CVD_Recon) + GradNorm + progressive staging | `2_hypotesis/kd_hypotesis/`, `6_cvgl/` | +| **Edge** | Jetson Orin NX, < 50 ms, INT8, ≤ 5 GFLOPs (Tiny) / ≤ 500 MB (M-preset) | `1_lit_research/4_reduction/` | + +Detailed taxonomy of methods → component mapping: [`reference/method_taxonomy.md`](reference/method_taxonomy.md). + +## File layout + +``` +generate-hypothesis/ +├── SKILL.md — full skill specification (frontmatter + 6-phase pipeline) +├── README.md — this file (human entry point) +├── templates/ +│ ├── hypothesis_full.md — full template with all 8 required sections + tables + math +│ └── hypothesis_compact.md — short template for "draft" status hypotheses +└── reference/ + └── method_taxonomy.md — mapping of literature methods → NADEZHDA components +``` + +## Allowed tools + +`Read`, `Glob`, `Grep`, `WebSearch` — read-only literature analysis. Skill does not write to the vault directly; the model returns the hypothesis as a code block, the user persists it under `2_hypotesis/cvgl/`. + +## Related skills (sibling skills in the host vault, not bundled here) + +- `/analyze-paper` — single-paper deep-dive that feeds evidence into this skill. +- `/synthesize-review` — cross-paper review that the dedup phase consults. +- `/tag-vault` — keeps the tag taxonomy in sync so frontmatter tags stay valid. + +## Worked example + +**Input:** + +```text +/generate-hypothesis "Поможет ли Coupled Mamba fusion для объединения drone и satellite признаков в Student?" Fusion +``` + +**Expected output (sketch):** + +- Title: `HYP_coupled_mamba_Student_fusion.md` +- Claim: «Если заменить bottleneck cross-attention в Student на Coupled Mamba SSM fusion, то latency на Jetson Orin NX снизится на ≥ 15 % при сохранении R@1 ± 0.5 % на University-1652, потому что SSM имеет линейную сложность O(L) против O(L²) у attention…» +- Confidence: Medium +- Evidence: `[[Coupled_Mamba_NeurIPS_2024]]`, `[[F35_Sigma_Siamese_Mamba]]`, `[[B6_BB_2024_Efficient VMamba]]` +- Test: baseline = current cross-attention fusion · metric = R@1 + Jetson latency · threshold = ΔR@1 ≥ –0.5 % AND Δlatency ≤ –15 % · 5 seeds, paired t-test p < 0.05 +- Plan: 4 weeks on University-1652 + GTA-UAV, ablation per direction count + +See `2_hypotesis/cvgl/` for previously generated hypotheses to study the produced format. diff --git a/SKILL.md b/SKILL.md new file mode 100644 index 0000000..9a8df5f --- /dev/null +++ b/SKILL.md @@ -0,0 +1,115 @@ +--- +name: generate-hypothesis +description: "Generate testable scientific hypotheses for CVGL research. Analyzes 240+ paper analyses in the vault, extracts methods and evidence, checks for duplicates, and produces structured hypotheses following the format 'If [method], then [result], because [rationale]'. Use when designing experiments, exploring novel approaches, or synthesizing literature into actionable research claims." +argument-hint: "[research-question] [component: Teacher|Student|Fusion|Loss|Edge|Dataset]" +user-invocable: true +allowed-tools: Read Glob Grep WebSearch +--- + +# Генерация научной гипотезы для CVGL + +Сгенерируй проверяемую научную гипотезу для проекта перекрёстной геолокализации БЛА (система NADEZHDA), используя структурированное рассуждение и анализ литературы из хранилища. + +## Входные данные + +- `$ARGUMENTS` — исследовательский вопрос и целевой компонент +- Пример: `/generate-hypothesis "Улучшит ли CVD кросс-доменный перенос?" Student` + +## Контекст проекта NADEZHDA + +**Teacher (~356M params):** DINOv2-L + LoRA, 5 модальностей (спутник, дрон, street-view, depth, text), Multi-FiLM-Fusion, modality dropout p=0.3 + +**Student (~8.5M params):** FastViT-T12 weight-shared, 2 модальности (спутник + дрон), CVD, GGeM → 512-dim + +**Дистилляция:** 7 losses (InfoNCE, LUPI-MSE, feature alignment, RKD, seg distill, CVD_MI, CVD_Recon) + GradNorm + progressive staging + +**Edge:** Jetson Orin NX, <50ms, INT8, ≤5 GFLOPs, ≤5M params + +## Процесс генерации + +### Фаза 1: Анализ вопроса + +Определи: +- Какой компонент системы затрагивает вопрос (Teacher / Student / Fusion / Loss / Edge / Dataset) +- Какие методы из литературы релевантны +- Ключевые слова для поиска + +### Фаза 2: Поиск литературы + +Выполни целенаправленный поиск по vault: + +1. **CVGL-статьи** — `1_lit_research/6_cvgl/` (P1–P66) +2. **Backbone** — `1_lit_research/2_backbone/` (B1–B20, F1–F9) +3. **Fusion** — `1_lit_research/3_fusion/` (F1–F13, reviews) +4. **Reduction** — `1_lit_research/4_reduction/` (R1–R17) +5. **Multimodal** — `1_lit_research/5_multimodal_approach/` (M1–M10) +6. **Синтез** — `1_lit_research/СИНТЕЗ_всех_статей_для_LUPI_CVGL.md` + +Используй Grep для поиска ключевых слов из вопроса. Прочитай 5–8 наиболее релевантных статей. + +### Фаза 3: Проверка дубликатов + +Поиск по `2_hypotesis/cvgl/HYP_*.md` — убедись, что гипотеза не дублирует существующие. Если похожая есть — расширь или уточни её, а не создавай заново. + +### Фаза 4: Извлечение evidence + +Для каждой релевантной статьи извлеки: +- **Метод** — что предлагается +- **Результаты** — R@1, params, FLOPs, latency +- **Ограничения** — что не работает +- **Применимость** — как соотносится с компонентом из вопроса + +### Фаза 5: Синтез гипотезы + +Сформулируй гипотезу строго по формату: + +> **Если** [метод/подход/комбинация], **то** [измеримый результат], **потому что** [механистическое обоснование на основе литературы] + +Требования: +- Формулировка ≤ 30 слов +- Результат — количественный (±X% на метрике Y) +- Обоснование — ссылки на 2–4 статьи +- Фальсифицируемость — как опровергнуть + +### Фаза 6: Форматирование для Obsidian + +Используй шаблон из [templates/hypothesis_full.md](templates/hypothesis_full.md). + +Выход должен содержать: +- YAML frontmatter с тегами из таксономии `[[0_prompts/tag_taxonomy]]` +- Wiki-links на статьи: `[[P1_CVGL_2024_VimGeo...]]` +- Wiki-links на связанные гипотезы: `[[HYP_архитектура_Student_lightweight_distillation]]` +- Математические формулы в LaTeX +- Comparison tables для обоснования выбора +- Код: Python pseudo-code для ключевых компонентов + +Для краткого формата — [templates/hypothesis_compact.md](templates/hypothesis_compact.md). + +Классификацию методов по компонентам NADEZHDA см. в [reference/method_taxonomy.md](reference/method_taxonomy.md). + +## Требования к выходу + +### Обязательные секции +1. **Формальная формулировка** — If / Then / Because +2. **Уверенность** — High / Medium / Low + обоснование +3. **Область** — Teacher / Student / Fusion / Full system +4. **Evidence** — 2–4 статьи с wiki-links и конкретными числами +5. **Фальсифицируемый тест** — baseline, метрика, threshold, p-value +6. **Экспериментальный план** — датасеты, этапы, таймлайн +7. **Допущения** — что должно быть истинно +8. **Связи** — extends / contradicts / similar гипотезы из vault + +### Ограничения +- НЕ выдумывай статьи или результаты — если evidence нет, укажи confidence = LOW +- НЕ создавай wiki-links на несуществующие файлы +- Используй русский для текста, английский для формул и терминов +- Все метрики — с источником (откуда число) +- Именование файла: `HYP_<метод>_<компонент>_<суть>.md` + +## Пример вызова + +``` +/generate-hypothesis "Поможет ли Coupled Mamba fusion для объединения drone и satellite признаков в Student?" Fusion +``` + +Ожидаемый выход: гипотеза о замене bottleneck cross-attention на Coupled Mamba SSM fusion в Student с оценкой влияния на latency и R@1, evidence из Coupled Mamba (NeurIPS 2024) и Sigma (WACV 2025), экспериментальный план на University-1652. diff --git a/reference/method_taxonomy.md b/reference/method_taxonomy.md new file mode 100644 index 0000000..8640f00 --- /dev/null +++ b/reference/method_taxonomy.md @@ -0,0 +1,102 @@ +# Таксономия методов по компонентам NADEZHDA + +Справочник для скилла `/generate-hypothesis`: какие методы из литературы применимы к каким компонентам системы. + +## Teacher backbone (DINOv3-L, ~300M frozen, patch 16×16) + +| Метод | Источник | Применимость | +|:------|:---------|:-------------| +| **DINOv3-L** (SAT-493M pretraining, Register Tokens, Gram Anchoring) | F4_BB DINOv3 | **Текущий выбор** — превосходит DINOv2: +6.4 mIoU dense, satellite-native | +| DINOv2-L self-supervised | Устаревший | Заменён на DINOv3-L | +| GeoRSCLIP (RS-specific VL) | F2_BB | Альтернатива: domain-specific VL pretraining | +| CrossEarth (geospatial FM) | F3_BB | Альтернатива: explicit RS domain | +| Perception Encoder | B13 | Best features at intermediate layers | + +**Технические особенности DINOv3 vs DINOv2:** +- Patch: 16×16 (не 14×14) → 256/16 = 16×16 = 256 токенов (точно) +- Register Tokens: 4 шт. → отфильтровать перед FPN +- Outlier dimensions: ОБЯЗАТЕЛЬНО LayerNorm перед loss-функциями +- Frozen > fine-tuned (by design) → не нужен LoRA + +## Student backbone (FastViT-T12, ~8.5M, weight-shared) + +| Метод | Источник | Применимость | +|:------|:---------|:-------------| +| FastViT-T12 | HYP_Student | Текущий выбор, weight-shared drone/sat | +| MambaVision-T | B12 | Гибрид Mamba+ViT, 4.4 GFLOPs, TensorRT | +| Efficient VMamba | B6 | Atrous selective scan, <50 GFLOPs | +| GroupMamba | B11 | Group-based SSM, ещё легче | +| LEGNet | B16 | 5-8M params, <5 GFLOPs — target-size | +| Channel Group Pooling (CGP) | P1 VimGeo | Замена FC, экономия ~40% params | +| RepViT-M1.1 | Benchmarking FM | 8.2M, 1.7 GFLOPs | + +## Fusion module (Multi-FiLM-Fusion) + +| Метод | Источник | Применимость | +|:------|:---------|:-------------| +| Multi-FiLM (γ·F + β) | F14 WeatherPrompt, SSF TPAMI | Текущий выбор, <0.7% overhead | +| Bottleneck Cross-Attention | GLEAM M3 | Sparse tokens (8/modality) | +| Coupled Mamba | NeurIPS 2024 | Inter-modal SSM state transition, 49% faster | +| Cross-Selective SSM Scan | Sigma WACV 2025 | Mamba-native fusion | +| Mutable Token + Dropout | P50 MMGeo | Graceful degradation при отсутствии модальности | +| MoE (Flex-MoE) | NeurIPS Spotlight | Arbitrary modality combinations | +| Gated Multimodal Unit | Pipeline v1 | Sigmoid gates + weighted sum | + +## Loss functions (7 losses + GradNorm) + +| Loss | Формула | Источник | Роль | +|:-----|:--------|:---------|:-----| +| L_task | Symmetric InfoNCE (τ learnable, ls=0.1) | P10 Sample4Geo | Основная retrieval | +| L_LUPI | MSE(z_S, sg(z_T_fused)) | R9 Vapnik, R6 MobileGeo | Privileged KD | +| L_feat | MSE(proj(F_S), sg(F_T)) через Conv1×1 | R1, R14 | Intermediate distill | +| L_RKD | |d_S(i,j) - d_T(i,j)|² | R1 | Relational KD | +| L_seg | hard CE + soft KL | Pipeline v2 | Segmentation distill | +| L_CVD_MI | HSIC penalty | disentangle.py | Content-viewpoint separation | +| L_CVD_Recon | Cross-view MSE | disentangle.py | Reconstruction from content only | +| GradNorm | Adaptive λ balancing | Pipeline v2 | Gradient dominance prevention | +| PALW | Progressive attenuate→enhance | P47 DPHR | Альтернатива GradNorm | +| DWBL | Dynamic weighted batch-tuple | P1 VimGeo | Hard negative emphasis | + +## Distillation strategies + +| Стратегия | Источник | Compression | R@1 | +|:----------|:---------|:-----------|:----| +| MobileGeo hierarchical KD | R6 | 60× | 97.15% (Univ-1652) | +| QDFL frozen + adapters | P62 | <5M adapter | 95.00% | +| LUPI + multi-modal teacher | R9, R3 | Theoretical | — | +| Teacher-Assistant chain | R15 MST-Distill | При capacity gap | — | +| Self-distillation | R4 GeoDistill | Geometry-guided | — | + +## Edge deployment (Jetson Orin NX) + +| Техника | Источник | Эффект | +|:--------|:---------|:-------| +| INT8 TensorRT | R5, R12 | 2-3× speedup, 1-2% R@1 drop | +| k-scaled PTQ для Mamba | R5 | FP16 state transitions + INT8 weights | +| All-adder networks | R12 Q-A²NN | mul→add (экспериментально) | +| Structured pruning | R16 survey | 5% incremental | +| ONNX export | B12 MambaVision | Native TensorRT support | + +## Data augmentation + +| Техника | Источник | Эффект | +|:--------|:---------|:-------| +| CHSG layout simulation | P11 GeoDTR+ | +16-22% cross-domain R@1 | +| Orientation randomization | P16 ConGeo | Предотвращает 16% collapse | +| Weather simulation (10 conditions) | M1 WeatherPrompt | All-weather robustness | +| GPS→DSS hard negatives | P10 Sample4Geo | k=64, K=128, refresh every 4 epochs | +| Modality dropout p=0.3 | P50 MMGeo | LUPI compatibility | + +## Датасеты + +| Датасет | Роль в проекте | Размер | Ключевая метрика | +|:--------|:---------------|:-------|:-----------------| +| University-1652 | Основной бенчмарк | 142K imgs | D→S R@1 (SOTA: 97.50%) | +| GeoText-1652 | Text modality training | 316K+ texts | Text→Image R@1 | +| GTA-UAV/Game4Loc | Pretraining | 33.7K+14.6K | Zero-shot transfer | +| UAV-VisLoc | Real-world validation | 6,742 drone | Continuous map matching | +| World-UAV | Multi-country test | 927K imgs | Rotation/height robustness | +| CVUSA | Cross-view benchmark | 35K pairs | R@1 (SOTA: 98.97%) | +| CVACT | Cross-domain test | 128K pairs | R@1 (SSM лучше: 81.69%) | +| VIGOR | Hardest benchmark | 90K+105K | Same-area R@1 | +| SUES-200 | Multi-altitude | 24K real | AP across 4 heights | diff --git a/templates/hypothesis_compact.md b/templates/hypothesis_compact.md new file mode 100644 index 0000000..1114e5f --- /dev/null +++ b/templates/hypothesis_compact.md @@ -0,0 +1,33 @@ +--- +type: hypothesis +status: draft +date: YYYY-MM-DD +tags: [task/experiment, component/COMPONENT, method/METHOD] +author: claude +--- + +# Гипотеза: [Краткая формулировка] + +**Если** [метод], **то** [результат], **потому что** [обоснование]. + +**Уверенность:** [High/Medium/Low] | **Область:** [компонент NADEZHDA] + +## Evidence + +- [[P{N}_...]]: [что показывает, R@1 = ...%] +- [[P{N}_...]]: [что показывает] + +## Тест + +- **Baseline:** [метод] +- **Метрика:** [R@1 на University-1652] +- **Threshold:** ΔR@1 ≥ [X]% +- **Таймлайн:** [N] недель + +## Допущения + +1. [Ключевое допущение] + +## Связи + +- Расширяет: [[HYP_...]] diff --git a/templates/hypothesis_full.md b/templates/hypothesis_full.md new file mode 100644 index 0000000..43901cb --- /dev/null +++ b/templates/hypothesis_full.md @@ -0,0 +1,98 @@ +--- +type: hypothesis +status: draft +date: YYYY-MM-DD +tags: [task/experiment, hypothesis/HYPOTHESIS_TAG, component/COMPONENT, method/METHOD, arch/ARCH] +related: ["[[связанная_гипотеза]]", "[[связанная_статья]]"] +author: claude +--- + +# Гипотеза: [Краткая формулировка, ≤15 слов] + +## 1. Формальная формулировка + +**Если** [метод / подход / архитектурное решение], +**то** [измеримый результат: ±X% на метрике Y на датасете Z], +**потому что** [механистическое обоснование со ссылками на литературу]. + +- **Уверенность:** [High / Medium / Low] — [1 предложение: почему такой уровень] +- **Область:** [Teacher training / Student distillation / Fusion module / Loss design / Edge deployment / Full system] +- **Связь с NADEZHDA:** [Какой компонент затрагивает и как] + +## 2. Обоснование и evidence + +### 2.1 Поддерживающие работы + +| Статья | Метод | Результат | Применимость | +|:-------|:------|:----------|:-------------| +| [[P{N}_...]] | ... | R@1 = ...% | Прямая / Косвенная | +| [[P{N}_...]] | ... | ... | ... | +| [[R{N}_...]] | ... | ... | ... | + +### 2.2 Механистическое обоснование + +[1-2 абзаца: почему данный метод ДОЛЖЕН работать в контексте NADEZHDA. Ссылки на конкретные результаты из таблицы выше. Формулы при необходимости.] + +### 2.3 Противоречащие данные + +[Статьи или факты, которые могут опровергнуть гипотезу. Если нет — явно указать "Прямых противоречий в литературе не выявлено".] + +## 3. Фальсифицируемый тест + +| Параметр | Значение | +|:---------|:---------| +| **Baseline** | [Метод/эксперимент для сравнения] | +| **Метрика** | [R@1, R@5, R@10, AP, latency, FLOPs] | +| **Датасет** | [University-1652 / CVUSA / CVACT / VIGOR / SUES-200] | +| **Threshold** | [Минимальный прирост для подтверждения: ΔR@1 ≥ X%] | +| **Статистика** | [3 повтора, 95% CI, paired t-test p < 0.05] | +| **Подтверждение** | Результат > Threshold на ≥ 2 датасетах | +| **Опровержение** | Результат ≤ Baseline или Feature Pollution (ухудшение L_task) | + +## 4. Экспериментальный план + +### Этап 1: Подготовка [N дней] +- [ ] [Действие 1] +- [ ] [Действие 2] + +### Этап 2: Реализация [N дней] +- [ ] [Действие 1] +- [ ] [Действие 2] + +### Этап 3: Оценка [N дней] +- [ ] [Действие 1] +- [ ] Аблация: поочерёдное отключение компонентов +- [ ] Кросс-доменный тест: train на [X] → test на [Y] + +### Этап 4: Анализ [N дней] +- [ ] Сравнительная таблица с baseline +- [ ] Визуализация feature maps / attention maps +- [ ] Запись результатов в `3_work/` + +**Общий таймлайн:** [N недель] + +## 5. Допущения + +1. [Вычислительное допущение: напр., RTX 4090 24GB достаточно для обучения] +2. [Допущение о данных: напр., University-1652 репрезентативен для real-world] +3. [Архитектурное допущение: напр., weight-sharing не деградирует при данном capacity gap] + +## 6. Математическая формализация + +[Формулы ключевых компонентов в LaTeX:] + +$$L_{\text{total}} = \lambda_1 L_{\text{task}} + \lambda_2 L_{\text{...}} + ...$$ + +[Описание каждого компонента с размерностями тензоров.] + +## 7. Связи с другими гипотезами + +| Тип связи | Гипотеза | Описание | +|:----------|:---------|:---------| +| Расширяет | [[HYP_...]] | [Как развивает предыдущую гипотезу] | +| Противоречит | [[HYP_...]] | [В чём конфликт] | +| Дополняет | [[HYP_...]] | [Как сочетается] | + +## 8. Лог статуса + +- YYYY-MM-DD: Черновик создан (Claude, `/generate-hypothesis`)