新四季網

一種基於分布式神經元的RNNLM系統及其設計方法與流程

2023-05-16 18:59:42


本發明屬於基於統計的自然語言處理領域,具體涉及基於神經網絡語言模型,設計了一種基於分布式神經元的RNNLM系統。主要改變RNNLM結構,通過分布式訓練的方法,減少RNNLM系統的訓練時間開銷,從而在保證減少訓練時間開銷的前提下能增加RNNLM中神經元數量和訓練樣本,提高RNNLM的實用性。



背景技術:

Recurrent neural network(RNN)是一種特殊的神經網絡,與傳統深層神經網絡中單向輸入數據和處理不同,使用循環連接的隱藏層代替固定的多個層次的隱藏層,這使得RNN可以保存所有的歷史信息,構建了理論上近乎完美的神經網絡。當前RNN已經廣泛應用與非線性任務應用領域,如語音識別、文本檢查與生成、SQL攻擊檢測等,其中RNNLM是當前基於神經網絡語言模型領域中的研究熱點。但由於需要保存大量歷史信息和完成大量矩陣運算,增加隱藏層節點數或訓練數據量,均會導致訓練時間開銷的爆炸性增長,從而難以構建有效的RNNLM;此外當前的神經網絡還僅模擬生物神經系統的功能,沒有真正具備生物神經元並行的特性,從而導致了增加隱藏層節點數量後訓練開銷急劇增加的問題。因此提高訓練效率是當前RNNLM研究中的關鍵問題。

隨著計算機系統結構和高性能計算計算的發展,出現了各類新型計算硬體和平臺,如GPU、高性能計算集群、Hadoop和Spark等。RNN在每次訓練過程中均需要大量規模與隱藏層節點數密切相關的的矩陣運算,同時需要通過大量訓練和多次迭代不斷優化模型,因此矩陣計算量、訓練數據量和迭代次數是影響RNN訓練開銷的主要因素;增加隱藏層節點數量能有效提高RNN的準確率,但在訓練時會導致更大規模的矩陣運算;增加訓練數據量同樣能提高RNN的準確率,但在訓練時會導致更多的矩陣運算和增加迭代次數;這兩者均會導致RNN訓練時間過長而無法實用。GPU具有很強的矩陣計算能力,但適應矩陣變化能力很弱,矩陣較大後需要進行切割進行多次計算,同時數據在GPU和主機之間的傳輸效率也較低;傳統的高性能計算集群能將計算任務分布到計算節點中,但以計算為中心的結構,在處理大量訓練數據集和隱藏層節點間參數傳輸時效率較低;Hadoop具有處理海量數據的能力,但由於基於磁碟,完成迭代計算任務時效率較低;Spark是一個分布式內存計算平臺,具有實時性強和適合迭代計算等優勢,能為構建高效的RNNLM提供支撐。



技術實現要素:

本發明的目的在於提供一種基於分布式神經元的RNNLM系統及其設計方法,以解決神經元並發訓練的問題,提高RNNLM的訓練效率,從而在保證減少訓練時間開銷的前提下能增加RNNLM中神經元數量和訓練樣本,提高RNNLM的實用性。

一種基於分布式神經元的RNNLM系統設計方法,其特徵在於:通過以能並發運行的分布式神經元為中心改變RNNLM系統的結構,設計基於分布式神經元的RNNLM系統來工作;所述設計方法還包括基於分布式神經元的結構設計、分布式神經元自主訓練方法和分布式神經元協調方法。

所述的分布式神經元自主訓練方法包括以下過程:

過程一,獲取參數;

分布式神經元模塊從神經元交互節點模塊獲取與該分布式神經元模塊相關的參數,包括輸入詞在輸入層中的位置m,該分布式神經元模塊與輸入層之間的連接U、分布式神經元模塊與輸出層之間的連接V、分布式神經元模塊與神經元模塊之間的連接W、前一次迭代分布式神經元模塊的準確率S』.ac、輸入層節點的準確率S.ac和輸出層節點的錯誤率Y.er;所述m∈[1,M],M是輸入和輸出層節點的數量;

