最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

讀論文Spiker: an FPGA-optimized Hardware accelerator for Spiking Ne

2023-07-02 16:09 作者:惡人老李  | 我要投稿

題目

Spiker:用于Spiking神經網絡的FPGA優(yōu)化硬件加速器

來自意大利

摘要

脈沖神經網絡(SNN)是一種新興的可行生物性和高效的人工神經網絡(ANN)類型。本研究介紹了一種針對Xilinx Artix-7可編程門陣列(FPGA)的SNN硬件加速器的開發(fā)。神經元內部使用的模型是漏電積分與發(fā)放(LIF)模型。該加速器的執(zhí)行是時鐘驅動的,意味著神經元的內部狀態(tài)在每個時鐘周期更新,即使沒有脈沖產生也這樣做。使用MINST數(shù)據(jù)集評估了加速器的推理能力。訓練是在一個完整精度的模型上離線進行的。結果顯示,與最先進的加速器相比,在性能上有顯著改進,每個圖像需要215μs。能量消耗略高于最優(yōu)化設計,平均為每個圖像13mJ。測試設計包括四百個神經元的單層,并使用FPGA上可用資源的約40%。這使其適用于邊緣的時間受限應用,同時為FPGA上的其他加速任務留出空間。

關鍵詞

SNN,LIF,MNIST,FPGA,神經加速

引言


人工神經網絡是一種復雜的計算學習模型,通常利用企業(yè)數(shù)據(jù)中心和公共云基礎設施的計算能力來加快訓練和推理。然而,基于云的人工神經網絡模型顯示出其局限性[1]。通過互聯(lián)網移動大量數(shù)據(jù)意味著沿著通信信道傳播的相當大的能量開銷。

通信意味著不可忽略的延遲,與性能受限的應用程序(例如實時系統(tǒng))不兼容。隨著物聯(lián)網(IoT)的日益普及,這可能會造成一個嚴重的瓶頸,這有可能使面向集中式服務器的網絡通信飽和[2]。最后,出于安全原因,有些應用程序中的數(shù)據(jù)必須保持在本地。

所有這些因素都促使部分(如果不是全部的話)ANN處理向網絡的邊緣移動,更接近數(shù)據(jù)的來源和需要響應的地方。

然而,當Ann部署在邊緣時,它們不能具有與云中相同的計算能力,因為云中有高性能GPU和計算核心。

專門的加速器可以彌補這一差距,以加快邊緣的人工神經網絡推理[3]。然而,僅憑硬件加速不足以充分受益于邊緣Ann的力量。學習模式必須適應這種新的有限環(huán)境。

在卷積神經網絡(CNNs)這一占主導地位的人工神經網絡模型中,每個神經元在每個周期都需要進行多次計算(主要是乘法和累加)。這創(chuàng)建了一個適合大規(guī)模并行實現(xiàn)的模式,但浪費了資源。此外,如果人工神經網絡的目標是模仿人腦的行為,那么這個模型與生物模型相去甚遠。Spiking Neural Networks(SNN)是一種新興的基于事件的神經網絡,可以在這個意義上有所作為[4]。在SNN中,神經元之間的信息以二進制尖峰的形式交換,從而最大限度地減少了連接網絡中神經元的資源。

此外,時間被視為輸入中的附加維度,這使得SNN更適合處理時間序列。

過去,SNN主要在CPU上使用軟件框架(如Brian/Brian2[5])或基于GPU的框架(如CARLsim4[6])來實現(xiàn)。由于這些計算架構不能有效地支持SNN的稀疏特性,因此已經提出了特定的ASIC處理器,例如,來自IBM[7]或SpiNNaker[8]的TrueNorth。當硬件資源有限時,現(xiàn)場可編程門陣列(FPGA)提供了一種很好的技術,可以在同一硬件塊上實現(xiàn)多個加速器,以加速不同的任務,這要歸功于它們的現(xiàn)場可編程性[9,10,11,12,13,14]。然而,現(xiàn)有的設計仍然面臨著復雜性,這可能會阻礙在邊緣部署廣泛的網絡。

