脈沖神經網絡研究進展綜述——論文摘抄


 

0 引言

  神經網絡被認為是當前人工智能發展的主要驅動力,其經歷了幾個發展階段。第1個階段是感知機。1958年;美國神經學家Rosenblatt提出了可以模擬人類感知能力的機器,並稱之為"感知機",隨后成功地在IBM704機上完成了感知機的仿真,並於1960年基於感知機實現了能夠識別一些英文字母的神經計算機。第2個階段是基於聯結主義的多層人工神經網絡(artificial neural network, ANN),其興起於20世紀80年代中期,並在2006年以后以深度卷積網絡引領了近十幾年人工智能的發展。然而,ANN在生物學上是不精確的,缺少神經內部的動力學機制,不能較准確地模仿生物大腦神經元的運作機制。近年來,起源於腦科學的脈沖神經網絡(spiking neural network, SNN)被譽為新一代的神經網絡,以其豐富的時空領域的神經動力學特性、多樣的編碼機制、事件驅動的優勢引起了學者的關注。與此同時,脈沖神經網絡的發展使得當前以腦科學成果為基礎和啟發,以"人工通用智能"(圖1)以及高效終(雲)端智能解決方案為目標的一種新型計算范式——類腦計算(brain-inspired computing, BIC)[7] 呈星火燎原之勢。

  2014~2020年是國內外類腦計算與人工智能系統發展大爆炸的幾年:谷歌旗下人工智能公司DeepMind在Nature期刊連續報道了諸多成果;Science報道了以IBM TrueNorth為代表實現脈沖神經網絡的神經形態芯片以及海德堡大學的SpiNNaker 芯片與英特爾Loihi芯片。這些研究已經慢慢模糊了類腦計算與人工智能的嚴格分界線,促進了人工智能、神經形態系統和類腦計算領域的深入交叉、相互借鑒、揚長避短,共同促進智能系統的長足發展。2019年,清華大學研制的ANN/SNN異構融合天機芯登上Nature封面,指出計算機科學導向的深度學習和神經科學導向的脈沖神經網絡的交叉融合將是人工通用智能的發展方向。

  DeepMind在Nature期刊連續報道了諸多成果;Science報道了以IBM TrueNorth為代表實現脈沖神經網絡的神經形態芯片以及海德堡大學的SpiNNaker芯片與英特爾Loihi芯片。2019年,清華大學研制的ANN/SNN異構融合天機芯登上Nature封面,指出計算機科學導向的深度學習和神經科學導向的脈沖神經網絡的交叉融合將是人工通用智能的發展方向。

  當前,豐富的任務和數據集、友好的編程工具(如TensorFlow和Pytorch)、以誤差反向傳播(backpropagation, BP)為代表的訓練算法以及高效的訓練平台(GPU)共同推進了ANN在各個深度學習領域的繁榮(如計算機視覺和自然語言處理),也推進了支持ANN的各種深度學習加速器的研究,如:中國科學院計算所的"寒武紀"系列芯片、Google公司的TPU芯片、清華大學的Thinker芯片以及美國麻省理工學院Eyeriss芯片等。與ANN領域的繁榮相比,SNN領域的研究仍然處於快速發展的早期階段。當前,SNN領域的研究主要圍繞神經元模型、訓練算法、編程框架、數據集以及硬件芯片加速五大方向進行。

1)神經元模型

  尋找兼具高生物可實現性、良好的網絡學習能力以及超大規模集成電路構建能力的神經元模型是目前需要研究的問題。

2)訓練算法

  盡管訓練算法眾多,當前SNN在超大超深層的網絡訓練算法上,仍然面臨脈沖信號如何編碼、梯度消失、訓練資源開銷大甚至算法收斂性的問題。因此,研究超大超深層SNN網絡的編碼方式和匹配的訓練算法是需要研究的問題。

3)編程框架 

  但是在SNN領域,目前僅有BindsNET、Spyketorch等少數平台可以支持大規模SNN的構建與訓練。搭建一個大的SNN網絡仍需要編程者具有非常良好的編程功底。因此,開發用戶友好的編程工具以有效地部署大規模SNN對該領域的發展至關重要。

4)數據集

  而適合SNN的數據集由時空事件流構成,目前僅有Neuromorphic-MNIST、N-Caltech101、DVS-CIFAR10、DVS-Gesture等比較小的數據集。發展更大規模且更加契合SNN時空處理能力的數據集將成為SNN發展的驅動力之一。

