跳到主要內容
AI News HubLIVE
站內改寫4 分鐘閱讀

Zyphra釋出ZUNA1.1:一個支援0.5至30秒可變長度輸入的Apache 2.0 EEG基礎模型

文章摘要

Zyphra於2026年7月16日釋出了ZUNA1.1,這是一個基於Apache 2.0許可的開源腦電圖(EEG)基礎模型。該模型是一個3.8億引數的掩碼擴散自編碼器,能夠處理任意通道佈局的EEG訊號,並支援0.5至30秒的可變長度輸入,相比之前固定5秒的ZUNA1更加靈活。透過改進訓練策略(包括四種丟失模式和逐通道質量過濾)以及更大的語料庫(約350萬通道小時),ZUNA1.1在重建歸一化均方誤差上保持或優於ZUNA1。

來源MarkTechPost作者: Asif Razzaq
Zyphra釋出ZUNA1.1:一個支援0.5至30秒可變長度輸入的Apache 2.0 EEG基礎模型
回報錯誤

更正管道尚未開通,可先複製下方文章資訊留存。

查看更正說明
直接讀正文

本週,Zyphra在Apache 2.0許可下發布了ZUNA1.1。這款腦電圖(EEG)基礎模型能夠跨任意通道佈局重建、去噪和上取樣資料。它建立在Zyphra之前的開源EEG基礎模型ZUNA1之上。

主要變化在於靈活性,而非原始精度的躍升。真實的EEG記錄是混亂的:會話長度不一,通道可能中途出現噪聲或丟失,電極帽配置從四電極頭帶到256通道研究帽各不相同。ZUNA1只能處理固定的5秒片段,而ZUNA1.1則接受0.5至30秒的可變長度輸入。

ZUNA1.1是什麼?

要理解這種靈活性,首先要了解模型的功能。ZUNA1.1是一個擁有3.8億引數的掩碼擴散自編碼器,專門處理頭皮EEG訊號。給定一個通道子集,它可以對現有EEG片段和通道進行去噪、重建缺失的通道,還能根據頭皮上的物理座標預測新的通道訊號。

引數數量與ZUNA1相同,可在消費級GPU上執行,並在許多工作負載下能在CPU上接受。權重存放在Hugging Face上;推理和預處理程式碼在GitHub上。透過pip install zuna即可安裝。Zyphra還提供了一個免費的瀏覽器端EEG Playground,所有這些僅用於研究目的。

架構工作原理

靈活性依賴於分詞化。ZUNA是一個變壓器編碼器-解碼器擴散自編碼器。它將每個通道分割成0.125秒的片段(在256 Hz下對應32個樣本)。每個片段成為一個連續值令牌。令牌按通道×時間順序序列化。

位置編碼是關鍵:每個令牌攜帶一個4D旋轉位置編碼,包含(x, y, z, t)四個維度,即電極的3D頭皮座標和粗粒度時間索引。由於位置而非陣列索引告訴模型通道的位置,ZUNA是通道無關的。它可以接受任何電極佈局,並能生成從未記錄過的位置的訊號。這一能力使得透過位置進行任意通道上取樣成為可能。

編碼器將訊號壓縮為潛在表示,該潛在表示透過自適應RMS歸一化條件化解碼器。解碼器使用整流流目標進行訓練。ZUNA1.1的架構變更主要針對訓練穩定性,例如增加了歸一化層。

與ZUNA1的變化

由於架構相近,差異主要來自訓練。

  1. 可變長度輸入(0.5–30秒):ZUNA1.1在訓練時對每個樣本取樣一個片段長度,並取整到0.125秒令牌網格。長度從四個區間中抽取,覆蓋從極短到長。中間1.5–10秒範圍被過取樣,因為這是最常見的操作點。由於令牌數量變化,Zyphra將多個片段打包到一個批次中,直至固定預算。使用具有樣本感知掩碼的柔性注意力阻止令牌跨樣本互動。因此,一個模型無需重新配置即可同時處理0.5秒的片段和30秒的長片段。
  1. 更豐富的重建任務混合:ZUNA1只訓練了一種丟失模式:均勻隨機整通道。ZUNA1.1訓練了四種。第一種是整通道丟失,涵蓋稀疏電極帽和死電極。第二種是移除所有通道上的短時間片段。第三種僅從部分通道移除這些片段,在空間和時間上聚類空白。第四種是散落在各個時間點的缺失值。
  1. 質量感知的預處理和更大的語料庫:ZUNA1在全記錄級別進行通道質量判斷,丟棄了可用訊號。ZUNA1.1改為計算每個通道每秒的質量分數,在載入時進行閾值處理。這使得語料庫從約200萬通道小時擴充套件到約350萬通道小時公共EEG資料。Zyphra團隊還為每條記錄預計算兩種濾波變體:0.1–45 Hz帶通,以及0.01 Hz高通加陷波。泛化預處理策略是一個既定目標,但尚未有基準測試結果。

