/ Модель

Характеристики

Лицензия
MIT
Библиотека
braindecode
Опубликована
17 апр 2026

signal-jepa_without-chans

ЭмбеддингиТекст → embedding3 профессии

Самообучаемая модель Signal-JEPA извлекает контекстные признаки из сигналов ЭЭГ для дальнейшего обучения и классификации.

4 921скачиваний за 30 дней1лайквеса обновлены18 апр 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

braindecode/signal-jepa_without-chans — вариант весов самообучаемой модели Signal-JEPA, подготовленный Guetschel et al. (2024) и упакованный для библиотеки braindecode. Чекпойнт содержит SSL-энкодер признаков и трансформер, но не содержит таблицу эмбеддингов каналов; каналные эмбеддинги можно обучить с нуля под используемую раскладку электродов.

Модель предназначена для извлечения контекстных признаков из сигналов ЭЭГ и дальнейшего самообучения или дообучения для downstream-задач, например классификации. Она предварительно обучена на наборе Lee2019 с 62 каналами ЭЭГ в раскладке 10-10 и частотой дискретизации 128 Гц; представленный вариант подходит в том числе для записей с другой схемой расположения каналов. Веса распространяются в форматах PyTorch и safetensors, лицензия — MIT.

Модель возвращает признаки, а не готовые классы. Для классификации требуется отдельная голова, которая в примерах README обучается с нуля; качество на конкретных данных зависит от последующего обучения и настройки каналов. Модель рассчитана на обработку сигналов ЭЭГ, а не на прямое предсказание меток без дополнительной головы.

Сценарии применения

  • извлечение признаков из сигналов ЭЭГ
  • подготовка представлений ЭЭГ для классификатора
  • самообучение на записях ЭЭГ
  • дообучение модели ЭЭГ на новой раскладке электродов

Ограничения

Чекпойнт выдаёт контекстные признаки, а не классы; для классификации нужна отдельная обучаемая голова. Предварительное обучение выполнено на Lee2019 с 62 каналами, раскладкой 10-10 и частотой 128 Гц, поэтому дальнейшая настройка может потребоваться для конкретных записей.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

sjepa

Signal-JEPA

Self-supervised pre-trained weights for the Signal-JEPA foundation model from Guetschel et al. (2024), packaged for use with braindecode. See the full API reference in the docs: braindecode.models.SignalJEPA.

The model was pre-trained on the Lee2019 dataset (62 EEG channels in the 10-10 layout, sampled at 128 Hz). The repo ships the weights together with a config.json so they can be loaded in one line with YourModelClass.from_pretrained(repo_id, ...).

Available checkpoints

Two variants are published:

repo IDchannel embedding includedwhen to use
braindecode/signal-jepa✓ 62-row _ChannelEmbedding aligned with the pre-training layoutyour recording channels are a subset (by name, case-insensitive) of the 62 pre-training channels — you want to reuse the learned spatial embeddings
braindecode/signal-jepa_without-chans✗ only the SSL backbone (feature encoder + transformer)your channels are not a subset of the pre-training set, or you prefer to train channel embeddings from scratch

If you are unsure, start with braindecode/signal-jepa_without-chans: it always works, regardless of your electrode layout.

Quick start

Base model (pre-training architecture)

The base model outputs contextual features, not class predictions. Use it for downstream feature extraction or further SSL.

from braindecode.models import SignalJEPA

# With the pre-trained channel embeddings (recording channels ⊂ pre-train set):
model = SignalJEPA.from_pretrained("braindecode/signal-jepa")

# Or: with your own channels, kept aligned to the pre-training embedding table
model = SignalJEPA.from_pretrained(
    "braindecode/signal-jepa",
    chs_info=raw.info["chs"],           # subset of the 62 pre-training channels
    channel_embedding="pretrain_aligned",
)

# Or: without pre-trained channel embeddings (any electrode layout):
model = SignalJEPA.from_pretrained(
    "braindecode/signal-jepa_without-chans",
    chs_info=raw.info["chs"],
    strict=False,  # the channel-embedding weight is intentionally missing
)

Downstream architectures

Three classification architectures are introduced in the paper:

  • a) Contextual — uses the full transformer encoder
  • b) Post-local — discards the transformer; spatial convolution after local features
  • c) Pre-local — discards the transformer; spatial convolution before local features

All three add a freshly-initialized classification head on top of the SSL backbone. The head is not part of the checkpoint and will be trained from scratch during fine-tuning; pass strict=False so from_pretrained does not complain about those missing keys.

from braindecode.models import (
    SignalJEPA_Contextual,
    SignalJEPA_PreLocal,
    SignalJEPA_PostLocal,
)

# a) Contextual — keeps the transformer
model = SignalJEPA_Contextual.from_pretrained(
    "braindecode/signal-jepa",          # or "signal-jepa_without-chans"
    n_times=256,                         # e.g. 2 s at 128 Hz
    n_outputs=4,
    strict=False,                        # ignore un-trained classification head
)

# b) Post-local — transformer discarded
model = SignalJEPA_PostLocal.from_pretrained(
    "braindecode/signal-jepa_without-chans",
    n_chans=19,
    n_times=256,
    n_outputs=4,
    strict=False,
)

# c) Pre-local — transformer discarded
model = SignalJEPA_PreLocal.from_pretrained(
    "braindecode/signal-jepa_without-chans",
    n_chans=19,
    n_times=256,
    n_outputs=4,
    strict=False,
)

See the braindecode tutorial Fine-tuning a Foundation Model (Signal-JEPA) for a complete example including layer freezing and training with skorch.EEGClassifier.

Channel embedding modes

SignalJEPA and SignalJEPA_Contextual accept a channel_embedding kwarg:

  • "scratch" (default): the _ChannelEmbedding table has one row per user channel, initialized from chs_info. Compatible with the without-chans checkpoint.
  • "pretrain_aligned": the table has 62 rows in the pre-training order, forward indexes into the subset matching your chs_info (matched by channel name, case-insensitive). Compatible with the full checkpoint.

from_pretrained picks the right mode automatically based on the checkpoint's config.json; override with the channel_embedding= kwarg if needed.

Citation

@article{guetschel2024sjepa,
  title   = {S-JEPA: towards seamless cross-dataset transfer
             through dynamic spatial attention},
  author  = {Guetschel, Pierre and Moreau, Thomas and Tangermann, Michael},
  journal = {arXiv preprint arXiv:2403.11772},
  year    = {2024},
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · braindecode

Нельзя запустить

Архитектура ? неизвестна transformers в образе рантайма.

Ревизия весов
213876e

0 моделей