5)硬件芯片加速

  在硬件芯片加速方向, 正因為SNN在硬件電路上具有超低能耗實現的優勢, 最近10年以曼徹斯特大學的SpiNNaker芯片、美國斯坦福大學Neurogrid芯片、IBM TrueNorth芯片、英特爾Loihi芯片、浙江大學達爾文芯片為代表,支持SNN硬件實現的神經形態芯片異軍突起。2019年,清華大學研制出的ANN/SNN異構融合類腦天機芯片更是能夠同時支持以MLP、CNN和LSTM為代表的深度學習常用ANN和從計算神經科學發展而來的SNN。未來可能基於新型神經形態器件的發展成熟以及現有優勢技術的交叉融合這兩個方向,進一步探索以超低功耗模擬人腦的復雜計算系統的構建。

  綜上所述,SNN基於神經動力學的事件驅動機制在高效處理復雜、稀疏和嘈雜的時空信息方面取得了卓越的性能。事件驅動的通信在啟用具有內存計算功能的高能效AI系統方面特別有吸引力,該系統將在普遍存在的智能領域中發揮重要作用。當前,SNN的研究仍在進行中,其神經元模型、訓練算法、基准框架、編程工具和高效的硬件有望取得更大的進步。但是,由於相關的論文很多,出版速度極快,報道的方法大相徑庭且缺乏系統的梳理,極大地妨礙了初學者獲得正確的視野並以正確的方式入門。因此,本文希望通過對SNN領域的各個重點方向、發展的機遇和挑戰進行全面系統的介紹梳理和分析比較,吸引不同學科的研究者,通過跨學科的思想交流和合作研究,推動SNN領域的快速發展。

 

1 脈沖神經網絡的基本要素與生物學背景

  在本節中,將介紹脈沖神經網絡的基本要素及其相關的生物學背景,包括作為基本處理單元的神經元模型、作為學習與記憶基礎的突觸可塑性理論、神經元通信中脈沖序列的編碼方式以及網絡層面上各基本層的拓撲結構。以上幾種要素共同構成了脈沖神經網絡,並使其擁有區別於人工神經網絡的特質。

 

1.1 神經元模型

  神經元的典型結構主要包括樹突(dendrite)、胞體(soma) 以及軸突(axon) 三個部分。其中:樹突的功能是收集來自其他神經元的輸入信號並將其傳遞給胞體;胞體起到中央處理器的作用,當接受的傳入電流積累導致神經元膜電位超過一定閾值時產生神經脈沖(即動作電位);脈沖沿軸突無衰減地傳播並通過位於軸突末端的突觸(synapse)結構將信號傳遞給下一個神經元。

1)Hodgkin-Huxley 模型

2)LIF 模型

3)Izhikevich模型

4)SRM模型

5)ANN神經元模型

 

1.2 突觸可塑性的生物學基礎

  赫布學習與STDP規則成功揭示了突觸結構內權重的修改過程,但它們不足以解釋突觸個體的改變如何協調以實現神經系統的整體目標。學習不能是短視、盲目的,因此如果要理解大腦的學習,則需要進一步揭示在整個網絡中協調可塑性的原則。神經調質(neuromodulator)作為突觸可塑性中除了前后神經元活動外的第3種影響因素,它的一系列發現豐富了原有的赫布規則。目前,人們已經知曉一些神經調質與獎勵信號之間存在密切的聯系,例如多巴胺神經元能夠預估、檢測獎勵並相應地發出報警或激勵信號,乙酰膽鹼與去甲腎上腺素在處理新奇事物時分泌會有所增加。實驗也證實了這些神經調質能夠調整它們所到之處的突觸可塑性,作用形式可能是作為使能的門控信號,或是對於STDP窗口的形狀和極性進行調整,同時多種神經調質在組合下也可發揮不同的作用,這為在大腦不同區域實現各異的神經元可塑性提供了生理基礎。

  總體來看,神經調質作為突觸前后神經元活動外的第3種影響因素存在,可將其描述為:

其中:M表示神經調質的影響,pre表示突觸前神經元的輸出脈沖(序列),post表示突觸后神經元的脈沖響應或電位響應,H表示突觸活動在赫布規則下造成的預期影響或稱為資格痕跡(eligibility trace)的可塑性變化暫態標記。

  赫布規則與STDP規則具有局部學習的特征,是脈沖神經網絡模型中無監督算法模擬的重要對象,而神經調質的引入為微觀上的突觸結構變化與宏觀上生物體適應性行為間建立了聯系的橋梁,突觸可塑性的變化因而具有了目的和方向。在整個神經網絡功能優化的全局角度上,這樣的三因子規則(three-factor learning rule)相較於原始赫布規則引入了監督性學習的特點,有力地推動了大腦深層網絡的高效學習。

 

