NEST

Teknoloji

NEST okuma EEG'sini nasıl çözümlüyor

Fiksasyona hizalı bir frekans vektöründen açık sözlüklü metne: girdi temsili, v2 mimarisi ve veri hattında neyin doğrulandığı, neyin hâlâ beklediği.

Girdi temsili

Fiksasyonlardan 840 boyutlu vektöre

NEST, ham voltaj değil, ZuCo'nun kelime düzeyindeki EEG özniteliklerini okur. Göz izleme fiksasyonları veri hattına okuyucunun hangi kelimeye baktığını bildirir; fiksasyon alan her kelime bir öznitelik vektörü taşır: 105 EEG kanalı çarpı 8 frekans bandı, kelime başına 840 boyutlu bir girdi verir. Bir cümle bu vektörlerin bir dizisidir.

BantYaklaşık aralıkAlt bant
theta14–6 Hzalt yarı
theta26.5–8 Hzüst yarı
alpha18.5–10 Hzalt yarı
alpha210.5–13 Hzüst yarı
beta113.5–18 Hzalt yarı
beta218.5–30 Hzüst yarı
gamma130.5–40 Hzalt yarı
gamma240–49.5 Hzüst yarı

Alt bant sınırları ZuCo için yayımlandığı gibidir (Hollenstein ve ark. 2018): her ana bant iki alt banda bölünür. 105 kanal × 8 bant = fiksasyon alan kelime başına 840 boyut.

Fiksasyon almayan kelimeler. Okuyucunun hiç fiksasyon yapmadığı bir kelime için bant gücü türetilecek bir EEG segmenti yoktur, bu yüzden ZuCo o kelime için NaN üretir. NEST bu girdileri, kelimeyi atmak veya bir değer atamak yerine sıfırlar (commit 5460ace); bu, cümle uzunluğunu korur. Sıfırlanmış bir vektör sinyal taşımaz — bir ölçüm değil, yer tutucudur.

Mimari · v2

Beş adımlı bir veri hattı, örneklenerek doğrulandı

src/models/nest_v2.py mevcut mimariyi tanımlar: paylaşılan bir gömme uzayına projeksiyon, bir konumsal kodlama, bir transformer encoder ve iki çıktı başlığından biri.

01
EEG projeksiyonu
LayerNorm, Linear, GELU, Linear, LayerNorm, √d ile ölçeklenir.
840 → 1536 → 768
02
Konumsal kodlama
Sinüzoidal, projeksiyonlanmış diziye eklenir.
sabit, öğrenilmeyen
03
Transformer encoder
Pre-norm katmanlar, GELU feed-forward.
6 katman, d=768, baş=8
04
Çıktı başlığı
Doğrusal bir CTC başlığı, ya da encoder'a çapraz dikkatli bir BART decoder.
CTC veya BART
05
Çözümleme
Greedy CTC çözümleme; BART için serbest özbağlanımlı çözümleme.
teacher forcing yok
BileşenYapılandırma
EEGProjection840 → 1536 → 768, LayerNorm ve GELU, çıktı √d ile ölçeklenir
Konumsal kodlamaSinüzoidal
Transformer encoder6 katman, d_model 768, 8 baş, pre-norm, GELU feed-forward
CTC başlığıDoğrusal, 29 sembol (blank, a–z, boşluk, pad) — 45.310.637 parametre
BART decoderfacebook/bart-base, EEG encoder'a çapraz dikkatle; BART encoder ve ilk 4 decoder katmanı donduruldu — 184.424.592 toplam / 64.697.232 eğitilebilir
ÇözümlemeGreedy CTC çözümleme; BART için serbest özbağlanımlı çözümleme (bugün greedy, beam search planlanıyor)

Parametre sayıları, NEST_CTC_v2 ve NEST_BART_v2 örneklenerek 3 Eylül 2026'da doğrulandı.

Neden frekans bandı öznitelikleri

Ana yol olarak ham voltaj değil, önceden hesaplanmış bantlar

NEST'in birincil girdi temsili Wang ve Ji'yi (AAAI 2022) izler: ham bir EEG dalga formu yerine, kelime başına kanal başına sabit frekans bandı gücü. Bu, ham voltajdan daha küçük, daha yapılandırılmış bir girdidir; ayrıca ZuCo üzerine çalışan EEG-metin literatürünün çoğunun zaten kıyasladığı kuraldır.

Depo ayrıca ham-EEG mimarileri de içerir — EEGNet ve DeepConvNet uzamsal evrişimli ön uçlar, LSTM, Transformer ve Conformer zamansal encoder'lar ve 303 milyon parametreli bir Conformer-BART modeli (src/models/nest.py, nest_bart.py). Bunlar kodlanmış ve içe aktarılabilir durumda, ama yukarıda açıklanan birincil yol değiller ve henüz eğitilmediler.

Eğitim ve değerlendirme protokolü