過程二,計算分布式神經元正確率;

第i個分布式神經元模塊使用計算正確率,i(i∈[1,I],I是分布式神經元的數量)表示該分布式神經元的序號,f是一個sigmoid函數。過程三,計算分布式神經元錯誤率;

第i個分布式神經元模塊使用計算錯誤率;

過程四,更新與輸出層的連接;

第i個分布式神經元模塊判斷連接更新間隔,如不足連接更新閾值num(num∈N+),使用Vim=V'im+Ym.er*Si.ac*α更新分布式神經元模塊與輸出層之間的連接,其中α(α∈(0,1))表示連接調節率;相反使用Vim=V'im+Ym.er*Si.ac*α-V'im*β更新分布式神經元模塊與輸出層之間的連接,其中β(β∈(0,1))表示連接修正率。

過程五,更新與上一次隱藏層的連接;

第i個分布式神經元模塊判斷連接更新間隔,如不足連接更新閾值num,使用Wni=W'ni+α*Si.er*S'n.ac更新分布式神經元模塊與前一次迭代隱藏層之間的連接,n(n∈[1,I])是前一次迭代隱藏層中節點的位置;相反使用Wni=W'ni+α*Si.er*S'n.ac-W'ni*β更新分布式神經元模塊與前一次迭代隱藏層之間的連接;

過程六,更新與輸入層的連接;

第i個分布式神經元模塊判斷連接更新間隔,如不足連接更新閾值num,使用Umi=U'mi+α*Si.er*Xm.ac更新分布式神經元模塊與輸入層之間的連接;相反使用Umi=U'mi+α*Si.er*Xm.ac-U'mi*β更新分布式神經元模塊與輸入層之間的連接。

所述分布式神經元協調方法包括下列步驟:

步驟一,分布式神經元交互節點模塊提取訓練樣本中的一個單詞,計算輸入詞在輸入層中的位置m;

步驟二,分布式神經元節點模塊執行過程一;

步驟三,分布式神經元節點模塊執行過程二;

步驟四,分布式神經元交互節點模塊使用計算輸出層中節點的正確率,其中g是一個softmax函數,所述k是輸出層中節點的位置,k∈[1,M];

步驟五,分布式神經元交互節點模塊使用Yk.er=1-Yk.ac計算出層中節點的錯誤率;

步驟六,分布式神經元節點模塊執行過程三;

步驟七,分布式神經元節點模塊執行過程四;

步驟八,分布式神經元節點模塊執行過程五;

步驟九,分布式神經元節點模塊執行過程六;

步驟十,分布式神經元交互節點模塊收集所有分布式神經元模塊發送回的正確率、錯誤率、U、V、W,進行匯總更新,並構建上一次隱藏層;

步驟十一,如訓練樣本中還有未處理的單詞,則讀取下一個單詞,返回步驟一;否則結束本輪迭代訓練,轉到步驟十二;

步驟十二,判斷本輪迭代訓練結束後神經元的準確率與上一論的差值是否達到系統設定,如達到則結束RNNLM訓練,返回訓練樣本中的第一個單詞,轉到步驟一,開始下一輪迭代訓練。

基於分布式神經元的結構設計具體包括分布式神經元節點模塊和分布式神經元交互節點模塊的設計;

所述分布式神經元節點模塊負責維護該神經元的狀態、以及與輸入層、輸出層和之間的連接,包括獲取參數、計算正確率、計算錯誤率、更新與輸入層連接、更新與上一次隱藏層連接、更新與輸出層連接等功能;

所述分布式神經元交互節點模塊實現分布式神經元之間的協調,完成初始化、輸入訓練語料、維護輸入與輸出層狀態等,包括參數分布、參數收集和參數匯聚更新等功能。

一種基於分布式神經元的RNNLM系統,包括一個分布式神經元交互節點模塊伺服器和多個分布式神經元節點模塊伺服器,其特徵在於:分布式神經元交互節點模塊伺服器和分布式神經元節點模塊伺服器之間用Infiniband進行連接,分布式神經元節點模塊伺服器和分布式神經元交互節點模塊伺服器之間的交互使用RDMA協議。訓練樣本由多個分布式神經元節點模塊伺服器和一個分布式神經元交互節點模塊伺服器共同完成處理,合作完成RNNLM的訓練過程,並共同對外提供服務。