1.3 編碼方式

  生物對周圍環境的持續感知、對自身內部環境穩態的平衡調節以及感官刺激下的行為反應,最終都通過神經元短暫的脈沖序列實現信息的傳遞。盡管信號通過動作電位與突觸結構在神經元之間傳播,但信息以何種形式蘊藏在具有一定時空模式的脈沖序列中尚不明了,這也是神經編碼(neural coding)這一領域期待解決的問題。

  目前較為常見的神經編碼方式主要包括頻率編碼(rate coding)、時間編碼(temporal coding)、bursting編碼和群編碼(population coding)等(見圖3)。具體的脈沖在持續時間、振幅或形狀上都可能有所不同,但在神經編碼研究中,它們通常被視為相同的定型事件。

  頻率編碼主要考察脈沖發放率(firing rate),即神經元發放的脈沖數量在其所對應記錄時間上的平均值。刺激的強弱程度可由神經元發放脈沖的頻率反映,強烈的刺激將導致更為高頻的脈沖序列,而序列內部存在的時間結構,例如內部脈沖間隔(interspike interval, ISI)不被考慮。頻率編碼被視為是對神經元輸出的一種量化衡量,在脈沖神經網絡的深度學習領域,特別是在經由訓練好的ANN網絡向SNN轉換的相關工作中,可將脈沖發放率與ANN中連續的輸出值等價,這使得頻率編碼得到了大量的使用。相對於頻率編碼,時間編碼更加注重在時間結構上的差異,除了完整的脈沖時間模式(temporal pattern)之外,從接受刺激到發放首個脈沖的時間以及脈沖之間的時序邏輯都被認為存在編碼重要信息的可能,其中前者被稱為首個脈沖時間編碼(time-to-first-spike coding),后者被稱為排序編碼(rank order coding)如圖3(c)、圖3(d)所示。頻率編碼的概念在早期被廣泛接受,但一些研究表明,其忽略時間結構僅計算脈沖數量的方式不利於信息的高效率傳輸,相較於時間編碼可能需要更長的記錄時間或更多的神經元參與。

  Bursting是廣泛存在於大腦中的一種神經元活動模式,指神經元在某段時間內密集、快速地激發脈沖,隨后進入較長時間靜息的行為。早期人們通常認為bursting包含多個脈沖僅僅是為了增加信息傳遞的可靠性,但2003年,Izhikevich等的發現揭示了突觸后神經元存在的閾下膜電位共振現象,這導致不同神經元針對bursting頻率產生特異性選擇,並可能為神經元間進行選擇性通信提供了有效的編碼機制。

  與更多關注神經元個體的頻率編碼、時間編碼等不同,群編碼認為刺激產生的神經元信息是由多個神經元的聯合活動表征的。其中較為著名的是由Georgopoulos等提出的群體向量模型(population vector model)。在該模型中,盡管靈長類大腦運動皮層中手臂區域的單個神經元僅對三維空間中的某一方向表現出特異反應,但實際的精確運動方向能夠以各個神經元的活動強度為依據,對特異方向向量進行加權求和得到。稀疏編碼是群編碼中較為特殊的一種,強調信息僅由較大群體中共同活躍的小部分神經元表達,且神經元數量可能遠遠大於輸入信息的維度。這種過完備(overcomplete)的表達方式具有記憶容量與能耗上的理論優勢和哺乳動物大腦皮層的實驗觀測證據[84],其相關理念也在計算機視覺等機器學習領域得到廣泛應用。

  當前對於神經編碼的具體方案仍未蓋棺定論,而實際上在大腦中采用不同編碼的神經元群也可能同時存在並互相配合,從而為時間信息的充分感知提供神經基礎。神經編碼方案可能在不同情景和大腦的不同區域中表現不同,現有的編碼方案則對其提供了不同角度的描述。相較於目前SNN中通常預設單一編碼方案的受限情形,更為理想、通用的SNN應能支持不同編碼的混合運用,並靈活地借助不同編碼的各自優勢取得在任務表現、時延與功耗上的進一步優化。

 

1.4 拓撲結構

  在靈長類動物中,腹側視覺通路(ventral visual pathway)被認為是涉及對象視覺識別的大腦區域。前期區域(如V1區)的神經元對視網膜圖像相對簡單的局部空間特征作出反應,而后期區域(如V4區和下顳葉皮層)對更大的視覺區域上更為復雜的特征作出反應。沿着腹側視覺通路前進,神經元逐漸以更為魯棒的方式來表征視覺物體,而不受限於確定視角與光照條件下的固定外觀。目前,先進的人工神經網絡就是受到人腦層級啟發的深度結構,使用多層結構對潛在特征進行提取與表征。

 

