脈沖神經(jīng)網(wǎng)絡(Spiking Neural Network, SNN)被譽為第三代神經(jīng)網(wǎng)絡,使用更低層次的生物神經(jīng)系統(tǒng)的抽象,既是神經(jīng)科學中研究大腦原理的基本工具,又因其稀疏計算、事件驅動、超低功耗的特性而備受計算科學的關注。隨著深度學習方法的引入,SNN的性能得到大幅度提升,脈沖深度學習(Spiking Deep Learning)成為新興的研究熱點。傳統(tǒng)SNN框架更多的關注生物可解釋性,致力于構建精細脈沖神經(jīng)元并仿真真實生物神經(jīng)系統(tǒng),并不支持自動微分,無法充分利用GPU的大規(guī)模并行計算能力,也缺乏對神經(jīng)形態(tài)傳感器和計算芯片的支持。
為了解決上述問題,中國科學院自動化研究所李國齊研究員與北京大學計算機學院田永鴻教授團隊合作構建并開源了脈沖神經(jīng)網(wǎng)絡深度學習框架SpikingJelly(中文名:驚蜇)。SpikingJelly(驚蜇)提供了全棧式的脈沖深度學習解決方案,支持神經(jīng)形態(tài)數(shù)據(jù)處理、深度SNN的構建、替代梯度訓練、ANN轉換SNN、權重量化和神經(jīng)形態(tài)芯片部署等功能。
SpikingJelly(驚蜇)框架具有以下幾個方面的主要優(yōu)勢。
第一,簡單易用。脈沖深度學習作為計算神經(jīng)科學與深度學習的交叉學科,要求研究者同時掌握兩個領域的知識體系,但實際情況是研究者可能只對一個領域有深度了解。SpikingJelly(驚蜇)框架提供了簡單易用的PyTorch風格的API、中英文雙語編寫的教程、活躍友善的討論社區(qū),常用的網(wǎng)絡模型和訓練腳本也一并給出,研究者可以快速進行跨領域的學習和使用,通過寥寥數(shù)行代碼輕松構建并訓練深度SNN。
第二,擴展性強。通過模仿真實生物神經(jīng)系統(tǒng)或借鑒人工神經(jīng)網(wǎng)絡的成熟經(jīng)驗,改進和提出新的SNN算法和模型,這種研究范式已經(jīng)被廣泛使用,成果頗豐。研究者期望能夠自由地定義和擴展新模型,僅需少量代碼改動就對模型行為產生巨大改變,這一開發(fā)理念與SpikingJelly(驚蜇)的設計哲學不謀而合。SpikingJelly(驚蜇)中的絕大多數(shù)模塊都是通過層次清晰的多重繼承實現(xiàn),這既為開發(fā)者降低了開發(fā)成本,也給用戶提供了完美的定義新模型的范例。
第三,性能卓越。深度學習涉及大規(guī)模數(shù)據(jù)處理、大尺度模型訓練,脈沖深度學習亦不例外。而SNN特有的額外的時間維度,使其具有更高的計算復雜度,因而脈沖深度學習對計算資源的需求更高??紤]到ImageNet這樣百萬規(guī)模樣本的數(shù)據(jù)集已經(jīng)在SNN中廣泛使用,研究者愈發(fā)關注網(wǎng)絡的訓練速度。SpikingJelly(驚蜇)充分利用SNN的特性,通過計算圖遍歷順序優(yōu)化、JIT (just-in-time compilation, 即時編譯)、半自動CUDA代碼生成等技術來加速SNN仿真,與其他框架相比可達11倍的訓練加速。第三方獨立社區(qū)Open Neuromorphic組織對多個SNN框架進行了精細的速度基準測試,參與評測的框架除了SpikingJelly(驚蜇)還包括來自Intel、SynSense時識科技、加州大學圣克魯斯分校、海德堡大學、瑞典皇家理工學院等科技公司和學術機構的框架,結果表明SpikingJelly(驚蜇)具有最快的仿真速度,比其他框架快10倍以上。
SpikingJelly(驚蜇)框架自2019年冬季一經(jīng)推出就受到了研究者們的歡迎和廣泛使用,基于SpikingJelly(驚蜇)的研究工作已經(jīng)大量出版,將SNN的應用從簡單的MNIST數(shù)據(jù)集分類擴展到人類水平的ImageNet圖像分類、網(wǎng)絡部署、事件相機數(shù)據(jù)處理等實際應用。此外,一些尖端前沿領域的探索也被報道,包括可校準的神經(jīng)形態(tài)感知系統(tǒng)、神經(jīng)形態(tài)憶阻器、事件驅動加速器硬件設計等。目前有超過95篇公開論文使用SpikingJelly(驚蜇)框架進行實驗,其中25篇發(fā)表在CCF-A類人工智能頂級會議,5篇發(fā)表在IEEE Transactions,1篇發(fā)表在Nature Communications。以上應用和研究表明,SpikingJelly(驚蜇)的開源,極大促進了脈沖深度學習領域的發(fā)展。
介紹SpikingJelly (驚蜇)框架的論文SpikingJelly: An open-source machine learning infrastructure platform for spike-based intelligence于2023年10月6號在Science子刊《科學進展》(Science Advances)在線發(fā)表。北京大學計算機學院田永鴻教授、中國科學院自動化研究所李國齊研究員為論文共同通訊作者,北京大學計算機學院直博生方維為論文第一作者。國家自然科學基金、鵬城云腦網(wǎng)絡智能重大科技基礎設施項目、北京市自然科學基金為此項研究提供了資助。SpikingJelly(驚蜇)框架在2020-2022連續(xù)三年獲得科技部領導的啟智社區(qū)優(yōu)秀開源項目,啟智社區(qū)亦為框架的發(fā)展提供了大力支持。
圖1. SpikingJelly論文發(fā)表于Science Advances
圖2. SpikingJelly(驚蜇)框架的整體結構、示例代碼、仿真速度、生態(tài)位以及典型應用
圖3. SpikingJelly(驚蜇)框架中的典型模塊
圖4:SpikingJelly(驚蜇)框架的典型應用
論文網(wǎng)址:
https://www.science.org/doi/full/10.1126/sciadv.adi1480
SpikingJelly(驚蜇)框架網(wǎng)址:
GitHub: https://github.com/fangwei123456/spikingjelly
啟智社區(qū): https://openi.pcl.ac.cn/OpenI/spikingjelly
來源:中國科學院自動化研究所