腦科學是一門實踐性很強的交叉學科,包含了神經科學,醫學,數學,計算科學等多門學科。
隨著近幾年深度學習的迅速發展,人工智能成為了無論學術界還是互聯網領域的一個重要的研究熱點。然而,人類在認識世界和改造世界的過程中從自然界和生物特征汲取了大量的靈感和經驗。追根溯源,人工智能的發展離不開腦科學的研究。歷史上,神經科學和人工智能兩個領域一直存在交叉,對生物腦更好的理解,將對智能機器的建造上起到及其重要的作用。
人工智能是模擬腦的一項主要應用,現在深度學習這種生物學簡化的模型有它的優點,具有很好的數學解釋性,可以在現有的計算機架構(馮諾依曼)上實現,但是同樣有瓶頸,例如:計算代價高,不利于硬件實現等。盡管近年來深度學習和大數據的出現使得這種模型在一些任務上超越人類,但是對于人腦可以處理的復雜問題卻無能為力,同時需要大量的計算資源和數據資源作為支撐。
相反人類大腦是一個極度優化的系統,它的工作耗能僅為25瓦特,神經元的數量卻在10的11次方的數量級上,并且這其中的突觸也達到了每個神經元有10000個。這樣龐大的網絡卻有如此低的能耗,這是使得人類大腦在復雜問題的處理有絕對優勢。
1. 類腦計算與神經網絡的發展過程
早期的類腦計算(Brian-like Computing)也可以狹義的稱為神經計算(Neural Computation),將神經元和突觸模型作為基礎,把這些模型用在許多現實中的識別任務,從而發揮模擬人腦功能,例如字體識別,人臉識別等等。這就不得不提到人工智能的基礎理論——機器學習。
結合機器學習和神經元模型,最早的神經元網絡是由美國計算機科學家羅森布拉特(F.Roseblatt)于1957年提出的感知機(perceptron),也被稱為第一代神經網絡。
前兩代神經網絡都是在以數據科學為背景發展而來,將神經元的輸入和輸出抽象成向量和矩陣,神經元的功能主要是做矩陣的相乘運算。但是,實際上生物神經元對信息的處理不是由模擬數字組成矩陣,而是以脈沖形式出現的生物電信號,所以前兩代神經網絡僅保留了神經網絡結構,而極大簡化了網絡中的神經元模型。
類腦計算的研究基礎主要是以脈沖神經元模型為基礎的神經網絡。脈沖神經網絡(Spiking Neural Network,SNN)由W.Maass在1997年首次提出,其底層用脈沖函數模仿生物點信號作為神經元之間的信息傳遞方式,可以算做第三代神經網絡[2]。
SNN的優點是具有更多的生物解釋性,一方面可以作為計算神經學對生物腦現象模擬的基礎工具;另一方面,由于其信息用脈沖傳遞的特點,SNN結構更容易在硬件上實現,如FPGA等片上系統(on-chip system)。但是,脈沖函數不可導,因此SNN不能直接應用梯度法進行訓練,對SNN的學習算法一直是近年來主要的研究問題。
2. SNN的模型、結構以及在機器學習中的應用
SNN主要結構有前饋(Feedforward)和循環鏈接(Recurrent)兩種。前饋比較常見,從結構上說與傳統的前饋神經網絡相似,不同的是單個的神經元模型以及整個網絡的數據處理方式。
SNN的神經元模型總體上來說是一類以微分方程構成的模型,帶有時間屬性。可以理解為傳統的神經元只是當前時刻的輸入與權重的加權和,SNN的神經元則是在一定寬度的時間窗內的輸入與權重的加權和。其中最常見的神經元模型是L&F(Leak and Fire)模型,也可以把這種神經元看做為一個店帶有電容的電路,按照電路原理來定義可以有如下形式:
圖1. I&F神經元的模擬電路[3]
具體模型公式為:
其中?表示膜電位,??表示輸入突觸電流,每當膜電位達到一個閾值??,便會產生一個脈沖,并將膜電位恢復到復位電位??,同時在一段時間內會產生一個不應期(refractory),在此期間,模電位保持在??,不對輸入的突觸電流做出響應。
L&F是一階微分方程的形式,因此是一種線性響應模型,但是由于脈沖閾值以及不應期等機制的存在,使得L&F同樣變成了一種對輸入的非線性映射。
利用L&F構成網絡就涉及到如何在神經元之間傳遞脈沖信號,這就是突觸電流的響應模型。常用的電流模型是一種基于指數衰減的模型(與膜電位的模型很相似),改進的模型可以是兩個衰減模型的疊加,來模擬平滑的脈沖信號(代替階躍函數表示的脈沖):
其中?和是時間常數,??是表示一個脈沖的單位階躍函數。
由于SNN存在大量的微分方程計算并依賴于計算機仿真,SNN中的數值基本是通過數值方法計算的微分方程的狀態。因此,具體的仿真過程中,與傳統神經網絡的最大區別在于時間步的概念,與硬件中的時鐘十分相似。所以突觸模型中還可以帶有一個熟悉就是延遲(delay),可以和權重一樣被訓練成為表達輸入特征的一個重要參數。目前SNN的學習算法很多基于脈沖的間隔的精確時間而不是一段時間的脈沖的數量來調整網絡參數,如根據hebbian規則演變而來的STDP(Spike time dependance plasicity)。
圖2. STDP的生物學特性[4]
另一種結構是帶有循環鏈接,主要的代表模型是液體狀態機(liquid state machine, LSM)。模型結構屬于水庫計算[5](Reservoir Computing)的一種,是一種結構更復雜,用來處理高維時序問題的RNN(Recurrent Neural Network)結構[6, 7]。LSM的提出主要是通過循環鏈接表示了對時序問題的記憶能力,通過對輸入的高維映射,可以用線性模型進行分類和回歸。LSM的結構主要分為3層:
輸入層:主要負責將輸入的模擬數值編碼成脈沖序列(Spike Trains)并按照 一定比例輸入到水庫層中。
水庫層:根據生物腦中的神經元類型比例,包含80%的興奮神經元和20%的抑制神經元,鏈接是隨機的循環鏈接。
輸出層:讀取每個水庫層中神經元的狀態,并用邏輯回歸等進線性分類。
從機器學習的角度出發,SNN的應用主要分為分類和回歸兩種任務,這兩種任務主要涉及到數據的組織和處理。因此,數據進入SNN之前需要先進行編碼成為脈沖序列,經典的編碼方式有頻率(Rate),二進制(Binary),排序(Rank)等[4, 8]。
3. 類腦計算與人工智能的研究趨勢
目前類腦計算的主要研究趨勢分為三個方面:
首先是基礎的生物腦中的神經元,突觸及記憶,注意等機制的建模;
第二,基于生物機制建模的神經網絡學習算法以及在模式識別等機器學習任務中的應用;
最后,基于生物激勵的算法和神經網絡的硬件系統研究。
目前對于腦的認知機制的研究還存在很多空白,生物腦的運轉機制的神秘面紗沒有被徹底解開,只有少部分現象被發現[9]。腦建模是在認知腦的基礎上進行的,目前的類腦計算算法還有很大的研究價值,目前發現的生物學機制只有少部分使用了計算神經學的方式進行模擬,被用在類腦計算中的機制則更加有限。另外,計算機仿真工具和數學的理論分析仍然不夠完善,類腦計算沒有形成統一的理論框架,面對大數據時代還沒辦法取代深度學習等成熟算法和工具的地位。在軟件仿真方面,一些小規模的仿真工具相繼出現,在研究類腦計算機理方面做出了一定貢獻[10, 11]。由于近年來深度學習發展,同樣有很多工作結合了深度學習相關概念進行了研究和探索[12, 13]。
能耗高一直是傳統神經網絡領域的一個難以解決的問題,目前只能通過云技術對小型便攜設備和需要單獨處理任務的設備提供快速響應的人工智能服務。而類腦計算具有更好的硬件親和力,不需要復雜的硬件進行矩陣運算,只需在接收到脈沖時處理脈沖信號,計算效率得到很大的提高,目前已經有一些片上系統的原型出現,初步提供了SNN構建的人工智能框架[14, 15]。
總之,類腦計算還有很多工作需要完成,大量的有趣的、未知的和有挑戰的問題需要解決,但這也是類腦研究的魅力所在。
-
人工智能
+關注
關注
1791文章
46872瀏覽量
237606 -
神經計算
+關注
關注
0文章
12瀏覽量
4130
原文標題:綜述AI未來:神經科學啟發的類腦計算
文章出處:【微信號:AItists,微信公眾號:人工智能學家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論