2 神經形態數據集

  由於脈沖神經網絡的研究落后於ANN,發展適合於脈沖神經網絡的數據集是未來的發展方向。其中,受神經形態視覺傳感器成像機制啟發所產生的數據集被認為是目前最適合脈沖神經網絡應用的一類數據集。

  神經形態視覺傳感器是受生物視覺處理機制啟發,捕捉視野中的光強變化並產生異步時間流的一類傳感器。具有代表性的神經形態視覺傳感器有動態視覺傳感器(DVS)及動態主動成像傳感器(DAVIS)等。該類傳感器捕捉並記錄視野中的變化信息,根據信息變化的方向不同(增加或減少),記錄正負兩種變化方向的脈沖串信息。此類動態傳感器主要關注視野中的變化特征而自動忽略背景中靜態無關的信息,這也使得該類傳感器具有低延遲、異步、稀疏的相應特性,進而在諸多領域具有非常廣闊的前景,例如光流估計、目標跟蹤、動作識別等。受此啟發所產生的數據集被稱為神經形態數據集,數據一般由四維向量組成(x, y, t, p)。其中:(x, y)記錄成像的拓撲坐標, t 記錄脈沖產生的時間信息(精確到μs), p記錄脈沖的極性(由正或負方向生成)。

  神經形態數據集的以下特征使其適合用於脈沖神經網絡的基准測試:1)脈沖神經網絡可以自然地處理異步、事件驅動信息,使其與神經形態數據集的數據特征非常契合;2)神經形態數據集中內嵌的時序特征(比如精確的發放時間及幀之間的時序相關性)為展現脈沖神經元利用時空動力學特征處理信息的能力提供了很好的平台。

  按照數據集構建方式的不同,目前神經形態數據集可分為以下3類。

  第1類是實地場景采集而得的數據集,其主要通過神經形態傳感器直接捕捉而生成無標簽的數據。這類數據集生成簡單,貼近實際應用場景,例如可用於追蹤和檢測的數據集(見圖5)、用於光流估計的神經形態數據集、用於3D場景重構的數據集、用於手勢識別的數據集等。得益於神經形態視覺傳感器快速、高動態頻率的特性,這類數據集對發展特定神經形態傳感器的應用有着重要幫助。

  第2類數據集是轉換數據集,它主要由帶標簽的靜態圖像數據集通過神經形態傳感器實拍生成。不同於第1類直接對實際場景采集而成的數據集,此類數據集主要由已被廣泛研究的、用於傳統非脈沖任務的數據集轉換得到(見圖6),如N-MNIST、CIFAR10-DVS。為了生成此類數據集,研究者一般先固定一張靜態的圖片(如一張打印好的手寫數字體圖案),再用動態傳感器沿指定方向平移產生相應數據的脈沖事件流版本。由於轉換原始圖片的特征及標簽是已知的,使得研究者可以較為輕松地得到該類數據集的標簽信息。轉換數據集與原始廣泛采用的數據集具有一定的特征相似性,此類轉換數據集更易於使用和易於評估,因此,這類轉換數據集也是目前脈沖神經網絡領域使用最為廣泛的數據集。

  第3類是生成數據集,它主要利用帶標簽數據,通過算法模擬動態視覺傳感器特性,進而生成得到。由於動態傳感器主要捕捉視頻流中的動態信息,這一過程可以間接地利用相鄰幀的差分等信息得到。因此,第3類數據集直接從已有的視頻流(或者圖片)信息中,通過特定的差分算法或基於相鄰幀的生成算法,生成神經形態數據集的版本。如Yang等訓練一個用於數據生成的卷積神經網絡,通過輸入相鄰幀和目標精確時刻的信息,生成脈沖事件流版本的特定幀信息。這一做法可以避免數據采集所需要的大量工程實驗,可以快速地生成研究所需要的含標簽的特定場景信息。然而,由於傳統視頻流幀數有限,模擬得到的數據集幀數無法達到實際生成的數據集要求,同時也無法高分辨地模擬數據的事件驅動特性。

  盡管上述3類數據集的研究仍在持續發展中,但這3類數據集存在各自的局限性。例如,由於使用者對第1類數據集的預處理方式不統一(時間分辨率、圖片壓縮尺度等),所報道的結果目前很難被公平地比較;第2、第3類數據集主要是由原始數據二次轉換生成,其數據很難表達豐富的時序信息,因此,無法充分利用脈沖神經網絡的時空處理特性等。可以說目前對神經形態數據集的研究還尚在起步階段,脈沖神經網絡領域仍缺乏公認的、基准性的測試集。因此,發展規模更大、功能更契合(利用脈沖神經元時空處理能力和數據事件驅動特性)的數據集是今后的一大發展方向。

 