本文介紹了Spiker,一種基于FPGA的新型SNN硬件加速器,它使用著名的漏電積分與發(fā)放(LIF)神經元模型進行離線訓練。Spiker的目標是將架構的大小最小化,并最大限度地提高允許的并行性,以適應邊緣的性能受限應用,從而減少所需的執(zhí)行時間。通過引入精心設計的近似方法,減小了神經元的大小。所設計的加速器使用目標數(shù)據(jù)集為MNIST [15]進行評估。訓練是在離線環(huán)境中進行的,使用全精度模型,并采用時序相關塑性(STDP)無監(jiān)督學習方法[16]。相反,推理是在具有簡化神經元結構的加速器上執(zhí)行的。實驗結果顯示,與全精度對應物相比,這種簡化模型引入了輕微的準確性損失,提供了高吞吐量,并且保持了低硬件復雜性。

背景

Spiking神經網絡最早出現(xiàn)在計算神經科學中,用于模擬生物神經元的行為。神經元的身體(圖1-a),也稱為胞體,其特征是與跨膜電壓(即膜電位)相關的內部狀態(tài)。

在神經元(即樹突)的輸入端接收的刺激(即信號尖峰)可以改變膜電位。

特別是興奮性刺激會導致膜電位增加,而抑制性刺激會降低膜電位。如果電位超過閾值,就會產生動作電位。

動作電位是膜電壓的突然增加,然后迅速趨向于其靜止值[17]。

這產生了通過輸出端子(即軸突)傳播到其他神經元的電壓尖峰。

歷史上,有很多建模方法,但是始終有矛盾性

精確性高,建模就復雜

建模簡單,精確性就低

最后權衡之下,LIF目前有不錯的表現(xiàn),全稱叫

?Leaky Integrate and Fire?

讓ChatGPT詳細解釋一下:

Leaky Integrate and Fire(LIF)是一種常見的神經元模型,用于描述神經元的行為。它是基于一種簡化的假設,即神經元的活動可由簡單的積分和發(fā)放過程來表示。

- "Leaky(漏電)"指的是神經元在不受刺激時會逐漸喪失電勢(膜電位)的特性。這是由于細胞膜上存在一個不完全封閉的離子通道,使電荷在時間上會逐漸漏出。

- "Integrate(積分)"表示神經元對輸入信號進行線性積分(加權求和)的過程。神經元接收到來自其他神經元的輸入,并將它們加權求和,形成總體輸入信號。

- "Fire(發(fā)放)"表示當神經元的電勢超過某個閾值時,會產生一個脈沖輸出,即神經元發(fā)放。

LIF模型的引申來自對生物神經元的觀察和實驗,更復雜的模型可能會包括更多的生物細節(jié)和機制。LIF模型是一種常見的簡化模型,因為它在解釋神經元的基本行為和計算功能方面具有很好的效果,并且在計算神經科學和人工神經網絡領域中被廣泛使用。

解釋的很到位!

尖峰時間依賴可塑性(STDP)是SNNs中最常用的學習算法之一[16]。這種受生物學啟發(fā)的學習規(guī)則根據(jù)突觸前和突觸后尖峰的相對時間來修改突觸強度(即權重)。由于加速器是為推理而設計的,因此本工作中沒有報告學習過程的細節(jié)。用戶可以自由決定能夠達到期望目標的訓練方法,例如準確性或生物學合理性。

結構




讀論文Spiker: an FPGA-optimized Hardware accelerator for Spiking Ne的評論 (共 條)

分享到微博請遵守國家法律
万全县| 浮山县| 老河口市| 商洛市| 邢台市| 兰溪市| 宜兴市| 凤冈县| 九龙城区| 广州市| 余姚市| 阜康市| 永嘉县| 蓬莱市| 乐山市| 寻甸| 上杭县| 麻城市| 斗六市| 霸州市| 望奎县| 扬中市| 延寿县| 许昌县| 赫章县| 长春市| 苏州市| 固原市| 宜丰县| 长岭县| 周口市| 中卫市| 缙云县| 河西区| 罗城| 临桂县| 浦城县| 明水县| 谢通门县| 将乐县| 赤城县|