?

基于憶阻器的門控循環單元電路

2024-03-04 11:34韓婷婷陳思鍇
關鍵詞:阻器線性權重

韓婷婷, 張 章, 陳思鍇

(合肥工業大學 微電子學院,安徽 合肥 230601)

深度神經網絡(deep neural network,DNN)模型在解決挑戰性任務時的突出表現,使其在語音信號處理[1]、數字圖像處理[2]領域受到廣泛應用。因為前饋神經網絡要求輸入和輸出維度固定,所以其不適合處理長度不固定的時序數據。循環神經網絡(recurrent neural network,RNN)是具有短期記憶能力的一類網絡,其具有反饋連接以保留信息的順序,并且能處理任意長度的輸入序列數據,因此被廣泛應用在語音識別、語言模型以及自然語言生成等任務上。然而,對RNN的訓練可能難以進行,因為RNN的權重更新是基于梯度算法進行的,所以會有梯度爆炸或消失的問題,這些問題可以通過在傳統RNN中添加門控機制來解決。長短時記憶網絡(long short-term memory,LSTM)[3]和門控循環單元(gated recurrent unit,GRU)[4]是目前廣泛應用的2個基于門控的循環神經網絡(gated recurrent neural network,Gated RNN)。GRU是受LSTM模型啟發,具有更少的參數和更簡單的計算步驟。文獻[5]對比了GRU與LSTM在相同任務中的精度、內存消耗和訓練時間,發現GRU與LSTM精度幾乎相同,但是GRU的內存消耗相比于LSTM減少了約18%,訓練速度提升了約20%,這使得GRU在對內存或速度有特殊要求的實際應用中更加流行。

然而,GRU由于其結構的復雜性和并行性,需要大量的計算資源,傳統馮諾依曼體系架構中存在的“馮諾依曼瓶頸”[6]和“內存墻瓶頸”[7]問題導致其實現起來有一定難度。為了推動未來神經形態計算技術的發展,必須找到非馮諾依曼體系架構的解決方案。憶阻器是代表磁通量與電荷之間關系的兩端電路器件,是存算一體架構的有力候選者。與馮諾依曼體系架構相比,基于憶阻器的內存計算有效地規避了頻繁數據通信帶來的巨大能耗和時間開銷。

人工神經網絡(artificial neural network, ANN)的整體內存計算架構將由多個交叉開關陣列組成,憶阻器可以使用電導值作為突觸權重,交叉開關陣列執行向量矩陣乘法(vector matrix multiplication,VMM)。在饋入行的每個輸入電壓向量和列權重向量之間生成點積向量,每個交叉開關陣列都帶有模數轉換器和數字電路,然后連接到下一個交叉開關陣列。然而,先前大部分對GRU的研究都是基于軟件實現的,對GRU存算一體的硬件研究介紹很少,并且沒有任何使用憶阻器實現GRU單元計算的研究。

因此,本文提出一個基于憶阻器的門控循環單元的硬件電路,使用較少的元件以及低精度要求的元件就可以實現門控循環單元的功能。本文首先對搭建的電路進行仿真,結果表明電路的平均誤差為0.007 5;然后將電路應用于3層GRU模型實現股票的預測,預測的R2分數為0.923 4。本文的設計不僅具有較高的精度,而且具有更小的片上預算和功率消耗。

1 憶阻器性能及其模型

憶阻器為應用非馮諾依曼架構的存內計算集成技術提供了新思路。憶阻器可以用作仿生突觸設備,通過動態調整電阻狀態來實現權重更新。同時,憶阻器陣列可以根據基爾霍夫定律和歐姆定律實現VMM操作,但是使用憶阻器陣列進行GRU操作,在每次迭代操作中存在海量數據傳輸。因此目前還缺乏使用憶阻器來實現RNN網絡功能的方案。

為實現更切實際的電路仿真,本文利用真實的憶阻器性能進行建模。使用Au/Ta2O5/HfO2/Pt疊層用作阻變式存儲器(resistive random access memory,RRAM)器件,憶阻器的電流-電壓特性和多態特性如圖1所示。

