那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

介紹幾個脈沖神經網絡的開源項目

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-05-31 09:23 ? 次閱讀

脈沖神經網絡( Spiking neural network-SNN ) 是更接近自然神經網絡的人工神經網絡。除了神經元和突觸狀態之外,SNN 還將時間概念納入其操作模型。這個想法是, SNN 中的神經元不會在每個傳播周期傳輸信息(就像典型的多層感知器網絡一樣),而是僅在膜電位發生時才傳輸信息 - 與膜電荷相關的神經元的內在質量 - 達到特定值,稱為閾值。當膜電位達到閾值時,神經元會放電,并產生一個信號,該信號傳播到其他神經元,這些神經元又會根據該信號增加或降低它們的電位。在閾值交叉時觸發的神經元模型也稱為脈沖神經元模型。

3588ec0c-e07f-11ec-ba43-dac502259ad0.png

SNN 原則上可以應用于與傳統 ANN 相同的應用。此外,SNN 可以模擬生物有機體的中樞神經系統,例如在事先不了解環境的情況下尋找食物的昆蟲。由于它們的相對真實性,它們可用于研究生物神經回路的運作。從關于生物神經元電路的拓撲結構及其功能的假設開始,可以將該電路的記錄與相應 SNN 的輸出進行比較,從而評估該假設的合理性。然而,SNN 缺乏有效的訓練機制,這可能會抑制某些應用,包括計算機視覺任務。

35b93b8c-e07f-11ec-ba43-dac502259ad0.png

基于 FTJ 的人工突觸

下面介紹幾個SNN的開源項目。

關于CNN vs. RNN vs. ANN區別,請看下文:

35ead3ea-e07f-11ec-ba43-dac502259ad0.png

https://www.analyticsvidhya.com/blog/2020/02/cnn-vs-rnn-vs-mlp-analyzing-3-types-of-neural-networks-in-deep-learning/

https://zhuanlan.zhihu.com/p/107993566

ODIN Spiking Neural Network (SNN) Processor

https://github.com/ChFrenkel/ODIN

363a5aa0-e07f-11ec-ba43-dac502259ad0.png

項目介紹

ODIN 是一種在線學習數字脈沖神經處理器,在 2019 年發表在IEEE Transactions on Biomedical Circuits and Systems期刊上,在魯汶天主教大學 ( UCLouvain ) 采用 28 納米 FDSOI CMOS 設計和原型制作。ODIN 基于單個 256 神經元 64k 突觸橫桿神經突觸核心,具有以下關鍵特性:

基于脈沖依賴的突觸可塑性 (SDSP) 在線學習,

神經元可以再現 20 種 Izhikevich 行為。

36892b08-e07f-11ec-ba43-dac502259ad0.png

因此,ODIN 是一個用于邊緣學習的多功能實驗平臺,同時與所有先前提出的尖峰神經網絡 (SNN) 相比,記錄神經元和突觸密度更高。

36d9644c-e07f-11ec-ba43-dac502259ad0.png

使用源代碼時,請引用相關論文:

https://arxiv.org/pdf/1804.07858.pdf

同時該項目也有詳細的設計文檔:

https://github.com/ChFrenkel/ODIN/tree/master/doc

HedgeHog-Fused-Spiking-Neural-Network-Emulator-Compute-Engine

https://github.com/jerry-D/HedgeHog-Fused-Spiking-Neural-Network-Emulator-Compute-Engine

用于 RISC-V 的 HedgeHog 融合脈沖神經網絡仿真器/計算引擎(有FPGA驗證)

374dd3e0-e07f-11ec-ba43-dac502259ad0.png

介紹

在 Xilinx Kintex Ultra Plus 中運行時鐘頻率約為 100MHz,它可以執行大約 312qty。每個時鐘周期的浮點運算約每秒 310 億次浮點運算。指令集中的累積和激活位可以連接8個神經元膜。如果你正在探索或試驗使用 RISC-V 作為主機 CPU 的 FPGA 嵌入式 AI 應用程序的脈沖神經網絡,那么 SYMPL HedgeHog 非常適合你。

這是有關 HedgeHog FSNN 模擬器/計算引擎的 .pdf 信息表:

https://github.com/jerry-D/HedgeHog-Fused-Spiking-Neural-Network-Emulator-Compute-Engine/blob/master/HedgeHog.pdf

在 Xilinx Vivado IDE 中進行仿真

Vivado需要的所有 Verilog RTL 源文件都位于此存儲庫的“RTL”、“ASM”、“test bench”和“sim”文件夾中。頂級模塊是“HedgeHog.v”。建議第一次在 Vivado 中創建項目時,選擇 Xilinx Kintex Ultra+ xcku5p-ffvd-900-3-e 作為目標器件。在 Vivado 中創建項目后,需要設置“HedgeHog.v”為項目“Top”文件。

下一步是將“SpiNNe_tb.v”測試文件拉入 Vivado 作為激勵。然后向下滑動到“Simulation Sources”>“sim_1”,對測試文件“SpiNNe_tb.v”執行與“HedgeHog”相同的操作,在仿真源中將其設置為“top”。

