我裂開了...人類腦海中的畫面,被AI解碼了??

ITPUB社群發表於2022-12-05


導言

有沒有那麼幾個瞬間,你要麼想把自己腦子裡的東西掏出來給別人看,要麼想撬開別人的腦子看看裡面都裝了什麼?雖然錯過了霍格沃茨的入學時間,但如果從現在開始學習擴散模型和神經學,可能很快你就能實現這個目標了。新加坡國立大學,香港中文大學,和Stanford聯手,基於擴散模型實現了從腦電波還原影像的“人類視覺解碼器”。效果奇佳,還開源了程式碼和資料,這還不來一起看看?

我裂開了...人類腦海中的畫面,被AI解碼了??

論文題目
Seeing Beyond the Brain: Conditional Diffusion Model with Sparse Masked Modeling for Vision Decoding

論文連結

程式碼連結

背景

故事要從神經科學的基本理論說起。作為一個唯物主義的麻瓜,我必須相信,我的思維活動都依託於腦神經細胞,其釋放的電訊號就是大腦內部通訊計算的物理媒介。既然我能夠流暢地思考,那麼腦電波必然傳遞了某種“有意義”的訊號,而一段資料如果能攜帶某種資訊,它必須要有一定規律可言。因此,從理論上來說,我們可以透過分析進行思維活動時產生的生物電訊號,去反推思考的具體內容。這個觀點已然不新奇了,大量的研究已經證實了反推大腦思維的可行性,腦機介面蒸蒸日上的熱度,則是一個風向標,指示了相關技術在實際生活應用中的潛力。

當然,高情商的說法是有潛力,換個樸實一點的說法,那就是目前還存在大量技術瓶頸,研究中障礙重重。就拿透過腦電波還原人腦海中的影像這個任務來說,雖然腦電波是有規律的,這種規律卻非常複雜。不僅如此,“每個人的腦回路不一樣”也是物理的,也就是說,對同樣的刺激(stimuli) ,每個人大腦做出的反饋都會存在差異。這個問題好解決嗎?對於ML人來說,太簡單了,大資料驅動。然而,聯絡到實際問題,腦電資料的採集,特別是有標籤(腦電產生者思考內容)的腦電資料的採集,卻沒有特別豐富的資料。缺乏有標籤的資料,缺乏處理資料的方法,是目前這個任務上一直難以取的進展的主要原因。

方法

基於fMRI收集的腦電資料

人腦中有左右的腦細胞,而它們的啟用模式是非線性的(一般會用一組複雜的微分方程建模)。為了能觀察如此複雜的神經網路的活動,目前廣泛採用的是功能性磁共振成像(fMRI,functional magnetic resonance imaging)技術。這項技術不會對被試者造成物理上的傷害,包括外部創口(侵入式)和輻射問題。它的原理是利用磁共振技術,追蹤大腦在思維活動時的血氧變化,依據於此成像。基於fMRI技術,研究者採集了大量的,特別是當人類在進行各種複雜的任務時的大腦活動資料。經過分析,研究者們發現人們在處理同樣的任務時,大腦中被啟用的區域基本相近 [1]。

作為1991年的Nature封面,fMRI得到了廣泛研究,目前採集資料的技術已經相當成熟。但這一塊的原理非常複雜,感興趣的話可以搜尋血氧依賴機理,blood-oxygen-level-dependent, BOLD。

我裂開了...人類腦海中的畫面,被AI解碼了??

神經科學方面雖然有相當多fMRI的原始資料,但在實際使用時,會遇到這樣一些問題:

  1. fMRI掃描所得到的資料是以三維形式的體素 (voxel)記錄的,每個資料點包括了三維座標,電訊號幅度等資訊,維度很高。為了避免對體素直接進行運算,一般採用的方法是劃興趣區域 (Region of Interest, ROI),對電訊號求時序上的均值,最終獲得一列體素,這樣的資料在緯度方面和通常處理的影像資料存在相當的差距;
  2. 鄰近的體素往往電訊號幅度相近,fMRI收集的資訊中存在一定冗餘;
  3. 因為人腦的複雜性,每個個體的資料都會存在一定的域偏移。
我裂開了...人類腦海中的畫面,被AI解碼了??

模型結構