Denekten bağımsız, serbest çözümlemeli, test zamanında teacher forcing yok

Bölmeler varsayılan olarak denekten bağımsızdır: 8 denek eğitir, 1 denek doğrular, 2 denek test için ayrılır ve eğitimde ya da doğrulamada hiç görünmez.

Eğitim

Loss

CTC başlığı için CTC loss. BART başlığı için teacher forcing ile cross-entropy — ama yalnızca eğitim sırasında. Decoder'a, yalnızca bir eğitim gradyanı hesaplamak için, her adımda doğru önceki token verilir.

Değerlendirme

Çözümleme

eval_bart(), model.generate()'i max_length=64 ile ve teacher forcing olmadan çağırır. generate() uygulaması şu anda greedy; num_beams argümanı kabul edilir ama henüz kullanılmaz. eval_ctc() greedy CTC çözümleme kullanır. Kelime hata oranı (WER) ve karakter hata oranı (CER) Levenshtein düzenleme mesafesiyle hesaplanır.

Bu protokolün taahhüt ettikleri.

  • Değerlendirme zamanında serbest özbağlanımlı çözümleme, asla teacher forcing değil.
  • Modelin eğitim veya doğrulama sırasında hiç görmediği görülmemiş test denekleri.
  • Her gerçek-EEG sonucunun yanında raporlanan bir gürültü kontrolü.

Hesaplama: hızlı bir test CPU veya Apple Silicon MPS üzerinde çalışır (scripts/train_nest_v2.py --quick-test). Tam 200 epoch'luk bir BART koşusunun A100 üzerinde 8 ila 12 saat süreceği tahmin ediliyor; NEST'in bu GPU'da henüz planlanmış bir zamanı yok.

Ön işleme ve dayanıklılık modülleri

Kodlandı, henüz değerlendirilmedi

src/preprocessing, NEST'in şu anda üzerinde eğitildiği ZuCo özniteliklerinin ötesinde sinyal temizleme ve genelleme kodu içerir. Hiçbiri çözümleme doğruluğuna etkisi açısından benchmark edilmedi.

Filtreleme

MNE ile band-pass ve notch filtreleme.

Artefakt giderme

EOG/ECG bileşen tespitiyle ICA tabanlı artefakt giderme (mne.preprocessing.ICA).

Veri artırma

Gürültü enjeksiyonu, zaman kaydırma ve mixup dahil 11 veri artırma yöntemi.

Denek-uyarlama modülleri — bir domain-adversarial network (DANN) ve CORAL öznitelik hizalaması — kodda da mevcuttur; amaçları, sabit train/val/test bölmesinin ötesinde denekler arasında genelleme yapmaktır. Kodlandılar, henüz değerlendirilmediler.

Dağıtım modülleri

Yazıldı, benchmark yapılmadı, henüz çıktı yok

src/evaluation, bir çözümleme yığınının bir not defterinden çıkması için gereken kodu içerir: sıkıştırma, dışa aktarma ve akış. Hiçbiri sevk edilmiş bir çıktı üretmedi.

ModülNe yaparDurum
BudamaMagnitude, iterative, sensitivity, structured ve lottery-ticket budamaBenchmark yapılmadı
KuantizasyonEğitim sonrası, dinamik, kuantizasyon farkında eğitim, karma hassasiyetBenchmark yapılmadı
Dışa aktarmaONNX ve TorchScript dışa aktarmaÇıktı yok
AkışDairesel tampon ile akış çıkarımıBenchmark yapılmadı

Sınırlamalar, açıkça

Mimarinin çözemediği

Bunların hiçbiri daha iyi bir modelle çözülmez. Bunlar sinyalin ve alanın mevcut değerlendirme pratiğinin özellikleridir.

  • Sinyal kalitesi. Kafa derisi EEG'sinin sinyal-gürültü oranı düşüktür ve hacim iletimi, kortikal kaynaklar elektroda ulaşmadan önce onları birbirine karıştırır.
  • Serbest çözümleme alan genelinde çözülmemiş. Teacher forcing yerine serbest çözümleme altında, yayımlanmış ZuCo çözücülerinin — yalnızca NEST değil — rastgele gürültü girdisine yakın puan aldığı gösterilmiştir. NEST, bu varsayılıp geçilmesin diye kontrol edilebilsin diye, her gerçek-EEG sonucunun yanında bir gürültü kontrolü raporlar.
  • Kelime hizalama göz izleme gerektirir. Girdi temsili, EEG'yi kelimelere atamak için fiksasyon zamanlamasına bağlıdır; göz izleme olmadan hizalanacak bir kelime sınırı yoktur.
  • Bugün için yalnızca İngilizce. ZuCo İngilizce dilinde okuma verisidir. Henüz açık bir Türkçe EEG okuma korpusu yok.

Bunun arkasındaki sayılara bakın

Bu mimarinin karşı yazıldığı literatür ve kendi sonuçlarının ölçüleceği protokol.