3 脈沖神經網絡學習算法

  相比之下,當前脈沖神經網絡領域尚不存在公認的核心訓練算法與技術。在生物合理性與任務表現間存在不同的側重度,以及網絡采用的神經元模型和編碼方式各異,均造成了訓練算法的多樣化。依據訓練過程中是否使用標簽信息,可以將其概括性地划分為無監督學習與有監督學習兩類。其中:無監督學習主要包括基於第1.2節中Hebb與STDP兩種突觸可塑性規則的仿生學習算法;有監督學習則可以進一步划分為初期有監督學習算法和深度有監督學習算法。有監督學習面臨的主要困難在於BP算法在脈沖神經網絡中的應用,它的不應症主要來源於兩個方面。一方面,BP算法自身缺乏生物合理性,突觸信息傳遞的方向性使得前向傳遞和可能存在的反饋路徑在生理上是分離的,而目前並不存在已知的方式來協調二者以實現反向傳播中對前傳權重的獲取,這被稱為weight transport問題;另一方面,脈沖神經網絡中傳遞的信號為不可微的離散二值信號,脈沖形式的激活函數給基於梯度的優化算法的直接應用造成了困難。因此在21世紀初期,適應脈沖形式計算的有監督算法得到了廣泛研究並發展得相當豐富。隨后,以2012年作為一個標志性的分水嶺,該年AlexNet在大規模視覺識別挑戰賽ILSVRC中拔得頭籌,使得深度學習方法在傳統機器學習領域脫穎而出。脈沖神經網絡的發展亦受到深度學習思想的影響,在訓練算法、網絡規模以及應用場景的追求上都與前期產生了一定的差異。

  脈沖神經網絡學習算法概覽如圖7所示。

 

3.1 仿生無監督學習方法

 

3.2 初期有監督學習算法

 

3.3 深度有監督脈沖神經網絡

  本節集中討論具有深度脈沖神經網絡實現能力的有監督學習算法,主要包含以轉換SNN為代表的間接監督性學習算法和以時空反向傳播為代表的直接監督性算法.。其中"間接監督性"體現在有監督信號僅在向SNN轉換前的原始模型中進行訓練這一點上,直接監督性學習則指在SNN結構中直接適用的有監督學習算法。

  轉換SNN(ANN-converted SNN)是在神經形態硬件嶄露頭角后,為了在已發展出的深度學習成果上進一步利用事件驅動特性的低能耗優勢,從ANN的視角出發為SNN的訓練提供的一種替代做法。轉換SNN的基本理念是在使用ReLU函數的ANN網絡中,連續的激活函數值可以由SNN中頻率編碼下的平均脈沖發放率近似,在完成原始ANN訓練后,再通過特定手段將其轉換為SNN。實質上,轉換SNN的訓練依賴的仍是在ANN中進行的反向傳播算法,因此它避免了對SNN進行直接訓練所面臨的困難。就性能表現而言,轉換SNN保持着與ANN發展進程最小的差距,並具有在大規模的網絡結構與數據集上實現的能力,例如Rueckauer等實現了SNN中的VGG-16與GoogLeNet模型;Sengupta報告了VGG-16模型以0.56%的轉換精度損失在完整ImageNet數據集得到69.96%准確率;Hu等更是使用ResNet-50的深層結構取得72.75%准確率的分類成果。

  為方便轉換,多數工作對原始的ANN模型作出了一定的約束,例如將偏置限制為零、無法使用批歸一化方法、必須采用平均池化(average pooling)而非最大池化(max pooling)等。這會造成原始模型性能的部分下降。Rueckauer等針對以上約束討論了適合SNN結構的實現方式,但這也使得轉換后SNN的調整復雜化並潛在地造成更大的性能損失。此外,在轉換方法中格外關鍵的一點是增加IF神經元的閾值項后,需要對閾值和權重進行重新平衡。過低的閾值使得神經元易於激發而喪失特異性,反之則會使得脈沖較難激發,深層網絡的仿真步數大幅增加。

  2019年Severa等提出了一種稱為"磨刀石"(whetstone)的新穎SNN轉換方式:在ANN網絡中采用有界ReLU函數作為激活函數,在完成最初網絡訓練之后,逐層地進行有界ReLU函數向階躍函數的漸進式轉換,並在觀察到一定性能下降時重啟對網絡的訓練,完整訓練流程結束后即可得到對應的SNN網絡。相比於針對完整網絡進行單次轉換,這種漸進的方式能夠減緩轉換帶來的性能損失,但目前該方法得到的SNN僅使用單步仿真時長,在性能表現上相對不佳,且SNN本身在時域上可能的動態特性以及處理能力無法得到進一步的發掘與利用。

  整體而言,轉換SNN可以較為快速地將ANN領域的突破轉化應用至SNN領域,但這種方法也有其內在的局限性。除了對原始ANN施加約束造成的性能下降外,轉換SNN完成一次前向推理通常需要幾百至幾千時間步的長時間模擬,與SNN直接訓練算法差距頗大,這導致了與原始目的相悖的額外延遲和能耗。近期也有工作嘗試結合轉換SNN與直接訓練算法,將轉換SNN作為一種權重初始化手段並接受直接算法的后續訓練,以期得到低時間步下的高性能表現。除此之外,令人遺憾的一點是轉換SNN的視野大多專注於發展新結構的轉換方法和縮小與ANN之間的性能差異,而不在於對SNN特質的探究,對SNN發展的直接推動較為有限。

  近年來,由於誤差反向傳播算法在深度神經網絡中獲得了廣泛的成功,不少工作也開始重新考慮將其用於SNN端對端直接訓練的可能性,而且在解決第3節之初提及的BP算法不應症上亦取得了一些進展。關於weight transport問題,Lillicrap等與Baldi等發現,反向連接對前傳權重的精確獲取,對於BP算法的有效實施可能並非不可或缺,通過將誤差信號乘以隨機權重實行的RBP (random backpropagation)並不會顯著地影響學習表現。這對於誤差信號在大腦中可能的利用形式提出了新的見解,適應脈沖形式的RBP也見諸報道。另一個在BP過程中突出面臨的問題仍是脈沖函數可導性質的缺乏,目前較為常見的解決方案是采用與之相近的連續函數對脈沖函數或其導數進行替代,進而產生基於脈沖的反向傳播算法(spike-based BP),相關綜述可見Neftci等的工作。在具體函數形式選擇與算法實現上,直接訓練算法表現得較為多樣化。例如:在Lee等的工作中,梯度求導主要圍繞膜電勢展開,脈沖輸入采用低通濾波下的形式對膜電勢產生連續影響,而膜電勢存在的突變被視為噪聲忽略處理;Jin等提出了HM2-BP算法(hybrid macro/micro level backpropagation),將SNN中的誤差反向傳播解構為微觀上脈沖序列引起的突觸后電位改變,以及宏觀上由頻率編碼定義的損失函數反向傳播這兩個過程;S4NN方法采用首個脈沖時間編碼,通過近似誤差梯度得出了基於脈沖時延的BP算法,但網絡內神經元受限僅能進行單次脈沖發放;Wu等基於近似脈沖函數導數的方式,提出了一種在SNN中兼顧空間域和時間域的反向傳播算法STBP (spatio-temporal backpropagation, STBP),首先報道了在CIFAR-10數據集上實現高性能深層SNN直接訓練的成果,隨后的工作借助STBP進一步探索了SNN相較於ANN所具有的優勢,在包含時空信息的數據流(例如N-MNIST與DVS-CIFAR10)處理上,SNN表現出以較低的計算開銷獲得比ANN更高任務性能的能力;Lee等將LIF神經元的導數處理為兩個部分,首先采用不包含電位泄露特性的IF神經元的近似導數,再添加相應的泄露校正進行補償,實現了在VGG以及ResNet等結構上對SNN的直接訓練。

  應當指出的是,現有的直接訓練算法在深層結構上的應用仍有待探索,與轉換SNN或者ANN的發展現狀之間依然存在一定的差距。這一方面是因為當前編程框架下SNN額外的時間維度將造成數倍於同規模ANN的訓練顯存需要,並且由於閾值激發特性與脈沖的稀疏性,當SNN趨於深層時可以預見的是仿真周期的延長,這將進一步提升對顯存的需求;另一方面,深層網絡訓練的難點(例如梯度消失)在SNN結構中同樣存在,而部分利於深度神經網絡訓練的技巧在SNN上進行簡單移植時將破壞其保有的優勢特征(例如批歸一化手段可能造成SNN通信的脈沖形式無法得到保證)。這兩點造成了深度訓練算法的缺失,使得SNN無法在大規模數據集上獲得足夠令人信服的證據表現。因此未來一段時間內,高效深層SNN訓練算法仍將是一塊能夠真正叩開深度學習社區大門的敲門磚。表1對SNN算法在不同數據集上的表現進行了總結。

 

