TWI766799B - 基於電流積分的存內脈衝神經網路 - Google Patents

基於電流積分的存內脈衝神經網路 Download PDF

Info

Publication number
TWI766799B
TWI766799B TW110132373A TW110132373A TWI766799B TW I766799 B TWI766799 B TW I766799B TW 110132373 A TW110132373 A TW 110132373A TW 110132373 A TW110132373 A TW 110132373A TW I766799 B TWI766799 B TW I766799B
Authority
TW
Taiwan
Prior art keywords
synaptic
neuron
voltage
bit
integrating capacitor
Prior art date
Application number
TW110132373A
Other languages
English (en)
Other versions
TW202213351A (zh
Inventor
楊閔昊
克里斯蒂安 恩茨
劉洪杰
Original Assignee
大陸商深圳市九天睿芯科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 大陸商深圳市九天睿芯科技有限公司 filed Critical 大陸商深圳市九天睿芯科技有限公司
Publication of TW202213351A publication Critical patent/TW202213351A/zh
Application granted granted Critical
Publication of TWI766799B publication Critical patent/TWI766799B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Semiconductor Memories (AREA)
  • Static Random-Access Memory (AREA)
  • Read Only Memory (AREA)

Abstract

本發明提出一種基於電流積分的存內脈衝神經網路,基於電荷域的計算與神經元的工作機制天然兼容。架構中突觸陣列的儲存器單元採用矽基的SRAM單元。提供了修改後的NVM單元也能從本發明所設計的存內脈衝神經網路的架構中受益。在突觸陣列採用SRAM單元作為儲存單元時,後神經元電路的設計與之相對應,使得在該存內SNN架構可以用於多位突觸權重的計算,並且組合的列數是可程式設計的。在多位突觸權重的計算中,將電路設計為資源共享的時間多路復用形式。最後,提出一種自動校準電路,抵消製程、電壓、溫度(PVT)等因素帶來的導通電流的變化。

Description

基於電流積分的存內脈衝神經網路
本發明屬於神經網路領域,更具體的,關於一種基於電流積分的存內脈衝神經網路。
受生物神經網路的啟發,神經形態計算,或者更具體地說,脈衝神經網路(Spiking Neural Network;SNN)被認為是當前流行的人工神經網路的一種有前途的未來進化。SNN利用脈衝在任意連接的一對神經元之間進行通訊(大多是單向的),且SNN中的神經元只有在接收或發出脈衝訊號時才處於活躍狀態,如果能保證脈衝活動的稀疏性,該獨特的事件驅動特性就有可能帶來顯著的節能效果。工業界和學術界一直在熱衷於研究SNN的電路和架構。近期的一些代表性例子如IBM的TrueNorth,是用互補金屬氧化物半導體(Complementary Metal Oxide Semiconductor;CMOS)電路器件組成生物學中的神經元的軸突、樹突、突觸,其關鍵模組核心是neurosynaptic核,即神經元突觸內核;此外還有英特爾的Loihi和清華大學的Tanjic(“天機芯”)等。在這些習知技術中,計算元素(即神經元),需要明確地從靜態隨機存取儲存器(Static Random Access Memory;SRAM)中讀出突觸權值,進行狀態更新計算,即膜電位計算。
與傳統的集中式儲存器和處理單元的范紐曼型架構相比,分布式儲存器有助於緩解數據通訊瓶頸,但每個處理元素(Processing Element;PE)可以看作是一個局部的馮-諾依曼處理器,具有局部處理單元(Local Processing Units;LPU)、局部儲存器、用於PE之間或者是全域數據通訊的路由等。但是與生物神經網路中的權重靜態數據流相比,此種架構在處理單元和本地儲存器之間來回重複移動數據(主要是突觸權重)所花費的能量仍然是一種浪費。
因此,存內計算的概念引起了很多人的關注。基於矽的傳統儲存器如靜態隨機存取記憶體(Static Random Access Memory;SRAM)、動態隨機存取儲存器 (Dynamic Random Access Memory;DRAM)和快閃儲存器(Flash);以及新興的非易失性儲存器(Non-Volatile-Memory;NVM),包括自旋矩隨機存取儲存器(Spin-Transfer Torque Magnetic RAM;STT-MRAM)、阻變隨機存取儲存器(Resisitive Random Access Memory;ReRAM)和相變儲存器(Phased-charge memory;PCM)等,都可以具備處理能力,並已經用於深度神經網路(Deep Neural Network;DNN)加速等應用。研究人員也開始將存內計算的概念應用到SNN上,但幾乎都是基於NVM單元。正如論文arXiv-2019-Supervised learning in spiking neural networks with phase-change memory synapses(以下簡稱“論文1”)所指出的,儘管NVM,例如PCM可以將多位訊息儲存在一個儲存元件/單元中,與單比特儲存在一個SRAM單元中相比,很大程度上提高了面積和潛在的能效,但NVM材料容易出現許多非理想性,如精度有限、隨機性、非線性、隨時間的傳導漂移等。相比之下,矽基晶體管的特性更加穩定。
習知技術中開始將SRAM等單元應用於交叉的突觸陣列,如中國專利CN111010162A提及交叉陣列中的單元可以是SRAM單元、CN109165730A提及可以採用6T SRAM、CN103189880B提及的突觸裝置包含的儲存器單元可以是SRAM,但是沒有進一步對in-SRAM的SNN架構以及採用SRAM單元後,突觸陣列與神經元電路的訊號傳遞設計。
因此,本領域亟需一種基於電流積分的存內脈衝神經網路,不需要在處理單元與儲存單元之間移動數據,採用存算一體的儲存單元是矽基的SRAM單元或者是NVM單元。
基於此,本發明提出了的一種基於電流積分存內脈衝神經網路,為實現上述目的,本發明採用如下的技術方案:
第一方面,提供了一種基於電流積分的存內脈衝神經網路,包括前神經元、突觸陣列、後神經元電路,包括: 所述突觸陣列被配置為接收前神經元輸入的脈衝訊號,突觸陣列由i*j個突觸電路組成,i為行數,j為列數;i,j均為大於等於1的正整數; 每一所述突觸電路包含一個儲存器單元; 所述儲存器單元由儲存一位突觸權重的傳統6T SRAM,以及用於讀取突觸權重的串聯著的2個晶體管組成,其中一個晶體管的柵極連接傳統6T SRAM中一個反相器的輸出,源極接高位準,漏極接另一晶體管源極,另一晶體管的柵極連接讀字線,漏極連接讀位線,讀位線上導通電流為突觸電路的輸出電流; 所述後神經元電路包含積分電容、比較器,每一個後神經元電路被配置為根據其連接的一列突觸電路的輸出電流在積分電容內的積分,基於積分電容兩端累積電壓與閾值電壓的比較結果激發給下一級神經元脈衝訊號。
本發明實施例中,儲存器單元是存算一體的,也可以說是存內計算。通過將習知技術中突觸陣列中的NVM單元替換為由儲存一位突觸權重的傳統6T SRAM,以及用於讀取突觸權重的串聯著的2個晶體管組成的單元,避免由電阻性NVM材料引起的非理想性。晶體管的導通電流在後神經元的電路內的積分電容上累積,得到的積分電容兩端的電壓與閾值電壓進行比較,這一過程中,突觸權重並不需要明確地從傳統6T SRAM中讀出,並基於比較結果決定是否激發給到下一層級神經元的脈衝,所述SNN架構採用在電荷域內計算的方式天然地兼容了神經元的工作方式,如IF神經元模型,突觸前膜傳遞的刺激訊號不連續地作用在後神經元的突觸後膜上,並在突觸後膜上累積,當突觸後膜累積的電壓超過閾值電壓,激發後神經元產生脈衝訊號,從而規避了電流域讀出的問題。
在一種可能的實施方式中,突觸陣列接收前一神經元電路的輸入是通過每一前神經元輸入的脈衝訊號連接一行突觸電路中的讀字線實現。
在一種可能的實施方式中,後神經元電路發出脈衝訊號後,積分電容兩端累積電壓復位到零,若積分電容一端接地,那麼積分電容兩端的累積電壓為積分電容上極板的電壓。
在一種可能的實施方式中,即使每個儲存單元只能儲存一位的突觸權重,但是第一方面的SNN架構也可用於多位突觸權重計算,根據突觸權重位數組合列數,每列對應突觸權重每位的位置,得到並行的比較器分別發出脈衝訊號,所述脈衝訊號分別由與比較器連接的紋波計數器收集,紋波計數器中的值根據所在位的位權移位相加,基於所有紋波計數器移位相加的和值與數字閾值的比較結果激發給下一級神經元脈衝訊號。組合列數是可程式設計的,其與突觸權值的位寬相同。
進一步地,在一種可能的實施方式中,為了提高採用SRAM單元時的面積效率和節省能效,組合的列數內,積分電容兩端的累積電壓通過時間多路復用的方式共用一個比較器的輸入端,根據開關選擇訊號選擇與閾值電壓比較的與所在位對應的累積電壓。
在一種可能的實施方式中,比較器輸出端連接一個暫存器,當比較器輸出為高時,則暫存器的輸出作為與其連接的加法器的一個操作數。
在一種可能的實施方式中,加法器的另一個操作數為所在位的位權,加法器的輸出高於數字閾值,後神經元電路發出脈衝訊號。
在一種可能的實施方式中,每一列的積分電容上的積分電壓與其相應的閾值電壓進行比較時,不同列的閾值電壓不相同。
在一種可能的實施方式中,神經網路還包括自動校準電路,通過調整脈寬可以抵消PVT引起的突觸電路輸出電流變化,得到的調整脈寬重新作為突觸陣列的輸入,校驗原理為:
Figure 02_image001
其中Δt表示需調整的脈寬,V ref為閾值電壓,I 0為輸出電流,C 0為電容值。
第二方面,提供了一種基於電流積分的存內脈衝神經網路,包括前神經元、突觸陣列、後神經元電路,其特徵在於: 所述突觸陣列被配置為接收前神經元輸入的脈衝訊號,突觸陣列由i*j個突觸電路組成,i為行數,j為列數;i,j均為大於等於1的正整數; 每一所述突觸電路包含一個儲存器單元; 所述儲存器單元由1個NVM電阻與1個場效應管組成,NVM電阻的一端連接場效應管的漏極,一端連接位線,位線上導通電流為突觸電路的輸出電流;所述場效應管的源極連接源線,柵極連接字線。
所述後神經元電路包含積分電容、比較器,每一個後神經元電路被配置為根據其連接的一列突觸電路的輸出電流在積分電容內的積分,基於積分電容兩端累積電壓與閾值電壓的比較結果激發給下一級神經元脈衝訊號。
結合第二方面,在一種可能的實施方式中,在一列位線輸出電流注入到積分電容前經過一個場效應晶體管。場效應晶體管的源極連接到位線,漏極連接到積分電容的上極板,柵極連接到一個誤差放大器的輸出端。該放大器的正輸入端接一個參考電壓,負輸入端連接位線。這樣可以讓該儲存單元中的導通電流對積分電容上的電壓不敏感,利用了晶體管大的漏極阻抗,並且該阻抗隨著溝道長度的增加而增大。
結合第二方面,在一種可能的實施方式中,突觸陣列接收前一神經元電路的輸入是通過每一前神經元輸入的脈衝訊號連接一行突觸電路的讀字線實現。
結合第二方面,在一種可能的實施方式中,後神經元電路發出脈衝訊號後,積分電容兩端累積電壓復位到零,若積分電容一端接地,那麼積分電容兩端的累積電壓為積分電容上極板的電壓。
結合第二方面,在一種可能的實施方式中,神經網路還包括自動校準電路,通過調整脈寬可以抵消PVT引起的突觸電路輸出電流變化,得到的調整脈寬重新作為突觸陣列的輸入。
基於上述的技術方案,本發明第一方面為了避免採用NVM材料的存內脈衝神經網路因NVM本身的非理想性包括有限的精度、隨機性、非線性,以及程式設計電導狀態隨時間的漂移等,採用了基於矽基的SRAM 的存內脈衝神經網路,不會出現NVM材料類似的問題。在突觸陣列採用SRAM單元作為儲存單元時,後神經元電路的設計與之相對應,使得在該存內SNN架構可以用於多位突觸權重的計算,並且組合的列數是可程式設計的。進一步地,由於矽基SRAM只能儲存單位突觸權重,為了提高面積的使用效率以及節省能效,在多位突觸權重的計算中,依據前述的架構,對電路設計為資源共享的時間多路復用形式。最後,根據所提出SNN的可能實施方式,提出一種脈衝脈寬自動校準電路,抵消製造製程、電壓、溫度(PVT)等因素帶來的導通電流的變化,使得計算的結果更準確。
另外,雖然習知的NVM材料本身特性容易出現非理想型,但第二方面採用的NVM單元是與SNN架構相適應的,即基於NVM單元的存內脈衝神經網路也能從本發明所設計的與後神經元連接的接口電路以及脈寬自校準電路中受益。
本發明採用的技術方案可以解決至少以上背景技術中提及的問題和/或缺點以及以上未描述的其他缺點。
為了使發明的目的、原理、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,正如本發明內容部分所述,此處所描述的具體實施例用以解釋本發明,並不用於限定本發明。
本發明提出的方案可以適用但不限於積分激發(integrate-and-fire;IF)神經元模型、泄露積分激發 (leaky integrate-and-fire;LIF) 模型、脈衝響應模型(Spike response model;SRM)以及Hodgkin-Huxley模型中的至少一種。
以常用的IF神經元模型為例,突觸後神經元(presynaptic neuron)會接收所有與該神經元相連的來自突觸前神經元(postsynaptic neuron)軸突末端發出的脈衝;當突觸後神經元膜電位超過閾值電位時,突觸後神經元會發送脈衝沿該神經元軸突傳遞至軸突末端。突觸後神經元發送脈衝後會進入超極化狀態,然後是不應期(Refractory Period),在不應期內即使給予刺激突觸後神經元也不會反應,即神經元不再接收刺激,保持靜止電位。
為了將存內計算應用在SNN上,論文1提出了一種基於NVM的存內SNN神經網路架構,根據圖1的SNN模型,後一神經元接收所有來自前一層所有神經元的訊號,構建出了如圖2 的交叉矩陣結構電路。原理上,字線攜帶輸入向量,每個電阻式NVM單元的導納值代表一個矩陣元素,位線上的電流代表輸入向量和一個矩陣的列向量的內積值。從圖形上看,如圖2所示,從數學上看,矩陣的輸出可以表示為: Y=GX      (等式1)  G=1/R 其中X=[x 1,x 2,...,x n]是電壓輸入矢量,Y=[y 1,y 2,...,y m]是電流輸出矢量,G=[g ij](i=1,2,...,n;j=1,2,...,m)是電導矩陣。
但如何利用位線電流來更新神經元狀態,即用神經科學的術語來更新膜電位,往往沒有得到充分的解決。例如,在論文1中,LIF神經元動態只在軟體中實現。在論文“TETCI-2018-An all-memristor deep spiking neural computing system: a step toward realizing the low-power stochastic brain”提出的方案中,為了保持等式1的有效性,採用比NVM元件值小得多的電阻來感應輸出電流,結果輸出電壓非常小,需要使用耗電的電壓放大器進行放大。值得一提的是,在論文“ISSCC-2020-A 74 TMACS/W CMOS-RRAM neurosynaptic core with dynamically reconfigurable dataflow and in-situ transposable weights for probabilistic graphical models”提出的方案中,雖然採用了基於單晶體管單憶阻器(one-transistor–one-memristor;1T1R)儲存單元的所謂IF神經元進行NVM單元存內計算,但其依靠的是電壓採樣而不是電流積分,而且該架構用於概率圖形模型,不便於實現脈衝神經網路。
綜上,習知技術中所提到的NVM所具有的非理想性,往往導致人工神經網路或脈衝神經網路硬體與軟體模型相比推理精度不高。另外,文獻中的大部分作品只是展示了在模型仿真中使用NVM進行存內ANN或SNN的原理,而不是構建實際的基於NVM單元的工作晶片。
如論文1中的圖表所示,由於NVM,例如PCM的電導值隨時間變化的不穩定性,即使在相對簡單的任務中也會導致推理精度的顯著下降。矽基SRAM可以規避這些與NVM材料本身特性相關的問題。
本發明提出了一種基於電流積分的脈衝神經網路,包括前神經元輸入,突觸陣列以及後神經元電路,突觸陣列的架構如圖3a所示,可以理解是將圖2中所示的突觸陣列中電阻式NVM單元替換為儲存器單元(cell)。所述突觸陣列被配置為接收前神經元輸入的脈衝訊號,突觸陣列由i*j個突觸電路組成,i為行數,j為列數;i,j均為大於等於1的正整數;圖中的n,m分別是前神經元的個數和後神經元個數。
每一所述突觸電路包含一個儲存器單元;所述儲存器單元由儲存一位突觸權重的傳統6T SRAM,以及用於讀取突觸權重的串聯著的2個晶體管組成;其中一個晶體管的柵極連接傳統6T SRAM中一個反相器的輸出,源極接高位準,漏極接另一晶體管源極,另一晶體管的柵極連接讀字線,漏極連接讀位線,讀位線上導通電流為突觸電路的輸出電流;應當理解,所述傳統6T SRAM由六個晶體管組成,其中四個場效應管構成兩個交叉耦合的反相器中儲存每一比特,另外的兩個場效應管是儲存基本單元到用於讀寫的位線的控制開關。如圖3b為儲存器單元的一個實施例,所述晶體管採用P溝道場效應管,應當理解,晶體管採用N溝道場效應管也可以工作。在另一實施例中,儲存器單元還可以是論文“JSSC-2008-An 8T-SRAM for variability tolerance and low-voltage operation in high-performance caches”中IBM提出的基於傳統6T SRAM的8-T SRAM單元,在該實施例中,採用N溝道場效應管讀取傳統6T SRAM單元內的儲存的突觸權重。
所述後神經元電路包含積分電容、比較器,每一個後神經元電路被配置為根據其連接的一列突觸電路的輸出電流在積分電容內的積分,基於積分電容兩端累積電壓與閾值電壓的比較結果激發給下一級神經元脈衝訊號。
具體地,該實施例在寫入1位突觸權重的過程中,寫字線(write word line;WWL)被使能高位準, (write bit line;WBL/ nWBL)被驅動到需要寫的內容的互補電壓,如寫入w=1,則寫位線WBL驅動至高位準,寫位線 nWBL被驅動至低位準。可以理解,電壓位準“ 1”表示該電壓等於電源電壓VDD,電壓位準“ 0”表示該電壓等於接地電壓VSS。
在讀取過程中,使能讀字線(read word line; nRWL)低位準,從讀位線(read bit line;RBL)讀取傳統6T SRAM中儲存的突觸權重。
在計算過程中,並行來自前神經元的脈衝訊號被發送到突觸陣列的輸入x i(i=1,2,...,n),每個輸入x i與一行的讀字線 nRWL相連,即可以理解,讀字線 nRWL攜帶輸入向量,也可以說讀字線 nRWL上作為SNN的脈衝輸入。
同一列讀位線RBL連接到一個積分電容,該積分電容是後神經元電路的一部分,圖3c為後神經元電路的一個實施例。應當理解,所述的行、列根據的輸入的方向以及儲存器單元的設置方式不同而不同,比如在另外的實施例中,當脈衝訊號由列方向輸入,儲存器單元逆向旋轉90度設置時,此時為每個輸入x i與一列的讀字線 nRWL相連,同一行的讀位線RBL連接到一個積分電容。假設每個脈衝的持續時間為Δt,每個儲存器單元中晶體管的導通電流為I 0,則由於一個脈衝的存在,積分電容C 0上的增量電壓如下:
Figure 02_image003
(等式2)
在輸入x i線上存在多個脈衝時,積分電容V mem上的累積電壓變化總量為ΔV與脈衝數的乘積,每一個脈衝引起的電壓變化乘以一列輸入包含的總脈衝數指的是後神經元接收前一層所有神經元的脈衝訊號。當積分電容上的電壓V mem超過規定的閾值電壓V ref,圖3c中比較器S j(j=1,2,...,m)的輸出端就會產生一個脈衝,隨後積分電容上的電壓被復位到地。可以理解,此過程對應的生物神經元中的突觸後神經元膜電位超過閾值電位,突觸後神經元發出脈衝,隨後該後神經元回落到靜止電位。
可以理解,突觸陣列的輸出電流在後神經元電路內的積分電容上累積,得到的積分電容兩端的電壓與閾值電壓進行比較。這一過程中,突觸權重並不需要明確地從傳統6T SRAM中讀出,並基於比較結果決定是否激發給到下一層級神經元的脈衝,所述SNN架構採用在電荷域內計算的方式天然地兼容了神經元的工作方式,規避了從電流域中讀出的問題。
特別地,雖然每個SRAM單元只能儲存一位的訊息,但上述實施例基於SRAM儲存器單元的脈衝神經網路可用於多位權重的計算。可選的,在多位突觸權重的情况下,可以將來自多個IF神經元電路的脈衝訊號從平行的位線RBL j上數字組合起來,視為一個整體的神經元脈衝輸出,也即將多個後神經元電路從平行的位線RBL j上根據突觸權重位數組合列數,如突觸權重有3位,那麼被組合的列為3列,每列對應突觸權重每位的位置,得到並行的比較器發出的脈衝訊號由與比較器連接的並行的紋波計數器收集,紋波計數器中的值根據所在位的位權移位相加,基於移位相加的和值與數字閾值的比較結果激發給下一級神經元脈衝訊號。
在一個實施例中,如圖4a所示,為用於k位突觸權重計算的架構,經組合的來自並行的k個比較器的脈衝由並行紋波計數器(cnt)收集。值得注意,根據每列所對應的突觸權重的位的位置。例如,在一個實施例中,第k位的位權可以是2 k-1,每一個紋波計數器中的值被移位並與其他的紋波計數器中經移位的值相加。具體地,在該實施例中,第1列是最不重要的位(LSB),不發生位移;第k列是最重要的位(MSB),紋波計數器的值被左移k-1位,將用該k位突觸權重的計算的所有紋波計數器移位相加得到的求和值與數字閾值(threshold)進行比較,一旦超過數字閾值,就會產生一個脈衝(spike)或多個脈衝,並在發出脈衝訊號之後使該組合的神經元電路中的所有紋波計數器復位(reset)。可以理解,組合列數k是可程式設計的,其與突觸權重的位寬相同。
應當特別注意,只要圖3c中的閾值電壓V ref足夠小,使V mem被調節到一個低電壓,圖3b中的兩個P溝道場效應管,被視為是一個單一的複合晶體管,當讀字線 nRWL上出現脈衝且W=1時,可以保持飽和狀態。晶體管在導通時工作在飽和區域,對保持相對一致的導通電流I 0、最小化其受晶體管漏端電壓的影響很重要。可以採用長溝道長度來進一步提高複合晶體管的輸出阻抗。
進一步地,為了提高用於多位突觸權重計算時的面積效率,圖3c中的比較器以及圖4a中的電路需要進行修改和共享,用於一個k位權重計算的多列後神經元電路內共享一個比較器。具體地,如圖4b所示的一個實施例,組合的列數內,積分電容器兩端的累積電壓以時間多路復用的方式連接到共享比較器的輸入端,比較器的另一個輸入端為閾值電壓。本實施例中,時間多路復用是由時鐘控制的。應當注意,儘管時鐘的概念似乎與異步系統不相容,但積分電容上累積電壓的更新和脈衝通訊並不是由時鐘協調的,如果時鐘頻率相比於積分電壓的變化速度足夠高,系統可以近似看作是異步系統。
舉例說明,當第j位(j
Figure 02_image005
[1,k])所對應的積分電容連接比較器時,與閾值電壓Vref相比,如果累積電壓Vmemj(j=1,...,k)較大,比較器輸出高時,使累加器通過D型暫存器更新其輸出,比較器輸出低時,累加器的輸出不更新。可以理解,在多位突觸權重的計算中,累加器中加法器的兩個操作數分別是D型暫存器的輸出和開關選擇訊號Ssk根據當前位的位置選擇的權重,也即選擇的位權。應當注意,在圖4b的實施例中,位權為2k-1,但在其他的實施例中,每一列對應的位權不一定是按照2的等比數列分配,例如也可以是的8進制或者16進制等;特別地,在另一些實施例中,每一列的積分電容上的積分電壓與其相應的閾值電壓進行比較時,這些每列的閾值電壓並不需要相同,也即每個後神經電路之間,閾值電壓可以是不同。也可以說是,將每位所連接積分電容上累積電壓單獨與閾值電壓比較,每位的結果需要與位權相對應,再將每位添加了位權的結果相加,直至相加的和值大於的數字閾值從而發出脈衝或者是所有位都進行相加完畢但沒有的發出脈衝。
可選的,為了節省加法器的功率,在一些實施例中,權重的選擇可根據比較器的輸出進一步門控,比如只有比較器輸出高時才將權重與加法器的輸入端相連,否則改接0。
當開關選擇訊號S sk使能,與開關選擇訊號S sk對應的累積電壓V memk連接比較器輸入端,且當比較器輸出為高位準時,訊號S rk使能,使相應積分電容的累積電壓復位到地;當比較器的輸出為低時,訊號S rk不使能,相應的積分電容的累積電壓不被復位。進一步的,所有的位對應的積分電容上的累積電壓都經過比較之後,在累加器的輸出超過數字神經元閾值D TH時,產生脈衝,暫存器被復位,所有積分電容電位被復位到地。
可以理解,此處包含的兩處復位,前者是每一位對應的累積電壓高於閾值電壓V ref,後者是對應多位權重的累積電壓高於數字的神經元閾值D TH。也即積分電容被復位既可以因為其累積電壓V memj大於閾值電壓,也可以是在由多列組合的突觸權重發出脈衝。那麼在一種可能的實施方式中,如圖所示,比較器的輸出和開關選擇訊號S sk與運算的輸出作為或門的一個輸入,或門的另一個輸入是產生的脈衝,此或門的輸出為訊號S rk
第二方面,提供了一種基於電流積分的存內脈衝神經網路,包括前神經元、突觸陣列、後神經元電路:所述突觸陣列被配置為接收前神經元輸入的脈衝訊號,突觸陣列由i*j個突觸電路組成,i為行數,j為列數;i,j均為大於等於1的正整數;每一所述突觸電路包含一個儲存器單元。
雖然現有基於電阻式NVM單元的存內SNN存在非理想性的問題,但在一個實施例中,單晶體管單憶阻器(one-memristor one-transistor;1R1T)的NVM單元也可以從上述SNN架構中獲益。圖3a中使用NVM單元可以如圖5a所示構建。具體地,所述儲存器單元由1個NVM電阻與1個場效應管組成,NVM電阻的一端連接場效應管的漏極,一端連接位線BL,位線上導通電流為突觸電路的輸出電流;所述場效應管的源極連接源線SL,柵極連接字線WL。在這種拓撲結構下,NVM元件兩端電壓會隨積分電容上極板的電壓的變化而改變,從而使得流過NVM元件的電流隨之改變。這樣的積分電流的特質雖然也可以用來構建SNN,但是等式1已不再成立,需要特定的SNN訓練算法來考慮這一點。如果要用滿足等式1的訓練算法,則在一種實施例中,需要在位線上加入如圖5b所示的額外的電路。一個p型場效應晶體管的源極接位線,漏極接積分電容,柵極接誤差放大器的輸出。誤差放大器的正輸入端接一個參考電壓,負輸入端接位線。
所述後神經元電路包含積分電容、比較器,每一個後神經元電路被配置為根據其連接的一列突觸電路的輸出電流在積分電容內的積分,基於積分電容兩端累積電壓與閾值電壓的比較結果激發給下一級神經元脈衝訊號。
同樣的,該存內脈衝神經網路的工作方式與第一方面類似。具體地,突觸陣列接收前一神經元電路的輸入是通過每一前神經元輸入的脈衝訊號連接一行突觸電路的字線實現,即電壓脈衝通過字線施加。後神經元電路發出脈衝訊號後,積分電容兩端累積電壓復位到零,若積分電容一端接地,那麼積分電容兩端的累積電壓為積分電容上極板的電壓。
為了解決習知技術中沒有充分解決的因製造製程、電壓和溫度(PVT)引起的導通電流的變化,申請人提出了一種脈衝脈寬自動校準電路,可以抵消上述因素帶來的導通電流的變化。
具體地,任何製造製程、電壓和溫度(PVT)變化引起的I 0的變化都可以通過調整脈衝序列的脈寬Δt來補償,調整程序可以是自動的。可選的,在一個實施例中,如圖6a所示,未經校準的尖峰前緣(在不失通用性的前提下假設為正)將晶體管M a和M b的柵極設置為低位準,晶體管M a和M b為圖3b中用於讀取的2個P溝道場效應管的複製晶體管,導通電流開始對電容器C x充電。一旦電容器C x上的電位超過閾值電壓V ref,比較器輸出就變成高位準,並將晶體管M a和M b的柵極再次置高。這樣,輸入x i的脈寬就會根據複合晶體管M a和M b的導通電流自動調整,並作為像圖3a中的輸入那樣將脈衝寬度為Δt的脈衝序列送入到SNN陣列中。在圖6a中,使用SR鎖存器的條件是輸入脈衝的脈寬小於輸出脈衝。校驗原理可以用下式表示:
Figure 02_image007
(等式3) 其中Δt表示需調整的脈寬,V ref為閾值電壓,I 0為輸出電流,C 0為電容值。
可選的,如果有合理分辨率的時鐘,可以如圖6b所示的校準電路將脈衝的校準脈寬數字化儲存。其工作機理仍受等式3制約。當校準啟用,計數器開始對時鐘周期進行計數,當電容器C x上的積分電壓超過閾值電壓V ref時停止計數。在本實施例中,用來重置電容器C x上積分電壓的開關用n型場效應晶體管實現。當比較器輸出為高,使得或非門輸出為低時停止計數。然後,計數器中儲存的值就可以像圖3a一樣,應用於所有輸入的脈衝到陣列中,而不需要頻繁地啟用這個校準電路。
應當注意,圖6a,圖6b的實施例同樣可基於NVM單元的SNN架構。可選的,用圖5b的實施例中1R1T結構代替晶體管M a和M b。具體地,NVM單元內的P溝道場效應管的源極連接到電源電壓VDD,R經由位線上的P型場效應晶體管後由其漏極連接到電容器C x
因此,也可以理解,本發明所提出SNN架構以及校準原理不僅與8T SRAM是適應的,NVM單元也可以從所述SNN架構中獲益。也可以理解,儲存器單元選擇的形式為8T SRAM或者是NVM,基於該儲存器單元的脈衝神經網路都可以具備所述有益效果。進一步,應當理解,本發明所提出的基於電流積分的脈衝神經網路,採用的儲存器單元不局限於8T SRAM或者NVM單元。理論上,所述儲存器單元還可以是能滿足電流相加原理同時電流能不受後神經元中電容上的積分電壓的影響的其他形式。
需要說明的是,在不衝突的前提下,本發明描述的各個實施例和/或各個實施例中的技術特徵可以任意的相互組合,組合之後得到的技術方案也應落入本發明的保護範圍。
本領域的技術人員可以清楚地瞭解到,為了描述的方便和簡潔,上述描述的裝置和設備的具體工作過程以及產生的技術效果,可以參考前述方法實施例中對應的過程和技術效果,可以清楚的通過圖式以及文字描述確定,在此不再贅述。
以上所述,僅為本發明的具體實施方式,但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應以所述申請專利範圍的保護範圍為準。
VDD:電源電壓 X 1~X n:電壓輸入矢量 Y 1~Y m:電流輸出矢量 g 11~g 1m、g 21~g 2m、g n1~g nm:電導矩陣 cell:儲存器單元 WBL、 nWBL:寫位線 WWL:寫字線 RBL:讀位線 nRWL:讀字線 RBL j:位線 C 0:電容值 V memj:累積電壓 V ref:閾值電壓 S j:比較器 cnt:並行紋波計數器 threshold:閾值 reset:復位 spike:脈衝 S sk:開關選擇訊號 S rk:訊號 D TH:神經元閾值 SL:源線 BL:位線 WL:字線 M a、M b:晶體管 C x:電容器 x i:輸入 2 k-1:位權
圖1為生物脈衝神經網路中,前神經元、突觸、後神經元訊息傳遞示意圖; 圖2為根據的生物脈衝神經網路構建的交叉矩陣電路示意圖; 圖3a為本發明一實施例中前神經元輸入與突觸陣列示意圖; 圖3b為本發明一實施例中儲存器單元示意圖; 圖3c為本發明一實施例中後神經元電路示意圖; 圖4a為本發明一實施例中用於多位計算的示意圖; 圖4b為本發明一實施例中用於多位權重計算的時間多路復用示意圖; 圖5a為本發明另一實施例中基於NVM單元的儲存器單元示意圖; 圖5b為本發明另一實施例中基於NVM單元的儲存器單元及其位線接口電路的示意圖; 圖6a為本發明一實施例中校準電路示意圖;及 圖6b為本發明另一實施例中校準電路示意圖。
C 0:(積分)電容值 V ref:閾值電壓 D TH:神經元閾值 spike:脈衝 S sk:開關選擇訊號 2 k-1:位權 S rk:訊號

Claims (7)

  1. 一種基於電流積分的存內脈衝神經網路,包括前神經元;突觸陣列;及後神經元電路,其特徵在於:所述突觸陣列被配置為接收所述前神經元輸入的脈衝訊號,所述突觸陣列由i*j個突觸電路組成,i為行數,j為列數;i,j均為大於等於1的正整數;每一所述突觸電路包含一個儲存器單元;所述儲存器單元由儲存一位突觸權重的傳統6T SRAM,以及用於讀取所述突觸權重的串聯著的2個晶體管組成,其中一個所述晶體管的柵極連接傳統6T SRAM中一個反相器的輸出,且源極接高位準,漏極接另一所述晶體管的源極,另一所述晶體管的柵極連接讀字線,且漏極連接讀位線,所述讀位線上導通電流為所述突觸電路的輸出電流;所述後神經元電路包含積分電容、比較器,每一個所述後神經元電路被配置為根據其連接的一列突觸電路的輸出電流在所述積分電容內的積分,基於所述積分電容的兩端累積電壓與閾值電壓的比較結果激發給下一級神經元脈衝訊號;其中,每一所述前神經元輸入的脈衝訊號連接一行所述突觸電路中的讀字線;其中,所述後神經元電路發出脈衝訊號後,所述積分電容的兩端累積電壓復位到零;其中,用於多位突觸權重計算時,根據突觸權重位數組合列數,每列所述突觸電路對應所述突觸權重每位的位置,得到並行的所述比較器分別發出脈衝訊號,所述脈衝訊號分別由與所述比較器連接的紋波計數器收集,所述紋波計數器中的值根據所在位的位權移位相加,基於所有所述紋波計數器移位相加的和值與數字閾值的比較結果激發給下一級神經元脈衝訊 號;其中,組合的列數內,所述積分電容的兩端累積電壓通過時間多路復用的方式共用一個比較器的輸入端,根據開關選擇訊號選擇與閾值電壓比較的與所在位對應的累積電壓;其中,所述比較器的輸出端連接一個暫存器,所述比較器的輸出為高時,則所述暫存器的輸出作為與其連接的加法器的一個操作數。
  2. 如請求項1所述的脈衝神經網路,其中,所述加法器的另一個操作數為所在位的位權,所述加法器的輸出高於數字閾值,所述後神經元電路發出脈衝訊號。
  3. 如請求項2所述的脈衝神經網路,其中,每一列的所述積分電容上的積分電壓與其相應的閾值電壓進行比較時,不同列的閾值電壓不相同。
  4. 如請求項1或2或3所述的脈衝神經網路,其中,所述脈衝神經網路還包括自動校準電路,製程、電壓和溫度(PVT)引起的突觸電路輸出電流變化通過調整脈寬補償,得到的調整脈寬重新作為所述突觸陣列的輸入,校驗原理為:
    Figure 110132373-A0305-02-0021-3
    其中△t表示需調整的脈寬,Vref為閾值電壓,I0為輸出電流,C0為電容值。
  5. 一種基於電流積分的存內脈衝神經網路,包括前神經元;突觸陣列;及後神經元電路,其特徵在於:所述突觸陣列被配置為接收所述前神經元輸入的脈衝訊號,所述突觸陣列由i*j個突觸電路組成,i為行數,j為列數;i,j均為大於等於1的正整數;每一所述突觸電路包含一個儲存器單元;所述儲存器單元由一個非易失性儲存器(NVM)電阻與一個場效應管 組成,所述NVM電阻的一端連接場效應管的漏極,另一端連接位線,所述位線上導通電流為所述突觸電路的輸出電流;所述場效應管的源極連接源線,柵極連接字線;所述後神經元電路包含積分電容、比較器,每一個所述後神經元電路被配置為根據其連接的一列所述突觸電路的輸出電流在所述積分電容內的積分,基於所述積分電容的兩端累積電壓與閾值電壓的比較結果激發給下一級神經元脈衝訊號;其中,所述位線上導通電流注入到所述積分電容上進行積分之前,經過另一個場效應晶體管;所述場效應晶體管的源極接位線,且漏極接所述積分電容的上極板,且柵極接一個誤差放大器的輸出端,所述誤差放大器的正輸入端接一個參考電壓,負輸入端接位線。
  6. 如請求項5所述的脈衝神經網路,其中,所述後神經元電路發出脈衝訊號後,所述積分電容的兩端累積電壓復位到零,若所述積分電容一端接地,那麼所述積分電容的兩端累積電壓為所述積分電容的上極板的電壓。
  7. 如請求項6所述的脈衝神經網路,其還包括自動校準電路,通過調整脈寬可以抵消PVT引起的突觸電路輸出電流變化,得到的調整脈寬重新作為所述突觸陣列的輸入。
TW110132373A 2020-09-15 2021-09-01 基於電流積分的存內脈衝神經網路 TWI766799B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010965425.1A CN114186676A (zh) 2020-09-15 2020-09-15 一种基于电流积分的存内脉冲神经网络
CN202010965425.1 2020-09-15

Publications (2)

Publication Number Publication Date
TW202213351A TW202213351A (zh) 2022-04-01
TWI766799B true TWI766799B (zh) 2022-06-01

Family

ID=80539728

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110132373A TWI766799B (zh) 2020-09-15 2021-09-01 基於電流積分的存內脈衝神經網路

Country Status (5)

Country Link
US (1) US20240111987A1 (zh)
EP (1) EP4024289A4 (zh)
CN (1) CN114186676A (zh)
TW (1) TWI766799B (zh)
WO (1) WO2022057222A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023240578A1 (zh) * 2022-06-17 2023-12-21 北京大学 应用于神经网络的存内计算架构的操作方法、装置和设备
CN114882921B (zh) * 2022-07-08 2022-10-04 中科南京智能技术研究院 一种多比特计算装置
CN115906968B (zh) * 2022-11-09 2023-12-08 南方科技大学 双有符号操作数非易失性存算一体单元、阵列及运算方法
CN115691613B (zh) * 2022-12-30 2023-04-28 北京大学 一种基于忆阻器的电荷型存内计算实现方法及其单元结构
CN115688897B (zh) * 2023-01-03 2023-03-31 浙江大学杭州国际科创中心 低功耗紧凑型Relu激活函数神经元电路
CN116056285B (zh) * 2023-03-23 2023-06-23 浙江芯源交通电子有限公司 一种基于神经元电路的信号灯控制***及电子设备
CN116151343B (zh) * 2023-04-04 2023-09-05 荣耀终端有限公司 数据处理电路和电子设备
CN117316237B (zh) * 2023-12-01 2024-02-06 安徽大学 时域8t1c-sram存算单元及时序跟踪量化的存算电路

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011152745A2 (en) * 2010-06-05 2011-12-08 Akademia Gorniczo-Hutnicza Im. Stanislawa Staszica Method and apparatus for conversion of voltage value to digital word
US20180121802A1 (en) * 2016-11-02 2018-05-03 Samsung Electronics Co., Ltd. Method of converting neural network and recognition apparatus using the same
US20180176583A1 (en) * 2016-12-20 2018-06-21 Intel Coproration Temporally encoding a static spatial image
US20180260696A1 (en) * 2017-03-08 2018-09-13 Arm Ltd Spiking neural network
US20200026995A1 (en) * 2018-07-17 2020-01-23 Hewlett Packard Enterprise Development Lp Memristor Spiking Architecture

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8510239B2 (en) 2010-10-29 2013-08-13 International Business Machines Corporation Compact cognitive synaptic computing circuits with crossbar arrays spatially in a staggered pattern
TWI705391B (zh) * 2018-05-29 2020-09-21 英屬開曼群島商意騰科技股份有限公司 適用於人工神經元的記憶體內運算記憶體裝置及記憶體內運算記憶體區塊
US11538523B2 (en) 2018-08-17 2022-12-27 Tetramem Inc. Crossbar array with reduced disturbance
CN109165730B (zh) 2018-09-05 2022-04-26 电子科技大学 交叉阵列神经形态硬件中状态量化网络实现方法
CN110543933B (zh) * 2019-08-12 2022-10-21 北京大学 基于flash存算阵列的脉冲型卷积神经网络
CN110852429B (zh) * 2019-10-28 2022-02-18 华中科技大学 一种基于1t1r的卷积神经网络电路及其操作方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011152745A2 (en) * 2010-06-05 2011-12-08 Akademia Gorniczo-Hutnicza Im. Stanislawa Staszica Method and apparatus for conversion of voltage value to digital word
US20180121802A1 (en) * 2016-11-02 2018-05-03 Samsung Electronics Co., Ltd. Method of converting neural network and recognition apparatus using the same
US20180176583A1 (en) * 2016-12-20 2018-06-21 Intel Coproration Temporally encoding a static spatial image
US20180260696A1 (en) * 2017-03-08 2018-09-13 Arm Ltd Spiking neural network
US20200026995A1 (en) * 2018-07-17 2020-01-23 Hewlett Packard Enterprise Development Lp Memristor Spiking Architecture

Also Published As

Publication number Publication date
US20240111987A1 (en) 2024-04-04
CN114186676A (zh) 2022-03-15
EP4024289A1 (en) 2022-07-06
EP4024289A4 (en) 2022-12-28
WO2022057222A1 (zh) 2022-03-24
TW202213351A (zh) 2022-04-01

Similar Documents

Publication Publication Date Title
TWI766799B (zh) 基於電流積分的存內脈衝神經網路
Boybat et al. Neuromorphic computing with multi-memristive synapses
Ni et al. Ferroelectric ternary content-addressable memory for one-shot learning
CN110352436B (zh) 用于神经网络训练的具有迟滞更新的电阻处理单元
Dutta et al. Supervised learning in all FeFET-based spiking neural network: Opportunities and challenges
Di Ventra et al. The parallel approach
Liu et al. Low‐power computing with neuromorphic engineering
Mannocci et al. In-memory computing with emerging memory devices: Status and outlook
US11829863B2 (en) Neural network circuit device
Chen et al. Compact oscillation neuron exploiting metal-insulator-transition for neuromorphic computing
TW202205113A (zh) 用於記憶體運算交叉式網路中的類比混合信號之時域比例式讀出介面
US11449740B2 (en) Synapse circuit with memory
WO2019202427A1 (en) Resistive processing unit architecture with separate weight update and inference circuitry
US10839898B2 (en) Differential memristive circuit
Burr et al. Ohm's law+ kirchhoff's current law= better ai: Neural-network processing done in memory with analog circuits will save energy
Al Misba et al. Energy efficient learning with low resolution stochastic domain wall synapse for deep neural networks
Jang et al. Stochastic SOT device based SNN architecture for On-chip Unsupervised STDP Learning
Lepri et al. In-memory computing for machine learning and deep learning
Pedretti et al. Computing with nonvolatile memories for artificial intelligence
Chen et al. Enabling high-performance dnn inference accelerators using non-volatile analog memory
Wei et al. Neuromorphic computing systems with emerging devices
Agarwal et al. The energy scaling advantages of RRAM crossbars
Weiss Hardware for memristive neuromorphic systems with reliable programming and online learning
Song et al. A Ta2O5/ZnO Synaptic SE-FET for supervised learning in a crossbar
K. Vartak et al. Robustness to Variability and Asymmetry of In-Memory On-Chip Training