close

本文來源:智源社區

導讀:眾所周知,人類大腦活動是複雜而連續的動力學過程,其複雜程度遠超當前算力資源所能模擬的上限。大腦約有1000億個神經元,100萬億個突觸,平均突觸連接的長度約10-1000微米。假設每1微米連接用1個微分方程近似,初略估算人類大腦約具有1000萬億-10億億參數(該參數可能被低估)。
類腦計算的核心在於借鑑生物神經系統的信息處理模式或結構,進而構建相應的計算理論、芯片體系結構以及應用模型與算法,類腦計算被認為是後摩爾時代最為重要的發展方向之一,或有可能成為未來智能計算的突破口。在智源研究院青源Talk第16期活動中,中科院自動化所李國齊研究員做了題為「類腦計算的研究進展和展望」的報告分享。李國齊首先介紹了類腦計算的基本概念,而後從類腦計算系統的模型算法、軟件、芯片以及數據等多個方面介紹了當前類腦計算系統的最新研究進展,最後對類腦計算系統的發展趨勢進行總結與展望。

作者簡介 :李國齊,中國科學院自動化所研究員,博士生導師,北京智源人工智能研究院青年科學家。李國齊在Nature、Nature Communications、Proceedings of the IEEE、IEEE TPAMI等期刊和ICLR、NeurIPS、AAAI、CVPR等會議上發表論文 150餘篇;出版國內類腦計算領域早期學術專著1部;論文在 Google 學術上被引用 4500餘次。2017 年入選北京市自然科學基金優秀青年人才,2018 年獲得中國指揮與控制學會科學技術一等獎,2019 年入選北京智源人工智能研究院「智源學者」,2021年獲得福建省科技進步二等獎,2021 年獲得北京市傑出青年基金資助,2022年入選中科院「百人計劃」;其參與的類腦芯片理論、架構和工具鏈的工作曾入選2019年中國科學十大進展和2020年世界人工智能十大進展。

整理:王光華

編輯:李夢佳


01


什麼是類腦計算?

類腦計算是近些年來崛起的新興研究領域,與人工智能、機器學習等領域類似,很難對其進行準確定義,目前業內尚沒有普遍認可的類腦計算概念定義。

李國齊指出,類腦計算的描述性定義為「指受人腦信息處理方式啟發,以更通用的人工智能和高效智能邊緣端/雲端為目標構建信息系統的技術總稱」。類腦計算希望融合腦科學、計算神經科學、認知科學甚至統計物理等學科的知識來解決現有傳統計算技術的一些問題,進而構建更加通用、高效、智能的新穎信息系統。


狹義類腦計算是指神經形態計算,主要是研製神經形態芯片以支持源自計算神經科學的脈衝神經網絡(Spiking Neural Networks, SNN);廣義類腦計算也包括存內計算、憶阻器芯片甚至研製AI 芯片以支持傳統的人工神經網絡(Artificial Neural Networks ,ANN)。因此,類腦計算的研究與發展與人工智能一樣也需要從模型算法、軟件、芯片和數據等各個方向協同展開。

02


類腦計算模型:突破神經科學與AI的鴻溝

當前,神經科學與人工智能之間存在着巨大鴻溝,神經科學側重於重構大腦內部的精細結構和生理細節,人工智能則側重於通過對神經結構進行數學抽象以實現計算的高效性。


因此,人工智能和神經科學如何交叉融合成為一個艱巨挑戰。類腦計算中,脈衝神經網絡兼具了生物合理性和計算高效性,或可以為人工智能提供新範式。簡單地,可以認為SNN = ANN + Neuronal Dynamics。如何尋找兼具生物合理性與計算高效性的脈衝神經元模型,以及如何建立脈衝神經元模型與AI任務之間的關係是類腦計算領域的核心問題。

當前,SNN普遍採用LIF神經元作為構建神經網絡的基礎單元。原因在於,LIF神經元是一種典型的綜合模型,既具備IF模型的簡單易用性,又能像H-H神經元模型那樣模擬生物神經元豐富的生理學特性。