結果

因此,問題在於靈活性是否犧牲了準確性。在保留任務上,ZUNA1.1達到了與ZUNA1相同或更好的重建NMSE。兩者均明顯優於MNE中的經典球面樣條插值。為了公平比較,這些評估集嚴格使用5秒樣本。

Zyphra還進行了一項基於區域的測試:刪除一個腦區的電極,然後從其餘七個區域重建。這種設定比隨機通道丟失更現實。ZUNA1.1在此測試中優於球面樣條和ZUNA1。

互動式說明

為使這些機制更加具體,下方演示動畫展示了端到端流程。

ZUNA1 vs ZUNA1.1

總體而言,兩個版本的差異主要在於訓練,而非架構。

| 屬性 | ZUNA1 | ZUNA1.1 | |------|-------|---------| | 引數 | 380M | 380M | | 架構 | 變壓器編碼器-解碼器擴散自編碼器 | 相同,增加了額外的歸一化層 | | 輸入長度 | 固定5秒 | 0.5–30秒,取整到0.125秒網格 | | 令牌 | 0.125秒/32個樣本(256 Hz) | 相同 | | 位置編碼 | 4D RoPE (x, y, z, t) | 相同 | | 解碼器目標 | 整流流 | 整流流 | | 訓練中的丟失方案 | 1種(均勻隨機整通道) | 4種(通道、時間、通道×時間、散點) | | 訓練語料 | ~200萬通道小時 | ~350萬通道小時 | | 質量過濾 | 全記錄級別 | 每個通道每秒得分,載入時閾值 | | 預處理變體 | 單一 | 兩種(0.1–45 Hz帶通;0.01 Hz高通+陷波) | | 許可 | Apache 2.0 | Apache 2.0 | | 重建NMSE | 基線 | 相同或更好 |

執行

實際應用中,reconstruct_fif可直接處理.fif檔案,無需經過.pt格式。之前的四步流程仍附帶提供。

from zuna import reconstruct_fif

reconstruct_fif(
    input_dir="fif_in",
    output_dir="fif_out",
    figures_dir="figures",
    gpu_device=0,  # GPU編號,或""表示CPU
    segment_sec=5.0,  # 視窗長度;預設5.0,非完整的30秒
    montage="standard_1020",  # 備用,僅在檔案無位置時使用
    repair_channels=["Cz"],  # 需要完全重建的通道
    target_channel_count=["Fz", "Pz"],  # 按名稱新增/上取樣新通道(或使用int自動選擇)
    bad_segments=[(5, 6), (10, 11, "C3")],  # 標記時間跨度不良(全部通道或單個)
    sample_steps=50,  # 擴散步數
)

注意預設值:segment_sec為5.0,因此0.5–30秒範圍需要明確設定。電極位置從檔案本身讀取。montage引數僅在缺少位置時作為備用,沒有3D座標的通道將被丟棄。

重建目標是並集:它結合了檔案自身的MNE壞通道和BAD_註釋,以及上述請求的任何內容。會寫入兩個目錄:full_reconstruction/包含模型在所有位置上的輸出,hybrid/保留原始並僅填充推斷的單元,外加一個_mask.npz檔案。

應用示例

由於掩碼現在更加靈活,幾個實用模式由此展開。

  • 死電極:標記repair_channels=["Cz"],從相鄰通道重建該通道。
  • 試驗中的運動偽影:傳遞bad_segments=[(10, 11, "C3")],清理單個通道上的一個時間段。
  • 頭帶上取樣:輸入四個電極,然後請求額外的standard_1005位置。
  • UI驅動的清洗:透過mask_dir提供每檔案掩碼,與目標合併。

檢視模型權重、GitHub倉庫和技術細節。此外,歡迎在Twitter上關注我們,別忘了加入我們的15萬+機器學習SubReddit並訂閱我們的通訊。你在使用Telegram嗎?現在你也可以在Telegram上加入我們。

需要與我們合作推廣你的GitHub倉庫或Hugging Face頁面或產品釋出或網路研討會等?請聯絡我們。

文章《Zyphra釋出ZUNA1.1:一個支援0.5至30秒可變長度輸入的Apache 2.0 EEG基礎模型》最早出現在MarkTechPost上。

展開要點與分析

文章情報

工程師進階

要點

  • ZUNA1.1支援0.5至30秒的可變輸入長度,以0.125秒為單位進行分詞。
  • 模型使用變壓器編碼器-解碼器架構,結合4D旋轉位置編碼和整流流目標。
  • 訓練採用了四種不同型別的掩碼丟失模式和逐通道質量評分。
  • 以Apache 2.0許可釋出,權重可在Hugging Face上獲取,程式碼在GitHub上。

要點與分析由自動化流程生成,可能有誤,請結合原始來源核實。