国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于憶阻器的門控循環(huán)單元電路

2024-03-04 11:34:12韓婷婷陳思鍇
關(guān)鍵詞:阻器線性權(quán)重

韓婷婷, 張 章, 陳思鍇

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

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

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

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

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

1 憶阻器性能及其模型

憶阻器為應(yīng)用非馮諾依曼架構(gòu)的存內(nèi)計(jì)算集成技術(shù)提供了新思路。憶阻器可以用作仿生突觸設(shè)備,通過(guò)動(dòng)態(tài)調(diào)整電阻狀態(tài)來(lái)實(shí)現(xiàn)權(quán)重更新。同時(shí),憶阻器陣列可以根據(jù)基爾霍夫定律和歐姆定律實(shí)現(xiàn)VMM操作,但是使用憶阻器陣列進(jìn)行GRU操作,在每次迭代操作中存在海量數(shù)據(jù)傳輸。因此目前還缺乏使用憶阻器來(lái)實(shí)現(xiàn)RNN網(wǎng)絡(luò)功能的方案。

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

圖1 憶阻器的電流-電壓和多態(tài)特性

通過(guò)施加0~-1.5 V的掃描電壓,器件可以從高電阻狀態(tài)(high resistance state,HRS)變?yōu)榈碗娮锠顟B(tài)(low resistance state,LRS)。當(dāng)施加0~2.0 V的掃描電壓時(shí),器件可以從LRS變?yōu)镠RS。此外,本文對(duì)200個(gè)工作電壓進(jìn)行統(tǒng)計(jì),設(shè)定電壓集中在0.7~-1.1 V的范圍,復(fù)位電壓集中在-0.7 ~ 0.4 V的范圍。分布式和集中式的式工作電壓特性有利于后期電路設(shè)計(jì)。通過(guò)改變復(fù)位過(guò)程的截止電壓,可以實(shí)現(xiàn)憶阻器的多態(tài)調(diào)節(jié)。本文使用這種方法實(shí)現(xiàn)了64個(gè)狀態(tài)的連續(xù)調(diào)節(jié),電導(dǎo)調(diào)節(jié)的線性關(guān)系(圖1b)表明該裝置滿足實(shí)際應(yīng)用的要求。

對(duì)器件的特性進(jìn)行函數(shù)擬合,并將其數(shù)學(xué)表達(dá)式轉(zhuǎn)換為相應(yīng)的電路元件。將不可轉(zhuǎn)換的部分作為函數(shù)方程合并到Spice模型中以擬合器件數(shù)據(jù),因此新模型具有器件屬性。在重置過(guò)程中提取一條完整的曲線,如圖2所示。從圖2可以看出,器件曲線和模型擬合曲線幾乎完全重合。因此,該模型滿足多態(tài)調(diào)控仿真,能夠很好地模擬真實(shí)憶阻器在后續(xù)神經(jīng)網(wǎng)絡(luò)構(gòu)建中的工作狀態(tài)。

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

2 基于憶阻器的門控循環(huán)單元電路

2.1 門控循環(huán)單元

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

圖3 門控循環(huán)單元的結(jié)構(gòu)

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為時(shí)間步長(zhǎng)為N的輸入向量;ht-1為上一時(shí)刻的信息輸入向量;zt為更新門輸出矩陣;rt為重置門輸出矩陣;h′為中間激活狀態(tài)輸出矩陣;ht為當(dāng)前時(shí)刻的輸出;Wz、Uz為更新門的權(quán)重矩陣;Wr、Ur為重置門的權(quán)重矩陣;W、U為中間激活狀態(tài)的權(quán)重矩陣;bz、br分別為更新門和重置門偏置矩陣;σ為sigmoid函數(shù);⊙為逐元素向量積。

2.2 基于憶阻器的門控循環(huán)單元電路

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

圖4 基于憶阻器的門控循環(huán)單元的整體電路

基于以上2個(gè)設(shè)計(jì)思想,下面介紹GRU內(nèi)部單元的具體實(shí)現(xiàn)電路。