完成后,單擊“運行仿真”。之后,會注意到仿真失敗。這是因為仿真需要“spikeDemo.HEX”程序來執行 HedgeHog。為了解決這個問題,將“spikeDemo.HEX”文件粘貼到仿真工作目錄中:“C:projectNameprojectName.simsim_1ehavxsimspikeDemo.HEX”,在“ASM”文件夾中可以找到匯編語言源代碼和對象列表。

379f6598-e07f-11ec-ba43-dac502259ad0.png

接下來,演示仿真,它只是將一系列脈沖推入 HedgeHog,需要“spike_trains.txt”尖峰輸入文件和位于“sim”文件夾中的“weights.txt”文件,因此將這兩個文件粘貼到與放置“spikeDemo .HEX”文件的工作目錄相同。

完成后,再次單擊“運行仿真”按鈕以啟動仿真即可看到仿真結果。

該項目還有很多詳細的設計文檔,就不一一說明了。

37de5de8-e07f-11ec-ba43-dac502259ad0.png

CSE237D-PYNQ-SNN-Accelerator

https://github.com/snagiri/CSE237D-PYNQ-SNN-Accelerator

38001136-e07f-11ec-ba43-dac502259ad0.png

383b73de-e07f-11ec-ba43-dac502259ad0.png

脈沖神經網絡在 PYNQ-Z1 板上的硬件實現

S2NN-HLS

https://github.com/eejlny/S2NN-HLS

該項目提出了一種用于脈沖神經網絡的高性能架構,可優化在主存儲器中的配置數據的數據精度和流式傳輸。神經網絡基于 Izhikevich 模型,并使用HLS映射到 CPU-FPGA 混合設備。實驗表明,將電壓和頻率縮放應用于 DDR 存儲器和可編程邏輯可以分別將其能量需求降低高達 77% 和 76%。

詳細設計論文:

http: //dx.doi.org/10.1016 /j.micpro.2017.06.018。

Conversion from CNNs to SNNs

https://github.com/Dengyu-Wu/spkeras

38c3358a-e07f-11ec-ba43-dac502259ad0.png

SpKeras 可以通過以下步驟獲取和評估基于速率的脈沖神經網絡 (SNN):

使用 Tensorflow-keras 預訓練卷積神經網絡 (CNN)

使用 SpKeras 將 CNN 轉換為 SNN

評估 SNN 并獲取參數,例如權重、偏差和閾值

其他

https://github.com/oshears/SNN-FPGA-Implementation

https://github.com/jasha64/SNN-FPGA

https://github.com/Minz9/SNN-on-FPGA

https://github.com/oshears/fpga_snn_models

總結

今天介紹了主要3個SNN的項目,主要是SNN復雜度較TPU或者CNN或者DNN又高了幾個臺階,所以用它來直接對FPGA進行移植難度很大,建議對第一個前三個項目進行研究,其他都不怎么推薦(想研究也沒有文檔)。

關于DNN或者CNN或者SNN也介紹了幾十個項目了,后面可能就不會出神經網絡的項目了,感覺大家也看膩了,后續會出一些視頻處理或者圖像處理的項目。

最后還是強推一波官方神經網絡加速的項目:

官方提供的各種案例也是基本覆蓋了常規應用。

最后,還是感謝各個大佬開源的項目,讓我們受益匪淺。后面有什么感興趣方面的項目,大家可以在后臺留言或者加微信留言,今天就到這,我是爆肝的碎碎思,期待下期文章與你相見。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4781

    瀏覽量

    101175
  • 神經元
    +關注

    關注

    1

    文章

    363

    瀏覽量

    18511