眾所周知,ANN和SNN各具特點,互有所長。ANN能夠充分利用現有計算機的計算特性,以神經元狀態表示信息,在空間域傳遞信息,主要操作為密集矩陣向量乘法,相比之下,SNN採用脈衝序列表示信息,在空間域和時間域兩個維度傳遞信息,主要操作為事件驅動的稀疏加法,兼具計算高效性和生物可信性。

03


類腦學習算法
與ANN訓練相比,SNN的高效訓練面臨着諸多問題與挑戰,例如脈衝神經元中複雜的時空動力過程、脈衝神經元之間傳遞的脈衝信息不可導、脈衝退化和訓練精度損失等。當前,SNN訓練方法主要包括無監督學習、間接有監督學習和直接有監督學習三類。這些訓練方法嘗試從不同的角度解決上述問題和挑戰。

1.基於STDP的無監督學習

基於脈衝時間依賴的突觸可塑性 (Spike Timing Dependent Plasticity, STDP)能夠控制大腦神經元之間權重連接更新,是一種典型的無監督學習方法。通俗的說,兩個神經元的發放時間越近,他們之間的綁定關係就越緊密。如上圖所示,當兩個神經元先後激活時,具備緊密先後關係的雙方會加強聯繫,而具備相反關係的雙方就會削弱聯繫,因此神經元之間往往建立單向加強聯繫。

如果兩個神經元同時激活,則他們與共同的下游神經元之間形成了更加緊密的聯繫,這樣兩者為同級神經元,且相互之間具備間接關係。例如,通過STDP規則結合Winner-Take-All(WTA)構成的學習模型是一種簡單有效的無監督學習方式。

具體地,在輸入層將圖片轉換為脈衝序列(脈衝發放率正比於像素值),神經元以全連接形式前向連接,接受興奮性輸入,並採用STDP規則更新,並與抑制性神經元後向一對一連接,對其產生側向抑制 (即soft WTA),並通過自適應閾值平衡脈衝發放率。

STDP模型通過局部調整規則進行學習,在神經形態芯片上容易進行分布式實現並具備在線學習能力。但是,局部突觸可塑性不足以解釋突觸個體的改變如何協調神經系統的整體目標的實現。同時,李國齊也指出,這種無監督學習訓練方法存在着難以獲得高性能網絡,無法在大規模深度神經網絡中使用等問題。

2.基於ANN轉SNN的間接有監督學習

ANN-converted SNN方法是指訓練一個ANN模型,而後將學習完成後的ANN權重遷移到具有相同結構的SNN中。其基本思想是,利用SNN平均脈衝發放率來近似表示ANN中的 ReLU激活值。

因此,ANN-converted SNN方法存在着模型精度與模型仿真步長T之間的tradeoff問題。該方法利用有監督信號在原始ANN模型中進行梯度反向傳播訓練,然後將其轉換成SNN模型,因此是一種間接有監督學習。

ANN-converted SNN方法可擴展性強,容易將新出現的或大規模的ANN網絡結構轉換為相應的SNN版本。一般地,仿真時間步數T越大,SNN平均脈衝發放率越接近ANN中的激活值,兩種模型之間的誤差也就越小,從而實現ANN-SNN幾乎「無損」轉換。但過長的時間步數T會導致訓練和推理效率下降,SNN的功耗優勢也隨之降低。此外,李國齊指出,由於這種方法本質上是利用SNN去逼近ANN,在轉換的過程中會丟失SNN中可利用的時間依賴信號,因此可能會導致其應用場景相對受限。

3.SNN直接有監督學習的發展

為避免上述兩種訓練方法的局限性,解決SNN無法有效訓練的難題,李國齊及其團隊較早的提出STBP(Spatio-Temporal Backpropagation)等SNN直接訓練方法。

直接訓練算法難點在於SNN複雜的時空動力學特性及脈衝發放不可微分問題。李國齊團隊提出的解決思路是,將脈衝神經元的微分方程形式轉換為便於計算機仿真的差分方程形式,將信息沿時間、空間空維度同時展開,並採用脈衝梯度逼近方法。由於近似替代函數保留了脈衝發放的「非線性特徵」,其梯度逼近曲線具有一定的魯棒性。


STBP雖然解決了SNN網絡中進行反向傳播訓練的梯度替代問題,但其仍然只能訓練不超過10層的小規模網絡。其中主要問題在於,一旦網絡加深,先比較於ANN,脈衝神經元的二進制激活方式及其複雜的時空動態更容易帶來網絡的梯度消失或爆炸問題。

