新四季網

腦機接口技術未來暢想(設計腦機接口的實踐指南)

2023-09-18 01:04:33

背景:BCI 是什麼意思?

腦機接口(BCI)指的是將大腦與計算機連接起來的工具。過去十年間,業界對 BCI 的關注度迅速增長——一個典型例子就是,埃隆·馬斯克名下主要研發腦機接口技術的初創企業 Neuralink 每次開新發布會都會引發輿論熱議[1]。Neuralink 可以在大腦中植入人造物來完成多種任務,諸如用思維來控制動作或直接在大腦中播放音樂等。

你會感到恐懼嗎?沒關係,這是很正常的。但在這篇文章中,我們將只關注一個簡單的 BCI 實現,具體來說是用一個娛樂設備[2]記錄腦電波活動,即腦電圖(EEG)。這個實現不需要對人體做任何手術(也不會有疼痛或死亡風險)。雖然你(很遺憾)不能用它來收聽你最喜歡的樂曲列表,但可以實時觀看 BCI 佩戴者的情緒波動(只不過是以代碼的形式)。

一個用例:用 EEG Unicorn 估測情緒

如前所述,在本教程中我們將從想法一路走到具體的實現,完成所有必要的步驟來設計一個處理具體任務的 BCI。作為示例,我們要做的 BCI 屬於情緒估測領域。這個應用旨在估計參與者的情緒狀態。

情緒 BCI 圖解。

如圖所示,這個管道的目的是將參與者的 EEG 信號作為輸入,並返回相應的 V-A 情感坐標圖。V-A 圖是一種應用於生物心理學的情緒坐標,其中 Valence(橫軸)代表愉快和不愉快(即積極和消極)的程度,而 Arousal(縱軸)代表興奮和平靜的水平。基於這種表示,任何情感狀態均可表示為 VA 坐標平面上的一個點。

設計情緒識別 BCI 的關鍵步驟

具體而言,為設計和部署 BCI,我們必須遵循幾個關鍵步驟。

範式定義和信號記錄

首先我們要定義 BCI 的範式:我想對什麼事物建模?或者想要估計哪些信息?我的應用程式的目的是什麼?我是否想通過 BCI 來控制機械手/腳?我是要評估駕駛任務中駕駛員/成員的警覺性嗎?是要預測疾病的發作機率?還是檢測癲癇發作狀態?科學界對一些可以插入 BCI 的研究項目存在巨大興趣。

在本文的案例中,我們決定關注之前的一項研究工作,就是估計參與者觀看一些視頻時的情緒狀態[3]。這篇論文還提出了一個可以促進特定情緒狀態的視頻列表(我們對此非常感興趣!)。這些視頻的列表和對應的情緒都可以在 youtube 上找到,並列在注[4]中。

因此我們設計了一個實驗基準測試,包括在參與者觀看宣傳特定情緒的視頻時記錄他們的 EEG 信號。在我們的存儲庫中,腳本registration_pipeline.py給出了一段完成這一任務的代碼,用戶只需將他想要處理的視頻放在專用目錄中(或改變路徑)即可。

概要分析

有了上述基準測試,我們就可以完成腦電波信號的記錄工作了。這些信號最後將構成訓練 ML 模型(甚至是 DL)所必要的數據集。

我們來做這個模型吧......等一下!在建成一個能夠從 EEG 信號中估計情緒的管道之前,我們必須提取信息來幫助模型處理數據。如果你有大量信號和/或可用的計算資源,跳過這一步也是可以的。但為了保持簡潔,我們考慮採用更自然簡單的模型來簡化複雜性。一種可能的提取信息的方法是基於腦電圖信號的頻率特性,也就是說「這個腦電圖片段是在高頻率還是低頻率範圍內振蕩?」。過去,科學家們發現,一些腦電圖信號是由幾個頻段組成的,每個頻段在特定的任務或行為中都會增強/減弱[4]。

δ為深度睡眠,[0-4Hz]。θ表示昏昏欲睡,[4-7Hz]。α代表放鬆和閉目思考,[8-15Hz]。β代表積極思考和與專注相關的狀態[16-31Hz]。γ代表感受到更多壓力的狀態[32-50Hz]。特徵提取的圖示。

按照這個過程,我們從每個 EEG 片段中提取了一個信息向量。這個過程的目的是提取信息,以便更好地處理生物醫學信號。這個步驟可以使用腳本outline_analysis.py的第一部分來處理。