本發明具有有益效果。本發明出於提高RNNLM訓練效率的考慮,以能並發執行的神經元為中心,改變RNNLM結構,通過分布式訓練的方法,減少RNNLM系統的訓練時間開銷。本發明針對RNNLM的訓練過程和特點,引入分布式技術,改變RNNLM結構,以能並發執行的神經元為中心,使用分布式訓練的方法,設計了基於分布式神經元的結構、分布式神經元自主訓練方法和分布式神經元協調方法,減少RNNLM系統的訓練時間開銷,從而在保證減少訓練時間開銷的前提下能增加RNNLM中神經元數量和訓練樣本,提高RNNLM的實用性。

附圖說明

圖1是本發明的結構圖;

圖2是本發明的工作流程圖;

圖3是分布式神經元數不同時的訓練時間開銷測試結果圖;

圖4是首次和後續迭代的訓練時間開銷測試結果圖;

圖5是準確率的測試結果圖。

具體實施方式

實施例1

如圖1所示,一種基於分布式神經元的RNNLM系統,包括一個分布式神經元交互節點模塊伺服器和多個分布式神經元節點模塊伺服器,其中分布著獲取參數、計算正確率、計算錯誤率、更新與輸入層連接、更新與上一次隱藏層連接、更新與輸出層連接、訓練初始與分布、更新輸出層、結果匯聚與更新等模塊,模塊在兩類伺服器中的分布和功能說明如表1所示。

表1基於分布式神經元的RNNLM系統中各類型伺服器和各功能模塊

一種基於分布式神經元的RNNLM系統中其,分布式神經元交互節點模塊伺服器和分布式神經元節點模塊伺服器之間的交互過程如圖2所示。

實施例2

依據RNNLM開源的代碼,使用Scala在Spark中實現了基於分布式神經元的RNNLM系統,用三臺伺服器搭建了測試環境,每臺伺服器配有Intel(R)Xeon(R)E5606 2.13GHz處理器2個,64G內存,作業系統是Centos6.7,Spark版本是RDMA-Spark-0.9.1,網絡是40GB的Infiniband,通信協議是RDMA;Driver節點作為分布式神經元交互節點模塊伺服器,Worker節點作為分布式神經元節點模塊伺服器,一個Worker節點運行多個分布式神經元節點模塊從而支持大量的分布式神經元。同時在1臺伺服器中使用RNNLM開源的代碼,搭建了單機RNNLM系統,工作與一臺伺服器中,伺服器配置與運行基於分布式神經元RNNLM系統的伺服器相同。

測試訓練樣本包括:Microsoft公布的ptb.train(4M),RNNLM Toolkit中的word_projections 80(64M)、swb.rnn.model(87M)和word_projections 640(500M)。

設置不同的分布式神經元數(基於分布式神經元的RNNLM系統)和隱藏層節點數(單機RNNLM系統),測試和比較完成10次迭代訓練所需的時間開銷。神經元數分別設置為200、500和1000,訓練的迭代次數均設置為10次,結果如表2所示。

表2改變布式神經元數和隱藏層節點數的訓練時間開銷

改變訓練語料的大小,分別使用4M、87M和500M的訓練樣本,將神經元數量分別設置為200、500和100,訓練的迭代次數仍然設置為10次,測試基於分布式神經元RNNLM系統的訓練時間開銷,結果如圖3所示。

測試基於分布式神經元RNNLM系,分別試用4M和87M訓練樣本時,首次迭代和後續迭代所需的時間開銷,不同訓練迭代次數時,訓練的時間開銷,結果如圖4所示。

RNNLM Toolkit中word_projections 80(64M)訓練樣本,分布式神經元數分別設置為200、500和1000個,迭代次數為10次,測試基於分布式神經元RNNLM系統的準確率結果如圖5所示。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