Мультимодальная глава: разбор research-агента владельца (ECG/DNA/аудио/картинки)
Обновлено 2026-10-02. Источник: разбор репо агентом владельца; 5 бумаг в
docs/papers/ (mm-*.pdf) (provenance.tsv). Вердикт агента принят владельцем как
план следующей главы.
Вердикт агента (принят)
Section titled “Вердикт агента (принят)”«Не отказываться от dormouse, но сменить цель: с “один byte backbone для всего” на “проверяем, когда общие веса дают перенос между модальностями”». LM-результаты пока — база для исследования, не основание масштабировать архитектуру: 4.997 и 5.545 BPB несравнимы между собой (режимы/окна), n-граммный барьер измерен другим протоколом, прежние результаты ряда механизмов отзывались. Сначала надёжный baseline, потом модальности.
Поправки к ранним идеям (важные)
Section titled “Поправки к ранним идеям (важные)”- Непрерывный энкодер ≠ непрерывные данные: байты/основания ДНК/пиксель- коды — дискретные; embedding таблица 256 — тот же механизм, что токен- таблица. «Без словаря» — неточно: словарь байтов есть, нет BPE-сегментации.
- Энкодеры к одному d_model НЕ учат связывать модальности — нужны совместные примеры (ECG+PPG одного человека за один период) и общая цель.
- Код-наброски (ECG-патч-пример: зашитые 200 патчей, сплющенные каналы) считать набросками, не модулями.
Архитектура: модульный интерфейс (следующая глава)
Section titled “Архитектура: модульный интерфейс (следующая глава)”- Энкодер модальности → последовательность векторов + маска валидных позиций
- Адаптер → размерность бэкбона
- Бэкбон принимает последовательность + позиционную и модальную информацию
- Отдельные task heads
- Три варианта сравнения: отдельные модели / энкодеры+общий бэкбон / энкодеры+бэкбон с частными модальными ветвями
- Мультимодальные eval’ы: перенос между модальностями, поиск пар, прогноз одной по другой, работа при пропущенной модальности, устойчивость к рассинхронизации
Первая пара: ECG + синхронная кардиологическая модальность
Section titled “Первая пара: ECG + синхронная кардиологическая модальность”ECG+PPG или ECG+PCG с синхронными записями — проверка, учит ли общий бэкбон общую репрезентацию, а не набор классификаторов. DNA — отдельное направление (не добавлять «ради мультимодальности»).
Спека ECG-энкодера (от research-агента, 2026-10-02) — blueprint, не реализация
Section titled “Спека ECG-энкодера (от research-агента, 2026-10-02) — blueprint, не реализация”ЭКГ ≠ текст и ≠ картинка: 1D-сигнал с локальной морфологией (P/QRS/T 40–120 мс) + пространственный диполь на 12 отведений + длинный ритм (RR-интервалы на 10 с). Иерархия: Conv-Stem → Time/Space Mixer → Global Context → Attention Pooling.
| этап | что делает | почему |
|---|---|---|
| Conv-Stem: Conv1d k=7 s=2 + GroupNorm + SiLU | ранняя морфология (dV/dt — наклоны QRS), сжатие времени 2–4× | фиксированный патчинг без перекрытия режет зубцы пополам |
| Mixer: depthwise conv k=7 (форма QRS/ST) ⊕ SSM/KDA (RR-интервалы, аритмии) + Gated MLP | локальные спайки + долгий ритм; cross-lead: collapse в stem ИЛИ обучаемые lead_embedding (12 векторов) | время и отведения — разные оси |
| Global attention на сжатой сетке (T=250 из 1000) | интеграция | дёшево на сокращённой длине |
| Attention pooling α_t = softmax(wᵀtanh(W_p z_t)) | взвешенная сборка | mean() растворяет патологию (0.3с экстрасистолы в 10с ритма) |
Тренировка (self-supervised, выжимает максимум на малых данных):
- ECG-JEPA: EMA-teacher → целевой латент; student предсказывает латент на вырезанных спанах 150–400 мс (ширина QRS/T), Smooth L1. Наш JEPA модуль (EMA-учитель) ложится без изменения математики — агент это отметил.
- Lead Dropout 25–30%: зануление 1–2 отведений → восстановление 3D-поля сердца по оставшимся (защита от зубрения одного канала).
- Входная гигиена: Баттерворт 4-го порядка 0.5–45 Гц (дрейф изолинии + сетевой шум) + z-score по каждому отведению отдельно (вольтаж различается в разы между пациентами).
Связь с dormouse: tokens [B, 250, d_model] входят в LoopBlock вместо byte-embedding; морфологию держит свёрточный стем, ритм — наше рекуррентное ядро.
Бумаги главы
Section titled “Бумаги главы”| бумага | что берём |
|---|---|
| CardioState-JEPA 2608.12944 | ближайшая к общей кардио-репрезентации; синхронизация |
| CNN-SSA ECG 2609.29376 | свежий ECG-энкодер: локальные формы + дальний контекст + межотведённые связи — направление проверки |
| BioMatrix 2606.22138 | DNA/биология как отдельная линия |
| VL-JEPA 2512.10942 | предсказание представлений в общем latent-пространстве |
| Physics of Multimodal Pretraining 2608.05000 | когда объединение помогает/мешает |
DNA-линия: вариантный пайплайн (от research-агента, 2026-10-02) — blueprint
Section titled “DNA-линия: вариантный пайплайн (от research-агента, 2026-10-02) — blueprint”Геном = 3.1×10⁹ нуклеотидов — «скормить строкой» физически невозможно; 99.9% людей идентичны, вся клиническая информация — в точечных отличиях от GRCh38/T2T. Пайплайн: секвенирование → VCF (таблица мутаций) → два уровня:
| уровень | вход/выход | кто |
|---|---|---|
| Локальный (эффект мутации) | окно ±1kb вокруг позиции, дважды: ref и alt; вектор эффекта Δh = h_alt − h_ref (≈0 — синонимичная, велик — сломан промотор/сплайсинг) | Genomic FM: Enformer/Caduceus/HyenaDNA; Caduceus — RC-эквивариантность обязательна (двухцепочечность); алфавит 5 токенов {A,C,G,T,N} |
| Пациентный агрегатор | M=512–2048 сайтов: Token_i = Embed(GeneID)+Embed(Chr,Pos)+MLP(Δh_i); онко-панели 500–1000 генов (TP53/KRAS/EGFR/BRCA1/PIK3CA) | dormouse LoopBlock: KDA+TSCT моделируют эпистаз (взаимодействие генов); multi-label голова: Onco-Score / тип опухоли / патогенность ClinVar ACMG |
Реалистичный формат (не бесконечные терабайты):
- WES/панели, не WGS: экзом = 1–2% генома (30–60 млн нуклеотидов), там 85% болезнетворных мутаций.
- Датасеты: ClinVar (патогенность одиночной мутации — задача на старт), TCGA (33 типа рака), cBioPortal (соматические мутации + исходы).
- A/B в стиле dormouse: тип первичной опухоли / ответ на таргетную терапию по панели 400 онкогенов; метрика AUC-ROC / Macro-F1 по редким вариантам; baseline = XGBoost над полигенными признаками против Dormouse-агрегатора над Δh-векторами. Равные бюджеты, по-репозиторийный сплит.
Порядок (последовательность агента)
Section titled “Порядок (последовательность агента)”- Закрепить baseline и повторяемые метрики на одной задаче (текущая программа: metric-gate, fidelity-fix, graphfix, depth A/B с φ)
- Один модальный энкодер против отдельной модели
- Общий бэкбон приносит измеримый выигрыш → следующая модальность
- Патчинг/downsampling сигналов — часть дизайна (память/длина), не позднее ускорение