3.4 其他脈沖神經網絡學習算法

 

4 脈沖神經網絡編程工具

  脈沖神經網絡編程工具是用於幫助脈沖神經網絡實現快速仿真、網絡建模及學習訓練的軟件平台。由於研究目標以及實現手段的差異,現階段存在多種脈沖神經網絡編程平台(見表2)。不同的平台對脈沖神經元的生物特性的描述粒度、網絡的功能支持及網絡的模擬計算效率有很大差異。

  Neuron和Genesis是一類通用的用於模擬脈沖神經元及神經網絡生物學特性的仿真平台。這類平台提供了用戶友好的圖像化接口及豐富的功能模塊來實現高仿真特性的行為及神經元模型模擬,例如具有不同的形態學細節及功能的多房室神經元模型。此類平台主要基於C++語言並支持導入多種外接功能包以實現不同的任務需求。然而,目前此類平台主要支持同類型的大規模神經網絡模擬,較難實現同時具有多類不同神經元的大規模網絡模擬。

  Nest和Brian是一類高度靈活、可拓展的脈沖神經網絡編程平台。它可以靈活地支持多房室的突觸連接模型及多種不同類型的神經元模型(如LIF模型、Hodgkin-Huxley模型等),以及同時存在不同類神經元的大規模網絡模擬。此外,此類平台還支持部分脈沖神經網絡的仿生學習,例如Hebbian、STDP學習。該類平台支持將模擬結果寫入文件,以便可以使用Matlab、Mathematica等工具交互,同時也支持利用多處理器和計算機群集來增加可用內存或加快仿真速度。

  NeuCube和Nengo是專注於脈沖神經網絡高級行為模擬的編程平台。它們也可以很好地支持基於多種不同神經元所構建的大型神經網絡,同時還支持對Matlab及Java等的交互,常被作為實現神經工程的基本框架以進行3D大腦腦區的功能及行為模擬。其中,Nengo是基於Python編寫的開源項目,提供了TensorFlow等深度學習加速平台的接口,以提高仿真速度及提供部分機器學習方法的使用。

  BindsNet和Spyketorch是主要面向脈沖神經網絡學習算法及應用的編程平台。該類平台為脈沖神經網絡在仿生學習、監督學習以及強化學習任務中的構建提供便利。由於此類平台主要基於Pytorch/Tensorflow等深度學習加速平台編寫而成,可直接利用其優化技術進行大規模加速模擬,同時也可以利用自動梯度求導機制對脈沖神經網絡進行學習和訓練。

 