圖1 憶阻器的電流-電壓和多態特性

通過施加0~-1.5 V的掃描電壓,器件可以從高電阻狀態(high resistance state,HRS)變為低電阻狀態(low resistance state,LRS)。當施加0~2.0 V的掃描電壓時,器件可以從LRS變為HRS。此外,本文對200個工作電壓進行統計,設定電壓集中在0.7~-1.1 V的范圍,復位電壓集中在-0.7 ~ 0.4 V的范圍。分布式和集中式的式工作電壓特性有利于后期電路設計。通過改變復位過程的截止電壓,可以實現憶阻器的多態調節。本文使用這種方法實現了64個狀態的連續調節,電導調節的線性關系(圖1b)表明該裝置滿足實際應用的要求。

對器件的特性進行函數擬合,并將其數學表達式轉換為相應的電路元件。將不可轉換的部分作為函數方程合并到Spice模型中以擬合器件數據,因此新模型具有器件屬性。在重置過程中提取一條完整的曲線,如圖2所示。從圖2可以看出,器件曲線和模型擬合曲線幾乎完全重合。因此,該模型滿足多態調控仿真,能夠很好地模擬真實憶阻器在后續神經網絡構建中的工作狀態。

圖2 憶阻器模型的擬合曲線

2 基于憶阻器的門控循環單元電路

2.1 門控循環單元

GRU是一種結構更簡單的門控循環神經網絡,其重置門能同時進行遺忘和記憶,并且沒有額外的記憶單元,如圖3所示。從圖3可以看出,其輸入分別為當前時刻輸入xt和上一時刻輸出的ht-1。輸入分別乘以相應的權重,然后通過激活函數輸出門控值。sigmoid激活層后的更新門zt值和重置門rt值的范圍都為(0, 1)。rt和上一時刻的狀態ht-1相乘用來控制候選狀態h′對前一時刻ht-1的狀態進行遺忘。如果重置門近似0,那么上一個隱藏狀態將被丟棄。因此,重置門可以丟棄與預測未來無關的歷史信息,通過tanh函數過濾可以使輸出范圍為(-1, 1)。zt更新門用來控制此刻的時間步ht如何被上一時刻時間步信息ht-1和候選激活信息h′所更新,若當前時刻輸出ht和上一時刻輸出ht-1之間的關系是線性函數,則這種設計可以應對循環神經網絡中的梯度衰減問題,并更好地捕捉時間序列中時間步距離較大的依賴關系。

圖3 門控循環單元的結構

GRU單元操作公式如下:

zt=σ(Wzxt+Uzht-1+bz)

(1)

rt=σ(Wrxt+Urht-1+br)

(2)

h′=tanh(Wxt+U(rt⊙ht-1)+b)

(3)

ht=zt⊙h′+(1-zt)⊙ht-1

(4)

其中:xt為時間步長為N的輸入向量;ht-1為上一時刻的信息輸入向量;zt為更新門輸出矩陣;rt為重置門輸出矩陣;h′為中間激活狀態輸出矩陣;ht為當前時刻的輸出;Wz、Uz為更新門的權重矩陣;Wr、Ur為重置門的權重矩陣;W、U為中間激活狀態的權重矩陣;bz、br分別為更新門和重置門偏置矩陣;σ為sigmoid函數;⊙為逐元素向量積。

2.2 基于憶阻器的門控循環單元電路

基于憶阻器的門控循環單元的整體電路如圖4所示,硬件電路的設計是基于上述GRU單元的詳細參數計算過程。門控單元的權重可以由憶阻器電導表示,憶阻器的電導可以通過施加的電壓和脈沖時間來控制。另外,通過一個開關和反相電路來控制硬件電路中權重值的正值和負值。當權重值為負時,開關關斷,輸入通過反相電路用于憶阻器;當權重值為正時,開關斷開,輸入不經過反相電路用于憶阻器。通過控制輸入的方向電路實現負值的乘法結果輸出,因此本設計可以通過4個憶阻器實現更新門和重置門內的乘法。另外,激活函數的硬件實現是設計中具有挑戰性的部分。經常使用的激活函數有sigmoid、tanh、ReLU等,硬件電路中ReLU函數可以用一個放大電路近似等效。受此啟發,GRU中使用的sigmoid和tanh函數都可以用一個線性函數去逼近它的線性部分。