權(quán)值與電導(dǎo)值之間被設(shè)計(jì)為100倍的線性映射關(guān)系,即

G=W/100

(5)

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

計(jì)算公式分別為:

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

(6)

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

(7)

輸出電壓與理論值之間存在100倍的關(guān)系。因?yàn)槠骷妼?dǎo)是mS級(jí),所以通過(guò)憶阻器的輸出電壓是mV級(jí)且在sigmoid函數(shù)的線性部分,可以在電路中實(shí)現(xiàn)一個(gè)線性函數(shù)替代sigmoid函數(shù)功能,本文用非零線性函數(shù)擬合sigmoid函數(shù)從0~0.2的線性部分,線性函數(shù)如下:

y=0.2x+0.5

(8)

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

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

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

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

(9)

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

y=0.8x

(10)

通過(guò)一個(gè)放大電路可以簡(jiǎn)單實(shí)現(xiàn)tanh函數(shù),放大電路的反饋電阻可以根據(jù)擬合的線性函數(shù)設(shè)置為80 kΩ,輸入電阻為1 kΩ,即可實(shí)現(xiàn)候選激活狀態(tài)的電路輸出。GRU的當(dāng)前時(shí)刻輸出由輸出電路完成,其輸出方程式(3)根據(jù)乘法分配律可以拆分為:

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

(11)

電路的輸出還需要電壓乘法運(yùn)算,這并不適合用憶阻器直接實(shí)現(xiàn),因此本文使用AD633搭建一個(gè)可以實(shí)現(xiàn)mV級(jí)的電壓乘法電路。更新門、上一時(shí)刻輸出、候選激活通過(guò)加法電路和減法電路進(jìn)行組合,可得到當(dāng)前時(shí)刻電路輸出。

本文搭建的電路完全從硬件方面實(shí)現(xiàn)了GRU單元的功能。電路參數(shù)只有輸入與輸出,無(wú)需對(duì)門信號(hào)和候選激活信號(hào)進(jìn)行操作,避免了不必要的信息傳輸和外圍電路。同時(shí)本設(shè)計(jì)可以通過(guò)異地訓(xùn)練方法將權(quán)重寫入憶阻器,異位方法的主要優(yōu)點(diǎn)是可以使用任何學(xué)習(xí)算法進(jìn)行訓(xùn)練,并且簡(jiǎn)化了激活函數(shù)電路,無(wú)需高精度器件就可以實(shí)現(xiàn)GRU的功能。

3 電路及網(wǎng)絡(luò)仿真結(jié)果

3.1 硬件電路的仿真結(jié)果

因?yàn)槠骷膹?fù)位電壓是0.5 V,所以電路中的電壓范圍要控制在-0.5~+0.5 V范圍內(nèi)。提取模型中第1層GRU的權(quán)重值、輸入和輸出值,得到權(quán)重值范圍為(-0.2,0.2),輸入輸出范圍均為(-1,1)。因此軟件中的參數(shù)線性映射為-0.5~0.5 V的電壓值,權(quán)重取絕對(duì)值后從0~0.2線性映射到電導(dǎo)狀態(tài)0.000 5 ~ 0.002 0 S,見表1所列。

表1 網(wǎng)絡(luò)參數(shù)與電路參數(shù)的映射關(guān)系

本文將輸入xt和ht-1從-1 ~ 1以0.1為步長(zhǎng)變化進(jìn)行連續(xù)的仿真,以檢驗(yàn)仿真模型的運(yùn)算準(zhǔn)確性。由于GRU單元中存在3次迭代運(yùn)算,本文提取了迭代運(yùn)算中的輸出結(jié)果,以驗(yàn)證模型的實(shí)際效果,電路仿真結(jié)果混淆矩陣如圖5所示。因?yàn)檐浖斎胧请娐分档?倍,本文將sigmoid激活函數(shù)電路輸出放大了200倍,所以門控單元的輸出與理論值的關(guān)系式為Y=V,圖5a的誤差計(jì)算公式為:

圖5 電路仿真結(jié)果混淆矩陣

Ei=(V-Y)×100%

(12)

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

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

(13)

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

3.2 網(wǎng)絡(luò)仿真結(jié)果

通過(guò)分析電路輸出誤差混淆矩陣,獲得一個(gè)方差為0.009 7、均值為-0.002 6的正態(tài)分布函數(shù)。為了將電路應(yīng)用于實(shí)際情境,本文搭建一個(gè)包含2層GRU和一個(gè)全連接層的3層神經(jīng)網(wǎng)絡(luò)模型,每個(gè)GRU層具有64個(gè)單元,全連接層包含1個(gè)神經(jīng)元。

在模型的第1層GRU的輸出上,引入一個(gè)服從電路誤差分布的正態(tài)分布隨機(jī)數(shù),以模擬模型在電路中的運(yùn)行情況。整個(gè)系統(tǒng)的具體操作流程如圖6所示。

圖6 系統(tǒng)流程

使用7 270個(gè)訓(xùn)練數(shù)據(jù),對(duì)模型進(jìn)行100輪的訓(xùn)練。在完成訓(xùn)練后,將電路參數(shù)集成到模型中,并進(jìn)行500個(gè)數(shù)據(jù)的測(cè)試。經(jīng)過(guò)訓(xùn)練后,損失值降至0.000 4,訓(xùn)練R2分?jǐn)?shù)達(dá)到0.996 9。為了評(píng)估模型性能,對(duì)500個(gè)測(cè)試數(shù)據(jù)集的R2分?jǐn)?shù)進(jìn)行綜合分析,得到0.948 4的R2分?jǐn)?shù)。將電路參數(shù)用于模型的前向預(yù)測(cè),得到的預(yù)測(cè)R2分?jǐn)?shù)為0.923 4。

將本文的設(shè)計(jì)與先前實(shí)現(xiàn)GRU模型的工作進(jìn)行對(duì)比,結(jié)果見表2所列。從表2可以看出,本文的電路在功耗和速度方面具有顯著優(yōu)勢(shì),因此在構(gòu)建深層網(wǎng)絡(luò)時(shí)可以提供優(yōu)越的并行度將單元應(yīng)用到網(wǎng)絡(luò)中,并且可以快速完成網(wǎng)絡(luò)的前向傳播。

表2 模型與電路的評(píng)估參數(shù)對(duì)比

4 結(jié) 論

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

猜你喜歡
阻器線性權(quán)重
漸近線性Klein-Gordon-Maxwell系統(tǒng)正解的存在性
線性回歸方程的求解與應(yīng)用
權(quán)重常思“浮名輕”
二階線性微分方程的解法
為黨督政勤履職 代民行權(quán)重?fù)?dān)當(dāng)
基于公約式權(quán)重的截短線性分組碼盲識(shí)別方法
真實(shí)憶阻器數(shù)學(xué)建模以及電學(xué)仿真
電子制作(2017年24期)2017-02-02 07:14:25
具有脈沖的憶阻器神經(jīng)網(wǎng)絡(luò)周期解的穩(wěn)定性
層次分析法權(quán)重的計(jì)算:基于Lingo的數(shù)學(xué)模型
河南科技(2014年15期)2014-02-27 14:12:51
憶阻器網(wǎng)絡(luò)等效分析電路及其特性研究
开江县| 大关县| 龙岩市| 靖安县| 多伦县| 沙田区| 梓潼县| 镇江市| 台北县| 平塘县| 房产| 南部县| 共和县| 广德县| 阿拉尔市| 石台县| 汨罗市| 竹北市| 天祝| 神木县| 灵川县| 凤山县| 伊宁县| 桦南县| 南皮县| 蒙自县| 岱山县| 临西县| 万宁市| 高邑县| 巴中市| 大连市| 靖西县| 陈巴尔虎旗| 介休市| 大悟县| 伊金霍洛旗| 普兰县| 阿勒泰市| 霍城县| 晋州市|