王童 溫娟 呂康 陳健中 汪亮 郭新
(華中科技大學(xué)材料科學(xué)與工程學(xué)院,材料成形與模具技術(shù)國家重點實驗室,武漢 430074)
生物感官集感知、存儲與運算為一體的架構(gòu)使其可以高效并且實時地采集和處理外界信息,這樣的感存算一體化架構(gòu)可為物聯(lián)網(wǎng)時代面臨的傳感器數(shù)據(jù)爆炸問題提供很好的解決方案.為此,本文提出仿生生物感官的感存算一體化系統(tǒng),采用不同的傳感器模擬生物感受器的功能,以獲取環(huán)境信息,傳感器輸出的模擬信號輸入到模擬信號處理系統(tǒng)進(jìn)行預(yù)處理,這樣信號不需要在模擬域與數(shù)字域之間轉(zhuǎn)換,可極大降低功耗和延時;預(yù)處理后的信號輸入類腦運算芯片中進(jìn)行分析和決策,該芯片由基于憶阻器的人工突觸及人工神經(jīng)元組成,通過控制突觸與神經(jīng)元的連接方式,可以實現(xiàn)不同的算法架構(gòu),如全連接脈沖神經(jīng)網(wǎng)絡(luò)、卷積脈沖神經(jīng)網(wǎng)絡(luò)以及循環(huán)脈沖神經(jīng)網(wǎng)絡(luò)等;通過運行不同的神經(jīng)網(wǎng)絡(luò),類腦運算芯片可以實現(xiàn)對不同傳感器信號的識別、預(yù)測以及分類等任務(wù);更進(jìn)一步,將多種仿生感覺系統(tǒng)的識別或預(yù)測結(jié)果結(jié)合起來,就可以實現(xiàn)多感官融合,這樣的系統(tǒng)架構(gòu)可以用于自動駕駛及智能機(jī)器人等復(fù)雜的場景中.
人類的感覺主要有8 種:視覺、聽覺、觸覺、嗅覺、味覺、痛覺、溫覺和本體感覺.David Julius 和Ardem Patapoutian 發(fā)現(xiàn)了溫度感受器和壓力感受器,為溫度感知和機(jī)械感知提供了分子和神經(jīng)學(xué)基礎(chǔ),為此,他們榮獲了2021 年諾貝爾生理學(xué)或醫(yī)學(xué)獎.生物的感覺過程可以大致概括為“接受刺激-傳遞信號-大腦接收”3 個步驟,感覺神經(jīng)元的感受器接受刺激,將環(huán)境信息轉(zhuǎn)換為神經(jīng)脈沖,神經(jīng)脈沖再通過突觸傳輸?shù)侥X內(nèi)的中樞神經(jīng)系統(tǒng),中樞神經(jīng)系統(tǒng)由復(fù)雜的神經(jīng)網(wǎng)絡(luò)組成,負(fù)責(zé)對神經(jīng)脈沖進(jìn)行分析與計算.生物感官把感知、存儲以及運算3 個功能集成于一體,從而可以高效并且實時地采集和處理外界信息[1].因此,生物感官在處理很多復(fù)雜任務(wù)時表現(xiàn)出低功耗、高效率等優(yōu)勢[2].
單一的感官會造成感覺的局限與偏差,人體通過不同感官中的感受器來感受不同的刺激,并將各種感知信號融合在一起,從而獲得對環(huán)境的多方面體驗,例如,在品嘗美食時,至少需要同時使用視覺、嗅覺和味覺來感受食物的“色、香、味”.對于一個特定的場景,通過不同的維度感知不同特性的模態(tài)(如圖像-語音所對應(yīng)的視覺-聽覺),并進(jìn)行數(shù)據(jù)樣本的收集和耦合,這就是多模態(tài)傳感融合[3].多模態(tài)傳感融合可以獲得更全面準(zhǔn)確的信息,增強(qiáng)感知的可靠性與容錯性.
相比于生物感官,現(xiàn)有的人工感覺和計算系統(tǒng)采用了完全不同的架構(gòu),其中傳感器、存儲器和運算單元是相互分離的,但是,這樣的架構(gòu)已經(jīng)不再適合萬物互聯(lián)的物聯(lián)網(wǎng)時代[4].一方面,隨著物聯(lián)網(wǎng)的發(fā)展,越來越多的傳感器被應(yīng)用到生活的方方面面,這些傳感器會產(chǎn)生巨大的、未經(jīng)處理的原始數(shù)據(jù)[4].但是由于傳感器與信號處理系統(tǒng)的分離,這些由傳感器產(chǎn)生的原始數(shù)據(jù)都需要首先轉(zhuǎn)換為數(shù)字信號,然后傳遞至本地或者云端的信息處理系統(tǒng).這樣的架構(gòu)會帶來額外的功耗、較長的響應(yīng)時間、大量的數(shù)據(jù)存儲、帶寬以及數(shù)據(jù)安全等問題[5].另一方面,存儲與運算單元分離的馮·諾依曼架構(gòu),不再適應(yīng)大數(shù)據(jù)、智能化時代的計算要求.數(shù)據(jù)在內(nèi)存和數(shù)據(jù)處理單元之間的頻繁存取操作帶來了高功耗、高延時等問題,使得基于馮·諾依曼架構(gòu)的計算系統(tǒng)運算效率遠(yuǎn)低于人腦[6].因此,需要探索新的神經(jīng)形態(tài)計算方式來幫助神經(jīng)網(wǎng)絡(luò)應(yīng)用到有功耗限制的場景中去,如用于邊緣計算的終端設(shè)備[7].
為了模擬生物存儲與運算一體的架構(gòu),研究人員探索了多種新型存儲器件,如憶阻器、鐵電存儲器、磁存儲器等.其中,憶阻器具有并行計算的能力,而且其性能與生物神經(jīng)元和突觸相類似,是構(gòu)建存算一體化系統(tǒng)的有力之選,這樣的新型存算一體化系統(tǒng)可以用來構(gòu)建脈沖神經(jīng)網(wǎng)絡(luò)(spiking neural network,SNN)[8,9].為了模擬生物感知與運算一體的架構(gòu),將模擬信號處理單元集成到傳感器系統(tǒng)中,使其可以處理簡單的任務(wù),如降噪、特征提取或特征增強(qiáng)等.模擬信號處理單元可以有效地減少數(shù)據(jù)的傳輸,降低功耗和延時,簡化后續(xù)信號處理過程[1].此外,為了實現(xiàn)實時環(huán)境檢測與識別,研究人員嘗試將感知、存儲與運算系統(tǒng)集成于一體,使得終端設(shè)備可以具有類似生物感官系統(tǒng)的環(huán)境感知能力[10],目前,這樣的處理系統(tǒng)還處于起步階段,對信息的處理能力也比較有限.
本文提出一種仿生生物感官的通用架構(gòu).如圖1(a)所示,在生物感官中,感受器接受外界環(huán)境刺激,引起感覺神經(jīng)元膜電位變化,當(dāng)外界刺激達(dá)到閾值后,感覺神經(jīng)元發(fā)出神經(jīng)脈沖;感覺神經(jīng)元發(fā)出的神經(jīng)脈沖經(jīng)過突觸傳遞至中樞神經(jīng)網(wǎng)絡(luò)進(jìn)行信息提取、識別等工作.圖1(b)給出了仿生生物感官的感存算一體化系統(tǒng),該系統(tǒng)模擬了生物感官的工作方式,首先由不同的傳感器來模擬生物感受器,檢測環(huán)境中的氣體、光、震動、壓力等信號;傳感器信號經(jīng)模擬信號處理單元處理及編碼后直接輸入類腦芯片,類腦芯片為通用人工智能架構(gòu),由人工突觸和人工神經(jīng)元組成,通過不同的神經(jīng)元與突觸連接方式,可以運行不同的神經(jīng)網(wǎng)絡(luò)模型,如全連接脈沖神經(jīng)網(wǎng)絡(luò)、卷積脈沖神經(jīng)網(wǎng)絡(luò)和循環(huán)脈沖神經(jīng)網(wǎng)絡(luò)等.在復(fù)雜的環(huán)境中運行時,需要綜合考慮多種感官的輸入信號之后做出決策,通過對各種感官信號進(jìn)行識別以及對預(yù)測結(jié)果進(jìn)行綜合處理,可以模擬生物感官的信息融合,這樣的系統(tǒng)可用于自動駕駛、智能機(jī)器人、生物醫(yī)療等領(lǐng)域.
圖1 生物感官及仿生感覺系統(tǒng) (a) 生物感官包括感覺神經(jīng)元、突觸及生物神經(jīng)網(wǎng)絡(luò).感覺神經(jīng)元的感受器感知環(huán)境刺激,并引起神經(jīng)元膜電位變化,當(dāng)神經(jīng)元膜電位達(dá)到閾值后,產(chǎn)生神經(jīng)脈沖,神經(jīng)脈沖信號通過突觸傳遞至神經(jīng)網(wǎng)絡(luò)進(jìn)行處理.(b) 仿生感覺系統(tǒng)包含了傳感器、模擬信號處理單元以及類腦運算芯片.傳感器負(fù)責(zé)感知環(huán)境信息,模擬信號處理單元負(fù)責(zé)對傳感器信號進(jìn)行預(yù)處理,類腦芯片負(fù)責(zé)特征提取、分類以及預(yù)測等高級任務(wù)Fig.1.Biological sensory organ and bio-inspired sensory system.(a) Biological sensory organ includes sensory neurons,synapses and neural network.The receptors of the sensory neurons capture the environmental information and cause the increase of the neuron potential.The neurons generate neural spikes when the neuron potential exceeds its threshold.The neural spikes are then transmitted to the neural network through synapses.(b) Bio-inspired sensory system includes sensors,analogue signal processing units and the brain-inspired chip.Sensors acquire the environmental information and convert the information into analogue electrical signals,which are then directly processed by the analogue signal processing units.Finally,the brain-inspired chip receives the pre-processed signals,and performs advanced tasks,such as feature extraction,classification and prediction.
此外,有研究人員[1]提出使用憶阻器本身的感知能力,如視覺(光信號)、嗅覺(氣體)等,來實現(xiàn)傳感器內(nèi)計算(in-sensor computing),但目前還沒有取得明顯的進(jìn)展.“傳感器內(nèi)計算”對材料和器件結(jié)構(gòu)有非常大的限制,這是因為憶阻器和傳感器對材料和器件結(jié)構(gòu)有不同、甚至是矛盾的要求.以嗅覺模擬為例,器件必須同時具有氣敏性能和憶阻性能,那么可選的材料只有WO3,ZnO 等極少數(shù)幾種,憶阻器要求氧化物薄膜致密,且厚度<100 nm,而傳感器則要求氧化物薄膜疏松多孔,以提供更多的氣體接觸位點來進(jìn)行氣敏反應(yīng),厚度為數(shù)百微米,甚至更厚[11].考慮這些因素,只有在某些特定的條件下才可能實現(xiàn)“傳感器內(nèi)計算”.當(dāng)然,“傳感器內(nèi)計算”具有極高的集成度,在功耗和器件體積等方面具有無與倫比的優(yōu)勢,也是研究人員積極探索的方向.
如圖2 所示,生物體中分布著不同的感覺系統(tǒng),這些系統(tǒng)幫助生物獲取和處理信息、尋找食物、規(guī)避風(fēng)險等.生物個體通過分布在各器官中的感覺神經(jīng)元將外界信號轉(zhuǎn)變?yōu)樯窠?jīng)脈沖信號,并通過突觸將神經(jīng)脈沖信號傳遞至大腦皮層中的神經(jīng)中樞進(jìn)行運算和處理.不同的感官擁有不同的感受器來感知環(huán)境信息,在嗅覺系統(tǒng)中,分布在鼻腔內(nèi)的嗅覺感覺神經(jīng)元的嗅感受器可以與不同的氣體分子相結(jié)合,將化學(xué)信號轉(zhuǎn)變?yōu)榧?xì)胞膜電位變化,當(dāng)刺激達(dá)到閾值之后,該嗅覺神經(jīng)元產(chǎn)生神經(jīng)脈沖并通過突觸傳遞至嗅球細(xì)胞[12];在視覺系統(tǒng)中,視網(wǎng)膜起到視覺感受器的作用,將光信號轉(zhuǎn)變?yōu)殡娦盘?隨后通過視神經(jīng)傳遞至大腦皮層,此外,人類視網(wǎng)膜還具備預(yù)處理功能,可以提取輸入視覺信息的關(guān)鍵特征,消除無用的輸入信息,加速后續(xù)神經(jīng)網(wǎng)絡(luò)的信息處理進(jìn)程[13];在聽覺系統(tǒng)中,耳蝸基底膜上的柯蒂斯感受器可以將震動轉(zhuǎn)化為電信號傳遞到人的聽覺神經(jīng)中[14];在觸覺系統(tǒng)中,皮膚上分布著不同的觸覺感受器,它們對機(jī)械能某些特定的特征敏感,從而將施加于皮膚上不同類型的機(jī)械能轉(zhuǎn)化為不同頻率的神經(jīng)脈沖[15],由于傳入到大腦皮層的脈沖頻率不同,生物可感知到物體的軟硬程度、大小、形狀等信息[10].
圖2 傳感器及模擬信號處理單元.用不同的傳感器陣列來模擬不同生物感官的感受器,來實現(xiàn)對氣體、光、聲音、壓力等信號的感知,隨后,傳感器信號直接輸入到模擬信號處理單元中進(jìn)行處理Fig.2.Sensors and analogue signal processing units.Sensors work like the receptors in a biological sensory organ,detecting the environmental information such as gases,light,audio and pressure,and convert them to electrical sensory signals.The sensory signals are then directly processed by the analogue signal processing units.
隨著材料科學(xué)的進(jìn)步,不同種類的傳感器被開發(fā)出來,用于檢測環(huán)境信息,也可以用于模擬生物感受器的功能.然而,傳感器信號處理系統(tǒng)需要將模擬信號轉(zhuǎn)變?yōu)閿?shù)字信號,再傳輸至信號處理系統(tǒng)中進(jìn)行處理及運算,這個過程需要采用模數(shù)轉(zhuǎn)換器(analogue-digital convertor,ADC)[1].這種將模擬信號轉(zhuǎn)變?yōu)閿?shù)字信號再處理的方式會帶來較大的功耗及延時.而在生物感官中,感受器感受到環(huán)境信息之后,產(chǎn)生動作電位直接引起細(xì)胞膜電位變化,不需要將信息進(jìn)行轉(zhuǎn)化,而是直接被神經(jīng)元處理.因此,借鑒生物系統(tǒng),可以設(shè)計模擬信號處理單元,直接與傳感器相連,在模擬域?qū)π盘栠M(jìn)行預(yù)處理,再由通用的類腦運算芯片完成信號識別及預(yù)測等高級任務(wù).
下面通過對嗅覺的模擬來解釋環(huán)境信號的獲得與處理過程.用氣體傳感器陣列來模擬嗅覺感受器的功能,將氣體分子的化學(xué)信號轉(zhuǎn)換為模擬型的電信號.為了獲得氣體傳感器對不同氣體的響應(yīng)信號,采用不同的材料制備氣體傳感器以增加輸入信號的區(qū)別,因此,氣體傳感器往往有著不同的基線電阻,且不同器件對不同氣體的響應(yīng)呈現(xiàn)出數(shù)量級的差別,此外,在工作過程中,氣體傳感器的基線電阻會隨時間漂移[16].為此,可采用氣體傳感器基線動態(tài)校準(zhǔn)電路在模擬域中高效地處理氣體傳感器信號[17].針對光學(xué)傳感器的信號處理,可采用模擬電路實現(xiàn)類似視網(wǎng)膜的圖像邊緣提取及特征增強(qiáng)功能,相比于傳統(tǒng)的數(shù)字信號處理方式,這樣的模擬電路集成度更高,還可以把功耗降低至毫瓦級[18].針對語音傳感器的信號處理方法,研究人員模仿耳蝸的柯蒂斯感受器設(shè)計了帶通濾波器來處理聲音傳感器信號,不需要將傳感器信號轉(zhuǎn)變?yōu)閿?shù)字信號,再用傅里葉變換進(jìn)行處理,這樣的設(shè)計既降低了功耗,又減小了電路面積[14].采用壓力傳感器可以模擬人的觸覺,感受環(huán)境中的壓力信息,壓力傳感器的信號一般需要采用半波整流的方式進(jìn)行預(yù)處理.另外,傳感器信號還要進(jìn)行統(tǒng)一的降噪、濾波、放大和編碼等預(yù)處理后再輸入到類腦運算芯片中[1].
信號預(yù)處理也廣泛地應(yīng)用于現(xiàn)有的傳感器信號處理模塊中,首先也需要對模擬信號進(jìn)行降噪、濾波、放大等預(yù)處理,經(jīng)預(yù)處理的模擬信號經(jīng)過模數(shù)轉(zhuǎn)換后,輸入到中央處理器或者傳輸?shù)皆贫嗽O(shè)備.在這個過程中,模數(shù)轉(zhuǎn)換器需要消耗大量的功耗和芯片面積.此外,大量的數(shù)據(jù)傳輸也會產(chǎn)生功耗和延時.因此,本文提出一個完全工作在模擬域的模擬信號處理單元,與現(xiàn)有的傳感器信號處理系統(tǒng)相比,模擬信號處理單元在功耗與延時等方面均有優(yōu)勢.
人腦中有大量的神經(jīng)元(約1011量級)及突觸(約1015量級),這些神經(jīng)元與突觸連接起來組成龐大的神經(jīng)網(wǎng)絡(luò)[7].相比于基于現(xiàn)有計算平臺(central processing unit,CPU;graphic processing unit,GPU)的人工神經(jīng)網(wǎng)絡(luò),人腦中的生物神經(jīng)網(wǎng)絡(luò)可以完成各種感官信號的處理、復(fù)雜的記憶及快速的決策,且僅消耗較少的能量[19].因此,人們提出了脈沖神經(jīng)網(wǎng)絡(luò),也被稱為第三代人工神經(jīng)網(wǎng)絡(luò).它模擬生物神經(jīng)網(wǎng)絡(luò)的信息傳遞及處理方式,采用神經(jīng)元來接收并處理脈沖信號,采用突觸來存儲、處理和傳遞脈沖信息,突觸的權(quán)重可由前后神經(jīng)元發(fā)放的脈沖進(jìn)行調(diào)制[20].脈沖神經(jīng)網(wǎng)絡(luò)是基于事件來運算的,當(dāng)有事件發(fā)生的時候,神經(jīng)元才發(fā)出脈沖,而沒有事件的時候神經(jīng)元則處于靜息狀態(tài).這樣的工作方式更加適合處理傳感器相關(guān)的信號,因采用離散的脈沖信號進(jìn)行運算,會極大地降低功耗[21].
通過傳統(tǒng)的CMOS (complementary metal oxide semiconductor)電路可以實現(xiàn)大規(guī)模的人工突觸及人工神經(jīng)元,進(jìn)而實現(xiàn)脈沖神經(jīng)網(wǎng)絡(luò),例如,IBM 設(shè)計并研制了TrueNorth 芯片,Intel 設(shè)計并研制了Loihi 芯片,它們模擬了神經(jīng)元和突觸對脈沖的響應(yīng),并且具備并行運算的能力,可以降低推理及訓(xùn)練所需的功耗[22].但是,在這些芯片中,每個神經(jīng)元或者突觸都需要采用數(shù)十個CMOS 器件來實現(xiàn)[23],因此,人們嘗試采用憶阻器來實現(xiàn)神經(jīng)元和突觸的功能.憶阻器的電導(dǎo)可以隨著施加的激勵而連續(xù)變化,可以用來模擬突觸可塑性及神經(jīng)元膜電位的連續(xù)變化[24].
在神經(jīng)科學(xué)中,神經(jīng)元接受上級神經(jīng)元經(jīng)突觸傳入的興奮性或抑制性突觸電位,脂質(zhì)雙分子層細(xì)胞膜的電位則會發(fā)生相應(yīng)變化,當(dāng)累積超過閾值時產(chǎn)生動作電位,再經(jīng)突觸傳向下一級神經(jīng)元,這是神經(jīng)元處理和傳遞信息的過程.為了解釋生物神經(jīng)元的工作模式,科學(xué)家們相繼提出了Hodgkin-Huxley(HH)模型和漏電整合發(fā)放(leaky integrate-andfire,LIF)模型等[25].憶阻器電導(dǎo)的變化與神經(jīng)元細(xì)胞膜上離子通道的電導(dǎo)類似,因此,可以基于這些數(shù)學(xué)模型來模擬神經(jīng)元功能.美國HRL Laboratories[26]利用憶阻器、電容器和電阻搭建了簡單的憶阻神經(jīng)元電路,其中憶阻器模擬離子通道,電容器兩端的電壓模擬神經(jīng)元細(xì)胞膜上的電位,他們利用該電路成功地模擬了神經(jīng)元中動作電位產(chǎn)生的過程.美國南加州大學(xué)楊建華教授課題組[23]利用擴(kuò)散型憶阻器(diffusive memristor)和電容器并聯(lián)后再串聯(lián)一個電阻組成了神經(jīng)元電路(圖3(a)),并聯(lián)電容器上的電壓表示細(xì)胞的膜電位,有脈沖時,電荷在電容器中累積,發(fā)生整合;沒有脈沖時,電容器發(fā)生自發(fā)的漏電.一旦電容器電壓高于憶阻器的閾值,該憶阻器切換到高電導(dǎo)態(tài),此時電容器的電壓無法保持,開始發(fā)放電流脈沖,這成功模擬了神經(jīng)元漏電整合發(fā)放功能.此外,楊建華課題組[27]還實現(xiàn)了一種基于擴(kuò)散型憶阻器的人工痛覺感覺神經(jīng)元,不僅模仿了生物處理信號的方式來處理傳感器傳來的信號,還成功地模擬了神經(jīng)元的關(guān)鍵功能,包括閾值、弛豫和自適應(yīng)等.神經(jīng)元閾值調(diào)節(jié)的高級功能有助于實現(xiàn)深度脈沖神經(jīng)網(wǎng)絡(luò),Zhang等[28]不僅采用閾值轉(zhuǎn)變憶阻器實現(xiàn)了LIF 神經(jīng)元的功能,還設(shè)計了結(jié)構(gòu)復(fù)雜的電路實現(xiàn)了閾值可調(diào)功能;Shaban 等[29]采用了更加簡潔的方式實現(xiàn)了閾值調(diào)節(jié)功能并完成了單層脈沖神經(jīng)網(wǎng)絡(luò)的設(shè)計驗證.
如圖3(b)所示,突觸是神經(jīng)元之間的連接節(jié)點,每個突觸具有一定的連接權(quán)值,根據(jù)權(quán)值的大小確定兩個神經(jīng)元之間的信號傳輸效率,突觸連接權(quán)值可以根據(jù)突觸前/后神經(jīng)元的活動進(jìn)行調(diào)節(jié),這被稱為突觸可塑性(synaptic plasticity)[7],是大腦學(xué)習(xí)的基礎(chǔ).單個憶阻器在結(jié)構(gòu)和功能上都表現(xiàn)出與生物突觸的相似性.在結(jié)構(gòu)上,具有金屬/絕緣體/金屬三明治結(jié)構(gòu)的憶阻器是典型的兩端子器件,而突觸和相應(yīng)的前后神經(jīng)元也同樣形成兩端子結(jié)構(gòu);在功能上,憶阻器的電導(dǎo)變化可代表突觸連接強(qiáng)度的變化,在持續(xù)的外部電刺激下,器件電導(dǎo)表現(xiàn)出連續(xù)增加或降低,這類似于突觸之間連接強(qiáng)度的增強(qiáng)或減弱.通過對憶阻器材料與結(jié)構(gòu)的設(shè)計可以實現(xiàn)憶阻器電導(dǎo)態(tài)的連續(xù)可調(diào),即器件電導(dǎo)在外加電脈沖的作用下連續(xù)可調(diào).基于多種材料如金屬氧化物、二維材料和高分子材料的憶阻器都成功模擬了突觸的可塑性[19,30].如圖3(b)所示,將憶阻器制成陣列后,不僅可以模擬單個突觸的性能,還可以實現(xiàn)存內(nèi)運算.根據(jù)歐姆定律和基爾霍夫定律,輸入的電壓信號(V1,V2,V3,···,Vn)與陣列中憶阻器的電導(dǎo)(G)相乘,得到輸出的電流信號(I1,I2,I3,···,In),因此,這種交叉陣列的結(jié)構(gòu)可以在一個時間周期內(nèi)完成矩陣運算,從而提高人工神經(jīng)網(wǎng)絡(luò)的運算速度[31].
圖3 類腦芯片 (a) 人工神經(jīng)元:采用憶阻器與電容并聯(lián)的結(jié)構(gòu)模擬神經(jīng)元膜電位連續(xù)變化的特性,實現(xiàn)神經(jīng)元漏電流積分點火的功能;(b) 人工突觸:非易失性憶阻器電導(dǎo)的連續(xù)變化可以模擬生物突觸權(quán)重的連續(xù)變化及突觸可塑性,此 外,憶阻器陣列還可以實現(xiàn)存內(nèi)運算;(c) 類腦芯片架構(gòu):由多個神經(jīng)元-突觸核心組成,每個核心由基于憶阻器的人工神經(jīng)元及人工突觸組成,每個核心通過總線連接Fig.3.Brain-inspired chip.(a) Artificial neuron,consisting of a memristor and a parallel capacitor,emulates the continuous change of the neuron potential and realize the leaky integrate-and-fire function of a biological neuron.(b) Artificial synapses.Non-volatile memristors emulate the continuous change of the synaptic plasticity,in addition,the crossbar array based on memristors can realize the in-memory computing.(c) Architecture of the brain-inspired chip.A brain-inspired chip consists of many neuron-synapse cores based on memristors,and the cores are connected by bus lines.
類腦芯片架構(gòu)如圖3(c)所示,芯片采用了多分布式人工神經(jīng)元-人工突觸核心的設(shè)計,這些通用的人工神經(jīng)元-人工突觸核心可以通過重構(gòu)來處理不同的任務(wù),核心之間通過可重構(gòu)的片上網(wǎng)絡(luò)方式進(jìn)行連接,經(jīng)過模擬信號處理單元預(yù)處理之后的信號可以通過I/O 口輸入到芯片中,并分配對應(yīng)的核心進(jìn)行運算.神經(jīng)元-突觸核心由基于憶阻器的人工神經(jīng)元、憶阻突觸陣列、數(shù)據(jù)選擇器(multiplexer,MUX)、緩沖區(qū)、特殊功能單元和控制器構(gòu)成.人工神經(jīng)元根據(jù)漏電流積分點火的功能處理來自傳感器或突觸陣列的模擬信號,并將模擬信號轉(zhuǎn)變?yōu)槊}沖信號輸出.憶阻突觸陣列根據(jù)自身權(quán)重傳遞人工神經(jīng)元發(fā)出的脈沖信號,其突觸權(quán)重則根據(jù)突觸可塑性由前后神經(jīng)元脈沖發(fā)放情況進(jìn)行調(diào)節(jié).為了提高芯片的容錯率,突觸陣列及人工神經(jīng)元應(yīng)增加冗余.數(shù)據(jù)選擇器用來選擇固定區(qū)域的突觸陣列及人工神經(jīng)元來完成某項任務(wù).特殊功能單元(special function unit,SFU)則提供突觸訓(xùn)練所需要的計算、神經(jīng)元閾值調(diào)節(jié)、神經(jīng)元特殊互連結(jié)構(gòu)等功能.這種基于人工神經(jīng)元-人工突觸內(nèi)核的計算架構(gòu)將存儲和計算集為一體,消除了由存儲器(memory)和中央處理單元(CPU)之間的性能差異帶來的效率損失,且基于脈沖的信息編碼方式也能夠大大減少運算過程中的能量損耗.
傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)所具備的神經(jīng)元連接方式也可以在脈沖神經(jīng)網(wǎng)絡(luò)中實現(xiàn),將這些網(wǎng)絡(luò)架構(gòu)應(yīng)用到類腦運算芯片上,最終可以實現(xiàn)對不同傳感器信號的識別、分類、預(yù)測等任務(wù),例如,采用全連接脈沖神經(jīng)網(wǎng)絡(luò)可以實現(xiàn)氣體分類等任務(wù),而采用卷積脈沖神經(jīng)網(wǎng)絡(luò)可以實現(xiàn)圖片特征提取和分類等任務(wù)[32].
圖4(a)給出了雙層的全連接脈沖神經(jīng)網(wǎng)絡(luò),其中輸入層為簡單的LIF 神經(jīng)元,它可以對輸入脈沖信號進(jìn)行運算并產(chǎn)生新的脈沖信號;突觸根據(jù)自身權(quán)重傳遞脈沖信號到后級神經(jīng)元;輸出層的神經(jīng)元是閾值可調(diào)的LIF 神經(jīng)元,它不僅具備LIF神經(jīng)元的基本功能,還具備神經(jīng)元不應(yīng)期和側(cè)向抑制的高級功能,這些高級功能可以通過神經(jīng)元-突觸核心中的特殊功能單元來實現(xiàn).如圖4(a)所示,神經(jīng)元不應(yīng)期是指當(dāng)輸出層第一個神經(jīng)元被激發(fā)之后,它會傳遞給自己一個信號,在短時間內(nèi)即使有較大的輸入信號,也不會被再次激發(fā).神經(jīng)元不應(yīng)期可以給該層其他神經(jīng)元提供公平的競爭機(jī)會,使神經(jīng)元盡可能學(xué)習(xí)到更多的特征.側(cè)向抑制功能指的則是當(dāng)神經(jīng)元激發(fā)后,會給當(dāng)前層其他神經(jīng)元一個抑制信號,短時間內(nèi)調(diào)高其他神經(jīng)元的閾值[28].采用神經(jīng)元側(cè)向抑制功能可以實現(xiàn)無監(jiān)督學(xué)習(xí)算法,例如,“贏者通吃(winner-takes-all)”法則[21].通過讀取輸出層神經(jīng)元的脈沖發(fā)放情況,就可以判斷分類和識別結(jié)果.
可以用脈沖時間依賴可塑性(spike-timing dependent plasticity,STDP)或者脈沖頻率依賴可塑性(spike-rate dependent plasticity,SRDP)來訓(xùn)練全連接脈沖神經(jīng)網(wǎng)絡(luò).如圖4(b)所示,STDP指的是根據(jù)突觸連接前后神經(jīng)元的脈沖發(fā)放時間來更改突觸權(quán)重,如果突觸前神經(jīng)元發(fā)放脈沖早于突觸后神經(jīng)元,則增強(qiáng)突觸連接權(quán)重,反之則降低突觸連接權(quán)重.SRDP 則是指根據(jù)突觸前后神經(jīng)元脈沖發(fā)放頻率來對突觸連接權(quán)重進(jìn)行修改,如果突觸前后神經(jīng)元脈沖發(fā)放頻率較高,則增強(qiáng)突觸的連接權(quán)重;如果僅有突觸前神經(jīng)元或突觸后神經(jīng)元發(fā)放脈沖的頻率較高,則降低突觸的連接權(quán)重;如果突觸前后神經(jīng)元發(fā)放脈沖的頻率都較低,則不對突觸權(quán)重進(jìn)行修改.相比于傳統(tǒng)的反向傳播訓(xùn)練法則,這種通過突觸可塑性對網(wǎng)絡(luò)進(jìn)行訓(xùn)練的學(xué)習(xí)法則在硬件電路中更容易實現(xiàn),可以降低硬件電路的復(fù)雜度[20].
圖4 脈沖神經(jīng)網(wǎng)絡(luò) (a) 全連接脈沖神經(jīng)網(wǎng)絡(luò);(b) 基于突觸可塑性(脈沖時間依賴可塑性(STDP)和脈沖頻率依賴可塑性(SRDP))來訓(xùn)練網(wǎng)絡(luò),修改突觸權(quán)重;c)卷積脈沖神經(jīng)網(wǎng)絡(luò),由卷積層、池化層和全連接層組成Fig.4.Spiking neural network (SNN):(a) Fully connected SNN;(b) learning rules of SNN.The synaptic weights in SNN are updated according to STDP and SRDP;(c) convolutional SNN consisting of convolutional layers,pooling layers and fully connect layers.
脈沖神經(jīng)網(wǎng)絡(luò)可以實現(xiàn)在線(online)和離線(offline)的兩種訓(xùn)練方式.離線學(xué)習(xí)的具體實施方式如下:首先通過仿真計算得到該脈沖神經(jīng)網(wǎng)絡(luò)所需的突觸權(quán)重,再通過施加脈沖將突觸權(quán)重調(diào)節(jié)至計算所需的狀態(tài).在此,該脈沖神經(jīng)網(wǎng)絡(luò)可以采用STDP 或SRDP 等兼容硬件的學(xué)習(xí)規(guī)則進(jìn)行訓(xùn)練,也可以采用反向傳播等更加精確的訓(xùn)練算法獲得突觸權(quán)重.盡管離線學(xué)習(xí)可以獲得更加精準(zhǔn)的突觸權(quán)重,但是這種方式無法使用憶阻突觸陣列來為訓(xùn)練過程加速.因此,我們更期望使用該系統(tǒng)去完成online 的訓(xùn)練,并提出采用與硬件兼容的STDP和SRDP 學(xué)習(xí)規(guī)則.以SRDP 為例,采用兩個計數(shù)器分別記錄輸入神經(jīng)元和輸出神經(jīng)元的脈沖發(fā)放次數(shù),進(jìn)而計算脈沖發(fā)放頻率.如果輸出神經(jīng)元計數(shù)器達(dá)到閾值,則根據(jù)輸入神經(jīng)元的脈沖頻率來修改突觸權(quán)重;如果輸入神經(jīng)元脈沖高于閾值,則施加正向脈沖到突觸器件上,反之則施加負(fù)向脈沖到突觸器件.經(jīng)過學(xué)習(xí)后,每個神經(jīng)元會學(xué)到對應(yīng)的輸入樣本的特征.
對于比較復(fù)雜的問題,如圖片特征提取及識別,可以采用卷積脈沖神經(jīng)網(wǎng)絡(luò).如圖4(c)所示,卷積脈沖神經(jīng)網(wǎng)絡(luò)包括卷積層、池化層及全連接層[33].傳感器信號經(jīng)過編碼后變?yōu)槊}沖信號輸入到卷積層,在卷積層中,突觸陣列根據(jù)自身權(quán)值傳遞輸入的脈沖信號至閾值可調(diào)的神經(jīng)元,該神經(jīng)元負(fù)責(zé)對接收到的信息進(jìn)行處理并發(fā)放新的動作電位.池化層模仿人的視覺系統(tǒng)對數(shù)據(jù)進(jìn)行降維,用更高層次的特征表示輸入的圖像,常用的有最大值池化、均值池化等.在卷積脈沖神經(jīng)網(wǎng)絡(luò)中可以對卷積層神經(jīng)元發(fā)放脈沖頻率進(jìn)行記錄并進(jìn)行池化操作,因此,這里可以采用簡單的數(shù)字電路來實現(xiàn)池化操作.卷積層及池化層可以進(jìn)行多層的堆疊以實現(xiàn)深度神經(jīng)網(wǎng)絡(luò),輸入信號經(jīng)過卷積層及池化層提取特征之后,可以輸入到全連接層進(jìn)行識別和分類,得到最終的結(jié)果.卷積脈沖神經(jīng)網(wǎng)絡(luò)也可以采用STDP及SRDP 的訓(xùn)練方式逐層進(jìn)行訓(xùn)練.
此外,在處理語音信號時,目前常用的網(wǎng)絡(luò)算法是循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN).相比于前饋式的神經(jīng)網(wǎng)絡(luò)(全連接神經(jīng)網(wǎng)絡(luò)以及卷積神經(jīng)網(wǎng)絡(luò)),神經(jīng)元節(jié)點之間的循環(huán)連接可以有效地處理不同時間節(jié)點的信息,并將時間上的邏輯關(guān)系展現(xiàn)出來.在脈沖神經(jīng)網(wǎng)絡(luò)中,也可以借鑒循環(huán)神經(jīng)網(wǎng)絡(luò)的連接方式,對時間信息進(jìn)行處理[34].除了采用神經(jīng)元之間循環(huán)連接的架構(gòu),還有學(xué)者提出采用神經(jīng)元自身的時域動態(tài)特性來對時間信號進(jìn)行處理,這也驗證了神經(jīng)元的LIF 功能可以等價替代神經(jīng)元的循環(huán)連接結(jié)構(gòu)[35].但是,采用神經(jīng)元自身動態(tài)特性來處理時間信號的方式依然處于理論驗證階段,神經(jīng)元對時序信息的處理仍然需要更多的研究.
在算法層對硬件系統(tǒng)進(jìn)行調(diào)用可以實現(xiàn)多感官的融合.針對本文提出的仿生生物感官系統(tǒng)有兩種實現(xiàn)多感官融合的可能方式:第一種是將多種感官的信號經(jīng)過模擬信號處理單元預(yù)處理及編碼后一起輸入到脈沖神經(jīng)網(wǎng)絡(luò)中,在這種情況下,多種感官的信號增加了輸入信息的維度,也極大地增加了神經(jīng)網(wǎng)絡(luò)的復(fù)雜度.例如,在機(jī)器人控制系統(tǒng)中,可以將壓力傳感器信號與視覺傳感器信號一起輸入到脈沖神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,從而得到?jīng)Q策結(jié)果.第二種處理方式是將不同的傳感器信號分別輸入到對應(yīng)的神經(jīng)網(wǎng)絡(luò)中,這些神經(jīng)網(wǎng)絡(luò)已經(jīng)針對各自對應(yīng)的傳感器信號類型做了優(yōu)化,處理后的信號再輸入到一個新的決策系統(tǒng)中,由決策系統(tǒng)綜合不同的感官信號給出最終的結(jié)果.比較這兩種實現(xiàn)多感官融合的方式,第一種方式處理信息的能力更強(qiáng),但需要考慮信號同步、延時等問題,因此,所需的脈沖神經(jīng)網(wǎng)絡(luò)規(guī)模會較大;而第二種方式需要新的決策系統(tǒng),比如中央處理器(CPU)或者云端設(shè)備來實現(xiàn).
作為實例,圖5 展示了我們近期研發(fā)的一個仿生嗅覺系統(tǒng)[36].具體來講,首先采用氣體傳感器檢測環(huán)境中的氣體分子,傳感器中的敏感材料可以吸附氣體分子,從而電阻發(fā)生變化,并在一定時間后達(dá)到穩(wěn)態(tài).因此,氣體傳感器可以將環(huán)境中氣體分子的化學(xué)信息轉(zhuǎn)變?yōu)槟M型的電信號.模擬信號處理系統(tǒng)負(fù)責(zé)對傳感器信號進(jìn)行預(yù)處理,首先需要采用氣體傳感器基線動態(tài)校準(zhǔn)電路來解決傳感器基線漂移的問題;然后采用運算放大電路對傳感器信號進(jìn)行放大.經(jīng)過預(yù)處理的傳感器信號最終傳輸至類腦芯片中的神經(jīng)元-突觸核心中進(jìn)行識別.我們采用雙層全連接脈沖神經(jīng)網(wǎng)絡(luò)來處理傳感器采集到的信號,并識別出不同的氣體.在類腦芯片中,傳感器信號(電壓信號)首先輸入到輸入層神經(jīng)元中,輸入層神經(jīng)元為簡單的LIF 神經(jīng)元,可以將輸入的電壓信號轉(zhuǎn)變?yōu)椴煌l率的脈沖信號.LIF 神經(jīng)元的輸出信號經(jīng)過放大后輸入至突觸陣列中,突觸陣列根據(jù)自身權(quán)值對輸入信號進(jìn)行計算,根據(jù)歐姆定律,在一個時間步長內(nèi),就可以得到輸出電流.電流信號首先被轉(zhuǎn)變?yōu)殡妷盒盘?再經(jīng)過放大后被輸入至輸出層神經(jīng)元中,輸出層神經(jīng)元為具有閾值調(diào)節(jié)功能的LIF 神經(jīng)元,可以處理輸入的脈沖信號并得到識別結(jié)果.采用閾值可調(diào)的LIF 神經(jīng)元可以實現(xiàn)無監(jiān)督的學(xué)習(xí)算法,采用STDP 或SRDP的方式來對突觸陣列進(jìn)行訓(xùn)練.在突觸權(quán)重更新過程中,突觸陣列與神經(jīng)元之間的連接斷開,由特殊功能單元來完成突觸訓(xùn)練脈沖的發(fā)放.
圖5 仿生嗅覺系統(tǒng).氣體傳感器感知環(huán)境中的氣體分子,并將氣體分子的化學(xué)信息轉(zhuǎn)變?yōu)槟M型電信號;傳感信號由模擬信號處理單元作進(jìn)一步處理,該單元主要包含氣體傳感器基線動態(tài)校準(zhǔn)電路以及運算放大電路;經(jīng)過預(yù)處理的傳感信號傳輸至類腦芯片的神經(jīng)元-突觸核心中完成氣體識別的任務(wù)Fig.5.Bio-inspired olfactory system.In the system,sensor array detects the gas molecules in environment,converts the chemical information of gas molecules into electrical sensory signals,which are analogue.The sensory signals are directly processed by the analogue signal processing units which include baseline cancellation and amplifier circuits.After pre-processing,the sensory signals are sent to a neuron-synapse core of the brain-inspired chip to classify the gases.
該仿生嗅覺系統(tǒng)展現(xiàn)出了強(qiáng)大的魯棒性和泛化能力,能夠完全識別4 種待測揮發(fā)性有機(jī)化合物(甲醛、乙醇、丙酮和甲苯).僅采用24 個氣體訓(xùn)練樣本訓(xùn)練該網(wǎng)絡(luò),就能夠完全識別4 種氣體的64 個測試樣本.盡管傳感器在獲得信號的時候,基線值存在漂移現(xiàn)象并且受到環(huán)境噪聲的影響,該脈沖神經(jīng)網(wǎng)絡(luò)依然獲得了完美的識別結(jié)果[36].采用這樣架構(gòu)的感存算一體化的嗅覺系統(tǒng)可以高效地完成對不同氣體的檢測與識別.由于采用事件驅(qū)使的脈沖神經(jīng)網(wǎng)絡(luò),因此,該系統(tǒng)具備低功耗的特點,可以集成到終端系統(tǒng)之中.
對生物感官的模擬可以幫助我們構(gòu)建集感知、存儲與運算為一體的系統(tǒng),從而高效地處理傳感器信號,解決物聯(lián)網(wǎng)時代傳感器數(shù)據(jù)爆炸的問題.首先采用不同的傳感器模擬生物的鼻子、眼睛、耳朵及皮膚中的感受器,感知環(huán)境中的氣體、光、聲音震動及壓力等信息.然后采用模擬信號處理單元直接對傳感器信號進(jìn)行處理和編碼,以獲得類腦運算芯片的輸入信號.類腦運算芯片通過人工神經(jīng)元與人工突觸不同的連接方式來實現(xiàn)不同的脈沖神經(jīng)網(wǎng)絡(luò)算法,用于完成信號識別及預(yù)測等高級任務(wù),最終通過對各個仿生生物感官信號的綜合處理,完成多種感官信息的融合.多感官融合的仿生感覺系統(tǒng)可以用于自動駕駛、智能機(jī)器人等需要多種感官協(xié)調(diào)工作來處理復(fù)雜信號的環(huán)境中,且仿生感覺系統(tǒng)的功耗可得到極大的降低.