通過進一步分析SNN中的時空動態特性可知,建立神經元膜電勢和閾值之間的平衡,以獲得一個合適的網絡脈衝發放率對網絡的性能至關重要。過低的發放率可能會導致有效信息不足,而過高的發放率則會降低SNN網絡對輸入的區分度。

因此,李國齊團隊進一步提出了結合脈衝神經元閾值的BN算法,即Threshold-dependent BN方法(TDBN),緩解了制約SNN的規模瓶頸問題,首次將SNN的網絡規模提升至50層,在ImageNet等大規模數據集上取得具有競爭性的性能,並證明了該方法可緩解深度SNN的梯度消失與爆炸問題。


儘管TDBN提升了SNN的規模,但相對於傳統ANN中動輒數百層的深度網絡,性能仍然捉襟見肘,不足以在大規模數據集上與ANN進行競爭。為了進一步提升SNN的網絡表達能力,擴大網絡規模從而提升任務性能,借鑑經典的ResNet結構是似乎一種可行的方法。

但是,直接複製ResNet結構到SNN中(Vanilla Res-SNN)存在着脈衝退化問題,即網絡越深,精度越低。因此,李國齊團隊提出了一種將LIF神經元放置在殘差塊中,並在不同層神經元的膜電勢之間建立shortcut的新穎Ms-Rse-SNN結構。並利用dynamical isometry理論證明了所提出的結構不存在脈衝退化問題。在相對廣泛的範圍內解決了大規模SNN直接訓練問題(482層 CIFAR-10,104層 ImageNet),後者取得Top-1 76%分類準確率的SOTA結果。


此外,根據SNN處理數據的不同,採用data-dependent的處理方式,可以為直接訓練SNN在一些任務中帶來額外的性能增益。例如,在神經形態視覺任務中,事件流數據往往具有稀疏、不均勻特性。

根據這一觀察,李國齊團隊提出了一種時間注意力脈衝神經網絡,根據事件流在不同時刻的輸入信噪比,結合時間注意力機制,使用SNN以數據驅動的方式來進行任務處理,可以在進一步降低網絡能耗的基礎上帶來性能提升。實驗結果表明,即使去掉一半的輸入,SNN的性能基本能夠維持不變或略有提升。總而言之,當前SNN已經進入大規模深層模型和算法的發展階段,並將在傳統人工智能領域中多種下游任務得到進一步的應用。

04


類腦計算軟件

類腦計算軟件框架與工具通常包括神經形態芯片工具鏈、神經系統仿真模擬和SNN學習框架等三個方面的內容,具體可參考清華大學張悠慧教授在IEEE Transactions on High Performance Computing的綜述論文觀點。
神經形態芯片工具鏈目前尚處於早期階段,存在軟件與硬件緊密耦合,通用性、自動化程度不高,使用便捷性差等許多問題。神經系統軟件仿真框架能夠詳細模擬生物神經網絡,但要求用戶具有一定的計算神經科學基礎。

現有的仿真工具軟件框架通常用C語言開發,缺乏跨平台能力,也缺乏對各種後端硬件的深度優化的支持。並且,這些軟件通常為CPU和GPU等商業硬件而設計,並不支持不同類型的神經形態芯片。SNN學習框架的目標是,將深度學習框架開發的便利性與SNN的特點相結合,充分利用深度學習領域的各種資源,對SNN網絡訓練進行加速,相關工作基本處於前期並且不夠穩定,更無法適應不同的軟件和硬件接口,即使基於GPU架構開發也難以充分利用SNN本身的特性進行加速。

05


類腦計算芯片

從功能角度看,類腦芯片主要分為四類:
主要支持人工神經網絡(TPU、寒武紀、華為昇騰等)的深度學習加速器;
主要支持脈衝神經網絡(TrueNorth、Loihi、達爾文等芯片)的神經形態芯片;
支持人工/脈衝神經網絡的異構融合芯片(Tianjinc芯片);
以及支持神經元編程的腦仿真模擬芯片(SpiNNaker、 ROLLS、 Loihi等芯片 )和具備低時延、高動態的神經形態相機為代表的感知芯片。