5 神經形態計算平台

  神經形態的概念最早由加州理工學院的Mead提出,通過采用專用集成電路實現神經科學計算。本文中的神經形態計算平台主要指面向脈沖神經網絡的專用處理平台,如圖9所示。

  不同於傳統的馮·諾依曼處理器架構,神經形態計算平台通常采用"計算核→芯片→系統"的可擴展架構,許多計算核和芯片同時工作,通過一個路由網絡交換中間結果數據。整個系統通常沒有統一的外部存儲器,而是每個計算核有自己獨立的存儲空間,呈現去中心化的運行模式,從而具有極高的並行性和訪存效率。每個計算核模擬一定數量神經元和所對應突觸的功能行為,主要由幾大部分組成:軸突輸入緩存、突觸權重存儲、樹突輸入積分、胞體神經動力學、突觸連接路由網絡和突觸學習更新。其中:軸突用於緩存當前時刻的神經元輸出脈沖信息,作為下一時刻的輸入;突觸用於存儲神經元之間的連接權重信息;樹突對脈沖輸入信息進行加權積分;胞體負責更新神經元狀態(如膜電位等)並決定是否發放脈沖;路由網絡的存在主要是由於一個計算核和芯片不可能放下所有的神經元並實現物理直連,需要在每個計算核中加入路由單元以實現神經元發放數據的傳遞,這種數據搬運可能在核內。也可能在核間甚至芯片間;突觸學習更新主要用於改變突觸連接權重從而改變網絡功能,完成學習過程,該模塊根據場景需求進行取舍以及根據學習規則進行特殊設計。

  現有的神經形態計算平台,從功能上可以按照是否支持學習功能分為離線學習平台和在線學習平台,而從電路技術上則可以分為數模混合電路平台和全數字電路平台。按照此分類,圖10展示了現有主要的神經形態計算平台。

 

5.1 離線學習神經形態計算平台

  這里的離線學習是指脈沖神經網絡的參數(如權重) 已提前訓練完畢, 只需將模型部署至神經形態計算平台而在之后的運行過程中參數不再更新. 因此,離線學習神經形態計算平台實際上只支持脈沖神經網絡的推理過程,而不支持產生模型參數的訓練過程. 接下來, 將對基於數模混合電路和基於全數字電路的離線學習神經形態計算平台進行詳細介紹.

 

5.1.1 數模混合電路

  從20世紀末至21世紀初,開始出現基於模擬電路技術的視網膜、耳蝸與神經元等早期神經形態研究工作,為后來出現的基於模擬電路技術的神經形態計算平台奠定了基礎。由於路由網絡部分存在跨核和跨芯片的長程數據傳輸,難以用模擬電路精確完成,即便計算核主要采用模擬電路技術完成,路由網絡仍會采用數字電路技術,總體呈現數模混合的架構特點。傳統基於數模混合電路的離線學習神經形態計算平台的典型代表是美國斯坦福大學的Neurogrid和瑞士蘇黎世大學的DYNAPs,如圖11所示。

 

5.1.2 全數字電路

 

5.2 在線學習神經形態計算平台

  與離線學習神經形態計算平台不同,在線學習神經形態計算平台在脈沖神經網絡模型運行過程中支持參數的更新;而與離線學習神經形態計算類似的是,在線學習神經形態計算平台也包括基於數模混合電路和基於全數字電路兩大類。

 

5.2.1 數模混合電路

 

5.2.2 全數字電路

 

