Skip to content

Мультимодальная глава: разбор 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 “Поправки к ранним идеям (важные)”
  1. Непрерывный энкодер ≠ непрерывные данные: байты/основания ДНК/пиксель- коды — дискретные; embedding таблица 256 — тот же механизм, что токен- таблица. «Без словаря» — неточно: словарь байтов есть, нет BPE-сегментации.
  2. Энкодеры к одному d_model НЕ учат связывать модальности — нужны совместные примеры (ECG+PPG одного человека за один период) и общая цель.
  3. Код-наброски (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, выжимает максимум на малых данных):

  1. ECG-JEPA: EMA-teacher → целевой латент; student предсказывает латент на вырезанных спанах 150–400 мс (ширина QRS/T), Smooth L1. Наш JEPA модуль (EMA-учитель) ложится без изменения математики — агент это отметил.
  2. Lead Dropout 25–30%: зануление 1–2 отведений → восстановление 3D-поля сердца по оставшимся (защита от зубрения одного канала).
  3. Входная гигиена: Баттерворт 4-го порядка 0.5–45 Гц (дрейф изолинии + сетевой шум) + z-score по каждому отведению отдельно (вольтаж различается в разы между пациентами).

Связь с dormouse: tokens [B, 250, d_model] входят в LoopBlock вместо byte-embedding; морфологию держит свёрточный стем, ритм — наше рекуррентное ядро.

бумага что берём
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

Реалистичный формат (не бесконечные терабайты):

  1. WES/панели, не WGS: экзом = 1–2% генома (30–60 млн нуклеотидов), там 85% болезнетворных мутаций.
  2. Датасеты: ClinVar (патогенность одиночной мутации — задача на старт), TCGA (33 типа рака), cBioPortal (соматические мутации + исходы).
  3. A/B в стиле dormouse: тип первичной опухоли / ответ на таргетную терапию по панели 400 онкогенов; метрика AUC-ROC / Macro-F1 по редким вариантам; baseline = XGBoost над полигенными признаками против Dormouse-агрегатора над Δh-векторами. Равные бюджеты, по-репозиторийный сплит.

Порядок (последовательность агента)

Section titled “Порядок (последовательность агента)”
  1. Закрепить baseline и повторяемые метрики на одной задаче (текущая программа: metric-gate, fidelity-fix, graphfix, depth A/B с φ)
  2. Один модальный энкодер против отдельной модели
  3. Общий бэкбон приносит измеримый выигрыш → следующая модальность
  4. Патчинг/downsampling сигналов — часть дизайна (память/длина), не позднее ускорение