圖4 基于憶阻器的門控循環單元的整體電路

基于以上2個設計思想,下面介紹GRU內部單元的具體實現電路。

權值與電導值之間被設計為100倍的線性映射關系,即

G=W/100

(5)

其中:G為電導值;W為權重值,W的取值范圍為(0,0.2]。該設計使得輸出電壓與理論值之間呈線性關系,將式(5)分別代入式(1)、式(2),可計算復位門和更新門電路的輸出電壓值。

計算公式分別為:

rt=σ[Wr/(100xt)+Ur/(100ht-1)]

(6)

zt=σ[Wz/(100xt)+(Uz/(100ht-1)]

(7)

輸出電壓與理論值之間存在100倍的關系。因為器件電導是mS級,所以通過憶阻器的輸出電壓是mV級且在sigmoid函數的線性部分,可以在電路中實現一個線性函數替代sigmoid函數功能,本文用非零線性函數擬合sigmoid函數從0~0.2的線性部分,線性函數如下:

y=0.2x+0.5

(8)

根據式(8),sigmoid函數電路可以簡化為求和電路與放大電路的組合。根據式(5)可以看出,電壓值與理論值有100倍的關系,線性函數的系數為0.2,根據輸入的映射關系,即可將放大電路的反饋電阻阻值設為40 kΩ、輸入電阻阻值設為1 kΩ,同相求和電路的一端輸入設為0.5 V直流穩壓源,運放同相輸入端的2個電阻和反向輸入端電阻同為3 kΩ,反饋電阻為6 kΩ。由此得到rt和zt電路輸出值,且其與理論計算為線性關系。

使用同樣的方法對h′候選激活輸出模塊進行搭建,將式(5)代入式(3),可得其電路輸出公式為:

h′=tanh(W/(100xt)+

(U/100)(rt⊙ht-1)+b)

(9)

候選激活模塊中通過憶阻器后的電壓為mV級別,而tanh函數的-0.5~0.5部分是線性的,因此為了在電路中實現tanh函數,本文使用過零線性函數擬合tanh函數,得到的線性擬合函數如下:

y=0.8x

(10)

通過一個放大電路可以簡單實現tanh函數,放大電路的反饋電阻可以根據擬合的線性函數設置為80 kΩ,輸入電阻為1 kΩ,即可實現候選激活狀態的電路輸出。GRU的當前時刻輸出由輸出電路完成,其輸出方程式(3)根據乘法分配律可以拆分為:

ht=ht-1-ztht-1+zth′

(11)

電路的輸出還需要電壓乘法運算,這并不適合用憶阻器直接實現,因此本文使用AD633搭建一個可以實現mV級的電壓乘法電路。更新門、上一時刻輸出、候選激活通過加法電路和減法電路進行組合,可得到當前時刻電路輸出。

本文搭建的電路完全從硬件方面實現了GRU單元的功能。電路參數只有輸入與輸出,無需對門信號和候選激活信號進行操作,避免了不必要的信息傳輸和外圍電路。同時本設計可以通過異地訓練方法將權重寫入憶阻器,異位方法的主要優點是可以使用任何學習算法進行訓練,并且簡化了激活函數電路,無需高精度器件就可以實現GRU的功能。

3 電路及網絡仿真結果

3.1 硬件電路的仿真結果

因為器件的復位電壓是0.5 V,所以電路中的電壓范圍要控制在-0.5~+0.5 V范圍內。提取模型中第1層GRU的權重值、輸入和輸出值,得到權重值范圍為(-0.2,0.2),輸入輸出范圍均為(-1,1)。因此軟件中的參數線性映射為-0.5~0.5 V的電壓值,權重取絕對值后從0~0.2線性映射到電導狀態0.000 5 ~ 0.002 0 S,見表1所列。

表1 網絡參數與電路參數的映射關系

本文將輸入xt和ht-1從-1 ~ 1以0.1為步長變化進行連續的仿真,以檢驗仿真模型的運算準確性。由于GRU單元中存在3次迭代運算,本文提取了迭代運算中的輸出結果,以驗證模型的實際效果,電路仿真結果混淆矩陣如圖5所示。因為軟件輸入是電路值的2倍,本文將sigmoid激活函數電路輸出放大了200倍,所以門控單元的輸出與理論值的關系式為Y=V,圖5a的誤差計算公式為:

圖5 電路仿真結果混淆矩陣

Ei=(V-Y)×100%

(12)

其中:Ei為第i次仿真的誤差;V為電路輸出電壓值;Y為理論輸出值。軟件輸出是電路值的2倍,即Y=2V,圖5b、5c的誤差計算公式為:

Ei=(V-Y/2)×100%

(13)

由圖5a可知,復位門和更新門的平均誤差值為0.010 3。由圖5b可知,候選激活狀態的電路輸出與理論輸出值的平均誤差值為0.014 6。由圖5c可知,最終電路輸出與理論輸出值的平均誤差值為0.007 5。1%的誤差在很多高精度數學計算中都是不可接受的,但神經網絡通常具有較高的魯棒性,因此對單個神經元的計算準確度要求并不如此苛刻。在神經網絡中,考慮到憶阻器硬件電路在執行神經網絡過程中相比于傳統馮諾依曼架構在能效上的巨大優勢,計算精度上的少許損失是完全可以接受的。

3.2 網絡仿真結果

通過分析電路輸出誤差混淆矩陣,獲得一個方差為0.009 7、均值為-0.002 6的正態分布函數。為了將電路應用于實際情境,本文搭建一個包含2層GRU和一個全連接層的3層神經網絡模型,每個GRU層具有64個單元,全連接層包含1個神經元。

在模型的第1層GRU的輸出上,引入一個服從電路誤差分布的正態分布隨機數,以模擬模型在電路中的運行情況。整個系統的具體操作流程如圖6所示。

圖6 系統流程

使用7 270個訓練數據,對模型進行100輪的訓練。在完成訓練后,將電路參數集成到模型中,并進行500個數據的測試。經過訓練后,損失值降至0.000 4,訓練R2分數達到0.996 9。為了評估模型性能,對500個測試數據集的R2分數進行綜合分析,得到0.948 4的R2分數。將電路參數用于模型的前向預測,得到的預測R2分數為0.923 4。

將本文的設計與先前實現GRU模型的工作進行對比,結果見表2所列。從表2可以看出,本文的電路在功耗和速度方面具有顯著優勢,因此在構建深層網絡時可以提供優越的并行度將單元應用到網絡中,并且可以快速完成網絡的前向傳播。

表2 模型與電路的評估參數對比

4 結 論

本文設計了一個基于憶阻器的GRU硬件電路,設計的電路可以減少不必要的數據傳輸和大量外圍電路的參與。仿真結果表明,與理論值相比,GRU電路輸出的平均誤差低至0.007 5,而使用搭建的硬件電路實現的股票預測模型的R2分數可以達到0.923 4。與目前的GRU硬件實現方式相比,本文設計需要更少的電路組件,具有更快的執行速度和更低的功耗。此外,本文設計能夠有效實現GRU模型的前向傳播。因此,本文設計為未來GRU的硬件電路設計提供了一種新的解決方案,并為提高GRU網絡存算一體的實現速度提供較好的思路。

猜你喜歡
阻器線性權重
漸近線性Klein-Gordon-Maxwell系統正解的存在性
線性回歸方程的求解與應用
權重常思“浮名輕”
二階線性微分方程的解法
為黨督政勤履職 代民行權重擔當
基于公約式權重的截短線性分組碼盲識別方法
真實憶阻器數學建模以及電學仿真
具有脈沖的憶阻器神經網絡周期解的穩定性
層次分析法權重的計算:基于Lingo的數學模型
憶阻器網絡等效分析電路及其特性研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合