類腦芯片的體系架構包括主流深度學習加速器採用的存算分離架構,主流眾核去中心化架構芯片的近存計算架構,以及存內計算芯片、憶阻器芯片等所採用的存算一體架構。從芯片設計的角度來看,採用路由器連接的多核架構的芯片的可擴展性更好,多個功能核獨立工作,核間周期性地同步和共享數據。因此可支持的網絡規模更大,應用範圍更廣的SNN。

採用單純數字信號的小規模單核芯片可以採用存內計算進行矩陣向量乘,具備同步、異步設計流程,往往具備較高的能效和較低的靜態功耗,且更便於技術遷移,但神經元與突觸的規模受限。數模混合小規模單核芯片採用數字異步脈衝路由,利用存內數字計算方法進行矩陣向量乘法,採用模擬膜電位進行激活與更新,因此能效最高,但也存在神經元與突觸數量少和設計不方便等問題。

06


類腦計算數據

眾所周知,深度學習發展四要素為算法、算力、開發工具以及大規模的數據。在深度學習領域,成百上千個開源數據集覆蓋分類、檢測、跟蹤、自然語言等,極大地促進了深度學習的繁榮。

相比之下,類腦數據集十分匱乏,現有的數據集主要包括四類:

第一類是通過轉換算法將ANN數據集轉變為事件信號數據集,典型數據集包括基於ImageNet轉換而來的ES-ImageNet,基於UCF101轉化的事件信號數據集ES-UCF101,基於BDD100K轉化的事件信號數據集BDD100K-DVS等;
第二類是利用神經形態相機DVS將圖像或視頻數據庫轉化為事件數據集,比如N-MNIST、CIFA10-DVS等數據集;

第三類是通過神經形態相機DVS直接拍攝獲取的數據集,比如DVS-Gesture、PKU-DDD17-CAR、Gen1 Detection、1Mpx Detection、PKU-DAVIS-SOD等;最後一類是其它類型的類腦數據集,比如EEG數據集、腦機接口(BCI)相關的數據集、幀數據和事件的混合數據等。

07


類腦系統發展趨勢
最後,李國齊結合自己的思考總結了類腦計算的未來發展趨勢,並對類腦系統框架進行了總結。

在模型算法方面,不僅可以通過增加模型參數、網絡深度或寬度使得SNN模型變大變強,更重要的提供向內增加神經元複雜程度的能力支撐,縮減神經科學與人工智能之間存在的鴻溝。因此,構造包含更豐富動力學的神經元模型、神經網絡及對應的算法是未來的重要方向。
在類腦軟件方面,如何提升SNN的研究生態是未來發展的必經之路,重要的方向包括神經形態工具鏈的軟硬件去耦合、SNN訓練加速框架、及高效的神經系統仿真和模擬等。在類腦數據方面,如何構建具備稀疏事件特徵、具備豐富的時間尺度/空間尺度特徵的大規模多模態混合數據集十分重要。

在類腦芯片方面,主要關注神經形態芯片如何進行更高效的感知、存儲和計算,如何構建融合感存算一體化的計算系統。研究更高效的芯片架構、研製更具有類腦元素的芯片功能也是未來發展的重要方向。芯片架構上可以探索類腦芯片的分層存儲體系、高效在線學習架構及其與其它硬件平台的高效兼容能力;芯片功能上可以探索如何融入更多的算子支持比如微分方程、線性方程求解,以及如何在算子層面上支持更類腦的神經元模型和網絡結構等。

李國齊認為,類腦系統的總體框架包括類腦的模型、算法、軟件以及芯片,並結合豐富類腦數據構造的計算系統,在人工智能領域可以朝着高效雲端/邊緣端類腦計算系統的構造方向發展,在腦科學領域可利用現有的超算服務器集群進行神經動力學的仿真和模擬,構建更為複雜的腦仿真和神經模擬系統。


點這裡關注我👇記得標星~


熱門視頻推薦


更多精彩視頻,歡迎關注學術頭條視頻號


#往期推薦 #

winter

【學術頭條】持續招募中,期待有志之士的加入

【招人】學術頭條多崗位招聘,我們一起見證改變生活的科技

2022-05-06


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()