最後(如果你還跟得上的話),你應該知道剩下的步驟是創建一個模型,用它從上面預計算的特徵向量中估計情緒狀態(是快樂還是悲傷?)。這裡為了讓我們的方法簡單易懂,我們考慮一個由決策樹組成的簡單模型。這種簡單方法背後的想法是尋找動態閾值來區分信息向量,例如第 i 個電極的高α貢獻對應於低 arousal,第 j 個電極的中等γ貢獻對應於高 valence,等等。

給出特徵向量 X 和它的標籤 y,就可以創建一個名為 clf 的分類器(對應於決策樹)。該分類器可以通過以下幾行代碼輕鬆訓練。

from sklearn import treeclf = tree.DecisionTreeClassifier # definition of the modelclf.fit(X, y) # training of the model...

複製代碼

在 outline_analysis.py 的第二部分給出了一個更完整的解釋,包括整個模型描述和訓練。訓練完這個簡單的決策樹後,可以用 joblib 庫來保存它。

...from joblib import dumpdump(clf, 'classifier_file_name')

複製代碼

實時實現

在訓練和保存模型之後,剩下的步驟是將各個部分合併在一起。

兩個聯合腳本必須並行工作:第一個腳本旨在記錄、處理和估計來自 EEG 的情緒狀態pylsl_emotion.py;第二個腳本會在圖形上顯示相應的情緒和對應的笑臉,如play_emotion.py所述。

嘗試一下

最後提一句:自己嘗試一下吧!上述代碼和自述文件都放到了Github上。你可以自己嘗試,或者為不同的模型或 EEG 耳機改編代碼。

了解更多軟體開發與相關領域知識,點擊訪問 InfoQ 官網:https://www.infoq.cn/,獲取更多精彩內容!

,
同类文章
葬禮的夢想

葬禮的夢想

夢見葬禮,我得到了這個夢想,五個要素的五個要素,水火只好,主要名字在外面,職業生涯良好,一切都應該對待他人治療誠意,由於小,吉利的冬天夢想,秋天的夢是不吉利的
找到手機是什麼意思?

找到手機是什麼意思?

找到手機是什麼意思?五次選舉的五個要素是兩名士兵的跡象。與他溝通很好。這是非常財富,它擅長運作,職業是仙人的標誌。單身男人有這個夢想,主要生活可以有人幫忙
我不怎麼想?

我不怎麼想?

我做了什麼意味著看到米飯烹飪?我得到了這個夢想,五線的主要土壤,但是Tu Ke水是錢的跡象,職業生涯更加真誠。他真誠地誠實。這是豐富的,這是夏瑞的巨星
夢想你的意思是什麼?

夢想你的意思是什麼?

你是什​​麼意思夢想的夢想?夢想,主要木材的五個要素,水的跡象,主營業務,主營業務,案子應該抓住魅力,不能疏忽,春天夢想的吉利夢想夏天的夢想不幸。詢問學者夢想
拯救夢想

拯救夢想

拯救夢想什麼意思?你夢想著拯救人嗎?拯救人們的夢想有一個現實,也有夢想的主觀想像力,請參閱週宮官方網站拯救人民夢想的詳細解釋。夢想著敵人被拯救出來
2022愛方向和生日是在[質量個性]中

2022愛方向和生日是在[質量個性]中

[救生員]有人說,在出生88天之前,胎兒已經知道哪天的出生,如何有優質的個性,將走在什麼樣的愛情之旅,將與生活生活有什么生活。今天
夢想切割剪裁

夢想切割剪裁

夢想切割剪裁什麼意思?你夢想切你的手是好的嗎?夢想切割手工切割手有一個真正的影響和反應,也有夢想的主觀想像力。請參閱官方網站夢想的細節,以削減手
夢想著親人死了

夢想著親人死了

夢想著親人死了什麼意思?你夢想夢想你的親人死嗎?夢想有一個現實的影響和反應,還有夢想的主觀想像力,請參閱夢想世界夢想死亡的親屬的詳細解釋
夢想搶劫

夢想搶劫

夢想搶劫什麼意思?你夢想搶劫嗎?夢想著搶劫有一個現實的影響和反應,也有夢想的主觀想像力,請參閱週恭吉夢官方網站的詳細解釋。夢想搶劫
夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂什麼意思?你夢想缺乏異常藥物嗎?夢想缺乏現實世界的影響和現實,還有夢想的主觀想像,請看官方網站的夢想組織缺乏異常藥物。我覺得有些東西缺失了