一種基于bp神經(jīng)網(wǎng)絡(luò)的gfet建模方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于器件建模技術(shù)領(lǐng)域,具體涉及一種石墨烯場(chǎng)效應(yīng)管(GFET)的建模方 法。
【背景技術(shù)】
[0002] 器件模型是描述器件性能的工具,要將新型器件大規(guī)模應(yīng)用于電路設(shè)計(jì),精確的 器件模型必不可少。傳統(tǒng)的器件模型主要是數(shù)值模型和集約模型。
[0003] 基于第一性原理或非平衡格林函數(shù)的數(shù)值計(jì)算,數(shù)值模型可以精確仿真GFET的 特性,但運(yùn)算時(shí)間過(guò)長(zhǎng),無(wú)法應(yīng)用于電路仿真工具。集約模型采用解析表達(dá)式描述GFET的 特性,計(jì)算時(shí)間短,可以集成到電路仿真工具中用于電路設(shè)計(jì),但需要對(duì)GFET的工作機(jī)制 有深入理解,并將其做簡(jiǎn)化為合適的解析表達(dá)式,對(duì)新型GFET器件往往難以做到。
[0004] 神經(jīng)網(wǎng)絡(luò)是一種基于機(jī)器學(xué)習(xí)和統(tǒng)計(jì)理論的建模方法,通過(guò)學(xué)習(xí)訓(xùn)練樣本的輸入 輸出數(shù)據(jù)間的關(guān)系調(diào)整自身參數(shù),描述對(duì)象的性能,具有結(jié)構(gòu)簡(jiǎn)單、學(xué)習(xí)速度快、不需要完 備的器件理論知識(shí)等優(yōu)點(diǎn)。采用神經(jīng)網(wǎng)絡(luò)可以高效、準(zhǔn)確的完成新型器件建模。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明為了克服現(xiàn)有建模方法的不足,提出了一種基于BP(Back Propagation) 神經(jīng)網(wǎng)絡(luò)的GFET建模方法,其計(jì)算時(shí)間短、精確度高、不需要完備的器件理論知識(shí),能根據(jù) GFET的輸入數(shù)據(jù),包括柵源電壓Vgs、漏源電壓Vds、溝道寬度W、溝道長(zhǎng)度L,準(zhǔn)確計(jì)算GFET的 輸出溝道電流Id。
[0006] 本發(fā)明采用的技術(shù)方案如下:一種基于BP神經(jīng)網(wǎng)絡(luò)的GFET建模方法,其特征在 于,包括以下步驟:
[0007] 步驟1.數(shù)據(jù)采集:采集一定量的GFET輸入輸出數(shù)據(jù)用于BP網(wǎng)絡(luò)模型訓(xùn)練和測(cè) 試,經(jīng)訓(xùn)練測(cè)試后得到的網(wǎng)絡(luò)模型即可用于對(duì)GFET在其他輸入?yún)?shù)下性能的預(yù)測(cè);輸入數(shù) 據(jù)包括柵源電壓Vgs、漏源電壓Vds、溝道寬度W、溝道長(zhǎng)度L,輸出數(shù)據(jù)為溝道電流I d;采集到 數(shù)據(jù)后按一定比例將所有數(shù)據(jù)隨機(jī)分為訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù);
[0008] 步驟2.數(shù)據(jù)預(yù)處理:將步驟1所得數(shù)據(jù)統(tǒng)一進(jìn)行歸一化處理;
[0009] 步驟3.確定所用BP網(wǎng)絡(luò)GFET模型結(jié)構(gòu),包括隱含層數(shù)目和每個(gè)隱含層的神經(jīng)元 個(gè)數(shù),輸入層神經(jīng)元數(shù)目為輸入?yún)?shù)個(gè)數(shù),輸出層神經(jīng)元數(shù)目為輸出參數(shù)個(gè)數(shù);
[0010] 步驟4. GFET模型構(gòu)建和訓(xùn)練;
[0011] 步驟5.對(duì)GFET模型預(yù)測(cè)輸出電流進(jìn)行反歸一化,得到模型輸出值;
[0012] 步驟 6. GFET 模型的 Verilog-A 實(shí)現(xiàn)。
[0013] 作為優(yōu)選,步驟2中所述的數(shù)據(jù)歸一化,其具體方法是,
[0014] m = 2* (a-amin) / (amax-amin) -1 (式一);
[0015] 其中a_^P a min分別為歸一化前數(shù)據(jù)a的最大值和最小值,m是歸一化后的值。
[0016] 作為優(yōu)選,步驟3中所述的確定BP網(wǎng)絡(luò)GFET模型隱含層結(jié)構(gòu),其主要依靠試湊 法,具體實(shí)現(xiàn)包括以下子步驟:
[0017] 步驟3. 1 :選擇雙隱含層結(jié)構(gòu);
[0018] 步驟3. 2 :確定隱含層數(shù)目后,設(shè)定兩項(xiàng)判斷BP網(wǎng)絡(luò)GFET模型輸出優(yōu)良與否的評(píng) 判標(biāo)準(zhǔn),再選定神經(jīng)元個(gè)數(shù)為一定范圍,對(duì)其進(jìn)行循環(huán)掃描,選擇效果最好的網(wǎng)絡(luò)結(jié)構(gòu);其 中兩項(xiàng)判斷BP網(wǎng)絡(luò)GFET模型輸出優(yōu)良與否的評(píng)判標(biāo)準(zhǔn)分別是:
[0019] 評(píng)判標(biāo)準(zhǔn)1 :測(cè)試樣本目標(biāo)電流與GFET模型對(duì)測(cè)試樣本預(yù)測(cè)電流之間的誤差絕對(duì) 值和errorsum,優(yōu)良標(biāo)準(zhǔn)為其值小于0· 01 ;
[0020] 評(píng)判標(biāo)準(zhǔn)2 :測(cè)試樣本目標(biāo)向量與GFET模型對(duì)測(cè)試樣本預(yù)測(cè)電流之間的均方誤差 errormse,優(yōu)良標(biāo)準(zhǔn)為其值小于IOe-IO ;
[0021] 在對(duì)神經(jīng)元個(gè)數(shù)的循環(huán)掃描中,選擇errorsum和errormse較小的BP網(wǎng)絡(luò)結(jié)構(gòu); 若多個(gè)網(wǎng)絡(luò)結(jié)構(gòu)的errorsum和errormse值相似,則選擇神經(jīng)元數(shù)目最少的網(wǎng)絡(luò)結(jié)構(gòu)。
[0022] 作為優(yōu)選,步驟4中所述的GFET模型構(gòu)建和訓(xùn)練,具體實(shí)現(xiàn)包括以下子步驟:
[0023] 步驟4. I :BP網(wǎng)絡(luò)GFET模型隱含層的傳遞函數(shù)如下,
[0024]
[0025] 輸出層的傳遞函數(shù)為線性函數(shù),如下所示,
[0026] y = X (式三);
[0027] 以上兩式中,X是傳遞函數(shù)輸入,y是傳遞函數(shù)輸出,即神經(jīng)元輸出;
[0028] 其中傳遞函數(shù)的輸入X是神經(jīng)元所有輸入即前一層所有神經(jīng)元輸出的加權(quán)和,如 下所示,
[0029]
[0030] 其中N是輸入的數(shù)目,(^是神經(jīng)元輸入即前一層神經(jīng)元輸出,W 1是對(duì)應(yīng)的權(quán)值,b 是神經(jīng)元的閾值;
[0031] 步驟4. 2 :BP網(wǎng)絡(luò)模型的訓(xùn)練過(guò)程采用Levenberg-Marquardt算法,具體實(shí)現(xiàn)包括 以下子步驟:
[0032] 步驟4. 2. 1 :計(jì)算目標(biāo)電流與模型預(yù)測(cè)電流之間的誤差,如下所示,
[0033] ep= Tp_yp (式五);
[0034] 其中Tp和y,別為第p組訓(xùn)練數(shù)據(jù)的目標(biāo)電流和對(duì)應(yīng)的模型的預(yù)測(cè)電流;
[0035] 步驟4. 2. 2 :將ep對(duì)步驟4. 1中每個(gè)神經(jīng)元的權(quán)值和閾值求偏導(dǎo),將求得的偏導(dǎo)值 組成雅克比矩陣J,
[0038] 其中M為訓(xùn)練樣本總數(shù),D為BP網(wǎng)絡(luò)模型所有權(quán)值的數(shù)目,F(xiàn)為網(wǎng)絡(luò)所有閾值的數(shù)
[0036]
[0037] 目,識(shí)表示權(quán)值和閾值;
[0039] 步驟4. 2. 3 :更新權(quán)值和閾值,方法如下,
[0040]
[0041] E = Le1. . . ep. . . eM]T (式九);
[0042] 其中0〃/表示更新后的權(quán)值或閾值,仰表示更新前相應(yīng)的權(quán)值或閾值,λ為阻尼 因子,I為單位矩陣,階數(shù)為D+F,式八和式九中E為誤差矩陣,其由式五中ep組成;
[0043] 步驟4. 2. 4 :不斷循環(huán)上述過(guò)程,直到BP網(wǎng)絡(luò)模型誤差平方和小于網(wǎng)絡(luò)設(shè)定目標(biāo) 或循環(huán)次數(shù)達(dá)到最大設(shè)定次數(shù)。
[0044] 作為優(yōu)選,步驟5中所述的輸出電流反歸一化,其具體方法是,
[0045] c = (yp+l) (Cmax-Cmin)/2+cmin (式十);
[0046] 其中Cmax和c _分別為歸一化前輸出電流的最大值和最小值,y 5是GEFT模型預(yù)測(cè) 電流的值,c是反歸一化后的模型輸出電流值。
[0047] 作為優(yōu)選,步驟6中所述的GFET模型的Verilog-A實(shí)現(xiàn),其具體方法是:首先在數(shù) 據(jù)輸入前用步驟2中所述的歸一化方法對(duì)數(shù)據(jù)進(jìn)行處理;然后根據(jù)步驟3中BP網(wǎng)絡(luò)的拓?fù)?結(jié)構(gòu)和步驟4中BP網(wǎng)絡(luò)前向傳播的公式,公式包括式二、式三、式四,將各層之間連接的權(quán) 值、各層的閾值和傳遞函數(shù)以Verilog-A的形式進(jìn)行表達(dá);最后用步驟5中所述的反歸一化 的方法對(duì)輸出數(shù)據(jù)進(jìn)行反歸一化處理,以得到輸出溝道電流;歸一化和反歸一化的處理函 數(shù)也用Verilog-A的形式進(jìn)行表達(dá),最終得到用于電路設(shè)計(jì)仿真的GFET模型。
[0048] 相對(duì)于現(xiàn)有技術(shù),本發(fā)明的有益效果是提出了一種新的GFET建模方法,通過(guò)使用 有限數(shù)據(jù)訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)的方式,構(gòu)建起一個(gè)不依賴(lài)于解析理論公式、計(jì)算快捷、精確表 達(dá)的GFET電路級(jí)模型。
【附圖說(shuō)明】
[0049] 圖1 :是本發(fā)明實(shí)施例的BP網(wǎng)絡(luò)模型的拓?fù)浣Y(jié)構(gòu)示意;
[0050] 圖2 :是本發(fā)明實(shí)施例的GFET神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的流程圖;
[0051] 圖3 :是本發(fā)明實(shí)施例的GFET建模實(shí)例的輸出特性曲線。
【具體實(shí)施方式】
[0052] 為了便于本領(lǐng)域普通技術(shù)人員理解和實(shí)施本發(fā)明,下面結(jié)合附圖及實(shí)施例對(duì)本發(fā) 明作進(jìn)一步的詳細(xì)描述,應(yīng)當(dāng)理解,此處所描述的實(shí)施示例僅用于說(shuō)明和解釋本發(fā)明,并不 用于限定本發(fā)明。
[0053] 本發(fā)明提供的一種基于BP神經(jīng)網(wǎng)絡(luò)的GFET建模方法,包括以下步驟:
[0054] 步驟1.數(shù)據(jù)采集:采集一定量的GFET輸入輸出數(shù)據(jù)用于BP網(wǎng)絡(luò)模型訓(xùn)練和測(cè) 試。經(jīng)訓(xùn)練測(cè)試后得到的網(wǎng)絡(luò)模型即可用于對(duì)GFET在其他輸入?yún)?shù)下性能的預(yù)測(cè)。輸入 數(shù)據(jù)包括柵源電壓Vgs、漏源電壓Vds、溝道寬度W、溝道長(zhǎng)度L,輸出數(shù)據(jù)為溝道電流I d;采集 到數(shù)據(jù)后按一定比例將所有數(shù)據(jù)隨機(jī)分為訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù);
[0055] 步驟2.數(shù)據(jù)預(yù)處理:將步驟1所得數(shù)據(jù)統(tǒng)一進(jìn)行歸一化處理;數(shù)據(jù)歸一化的具體 方法是,
[0056] m = 2* (a-amin) / (amax-amin) -1 (式一);
[0057] 其中amax和a min分別為歸一化前數(shù)據(jù)a的最大值和最小值,m是歸一化后的值。
[0058] 步驟3.確定所用BP網(wǎng)絡(luò)GFET模型結(jié)構(gòu),包括隱含層數(shù)目和每個(gè)隱含層的神經(jīng)元 個(gè)數(shù),本例中輸入層神經(jīng)元為4個(gè),輸出層神經(jīng)元為1個(gè);
[0059] 確定BP網(wǎng)絡(luò)GFET模型隱含層結(jié)構(gòu),其主要依靠試湊法,具體實(shí)現(xiàn)包括以下子步 驟:
[0060] 步驟3. 1 :含有一個(gè)隱含層的BP網(wǎng)絡(luò)可以逼近任何連續(xù)函數(shù),但對(duì)實(shí)際建模問(wèn)題, 選擇雙隱含層結(jié)構(gòu)有時(shí)可以達(dá)到減少總神經(jīng)元數(shù)目、加快訓(xùn)練、提高精度的目的;本實(shí)施例 選用雙隱含層結(jié)構(gòu),如圖1所示;
[0061] 步驟3. 2 :確定隱含層數(shù)目后,設(shè)定兩項(xiàng)判斷BP網(wǎng)絡(luò)GFET模型輸出優(yōu)良與否的評(píng) 判標(biāo)準(zhǔn),再選定神經(jīng)元個(gè)數(shù)為一定范圍,對(duì)其進(jìn)行循環(huán)掃描,選擇效果最好的網(wǎng)絡(luò)結(jié)構(gòu);本 實(shí)施例選定第一隱含層神經(jīng)元數(shù)為15,第二隱含層神經(jīng)元數(shù)為12,其中兩項(xiàng)判斷BP網(wǎng)絡(luò) GFET模型輸出優(yōu)良與否的評(píng)判標(biāo)準(zhǔn)分別是:
[0062] 評(píng)判標(biāo)準(zhǔn)1 :測(cè)試樣本目標(biāo)電流與GFET模型對(duì)測(cè)試樣本預(yù)測(cè)電流之間的誤差絕對(duì) 值和errorsum。本例中優(yōu)良標(biāo)準(zhǔn)為其值小于0. 01。
[0063]