原文標題:優秀的 Verilog/FPGA開源項目介紹(二十四)- 脈沖神經網絡 (SNN)

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    人工神經網絡的原理和多種神經網絡架構方法

    在上一篇文章中,我們介紹了傳統機器學習的基礎知識和多種算法。在本文中,我們會介紹人工神經網絡的原理和多種神經網絡架構方法,供各位老師選擇。 01 人工
    的頭像 發表于 01-09 10:24 ?361次閱讀
    人工<b class='flag-5'>神經網絡</b>的原理和多種<b class='flag-5'>神經網絡</b>架構方法

    LSTM神經網絡的結構與工作機制

    的結構與工作機制的介紹: 一、LSTM神經網絡的結構 LSTM神經網絡的結構主要包括以下幾個部分: 記憶單元(Memory Cell) : 記憶單元是LSTM
    的頭像 發表于 11-13 10:05 ?598次閱讀

    分享幾個用FPGA實現的小型神經網絡

    今天我們分享幾個用FPGA實現的小型神經網絡,側重應用。
    的頭像 發表于 07-24 09:30 ?1311次閱讀
    分享<b class='flag-5'>幾個</b>用FPGA實現的小型<b class='flag-5'>神經網絡</b>

    脈沖神經網絡怎么訓練

    脈沖神經網絡(SNN, Spiking Neural Network)的訓練是一個復雜但充滿挑戰的過程,它模擬了生物神經元通過脈沖(或稱為尖峰)進行信息傳遞的方式。以下是對
    的頭像 發表于 07-12 10:13 ?719次閱讀

    BP神經網絡和人工神經網絡的區別

    BP神經網絡和人工神經網絡(Artificial Neural Networks,簡稱ANNs)之間的關系與區別,是神經網絡領域中一個基礎且重要的話題。本文將從定義、結構、算法、應用及未來發展等多個方面,詳細闡述BP
    的頭像 發表于 07-10 15:20 ?1306次閱讀

    rnn是遞歸神經網絡還是循環神經網絡

    RNN(Recurrent Neural Network)是循環神經網絡,而非遞歸神經網絡。循環神經網絡是一種具有時間序列特性的神經網絡,能夠處理序列數據,具有記憶功能。以下是關于循環
    的頭像 發表于 07-05 09:52 ?654次閱讀

    遞歸神經網絡與循環神經網絡一樣嗎

    時具有各自的優勢和特點。本文將介紹遞歸神經網絡和循環神經網絡的概念、結構、工作原理、優缺點以及應用場景。 遞歸神經網絡(Recursive Neural Network,RvNN) 1
    的頭像 發表于 07-05 09:28 ?996次閱讀

    遞歸神經網絡是循環神經網絡

    遞歸神經網絡(Recurrent Neural Network,簡稱RNN)和循環神經網絡(Recurrent Neural Network,簡稱RNN)實際上是同一個概念,只是不同的翻譯方式
    的頭像 發表于 07-04 14:54 ?873次閱讀

    循環神經網絡和卷積神經網絡的區別

    循環神經網絡(Recurrent Neural Network,RNN)和卷積神經網絡(Convolutional Neural Network,CNN)是深度學習領域中兩種非常重要的神經網絡
    的頭像 發表于 07-04 14:24 ?1504次閱讀

    深度神經網絡與基本神經網絡的區別

    在探討深度神經網絡(Deep Neural Networks, DNNs)與基本神經網絡(通常指傳統神經網絡或前向神經網絡)的區別時,我們需要從多個維度進行深入分析。這些維度包括
    的頭像 發表于 07-04 13:20 ?1061次閱讀

    反向傳播神經網絡和bp神經網絡的區別

    反向傳播神經網絡(Backpropagation Neural Network,簡稱BP神經網絡)是一種多層前饋神經網絡,它通過反向傳播算法來調整網絡中的權重和偏置,以達到最小化誤差的
    的頭像 發表于 07-03 11:00 ?868次閱讀

    bp神經網絡和卷積神經網絡區別是什么

    BP神經網絡(Backpropagation Neural Network)和卷積神經網絡(Convolutional Neural Network,簡稱CNN)是兩種不同類型的人工神經網絡,它們在
    的頭像 發表于 07-03 10:12 ?1359次閱讀

    卷積神經網絡的原理是什么

    卷積神經網絡(Convolutional Neural Network,簡稱CNN)是一種深度學習模型,廣泛應用于圖像識別、語音識別、自然語言處理等領域。本文將詳細介紹卷積神經網絡的原理,包括其
    的頭像 發表于 07-02 14:44 ?809次閱讀

    卷積神經網絡和bp神經網絡的區別

    卷積神經網絡(Convolutional Neural Networks,簡稱CNN)和BP神經網絡(Backpropagation Neural Networks,簡稱BPNN)是兩種
    的頭像 發表于 07-02 14:24 ?4717次閱讀

    神經網絡架構有哪些

    、語音識別、自然語言處理等多個領域。本文將對幾種主要的神經網絡架構進行詳細介紹,包括前饋神經網絡、循環神經網絡、卷積神經網絡、生成對抗
    的頭像 發表于 07-01 14:16 ?868次閱讀
    91百家乐官网的玩法技巧和规则| 网上澳门| 微信百家乐官网群资源| 澳门顶级赌场手机在线链接| 新彩百家乐官网的玩法技巧和规则 | 蓝田县| 百家乐赌场合作| 百家乐官网送錢平臺| 大发888卡| 网上百家乐信誉度| 百家乐官网手机投注平台| 百家乐大光明影院| 风水24山详解| 百家乐官网大眼仔用法| 太阳城网上| 百家乐金海岸娱乐| 百家乐官网开户优惠多的平台是哪家| 大发888 dafa888 octbay| 百家乐走势图研究| 百家乐官网平台出租家乐平台出租| 大发888官方pt老虎机大咖炸金花网页扎金花| 利赢百家乐现金网| 澳门百家乐官网娱乐城注册| 做生意怎么看财位| 大发888缺少casino组件common| 百家乐网络赌博地址| 百家乐官网送錢平臺| 青河县| 大发888真钱娱乐场| 百家乐21点桌| 大哥大百家乐官网的玩法技巧和规则| 百家乐官网筹码样式| 大发888 大发888游戏平台| 百家乐水晶筹码| 百家乐官网7scs娱乐平台| 荃湾区| 大发888娱乐方| 百家乐路子| 24山什么来龙是真龙| 赌博百家乐官网判断决策| 在线真人娱乐城|