本申請(qǐng)涉及神經(jīng)網(wǎng)絡(luò),具體涉及一種基于高斯分布的gru量化方法及存儲(chǔ)介質(zhì)、智能設(shè)備。
背景技術(shù):
1、gru(gated?recurrent?unit,門控循環(huán)單元)模型,又稱gru神經(jīng)網(wǎng)絡(luò)模型,是傳統(tǒng)rnn(recurrent?neural?network,循環(huán)神經(jīng)網(wǎng)絡(luò))模型的一種變體,旨在解決傳統(tǒng)rnn模型中的梯度消失和梯度爆炸問(wèn)題。gru模型與傳統(tǒng)rnn模型之間的關(guān)鍵區(qū)別在于:傳統(tǒng)rnn模型是為了解決數(shù)據(jù)之間的時(shí)序依賴關(guān)系,一般它能很好的學(xué)習(xí)序列中鄰近時(shí)間步數(shù)據(jù)點(diǎn)(短期)之間的關(guān)系,但對(duì)于長(zhǎng)期依賴關(guān)系或者說(shuō)長(zhǎng)序列中的依賴關(guān)系的學(xué)習(xí)則會(huì)變得不穩(wěn)定;而gru模型支持隱藏狀態(tài)的門控,即gru模型通過(guò)引入更新門和重置門來(lái)控制信息的流動(dòng),從而更好地捕捉長(zhǎng)序列中的依賴關(guān)系,這意味著gru模型有專門的機(jī)制來(lái)確定應(yīng)該何時(shí)更新隱藏狀態(tài)以及重置隱藏狀態(tài)。gru模型能夠以更簡(jiǎn)單的結(jié)構(gòu)實(shí)現(xiàn)傳統(tǒng)rnn模型同等的效果,且計(jì)算速度更快。于此,gru模型已逐漸得到了廣泛的應(yīng)用,當(dāng)gru模型應(yīng)用于低功耗和對(duì)實(shí)時(shí)性要求較高的應(yīng)用場(chǎng)景時(shí),業(yè)內(nèi)一般通過(guò)gru量化(即是將浮點(diǎn)數(shù)據(jù)轉(zhuǎn)換為定點(diǎn)數(shù)據(jù))來(lái)降低計(jì)算量,從而使得gru模型實(shí)現(xiàn)較高的推理效率。
2、現(xiàn)有的gru量化方法通常是設(shè)置固定上下限的激活函數(shù)定義域、構(gòu)建均勻分布定義域的激活函數(shù)表、采用平均插值法查找激活函數(shù)值來(lái)計(jì)算gru模型的各單元量化值。然而,固定上下限的激活函數(shù)定義域無(wú)法適用于非固定的輸入數(shù)據(jù),例如無(wú)法適用于訓(xùn)練事件發(fā)生變化所導(dǎo)致的樣本方差波動(dòng)較大的場(chǎng)景,均勻分布定義域的激活函數(shù)表無(wú)法對(duì)靠近均值附近的稠密自變量集合產(chǎn)生高精確度的映射結(jié)果,采用平均插值法查找激活函數(shù)值時(shí)插值點(diǎn)之間的距離相同,無(wú)法利用插值點(diǎn)之間的不同距離來(lái)提高數(shù)值計(jì)算精度。綜合而言,現(xiàn)有的gru量化方法難以適用于非固定的輸入數(shù)據(jù),且計(jì)算精度有待提高。
技術(shù)實(shí)現(xiàn)思路
1、鑒于此,本申請(qǐng)?zhí)峁┮环N基于高斯分布的gru量化方法及存儲(chǔ)介質(zhì)、智能設(shè)備,可以改善現(xiàn)有g(shù)ru量化方法難以適用于非固定的輸入數(shù)據(jù)、計(jì)算精度有待提高的問(wèn)題。
2、本申請(qǐng)?zhí)峁┑囊环N基于高斯分布的gru量化方法,包括:
3、獲取輸入gru模型的訓(xùn)練數(shù)據(jù),并計(jì)算得到所述訓(xùn)練數(shù)據(jù)的方差;
4、根據(jù)所述訓(xùn)練數(shù)據(jù)的方差進(jìn)行高斯采樣,以獲取高斯樣本集合;
5、對(duì)所述高斯樣本集合內(nèi)的元素進(jìn)行排序;
6、對(duì)所述gru模型的激活函數(shù)進(jìn)行定義域重構(gòu),以將所述gru模型的激活函數(shù)的定義域限定至排序后的高斯樣本集合內(nèi);
7、對(duì)所述定義域重構(gòu)后的激活函數(shù)進(jìn)行插值計(jì)算以得到對(duì)應(yīng)的值域列表;
8、將所述值域列表中的元素映射到定點(diǎn)值域列表以完成gru模型的量化;
9、基于量化后的gru模型計(jì)算重置門、更新門、候選隱藏狀態(tài)及隱藏狀態(tài)。
10、可選的,根據(jù)所述訓(xùn)練數(shù)據(jù)的最大值和最小值,并通過(guò)關(guān)系式1計(jì)算得到所述訓(xùn)練數(shù)據(jù)的方差:
11、σ=(imax-imin)2???????????關(guān)系式1
12、所述σ表示所述訓(xùn)練數(shù)據(jù)的方差,所述imax表示所述訓(xùn)練數(shù)據(jù)的最大值,所述imin表示所述訓(xùn)練數(shù)據(jù)的最小值。
13、可選的,通過(guò)關(guān)系式2獲取所述高斯樣本集合:
14、
15、所述n(0,σ)表示均值為零且方差為計(jì)算得到的所述訓(xùn)練數(shù)據(jù)的方差的高斯分布,所述dt~n(0,σ),ι=1t2,3,...,t表示從所述n(0,σ)中不重復(fù)采樣t次,所述d為所述t次采樣所獲取的高斯樣本集合。
16、可選的,對(duì)所述高斯樣本集合內(nèi)的元素進(jìn)行排序,包括:
17、對(duì)所述高斯樣本集合內(nèi)的元素按照從小到大的順序進(jìn)行排序。
18、可選的,通過(guò)關(guān)系式3對(duì)所述高斯樣本集合內(nèi)的元素進(jìn)行排序:
19、q=sort(d)=[qt],t=1,2,3,...,t????關(guān)系式3
20、所述q表示排序后的高斯樣本集合,所述sort(d)表示對(duì)所述d采用的排序函數(shù),所述qt表示所述排序后的高斯樣本集合中第t位的元素。
21、可選的,將所述gru模型的激活函數(shù)的定義域限定至排序后的高斯樣本集合內(nèi),包括:
22、將所述gru模型的sigmoid激活函數(shù)和tanh激活函數(shù)的定義域均限定至所述排序后的高斯樣本集合內(nèi)。
23、可選的,對(duì)所述定義域重構(gòu)后的激活函數(shù)進(jìn)行插值計(jì)算以得到對(duì)應(yīng)的值域列表,包括:
24、通過(guò)關(guān)系式4計(jì)算得到定義域重構(gòu)后的sigmoid激活函數(shù)的值域列表a,以及通過(guò)關(guān)系式5計(jì)算得到定義域重構(gòu)后的tanh激活函數(shù)的值域列表b:
25、a=sigmoid(q)=[sigmoid(qt)],t=1,2,3,...,t????關(guān)系式4
26、b=tanh(q)=[tanh(qt)],t=1,2,3,...,t?????????關(guān)系式5
27、可選的,通過(guò)關(guān)系式6將所述值域列表中的元素映射到定點(diǎn)值域列表,以完成gru模型的量化:
28、
29、所述si表示量化因子,所述b為量化的位寬,所述aq表示所述值域列表a映射的定點(diǎn)值域列表,所述bq表示所述值域列表b映射的定點(diǎn)值域列表。
30、本申請(qǐng)?zhí)峁┑囊环N存儲(chǔ)介質(zhì),存儲(chǔ)有程序,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上任一項(xiàng)所述的基于高斯分布的gru量化方法的步驟。
31、本申請(qǐng)?zhí)峁┑囊环N智能設(shè)備,包括處理器,所述處理器可執(zhí)行如上任一項(xiàng)基于高斯分布的gru量化方法的步驟;和/或,包括如上所述的存儲(chǔ)介質(zhì)。
32、如上所述,本申請(qǐng)根據(jù)訓(xùn)練數(shù)據(jù)的方差進(jìn)行高斯采樣以獲取高斯樣本集合,并將gru模型的激活函數(shù)的定義域限定至高斯樣本集合內(nèi),即激活函數(shù)的定義域的上下限是根據(jù)訓(xùn)練數(shù)據(jù)的方差來(lái)適應(yīng)性設(shè)定的,而非固定的,因此可以適用于非固定的輸入數(shù)據(jù);并且,本申請(qǐng)基于高斯分布進(jìn)行采樣來(lái)實(shí)現(xiàn)激活函數(shù)的定義域重構(gòu),由于高斯分布較為真實(shí)的體現(xiàn)樣本的連續(xù)分布情況,因此可以對(duì)靠近均值附近的例如稠密自變量集合產(chǎn)生高精確度的映射結(jié)果,從而可以提高數(shù)值計(jì)算精度;進(jìn)一步的,對(duì)基于高斯分布得到的樣本集合進(jìn)行插值計(jì)算,相當(dāng)于基于離散經(jīng)驗(yàn)插值算法來(lái)計(jì)算得到激活函數(shù)的值,插值點(diǎn)之間的距離是真實(shí)樣本分布的體現(xiàn),有利于提高數(shù)值計(jì)算精度。
1.一種基于高斯分布的gru量化方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述訓(xùn)練數(shù)據(jù)的最大值和最小值,并通過(guò)關(guān)系式1計(jì)算得到所述訓(xùn)練數(shù)據(jù)的方差:
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,通過(guò)關(guān)系式2獲取所述高斯樣本集合:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,對(duì)所述高斯樣本集合內(nèi)的元素進(jìn)行排序,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,通過(guò)關(guān)系式3對(duì)所述高斯樣本集合內(nèi)的元素進(jìn)行排序:
6.根據(jù)權(quán)利要求1或5所述的方法,其特征在于,將所述gru模型的激活函數(shù)的定義域限定至排序后的高斯樣本集合內(nèi),包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,對(duì)所述定義域重構(gòu)后的激活函數(shù)進(jìn)行插值計(jì)算以得到對(duì)應(yīng)的值域列表,包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,通過(guò)關(guān)系式6將所述值域列表中的元素映射到定點(diǎn)值域列表,以完成gru模型的量化:
9.一種存儲(chǔ)介質(zhì),其特征在于,存儲(chǔ)有程序,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至8中任一項(xiàng)所述的基于高斯分布的gru量化方法的步驟。
10.一種智能設(shè)備,其特征在于,