日韩专区第一页-日韩中文字幕在线亚洲一区-日韩中文字幕在线观看视频-日韩中文字幕在线播放-日韩中文字幕一区二区不卡-日韩中文字幕一区

OpenI 啟智社區(qū)

啟智社區(qū),確實給力

當(dāng)前位置:首頁 > 資訊 > 開發(fā)者分享 >

參與啟智社區(qū)開源項目心得分享——丁健豪

能夠參加開源項目是一個機緣巧合,當(dāng)時我正好在做ANN轉(zhuǎn)換SNN的研究。有一次開會的時候,老師突然說,要不你把你現(xiàn)在的工程實踐整理一下,放到師兄們開發(fā)的開源項目里面。當(dāng)時我正好在寫相關(guān)的代碼,因為實驗不成功,代碼已經(jīng)改版兩次了。所以毫不猶豫地,我就接下了這個活,因為我知道要是做好了這個模塊,就不需要重復(fù)造輪子了。之前其實也有相關(guān)的ANN轉(zhuǎn)SNN的代碼。在GitHub上有一個叫做NeuromorphicProcessorProject

/snn_toolbox的項目。但是這個項目更多地是面向神經(jīng)形態(tài)硬件的,代碼也沒有PyTorch版本,主框架是拿keras寫的。這就更加給了我開發(fā)的動力。其次,我覺得我們作為新一代研究者是有義務(wù)去推廣脈沖神經(jīng)網(wǎng)絡(luò)的。人工神經(jīng)網(wǎng)絡(luò)(ANN)就不用說了,大家都很熟悉。而SNN則是脈沖神經(jīng)網(wǎng)絡(luò)(”所謂的第三代神經(jīng)網(wǎng)絡(luò)”),在現(xiàn)在的人工智能語境中其實沒有那么受到重視。但是它有很多好的特性沒有被大家注意到,比如說脈沖神經(jīng)網(wǎng)絡(luò)相比于GPU運行沒有那么耗能源,而且在理論上的性能也是能夠等同圖靈機的。

ANN轉(zhuǎn)換SNN的研究能夠給深度學(xué)習(xí)和脈沖神經(jīng)網(wǎng)絡(luò)架起一座橋梁,我覺得這是一件特別有意思的東西。在師兄們開發(fā)好的框架上,我需要的就是利用現(xiàn)有的神經(jīng)元模型,構(gòu)建SNN,并且完成轉(zhuǎn)換的SNN的仿真工作。SpikingJelly中的神經(jīng)元模型,其實特別好用,我一直都是用PyTorch的,SpikingJelly的神經(jīng)元定義,就和在PyTorch中定義ReLU一樣,特別順滑。如果需要對神經(jīng)元進(jìn)行重置,也只需要調(diào)用resnet_net就好,特別方便。

盡管如此,開發(fā)過程中也走了挺多彎路。因為ANN-SNN轉(zhuǎn)換需要知道底層的PyTorch拓?fù)洌愃芌esNet這樣的),最重要的就是選擇一個合適的方式來處理PyTorch模型中的復(fù)雜拓?fù)洹jP(guān)于處理拓?fù)涞姆桨钙鋵嵾x擇了很久。最終,選擇了基于另一個開源項目,ONNX。PyTorch中有實現(xiàn)接口可以無縫轉(zhuǎn)換到ONNX模型。而且ONNX作為一個通用公用的模型表示方式可以使得今后其他框架的模型通過轉(zhuǎn)換為onnx表示之后也可以通過我們的框架轉(zhuǎn)換。這就使得我們的代碼在未來可以發(fā)揮更加廣泛的作用。

自從框架開源后,我們的貢獻(xiàn)得到了更多人的關(guān)注。我想這就是開源的意義所在吧。尤其我們的定位是科研。這意味著更多研究脈沖神經(jīng)網(wǎng)絡(luò)的科研院所可以通過我們的工作、通過ANN-SNN轉(zhuǎn)換的工作得到收獲。ANN-SNN轉(zhuǎn)換在SNN今后的研究中,可能更多地是一個baseline的存在,即便這樣,我想能夠做好這一件事情也是我們的榮幸。

作者:丁健豪