6 總結與展望

  大腦始終是人工智能的指向標與目的地。此篇綜述的目的是讓讀者能夠全面了解在脈沖神經網絡領域中圍繞神經元模型、訓練算法、編程框架、數據集以及硬件芯片五大方面已經取得的歷史成果以及未來可能的發展方向,並期待通過跨學科的思想交流與合作研究,加快邁向人工通用智能目標的步伐。

  在本篇綜述中,首先介紹了脈沖神經網絡的構成要素及其生物學淵源。SNN對於神經元脈沖特征及相應動力學的保留構成了它與ANN的基本差異,面向不同目的的仿真研究能夠有針對性地使用不同精細度的建模層次。脈沖序列是SNN中信息傳遞的載體,在其上神經元擁有豐富的編碼方式。但是當前相當數量的SNN算法僅對頻率編碼給予關注,而這一編碼方式無視於序列內部的時間結構,很可能無法發揮SNN在時域信息處理上的優勢。因此,適應於高信息密度時間編碼的算法設計是目前有待探索的方向。

  在算法部分,將現有的SNN訓練算法划分為兩個主要方向。以STDP為代表的仿生無監督算法較好地遵循了大腦中神經元連接的強度調整規律,能夠通過局部學習有效地進行特征提取。有監督訓練算法針對脈沖函數的不可導性質提出了不同的解決方案,主要通過Widrow-Hoff規則或近似BP算法兩種方式實現。相較於無監督算法,它們在生物合理性上有所缺失,BP算法更是面臨weight transport問題,但引入作為監督信號的標簽信息使得在相同數據集上的表現得到提升並更加支持網絡向深層結構進行擴展。現有的算法在生物合理性與性能表現、模型容量之間始終存在矛盾,對此,Tavanaei等提出了BP-STDP算法,希望獲得兼具可塑性規則的生物合理性與梯度下降方法最優性訓練能力的綜合算法。但整體而言,BP-STDP並不具有STDP局部學習與時間依賴的特點,其內核仍是梯度下降方法。對生物合理性與性能表現、模型容量兩方面的有機結合依然會是SNN算法領域不懈的追求目標。另外,相較深度學習發展現狀而言,當前SNN在真正大規模的深層網絡訓練算法上仍有亟待填補的空白。例如STBP等直接訓練算法在仿真周期、模型性能以及網絡規模上綜合表現較優,可能能夠作為未來SNN訓練算法持續發展的途徑,但是,在深度神經網絡訓練中存在的梯度消失、資源開銷大甚至算法不收斂等問題都有待於進一步確認與探討。

  轉換SNN是針對時新深度學習成果進行SNN轉化的一種快捷方式,在網絡性能上擁有接近原始ANN網絡的表現,但較長的仿真周期以及原始模型的額外約束使其受到一定的掣肘。從模型壓縮的角度而言,SNN化的過程也是一種針對激活值進行的極端量化,在ANN中存在二值網絡(binary neural network, BNN)等具有相似理念的工作,而對於二者之間的聯系與差異以及額外時間維度可能造成的影響,目前還沒有較為明確的闡述。SNN神經元所具有的閾值發放特性可能使其對模型壓縮算法具有更高的接受度,因此,與權重量化、剪枝等壓縮算法的結合也有待探索,以使SNN計算效率優勢得到進一步發揚與利用。

  在ANN的發展歷程中,數據集與編程工具都是領域發展與社區建設中不可或缺的驅動力,然而,目前與SNN相配套的二者仍處於較為初級的發展階段。在ANN領域的靜態圖片數據集上,SNN的表現通常不如ANN,但有研究表明一味地在該類數據集上以單標准衡量SNN是不明智的,在包含更多動態時間信息且天然具有脈沖信號形式的數據集中,SNN完全可以在性能以及計算開銷上取得更優的成績。通過神經形態視覺傳感器獲得的數據集是當下SNN數據集的主流,但並不排除可能有其他更合適的數據來源仍待探索。在圖像識別任務之外,希望能夠發展出面向多樣化任務的時空事件流數據集,最終為SNN提供廣泛且公允的測試對比基准,並進一步挖掘SNN的潛在優勢與可能的應用場景。編程工具則極大地關系到領域准入門檻的有效降低以及大規模SNN工程的高效開發,為SNN的科學研究與工業部署提供實質性的支撐。

  神經形態硬件作為遭遇馮·諾依曼瓶頸與摩爾定律失效的情況下對傳統數字電路的一種替代計算范式,成為研究熱點已經有十余年的歷史,並取得了豐碩的成果。通過從大腦的結構和功能中汲取靈感,神經形態硬件為SNN中基於脈沖事件驅動的計算提供了高效的解決方案,實現了大量並行和超低功耗等重要特性。本文認為,在神經形態器件自身進行架構創新、繼續追求更高能效的基礎上,針對現有硬件平台探索各種優勢技術的結合,是另一個需要深入鑽研的重要方向。這種交叉融合可能體現在多個角度,例如低精度憶阻器與高精度數字電路的混合精度計算、ANN與SNN兩類范式異構融合提升總體性能、高效率低准確率的無監督局部學習與高准確率低效率的有監督全局學習相結合的全能訓練平台等等。此外,也同樣期待神經形態計算平台能夠像GPU之於機器學習一樣,為SNN的推理與訓練提供靈活高效的加速支撐,進而促進對SNN模型的探索,催化新興SNN算法的誕生。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM