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.
| Bant | Yaklaşık aralık | Alt bant |
|---|---|---|
| theta1 | 4–6 Hz | alt yarı |
| theta2 | 6.5–8 Hz | üst yarı |
| alpha1 | 8.5–10 Hz | alt yarı |
| alpha2 | 10.5–13 Hz | üst yarı |
| beta1 | 13.5–18 Hz | alt yarı |
| beta2 | 18.5–30 Hz | üst yarı |
| gamma1 | 30.5–40 Hz | alt yarı |
| gamma2 | 40–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.
| Bileşen | Yapılandırma |
|---|---|
| EEGProjection | 840 → 1536 → 768, LayerNorm ve GELU, çıktı √d ile ölçeklenir |
| Konumsal kodlama | Sinüzoidal |
| Transformer encoder | 6 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 decoder | facebook/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ümleme | Greedy 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ül | Ne yapar | Durum |
|---|---|---|
| Budama | Magnitude, iterative, sensitivity, structured ve lottery-ticket budama | Benchmark yapılmadı |
| Kuantizasyon | Eğitim sonrası, dinamik, kuantizasyon farkında eğitim, karma hassasiyet | Benchmark yapılmadı |
| Dışa aktarma | ONNX 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.