論文將提出的模型命名為MinD-Vis (Sparse Masked Brain Modeling with Double-Conditioned Latent Diffusion Model for Human Vision Decoding), 也算是給對處理fMRI資料的提示了——掩碼。由於fMRI資料中存在大量的冗餘,即使將相當大一部分的資料進行了遮掩,最後也能重建得大差不離(見圖3)。因此,計算時直接加上掩碼也不會對模型效果產生太大影響。因為fMRI資料的格式和影像一樣,論文采用了新出的Masked Image Modeling [2] 來生成embedding vector。

編碼-解碼部分不是很意外地用了ViT。需要注意的是,中間表達採用的稀疏編碼,這是為了保證fMRI表徵的細節不被破壞。

以上是Masked Brain Modeling(圖4左)部分的工作,然後就是擴散模型部分,如何從經過如此複雜預處理的fMRI資料中,獲取文字資訊,並基於此生成影像了(圖4右)。

為了能從抽象的表徵中獲得視覺資訊,論文將解碼任務化歸成了conditional synthesis問題,因此可以使用擴散模型解決。擴散模型的網路包括一個預訓練過的UNet模型。生成影像時的限定條件資訊基於fMRI資料生成,透過cross-attention head加入UNet。

conditional synthesis是指限定某些特徵後進行資料生成。例如,生成微笑的不同人臉。

對於一個conditional generative模型而言,生成影像要能在條件限定的特徵上儘量穩定,與條件無關的特徵上保持多樣性。因為人與人的fMRI腦波資料中已經夠為多樣,在生成影像的時候,需要對UNet進一步約束,強化條件上的限制。

我裂開了...人類腦海中的畫面,被AI解碼了??

由於模型的結構較為複雜,當前版本的論文中沒有進行更為詳細的描述,推薦極度好奇的讀者直接看開原始碼。由於涉及了像Masked Brain Modeling,Diffusion Model這類前沿方法,在沒有一定基礎的情況下,想徹底吃透方法會需要相當的時間和精力,大家可以量力而行。

效果

在大致瞭解了模型結構之後,還是來到各位最關心的部分,講講模型效果。由於fMRI的資料主要面向神經科學方向的研究,滿足論文任務的資料量不大,模型的訓練、驗證、測試資料總共來自三個不同的資料集,不同集合的資料域都有所偏移。Human Connectome Project [1] 提供136,000個fMRI資料片段,沒有影像,只有fMRI,主要是用來預訓練模型的解碼部分。Generic Object Decoding Dataset (GOD) [3] 是主要面向fMRI-影像任務的,包含1250張來自200個類別的影像,其中50張被用於測試。Brain, Object, Landscape Dataset (BOLD5000) [4] 則選取了113組fMRI-影像資料對,作為測試。

由於BOLD5000是第一次用於論文提出的任務,論文沒有在這個資料集上與過往工作進行效果對比。在GOD上基於腦波生成的影像,在效果上相比過往研究顯然有了顯著進步。

我裂開了...人類腦海中的畫面,被AI解碼了??

論文中還有嚴謹的消融實驗,展示了不同的模型部分對影像生成效果的影響。部分圖片較為驚悚,此處不進行展示。感興趣的讀者可以參考圖6失敗集錦中右下角的圖片自行評估承受能力。

我裂開了...人類腦海中的畫面,被AI解碼了??

 參考文獻

[1] David C Van Essen, Stephen M Smith, Deanna M Barch, Timothy EJ Behrens, Essa Yacoub, Kamil Ugurbil, Wu-Minn HCP Consortium, et al. The wu-minn human connectome project: an overview. Neuroimage, 80:62–79, 2013.

[2] He, Kaiming, et al. "Masked autoencoders are scalable vision learners." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022.

[3] Tomoyasu Horikawa and Yukiyasu Kamitani. Generic decoding of seen and imagined objects using hierarchical visual features. Nature communications, 8(1):1–15, 2017.

[4] Nadine Chang, John A Pyles, Austin Marcus, Abhinav Gupta, Michael J Tarr, and Elissa M Aminoff. Bold5000, a public fmri dataset while viewing 5000 visual images. Scientific data, 6(1):1–18, 2019.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024420/viewspace-2924561/,如需轉載,請註明出處,否則將追究法律責任。

相關文章