神經(jīng)科學(xué)是如何受益于分布式計算的? 神經(jīng)科學(xué)如何為計算帶來啟示?
當(dāng)我們提到大數(shù)據(jù),我們通常想到的網(wǎng)站:十億社交媒體的用戶,數(shù)以百萬計的手機感應(yīng)器,成千上萬的維基百科的貢獻詞條等等。由于最近的創(chuàng)新,網(wǎng)絡(luò)級數(shù)據(jù)現(xiàn)在也可以來自一個小但非常復(fù)雜的對象——大腦。分布式計算的新進展正在改變神經(jīng)科學(xué)家處理結(jié)果數(shù)據(jù) 的方式,并可能在這個過程中,改變我們對計算的看法。
大腦由許多神經(jīng)元組成,一只蒼蠅或斑馬魚幼體有十萬的神經(jīng)元,老鼠有數(shù)百萬的神經(jīng)元,人有數(shù)十億的神經(jīng)元。其功能依賴于神經(jīng)元的活動以及它們彼此如何溝通。長期以來,神經(jīng)活動的記錄一度僅限于少數(shù)的神經(jīng)元,但最近的一些進步使我們能夠監(jiān)測整個成千上萬個神經(jīng)元,在某些情況下(如斑馬魚幼蟲),甚至是整個大腦的反應(yīng)。
許多這些方法是光學(xué)方法:動物被基因工程改造以使它們的神經(jīng)元的字面點亮?xí)r的這些活動模式顯微鏡捕獲圖像的活性,以及動物表現(xiàn)出不同的行為。由此產(chǎn)生的數(shù)據(jù)到達每小時TB級,對分析和理解提出了重大挑戰(zhàn)。它們需要兩個低層次處理(“munging”)和高級別分析。因此,我們要用多種方式查看每個數(shù)據(jù)集,如有關(guān)動物行為或?qū)嶒灥纳窠?jīng)反應(yīng)方面,或通過識別大量的的相關(guān)活動模式。我們永遠(yuǎn)無法提前知道答案,有時我們甚至不知道從哪里開始。
我們需要探索大型數(shù)據(jù)集以及開發(fā)新分析的靈活性的互動工具。到現(xiàn)在為止,單一的工作站解決方案,如在一個功能強大的機器上運行Matlab,已經(jīng)成為神經(jīng)科學(xué)的標(biāo)準(zhǔn),但這些解決方案擴展很差。在分布式計算替換中,我們發(fā)現(xiàn)Apache Spark的平臺提供了核心優(yōu)勢。首先,Spark的抽象的內(nèi)存緩存使得夠在數(shù)秒或數(shù)分鐘內(nèi)迅速找到大型數(shù)據(jù)集,加速了數(shù)據(jù)探索。其次,Spark提供在Scala、Java和Python中強大,靈活,直觀的API。 Python的API是 特別有吸引力,因為它可以讓我們結(jié)合Spark與各種現(xiàn)有的Python工具進行科學(xué)計算(NumPy,SciPy和scikit-learn)和可視化(matplotlib,seaborn,mpld3)。
用Spark為大型計算平臺,我們正在開發(fā)名為迅雷的開放資源庫來模塊式地表達、分析Python常用工作流的時空數(shù)據(jù)。(這個庫以及應(yīng)用實例,在最近同米沙阿倫斯實驗室合作發(fā)表的論文中被提及。)
通過將大腦反應(yīng)與外部世界屬性相聯(lián)系,很多分析建立了大腦的統(tǒng)計“映射”。比如,斑馬魚呈現(xiàn)了正朝著不同的方向的模式,我們可以計算出一個抓住了每個神經(jīng)元的反應(yīng)呈現(xiàn)出不同的方向的映射。這很像投票取向映射——人民投票支持的候選人,神經(jīng)投票支持方向。在另一個例子中,我們比較了神經(jīng)元對動物的游泳的反應(yīng),發(fā)現(xiàn)當(dāng)動物在游泳時,腦部的大部分反應(yīng)激烈,但另一部分在不游泳時反應(yīng)激烈,這些神經(jīng)元的功能仍然是個謎。
這種映射是靜態(tài)的,但我們的數(shù)據(jù)基本上是動態(tài)的,因為神經(jīng)元活性隨時間變化。一系列基于降維(這里審查)的方法從高維時間序列數(shù)據(jù)開始,恢復(fù)低維表示,用于捕獲關(guān)鍵動態(tài)特性,盡管用的是簡單的形式。這些一次性檢查了全部數(shù)據(jù)的分析特別依賴于分布式計算。
我們的長期目標(biāo)是要利用這些技術(shù)來揭示神經(jīng)編碼原則。大多數(shù)神經(jīng)科學(xué)家認(rèn)為,大腦的計算引擎非常有效,比一臺筆記本電腦消耗的能量少,切能夠在毫秒內(nèi)識別目標(biāo),定位一個充滿障礙的環(huán)境,并協(xié)調(diào)復(fù)雜的運動計劃。了解這些功能將反過來刺激人工智能的進步的想法由來已久。實際上,所謂的神經(jīng)網(wǎng)絡(luò),包括最近的深信念網(wǎng)絡(luò)熱潮,大腦結(jié)構(gòu)的模擬物:它們由許多彼此傳遞信號的類似“神經(jīng)細(xì)胞”的節(jié)點建立。有些網(wǎng)絡(luò)解決任務(wù),如對象和語音識別,以及令人印象深刻。
但是,這些網(wǎng)絡(luò)和現(xiàn)實的大腦之間仍存在著顯著差距。在大多數(shù)的人工網(wǎng)絡(luò)中,每個節(jié)點本質(zhì)上不一樣,任何時候我們都能看到大腦的多樣性。成百上千種不同的神經(jīng)元,具有不同的形態(tài),功能,連接模式,以及溝通的方式。真正的生物不解決只是一個有明確目標(biāo)(如人臉識別)、非常具體的任務(wù)。它們靈活地同一個動態(tài)的、不斷變化的世界進行互動。這種神經(jīng)多樣性的作用與生物計算的基本原則仍是一個謎。但大量的努力,映射整個神經(jīng)系統(tǒng)的活動,以及有系統(tǒng)地表征神經(jīng)元形態(tài)和解剖連通,將有助于鋪平解決問題的道路。
在短期,可能還有另一種神經(jīng)科學(xué)的研究方法會影響計算,數(shù)據(jù)挖掘和人工智能。數(shù)據(jù)神經(jīng)學(xué)家正在進行收集,與其它數(shù)據(jù)進行對抗,不僅是在規(guī)模上,而且在復(fù)雜性上。神經(jīng)科學(xué)會越來越受益于更廣泛的數(shù)據(jù)科學(xué)和機器學(xué)習(xí)的社區(qū)。例如,我們的映射分析類似于從大的衛(wèi)星圖像數(shù)據(jù)或地理統(tǒng)計學(xué)習(xí)功能。而且,只要我們的數(shù)據(jù)是時間序列的集合,它們會像網(wǎng)站上隨時間變化的用戶統(tǒng)計數(shù)據(jù)或出現(xiàn)在我們的身體的傳感器和我們家里的信號。
不管是什么來源,科學(xué)家們在不同層面都面臨著類似的挑戰(zhàn)——前處理、分布式管道、算法模式發(fā)現(xiàn)和可視化,我越來越相信我們可以,而且應(yīng)該,開始一起解決這些問題。