[發(fā)明專利]一種深度學(xué)習(xí)并行計算架構(gòu)方法及其超參數(shù)自動配置優(yōu)化在審
| 申請?zhí)枺?/td> | 202010551939.2 | 申請日: | 2020-06-17 |
| 公開(公告)號: | CN111709519A | 公開(公告)日: | 2020-09-25 |
| 發(fā)明(設(shè)計)人: | 吳迪;范喆;聶祥 | 申請(專利權(quán))人: | 湖南大學(xué) |
| 主分類號: | G06N3/04 | 分類號: | G06N3/04;G06N3/08;G06N3/12 |
| 代理公司: | 長沙新裕知識產(chǎn)權(quán)代理有限公司 43210 | 代理人: | 梁小林 |
| 地址: | 410082 湖*** | 國省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 深度 學(xué)習(xí) 并行 計算 架構(gòu) 方法 及其 參數(shù) 自動 配置 優(yōu)化 | ||
1.一種深度學(xué)習(xí)并行計算架構(gòu)方法,其特征在于:
首先使用CNN來捕獲各個地點(diǎn)的空間特征,然后在此基礎(chǔ)上使用SRU來捕獲時空數(shù)據(jù)的時序特征,用于時空數(shù)據(jù)的回歸預(yù)測;
具體包括以下步驟:
步驟一:搭建CNN模塊,以提取數(shù)據(jù)的空間特征;給定一個數(shù)據(jù)序列{xs,1,xs,2,xs,3,…xs,i,…xs,t}作為編號為s的站點(diǎn)的時間序列數(shù)據(jù),其中xs,i表示第s個站點(diǎn)i個時刻的值,將第s個站點(diǎn)t+1時刻的預(yù)測值定義為則其過程如公式(1)所示:
其中表示使用卷積神經(jīng)網(wǎng)絡(luò)所提取的時刻i各個地點(diǎn)的空間特征,Conv表示卷積神經(jīng)網(wǎng)絡(luò)計算和最大池化計算;
步驟二:搭建SRU模塊,以提取數(shù)據(jù)的時間依賴性,其計算過程如公式(2)所示:
其中表示使用卷積神經(jīng)網(wǎng)絡(luò)所提取的時刻i各個地點(diǎn)的空間特征,SRU表示簡單循環(huán)單元計算,hi,ci分別表示當(dāng)前時間序列通過簡單循環(huán)單元所獲取的時刻i的隱藏狀態(tài)輸出和細(xì)胞狀態(tài);SRU的內(nèi)部實(shí)現(xiàn)過程如公式(3-7)所示:
ft=σ(Wfxt+bf) (4)
rt=σ(Wrxt+br) (5)
ht=rt⊙g(ct)+(1-rt)⊙xt (7)
其中xt表示t時刻的輸入值,W、Wf和Wr分別表示相應(yīng)的權(quán)重矩陣,表示對t時刻輸入值的線性轉(zhuǎn)換,σ表示sigmoid激活函數(shù),ft和rt分別表示t時刻的遺忘門和重置門,bf和br分別表示遺忘門和重置門的偏置,ct-1和ct分別表示t-1時刻和t時刻的細(xì)胞狀態(tài),ht表示t 時刻的隱藏狀態(tài),g表示激活函數(shù),⊙表示矩陣的對應(yīng)元素相乘;
SRU完全舍棄了時刻t的門計算和前一個t-1時刻的隱藏狀態(tài)ht-1、細(xì)胞狀態(tài)ct-1之間的關(guān)系,從而可以并行計算線性轉(zhuǎn)換遺忘門ft和重置門rt;
步驟三:將SRU最后時刻的隱藏狀態(tài)輸出值作為全連接層的輸入值,然后輸出所有地點(diǎn)的預(yù)測值。
2.根據(jù)權(quán)利要求1所述的深度學(xué)習(xí)并行計算架構(gòu)方法,提出一種對該架構(gòu)進(jìn)行超參數(shù)自動化配置優(yōu)化,其特征在于:
步驟一:對數(shù)據(jù)集進(jìn)行預(yù)處理,包括數(shù)據(jù)清洗、數(shù)據(jù)缺失值的填充等操作,并將經(jīng)過預(yù)處理的數(shù)據(jù)集以6∶2∶2的比例劃分為訓(xùn)練集、驗證集和測試集;
步驟二:將搭建模型所需要使用的超參數(shù)以形參的方式進(jìn)行傳遞,將這些值作為模型超參數(shù),以搭建基于SRU的并行模型架構(gòu);
步驟三:設(shè)置并行遺傳算法相應(yīng)的參數(shù),為使用并行遺傳算法進(jìn)行上述模型架構(gòu)的超參數(shù)的自動化配置,需要先設(shè)定所需要的子群體的個數(shù)、每個子群體中個體的個數(shù)、子群體間進(jìn)行個體交換所間隔的進(jìn)化代數(shù)、每個子群體所進(jìn)化的總代數(shù)、進(jìn)行個體交換的個數(shù);
步驟四:子群體初始化,種群是由經(jīng)過基因編碼的一定數(shù)目的個體組成,每個個體實(shí)際上是由一個染色體表示,而這個染色體則代表當(dāng)前所需要求解的各個超參數(shù)的值;因為所需要求解的超參數(shù)一般是由整數(shù)表示,所以此處以二進(jìn)制編碼的方式進(jìn)行染色體編碼,即隨機(jī)生成一定長度的二進(jìn)制數(shù)據(jù)串,并用其代表一條染色體串,表示所需要求解的所有參數(shù)的初始值;
二進(jìn)制數(shù)據(jù)串中的每一個二進(jìn)制數(shù)據(jù)段表示一個相應(yīng)的超參數(shù),所以二進(jìn)制數(shù)據(jù)串可以包含多個超參數(shù),其中二進(jìn)制數(shù)據(jù)串的長度根據(jù)所需求解的超參數(shù)的個數(shù)和每個超參數(shù)的范圍進(jìn)行確定;
二進(jìn)制數(shù)據(jù)串中的第一段二進(jìn)制數(shù)據(jù)為數(shù)據(jù)的步長參數(shù),其表示當(dāng)前個體初始化的數(shù)據(jù)步長為18,因為將步長限制在32以內(nèi),所以該段二進(jìn)制數(shù)據(jù)包含5個二進(jìn)制數(shù);二進(jìn)制數(shù)據(jù)串中的第二段、第三段二進(jìn)制數(shù)據(jù)分別為神經(jīng)網(wǎng)絡(luò)的第一層、第二層隱藏單元個數(shù),其表示當(dāng)前個體初始化的第一層、第二層隱藏單元的個數(shù)分別為64、128,因為將隱藏單元限制在256以內(nèi),所以這些二進(jìn)制數(shù)據(jù)段都是包含8個二進(jìn)制數(shù);第四段、第五段二進(jìn)制數(shù)據(jù)分別為卷積神經(jīng)網(wǎng)絡(luò)第一層、第二層卷積層卷積核的大小,其表示當(dāng)前個體初始化的第一層、第二層卷積層卷積核的大小分別為5和3,因為卷積核的大小限制在8以內(nèi),所以這些二進(jìn)制數(shù)據(jù)段均為包含3個二進(jìn)制數(shù);
根據(jù)步驟三中設(shè)定的所需的子群體個數(shù)開啟相應(yīng)個數(shù)的進(jìn)程,使之并行運(yùn)行,并對各個進(jìn)程進(jìn)行編號;然后根據(jù)所需求解的參數(shù)個數(shù)和范圍設(shè)置每個個體的染色體的大小,并根據(jù)步驟三中所設(shè)置的每個子群體中個體的個數(shù),通過使用上述方式,以并行的方式在所開啟的進(jìn)程中隨機(jī)初始化所需要的相應(yīng)個數(shù)的二進(jìn)制數(shù)據(jù)串,以表示所初始化的超參數(shù)的初始值;
步驟五:定義適應(yīng)度函數(shù),并行遺傳算法的適應(yīng)度函數(shù)也叫評價函數(shù),是用來判斷群體中個體的優(yōu)劣程度的指標(biāo),并作為以后遺傳操作的依據(jù);此處即意味著當(dāng)前個體所表示的超參數(shù)對當(dāng)前模型的適應(yīng)程度,以模型的評價指標(biāo)作為適應(yīng)度函數(shù)的返回結(jié)果,由于該模型結(jié)構(gòu)是進(jìn)行回歸預(yù)測,以模型的均方誤差、均方根誤差、平均絕對誤差、平均絕對百分比誤差、決定系數(shù)作為評價指標(biāo),以這些指標(biāo)中的一項作為適應(yīng)度函數(shù)的返回結(jié)果,以此評價個體所表示的超參數(shù)對與模型的適應(yīng)程度,其計算公式如(8-12):
其中,MSE、RMSE、MAE、MAPE和R2分別表示均方誤差、均方根誤差、平均絕對誤差、平均絕對百分比誤差和決定系數(shù),n為樣本的個數(shù),yi表示第i個樣本的真實(shí)值,表示第i個樣本的預(yù)測值,表示所有樣本真實(shí)值的平均值;
步驟5.1,定義一個函數(shù)作為適應(yīng)度函數(shù),將每個個體染色體作為該函數(shù)的參數(shù)進(jìn)行傳遞,并對這些傳入的個體進(jìn)行解碼,得到所需的各個超參數(shù),如果有些超參數(shù)為0或者其它不符合實(shí)際情況的值,且選擇的評價指標(biāo)為MSE、RMSE、MAE、MAPE,則返回一個無窮大的數(shù);若評價指標(biāo)為R2,則返回0;如果所有超參數(shù)都符合實(shí)際情況,則將這些和模型搭建相關(guān)的超參數(shù)傳入步驟二所定義的模型類中,以初始化模型,根據(jù)解碼所得的數(shù)據(jù)步長進(jìn)行數(shù)據(jù)的處理,將其按照步長劃分為符合模型所需要的數(shù)據(jù);
步驟5.2,使用訓(xùn)練集對構(gòu)建的模型進(jìn)行訓(xùn)練一定的輪數(shù),該訓(xùn)練輪數(shù)可視實(shí)際情況設(shè)置;
步驟5.3,計算出該訓(xùn)練一定輪數(shù)得到的模型在驗證集上的相應(yīng)指標(biāo)值,并作為適應(yīng)度函數(shù)結(jié)果返回;
步驟六:計算個體的適應(yīng)度:在步驟四所開啟的并行進(jìn)程中,調(diào)用步驟五所定義的適應(yīng)度函數(shù),并循環(huán)將該進(jìn)程初始化的群體中的每個個體作為函數(shù)的參數(shù)傳遞,得到群體中每個個體的適應(yīng)度函數(shù),記錄每個個體的適應(yīng)度函數(shù)結(jié)果;
步驟七:選擇操作:并行遺傳算法中的選擇操作就是按照某種方法從父代群體中選取一些個體,遺傳到下一代;使用錦標(biāo)賽選擇方式,在步驟四中所開啟的多個并行進(jìn)程中,同時按照下述方式進(jìn)行處理:首先在群體中隨機(jī)抽取size個個體,然后根據(jù)所計算出的個體的適應(yīng)度,從中選取具有最佳適應(yīng)度的個體,將此過程重復(fù)多次,直至選擇出與該子群體大小相同個數(shù)的個體,將這些個體形成一個新的群體,并用此群體代替原有群體,以淘汰不適應(yīng)個體,保留優(yōu)秀個體;
步驟八:交叉操作:由于個體的染色體是二進(jìn)制編碼,且考慮到性能原因,此處使用均勻交叉的方式進(jìn)行交叉操作,在步驟四中開啟的多個并行進(jìn)程中,同時按照下述方式進(jìn)行處理:將步驟七中的每個新形成的子群體中的個體兩兩配成一對,每對都視作一對父代個體;然后隨機(jī)產(chǎn)生一個與父代長度等長的0到1之間的隨機(jī)數(shù)序列,并指定一個交換幾率,使得小于該交換幾率的隨機(jī)數(shù)所對應(yīng)的兩個父代中的二進(jìn)制數(shù)進(jìn)行交換,從而形成兩個新的子代個體,以豐富該群體;兩個父代個體進(jìn)行均勻交叉,其交換幾率為0.5,從而形成兩個新的個體;
步驟九:變異操作:變異操作是指依據(jù)指定的變異概率,此處選擇位翻轉(zhuǎn)突變,將個體染色體中的某些基因值用其它基因值來替換,從而形成一個新的個體,它決定了遺傳算法的局部搜索能力,同時保持了群體的多樣性;
在步驟四中所開啟的多個并行進(jìn)程中,同時按照下述方式進(jìn)行處理:將步驟八所得到的新形成的相應(yīng)子群體中的每個個體中的每一個基因按照給定的變異概率取非;
步驟9.1,指定變異概率,并生成一個與個體長度相同的0至1之間的隨機(jī)數(shù)列;
步驟9.2,將小于該變異概率的隨機(jī)數(shù)所對應(yīng)的二進(jìn)制數(shù)進(jìn)行取非,即將0變?yōu)?,將1變?yōu)?;個體進(jìn)行變異的變異概率為0.5;
步驟十:子群體交換:在所開啟的多個并行進(jìn)程中,重復(fù)進(jìn)行多次步驟六到步驟九的操作,直至所進(jìn)行的次數(shù)達(dá)到步驟三中所設(shè)定的子群體間進(jìn)行個體交換所間隔的進(jìn)化代數(shù);在所開啟的多個并行進(jìn)程中,同時按照下述方式進(jìn)行處理:
步驟10.1,從當(dāng)前的子群體中,根據(jù)各個個體的適應(yīng)度結(jié)果,挑選一定數(shù)目的適應(yīng)度結(jié)果最好的個體;
步驟10.2將挑選的這些個體傳遞給運(yùn)行在編號在當(dāng)前進(jìn)程后面的進(jìn)程上的子群體,再接收運(yùn)行在編號在當(dāng)前進(jìn)程前面的進(jìn)程上的子群體所挑選出的個體;
步驟10.3,再根據(jù)當(dāng)前子群體中各個個體的適應(yīng)度結(jié)果,在當(dāng)前子群體中挑選出多個適應(yīng)度結(jié)果最好的個體,使得個體個數(shù)與原有子群體中個數(shù)相等,并淘汰多余的適應(yīng)度較差的個體;
步驟十一:進(jìn)化結(jié)束:多次重復(fù)步驟六到十,直至所進(jìn)化的總代數(shù)達(dá)到步驟三中所設(shè)定的每個子群體所進(jìn)化的總代數(shù);每個進(jìn)程同時選出本進(jìn)程的子群體中適應(yīng)度結(jié)果最佳的個體,再從所選出的這些最佳個體中找出適應(yīng)度結(jié)果最佳的個體;
步驟十二:最終模型:解碼步驟十一所得到的最佳個體,得到各個超參數(shù);首先根據(jù)得到的數(shù)據(jù)處理的步長,將步驟二的數(shù)據(jù)根據(jù)該數(shù)據(jù)步長,對訓(xùn)練集、驗證集和測試集進(jìn)行處理,將之處理為能夠輸入模型中的形式;將其余的超參數(shù)作為實(shí)參按照相應(yīng)順序傳入到步驟一的模型類中,以初始化為各個結(jié)構(gòu)符合該參數(shù)大小的模型;
步驟十三:模型訓(xùn)練和測試:利用訓(xùn)練集對所得到的模型進(jìn)行訓(xùn)練,并使用測試集測試該模型的預(yù)測性能,得到最終訓(xùn)練合適的模型。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于湖南大學(xué),未經(jīng)湖南大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010551939.2/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 根據(jù)用戶學(xué)習(xí)效果動態(tài)變化下載學(xué)習(xí)數(shù)據(jù)的系統(tǒng)及方法
- 用于智能個人化學(xué)習(xí)服務(wù)的方法
- 漸進(jìn)式學(xué)習(xí)管理方法及漸進(jìn)式學(xué)習(xí)系統(tǒng)
- 輔助學(xué)習(xí)的方法及裝置
- 基于人工智能的課程推薦方法、裝置、設(shè)備及存儲介質(zhì)
- 基于強(qiáng)化學(xué)習(xí)的自適應(yīng)移動學(xué)習(xí)路徑生成方法
- 一種線上視頻學(xué)習(xí)系統(tǒng)
- 一種基于校園大數(shù)據(jù)的自適應(yīng)學(xué)習(xí)方法、裝置及設(shè)備
- 一種學(xué)習(xí)方案推薦方法、裝置、設(shè)備和存儲介質(zhì)
- 游戲?qū)W習(xí)效果評測方法及系統(tǒng)





