Initial commit — generate-hypothesis skill
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) <noreply@anthropic.com>
This commit is contained in:
58
.gitignore
vendored
Normal file
58
.gitignore
vendored
Normal file
@@ -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
|
||||
~$*
|
||||
140
README.md
Normal file
140
README.md
Normal file
@@ -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 "<research-question>" [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.
|
||||
115
SKILL.md
Normal file
115
SKILL.md
Normal file
@@ -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.
|
||||
102
reference/method_taxonomy.md
Normal file
102
reference/method_taxonomy.md
Normal file
@@ -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 |
|
||||
33
templates/hypothesis_compact.md
Normal file
33
templates/hypothesis_compact.md
Normal file
@@ -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_...]]
|
||||
98
templates/hypothesis_full.md
Normal file
98
templates/hypothesis_full.md
Normal file
@@ -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`)
|
||||
Reference in New Issue
Block a user