first commit
This commit is contained in:
@@ -0,0 +1,297 @@
|
||||
Прежде чем писать — фиксирую структурные решения для рерайта:
|
||||
|
||||
1. **Архитектура двух версий.** Полностью раздельные промпты (без шаринга), потому что копировать целиком быстрее, чем собирать по фрагментам. Дублирование разделов 1, 2, 3, 5, 7, 8 контролируемое.
|
||||
2. **Обязательное поле `paper_type`.** Это explicit routing key в YAML — позволяет на уровне vault'а фильтровать карточки и не путать. Допустимые значения: `aqa_method`, `ssl_backbone`, `pose_method`, `biomech_model`, `hybrid`. Если `hybrid` — берём то из двух шаблонов, что ближе по доминанте, и помечаем secondary axes в комментарии.
|
||||
3. **`direction` — required без default.** Убираю предзаполнение 🅰. AI обязан явно обосновать выбор направления в первом абзаце TL;DR.
|
||||
4. **Расширение тег-словаря.** Добавляю: `cross_view`, `instance_discrimination`, `skeleton_only`, `video_modality`, `multi_modal`, `knowledge_distillation`, `transformer`, `gcn`, `mamba`, `regression_head`, `anomaly_score`, `cycle_consistency`. Остальные оставляю.
|
||||
5. **Edge feasibility — качественный fallback.** Если все 5 численных пунктов «НЕ УКАЗАНО» — обязательная качественная оценка по шкале `lightweight / medium / heavy / unknown` с короткой мотивацией (по backbone'у и числу веток).
|
||||
6. **Раздел 4 — основное расхождение.** В AQA-варианте AQA-метрики обязательны; в SSL-варианте явно разрешено «AQA-метрик нет — это нормально, фиксируем».
|
||||
7. **Раздел 6 — второе расхождение.** AQA-вариант оценивает прямой transfer; SSL-вариант оценивает место в pretraining-pipeline и chaining с downstream-головой.
|
||||
|
||||
---
|
||||
|
||||
# 📑 Обновлённый тег-словарь (фиксированный, расширенный)
|
||||
|
||||
```
|
||||
# Парадигма
|
||||
ssl, supervised, semi_supervised, few_shot, zero_shot, masked_modeling,
|
||||
contrastive, instance_discrimination, cross_view, knowledge_distillation,
|
||||
cycle_consistency, anomaly_score
|
||||
|
||||
# Задача
|
||||
pose_estimation, action_recognition, aqa, one_class_anomaly,
|
||||
fine_grained_classification, rep_counting, periodicity, regression_head
|
||||
|
||||
# Модальность входа
|
||||
skeleton_only, video_modality, multi_modal, imu, depth
|
||||
|
||||
# Архитектура
|
||||
gcn, transformer, mamba, cnn, lstm
|
||||
|
||||
# Условия
|
||||
edge, occlusion, in_the_wild
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 📝 ВАРИАНТ A — Промпт для AQA / Anomaly / Error-detection статей
|
||||
|
||||
````
|
||||
ПРОМПТ ДЛЯ АНАЛИЗА AQA-СТАТЬИ (paper_type: aqa_method)
|
||||
|
||||
Ты — старший научный рецензент с экспертизой в Action Quality Assessment,
|
||||
fine-grained error detection и anomaly detection для движений человека.
|
||||
Твоя задача — подготовить разбор статьи для проекта SmartRep (оценка техники
|
||||
силовых упражнений на edge-устройствах).
|
||||
|
||||
ВАЖНО: если в процессе анализа окажется, что статья НЕ про AQA / anomaly /
|
||||
fine-grained errors (а, например, про общий SSL pretraining или pose estimation) —
|
||||
ОСТАНОВИСЬ и сообщи: «Эта статья не AQA-типа, рекомендую SSL-backbone-промпт».
|
||||
Не натягивай AQA-нарратив на не-AQA содержание.
|
||||
|
||||
### 1. МЕТАДАННЫЕ (YAML)
|
||||
|
||||
```yaml
|
||||
title: "<оригинальный заголовок>"
|
||||
title_ru: "<перевод>"
|
||||
short_name: "<canonical акроним если есть>"
|
||||
authors: [<фамилии>]
|
||||
year: <YYYY>
|
||||
venue: "<conference/journal>"
|
||||
venue_tier: "<A*/A/B/Q1/Q2>"
|
||||
doi: "<link>"
|
||||
code: "<github если есть>"
|
||||
paper_type: "aqa_method" # обязательно
|
||||
tags: [<из фиксированного словаря, минимум 3>]
|
||||
relevance_to_smartrep: <1-5>
|
||||
direction: "<🅰 / 🅱 / 🅲>" # обязательно, без default. Обоснуй в TL;DR.
|
||||
status: "reviewed"
|
||||
````
|
||||
|
||||
### 2. CORE CONTRIBUTION (TL;DR)
|
||||
|
||||
3 предложения. **Первое** — какую AQA-задачу решает: scoring (regression), ranking, fine-grained error classification, anomaly detection (one-class), multi-error localization. **Второе** — основной механизм. **Третье** — обоснование выбора `direction` (🅰 / 🅱 / 🅲).
|
||||
|
||||
### 3. АРХИТЕКТУРА И МЕТОД
|
||||
|
||||
- **Постановка задачи:** regression / ranking / classification / anomaly
|
||||
- per-rep / per-set / per-frame granularity.
|
||||
- **Backbone** + временная агрегация (сколько кадров, какой stride).
|
||||
- **Голова оценки** (regression head, prototype-based, distance to mean, reconstruction error и т.д.).
|
||||
- **Loss-функции в LaTeX** ($\mathcal{L} = \dots$) с физическим/геометрическим смыслом.
|
||||
- **Обработка эталона:** есть ли явный «правильный» template? Как агрегируется по нескольким эталонам?
|
||||
- **Mermaid-диаграмма:** Inputs → Encoder → AQA-Head → Score/Anomaly.
|
||||
|
||||
### 4. AQA-ЭКСПЕРИМЕНТЫ (КРИТИЧНО)
|
||||
|
||||
- **Datasets:** AQA-7, MTL-AQA, FineDiving, Fitness-AQA, EC3D, FLEX, JIGSAWS, собственные — указать конкретно. Чем размечен: continuous score / named errors / pairwise ranks?
|
||||
- **AQA-метрики:**
|
||||
- Для scoring/regression: Spearman's ρ, Kendall's τ, MSE, R²
|
||||
- Для error classification: Accuracy, F1, mAP, per-error precision/recall
|
||||
- Для anomaly: AUROC, AUPRC, EER
|
||||
- **Если используется только Top-1 accuracy** — это сигнал, что задача подменяется обычной классификацией; явно отметь.
|
||||
- **Inter-annotator agreement:** Cohen's κ / Krippendorff α — если есть.
|
||||
- **SOTA-таблица:** воспроизведи ключевую таблицу сравнения.
|
||||
- **Per-error breakdown:** есть ли разложение по типам ошибок? Какие ошибки метод ловит хорошо, какие плохо?
|
||||
- **Granularity:** оценка целиком за подход, за повтор, за фрейм, с временной локализацией?
|
||||
|
||||
### 5. EDGE FEASIBILITY (для SmartRep)
|
||||
|
||||
|Параметр|Значение|
|
||||
|---|---|
|
||||
|Параметры (M)|<число / НЕ УКАЗАНО>|
|
||||
|GFLOPs|<число / НЕ УКАЗАНО>|
|
||||
|Latency + железо|<число + device / НЕ УКАЗАНО>|
|
||||
|Квантизация / дистилляция|<обсуждается? как?>|
|
||||
|Edge / mobile deployment|<да/нет/не обсуждается>|
|
||||
|
||||
**Качественный fallback (если ≥4 НЕ УКАЗАНО):** оцени backbone как `lightweight / medium / heavy / unknown` с мотивацией в одну строку (тип архитектуры, число веток, требуемый временной контекст).
|
||||
|
||||
### 6. РЕЛЕВАНТНОСТЬ ДЛЯ SMARTREP (AQA-применимость)
|
||||
|
||||
- **Прямой transfer на штангу:** какой domain gap (тип упражнений в датасете ↔ силовые)? Что сломается?
|
||||
- **Соответствие нашей таксономии ошибок:** есть ли в статье именованные ошибки, которые ложатся на наши (butt-wink, hitch, valgus knee, uneven bar path и т.д.)?
|
||||
- **Per-rep vs per-set:** наша задача — feedback по каждому повтору; поддерживает ли метод per-rep granularity или только summary?
|
||||
- **One-class совместимость:** если у статьи multi-class supervised — можно ли выкрутить в one-class (только эталоны)? Что для этого нужно изменить?
|
||||
- **LUPI-потенциал:** Teacher (богатые данные при сборе: видео + IMU + барбелл-трекер) → Student (только скелет на инференсе) — поддерживает ли фреймворк такую асимметрию?
|
||||
- **Periodicity / rep counting:** учитывает ли метод цикличность повторов?
|
||||
|
||||
### 7. GAP ДЛЯ НАС (НИША НОВИЗНЫ — самое важное поле)
|
||||
|
||||
Сформулируй 2–4 конкретных гэпа в формате:
|
||||
|
||||
- **Гэп N:** [что не делает статья] → [как это становится новизной SmartRep].
|
||||
|
||||
Пример формы: «Метод даёт скаляр-оценку всего подхода, но не локализует ошибку по времени → SmartRep делает per-rep + per-frame оценку с визуальной подсветкой проблемного интервала».
|
||||
|
||||
### 8. ВЫВОД ДЛЯ ЛИТОБЗОРА
|
||||
|
||||
- Приоритет: **ВЫСОКИЙ / СРЕДНИЙ / НИЗКИЙ** + одна строка обоснования.
|
||||
- Место в SmartRep-pipeline: какому направлению (🅰/🅱/🅲) и какому этапу (pretraining / fine-tuning / inference head / baseline для сравнения).
|
||||
- 3–5 связанных статей для следующего разбора (с краткой ремаркой почему).
|
||||
|
||||
---
|
||||
|
||||
ИНСТРУКЦИИ AI:
|
||||
|
||||
- Не выдумывай данные. «НЕ УКАЗАНО» — допустимый ответ.
|
||||
- Разделяй факты и [КОММЕНТАРИЙ РЕЦЕНЗЕНТА].
|
||||
- Все формулы — LaTeX в `$...$` или `$$...$$`.
|
||||
- Перед финальным артефактом — короткий блок структурных решений (какие нестандартные выборы пришлось сделать).
|
||||
- После артефакта — мета-комментарий: что в шаблоне сработало, что трещит на этой конкретной статье.
|
||||
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 📝 ВАРИАНТ B — Промпт для SSL backbone / pose / representation learning статей
|
||||
|
||||
```
|
||||
|
||||
ПРОМПТ ДЛЯ АНАЛИЗА SSL-BACKBONE СТАТЬИ (paper_type: ssl_backbone)
|
||||
|
||||
Ты — старший научный рецензент с экспертизой в SSL для видео и скелетов, representation learning, masked modeling, contrastive learning. Твоя задача — подготовить разбор статьи для проекта SmartRep как кандидата на этап pretraining скелетного/видео-энкодера.
|
||||
|
||||
ВАЖНО: если статья ЯВНО про AQA / fine-grained errors / anomaly detection с готовой задачей — ОСТАНОВИСЬ и сообщи: «Эта статья AQA-типа, рекомендую AQA-промпт». Не пытайся натянуть SSL-нарратив на supervised AQA.
|
||||
|
||||
ВАЖНО-2: AQA-метрики (Spearman, AUROC, error breakdown) в SSL-статьях обычно ОТСУТСТВУЮТ. Это нормально и не повод для упрёка статье. Фиксируй факт «AQA-evaluation не проводится» в разделе 4 и переноси обсуждение применимости к AQA в раздел 6.
|
||||
|
||||
### 1. МЕТАДАННЫЕ (YAML)
|
||||
|
||||
```yaml
|
||||
title: "<оригинальный заголовок>"
|
||||
title_ru: "<перевод>"
|
||||
short_name: "<canonical акроним>"
|
||||
authors: [<фамилии>]
|
||||
year: <YYYY>
|
||||
venue: "<conference/journal>"
|
||||
venue_tier: "<A*/A/B/Q1/Q2>"
|
||||
doi: "<link>"
|
||||
code: "<github>"
|
||||
paper_type: "ssl_backbone" # обязательно
|
||||
tags: [<из фикс. словаря, минимум 3 — обязательно укажи парадигму, модальность и архитектуру>]
|
||||
relevance_to_smartrep: <1-5>
|
||||
direction: "<🅰 / 🅱 / 🅲>" # обязательно. Большинство SSL-статей — 🅲. Если иначе, обоснуй.
|
||||
status: "reviewed"
|
||||
```
|
||||
|
||||
### 2. CORE CONTRIBUTION (TL;DR)
|
||||
|
||||
3 предложения. **Первое** — какую SSL-задачу решает (masked recon, contrastive, predictive coding, cycle consistency, distillation). **Второе** — основной механизм + что нового относительно прямых предшественников. **Третье** — обоснование `direction` (почему именно 🅰/🅱/🅲 в нашем проекте).
|
||||
|
||||
### 3. АРХИТЕКТУРА И МЕТОД
|
||||
|
||||
- **SSL-задача:** что именно предсказывается / выравнивается / маскируется. Какова конструкция позитивов и негативов (если contrastive).
|
||||
- **Backbone:** ViT / ST-GCN / Mamba / CNN + специфические блоки для временной размерности.
|
||||
- **Аугментации:** перечисли все. Особо отметь те, что ломают: периодичность (rep counting), геометрию суставов (наша задача), биомеханику (направление 🅱).
|
||||
- **Loss-функции в LaTeX** с комментарием о геометрическом/информационном смысле.
|
||||
- **Двухстадийность / warm-up / curriculum** — есть ли? Какое условие переключения?
|
||||
- **Гиперпараметры обучения:** оптимизатор, batch, memory bank size, эпохи, K в top-K (если применимо).
|
||||
- **Mermaid-диаграмма:** Raw input → View generation → Encoders → Projector → SSL-Loss.
|
||||
|
||||
### 4. SSL-ЭКСПЕРИМЕНТЫ
|
||||
|
||||
- **Pretraining datasets:** NTU-60/120, Kinetics-400/700, ImageNet, собственные. Какова шкала?
|
||||
- **Downstream protocols:**
|
||||
- Linear evaluation (frozen encoder + FC)
|
||||
- Finetune (encoder + head обучаются end-to-end)
|
||||
- KNN evaluation
|
||||
- Few-label / semi-supervised (1% / 10% label fraction)
|
||||
- Transfer на out-of-distribution датасет
|
||||
- **Метрики downstream:** Top-1 / Top-5 accuracy, NMI / ARI для кластеризации, mAP для retrieval. **AQA-метрики обычно отсутствуют — это ожидаемо, отметь явно одной строкой.**
|
||||
- **SOTA-таблица:** воспроизведи основную, не все.
|
||||
- **Качественные результаты:** t-SNE / attention maps / cluster purity — если есть, прокомментируй что они показывают про геометрию пространства.
|
||||
- **Ablation:** какие компоненты критичны, какие косметические.
|
||||
|
||||
### 5. EDGE FEASIBILITY (для SmartRep)
|
||||
|
||||
|Параметр|Значение|
|
||||
|---|---|
|
||||
|Параметры энкодера на инференсе (M)|<число / НЕ УКАЗАНО>|
|
||||
|GFLOPs|<число / НЕ УКАЗАНО>|
|
||||
|Latency + железо|<число + device / НЕ УКАЗАНО>|
|
||||
|Квантизация / дистилляция|<обсуждается?>|
|
||||
|Edge / mobile deployment|<да/нет/не обсуждается>|
|
||||
|Memory bank / момент-копии на инференсе|<используются? обычно нет>|
|
||||
|
||||
**Качественный fallback (если ≥4 НЕ УКАЗАНО):** оценка backbone'а `lightweight / medium / heavy / unknown` + мотивация (тип, ширина, число параллельных веток). Особо отметь, что из SSL-инфраструктуры (memory bank, EMA-encoder, projector head) **не нужно** на инференсе.
|
||||
|
||||
### 6. РЕЛЕВАНТНОСТЬ ДЛЯ SMARTREP (как pretraining-кандидат)
|
||||
|
||||
- **Backbone reusability:** напрямую совместим со скелетным input'ом SmartRep (33-точечный COCO/MoveNet)? Какие переходы нужны (NTU-25 ↔ COCO-33, joint mapping)?
|
||||
- **Pretraining recipe transferability:** warm-up, аугментации, размер batch, memory bank — что переносится на наш малый датасет, что нет?
|
||||
- **Domain gap к силовому тренингу:** датасеты статьи (бытовые действия / спорт / игры) ↔ штанговые упражнения. Насколько большой gap, что его смягчает (motion-stream? bone-stream?).
|
||||
- **Совместимость с downstream AQA-головами:** можно ли поверх этого энкодера навесить one-class anomaly head (PatchCore, KNN-distance, reconstruction error)? Не коллапсирует ли SSL-objective при подаче только эталонных подходов?
|
||||
- **LUPI-совместимость:** поддерживает ли фреймворк асимметричные потоки (Teacher с богатыми данными / Student с бедными), или все «views» — это симметричные преобразования одного входа?
|
||||
- **Periodicity-совместимость:** ломают ли аугментации цикличность (например, random crop с reflection padding ломает; phase-aware resampling сохраняет)?
|
||||
- **Чувствительность к мелким геометрическим отклонениям:** по построению objective статьи — он склеивает или различает сэмплы внутри одного класса? (Для нас критична внутриклассовая дискриминация: правильный присед vs присед с butt-wink.)
|
||||
|
||||
### 7. GAP ДЛЯ НАС (НИША НОВИЗНЫ — самое важное поле)
|
||||
|
||||
2–4 конкретных гэпа в формате:
|
||||
|
||||
- **Гэп N:** [что не делает статья как pretraining-метод] → [конкретная модификация / расширение, которое мы можем заявить как вклад SmartRep].
|
||||
|
||||
Типичные формы для SSL-статей:
|
||||
|
||||
- objective не чувствителен к ошибкам техники → ввести error-aware SSL signal
|
||||
- нет edge-бенчмарков → воспроизвести + INT8-квантизация
|
||||
- views симметричны → ввести настоящий LUPI с привилегированным учителем
|
||||
- аугментации ломают периодичность → phase-aware augmentations
|
||||
|
||||
### 8. ВЫВОД ДЛЯ ЛИТОБЗОРА
|
||||
|
||||
- Приоритет: **ВЫСОКИЙ / СРЕДНИЙ / НИЗКИЙ** + одна строка обоснования.
|
||||
- Место в SmartRep-pipeline: какой этап (pre-pretraining / pretraining / finetune-инициализация / baseline-сравнение).
|
||||
- Прямой вклад в направления (🅰 / 🅱 / 🅲) — обычно для SSL-backbone ненулевой вклад только в 🅲, нулевой в 🅰 и 🅱. Если иначе — обоснуй.
|
||||
- 3–5 связанных статей для следующего разбора с краткой ремаркой почему.
|
||||
|
||||
---
|
||||
|
||||
ИНСТРУКЦИИ AI:
|
||||
|
||||
- Не выдумывай данные. «НЕ УКАЗАНО» — допустимый и частый ответ для edge-метрик в SSL-статьях.
|
||||
- Не натягивай AQA-нарратив. Если AQA-evaluation нет — фиксируй и идём дальше.
|
||||
- Разделяй факты и [КОММЕНТАРИЙ РЕЦЕНЗЕНТА].
|
||||
- Формулы — LaTeX.
|
||||
- Перед финальным артефактом — короткий блок структурных решений.
|
||||
- После артефакта — мета-комментарий о работе шаблона на этой статье.
|
||||
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🧭 Селектор: какой промпт когда применять
|
||||
|
||||
| Признаки в abstract / methods | Шаблон |
|
||||
|---|---|
|
||||
| Spearman / Kendall / AUROC / per-error F1 / regression head на оценку | **A (AQA)** |
|
||||
| Named error taxonomy (named technique mistakes) | **A (AQA)** |
|
||||
| Reconstruction error / distance-to-prototype как anomaly score | **A (AQA)** |
|
||||
| Pretext task (masked recon / contrastive / cycle / pred coding) + linear/finetune evaluation на классификации | **B (SSL backbone)** |
|
||||
| Linear eval / KNN на NTU/Kinetics/ImageNet, Top-1 как главная метрика | **B (SSL backbone)** |
|
||||
| Гибрид: SSL-pretraining + AQA-fine-tuning в одной статье | По доминанте экспериментов; в разделе 1 пометить `paper_type: hybrid`, в TL;DR — какая часть для нас важнее |
|
||||
| Pose estimation (MPJPE / PA-MPJPE на H36M/3DPW) | Ни тот, ни другой — нужен **третий** шаблон (`pose_method`) |
|
||||
|
||||
---
|
||||
|
||||
## Мета-комментарий и предупреждения по применению
|
||||
|
||||
**Что закрыто в этой версии:**
|
||||
- `direction` без default → AI обязан обосновать выбор и не сваливаться в дефолт.
|
||||
- Раздел 4 разделён → AQA-метрики не провоцируются на не-AQA статьях.
|
||||
- Раздел 6 разделён → разные подвопросы для прямого AQA-transfer и для chaining-роли pretraining'а.
|
||||
- Edge fallback → качественная шкала избавляет от полупустого раздела.
|
||||
- Тег-словарь расширен под subtypes contrastive learning.
|
||||
- Routing явный: `paper_type` в YAML + safety-check «остановись и переключись на другой шаблон».
|
||||
|
||||
**Что пока НЕ закрыто и стоит запланировать:**
|
||||
- Третий шаблон **`pose_method`** (для AIFit, SMPLify-style, биомех. fitting) — у тебя AIFit уже разобран, но без отдельного промпта. Имеет смысл выделить, потому что у pose-papers свои оси оценки (MPJPE/PA-MPJPE, joint angle error, stability under occlusion, biomechanical priors).
|
||||
- Четвёртый — **`dataset`** — у тебя уже есть рабочий 14-секционный шаблон, не трогаем.
|
||||
- Совместимость нескольких карточек по одной статье. Например, AIFit — это и pose_method, и слабо AQA. Имеет смысл разрешить **two cards per paper** с явной перекрёстной ссылкой во frontmatter (`primary_card`, `secondary_card`).
|
||||
- Поле `external_eval_done` — флаг «мы воспроизвели цифры / пробовали backbone у себя / только прочитали». Это для следующего этапа когда начнётся реальный pretraining.
|
||||
|
||||
**Подводный камень в Obsidian:** `paper_type` в frontmatter — это новое поле, и существующие 4 карточки (Fit3D, FLAG3D, Fitness-AQA, H36M) его не имеют. Их стоит мигрировать одним проходом — у датасетных карточек проставить `paper_type: dataset`. Иначе Dataview-запросы по `paper_type` будут давать пустоту на старых карточках.
|
||||
|
||||
Если согласен с разбиением — могу сейчас же написать **третий промпт `pose_method`** для AIFit-style статей. Или сначала прогоним новый SSL-промпт на FLEX (он у тебя в highest priority) и посмотрим, не выскочат ли ещё дыры в шаблоне.
|
||||
```
|
||||
Reference in New Issue
Block a user