景維鵬,姜 濤,朱良寬,劉美玲
1(東北林業(yè)大學(xué) 信息與計算機(jī)工程學(xué)院,哈爾濱 150040) 2(東北林業(yè)大學(xué) 機(jī)電工程學(xué)院,哈爾濱 150040)
語音識別作為人機(jī)交互的關(guān)鍵技術(shù),已經(jīng)成為“改變?nèi)祟愇磥砩罘绞降年P(guān)鍵技術(shù)之一[1].深度置信網(wǎng)絡(luò)(DBN)作為深度學(xué)習(xí)中的一種典型模型,擁有強(qiáng)大的判別訓(xùn)練和連續(xù)建模能力,可以通過對比散度算法(CD)[2]進(jìn)行快速訓(xùn)練,因此被廣泛應(yīng)用于語音識別領(lǐng)域[3].軟研究人員將DBN引入語音識別中,在大詞匯量語音識別系統(tǒng)中獲得巨大成功[4].但是,語音數(shù)據(jù)規(guī)模的不斷增加、DBN中的隨機(jī)梯度算法(SGD)收斂速度比較慢和DBN參數(shù)過多等問題導(dǎo)致DBN模型訓(xùn)練速度越來越慢.因此如何提高在海量數(shù)據(jù)下DBN的訓(xùn)練速度成為迫切需要解決的問題.
為了提高DBN模型的訓(xùn)練速度,通常存在優(yōu)化DBN結(jié)構(gòu)和并行加速兩種方法:1)在保證語音識別正確率的前提下,盡可能減少模型訓(xùn)練參數(shù)和優(yōu)化模型訓(xùn)練過程;2)利用CPU集群或者GPU進(jìn)行DBN模型的加速訓(xùn)練.本文的研究重點(diǎn)是第二種方法,即通過將語音數(shù)據(jù)進(jìn)行劃分,利用CPU集群或GPU加速DBN的訓(xùn)練.文獻(xiàn)[5]通過將語音訓(xùn)練數(shù)據(jù)分成許多塊到不同的機(jī)器進(jìn)行訓(xùn)練,實現(xiàn)并行計算.文獻(xiàn)[6]在訓(xùn)練中將語音數(shù)據(jù)劃分成互不相交的子集,在具有上千CPU核的集群上進(jìn)行訓(xùn)練.但是該方法面臨著并行計算單元之間的通信開銷問題,使得訓(xùn)練速度變慢.GPU強(qiáng)大的并行計算能力,被廣泛應(yīng)用于DBN模型的訓(xùn)練.文獻(xiàn)[7]將GPU運(yùn)用于大規(guī)模的連續(xù)詞匯的語音識別中取得了較好的加速效果.2008年,Paprotski等人通過CUDA加速DBN模型的訓(xùn)練[8],取得較好的結(jié)果.文獻(xiàn)[9]通過使用CUDA的庫函數(shù)CUBLAS加速RBM的訓(xùn)練,取得了較好的成果,但是它的通用性較強(qiáng),未結(jié)合語音數(shù)據(jù)的特點(diǎn)高效利用GPU的計算資源.文獻(xiàn)[10]合理分解了DNB中RBM的計算過程,建立了CUDA模型,但是GPU的共享內(nèi)存未充分利用.并且DBM模型存在著大量的參數(shù),在單GPU下,模型參數(shù)很可能無法一次性存儲到GPU內(nèi).文獻(xiàn)[11]通過將RBM的權(quán)重矩陣進(jìn)行分塊處理,極大提高了訓(xùn)練速度.但是它沒有考慮RBM參數(shù)存儲的優(yōu)化,沒有建立合理的內(nèi)存模型.文獻(xiàn)[12]使用4塊GPU卡加速DBN的訓(xùn)練速度取得了相對于單GPU 3.3倍的加速.但是,多GPU下通信的開銷使得GPU的計算資源不能得到充分的利用.
綜上,現(xiàn)有的利用GPU加速DBN模型存在單GPU內(nèi)存有限、訪問不同類型內(nèi)存地址的延遲不相等、多GPU內(nèi)參數(shù)交換成為制約訓(xùn)練速度提高的瓶頸等問題.因此,為有效利用GPU對DBN模型進(jìn)行加速,提高語音處理的處理效率,本文提出opCD-k算法:將權(quán)重矩陣分片,充分利用GPU的共享內(nèi)存,建立合理的存儲模型;利用GPU的流處理進(jìn)行并行處理,即數(shù)據(jù)傳輸和數(shù)據(jù)計算并行進(jìn)行.在多GPU中進(jìn)行數(shù)據(jù)并行,利用參數(shù)服務(wù)器模式,減少參數(shù)交換的通信量,并將opCD-k算法應(yīng)用到多GPU中.
深度置信網(wǎng)絡(luò)(DBN)是一種概率生成模型[13],由多層受限波爾茲曼機(jī)(RBM)和一層反向傳播(BP)神經(jīng)網(wǎng)絡(luò)構(gòu)成.如圖1所示,是DBN的模型的訓(xùn)練過程,包括無監(jiān)督逐層預(yù)訓(xùn)練RBM(pre-training)和有監(jiān)督BP算法微調(diào)(fine-tuning):
受限玻爾茲曼機(jī)(RBM)是一類具有兩層結(jié)構(gòu)(可視層和隱含層)、對稱連接的基于能量的隨機(jī)神經(jīng)網(wǎng)絡(luò)模型.
由于語音信號的觀測數(shù)據(jù)是連續(xù)的,RBM服從高斯-伯努利分布.一組給定狀態(tài)(v,h)的高斯-伯努利RBM所具備的能量定義如公式(1)所示:
(1)
其中,vi∈Rm表示初始輸入的語音特征值(m表示輸入語音特征的維度),hj∈Rn表示語音特征提取后的語音特征向量(n表示提取后的語音特征的維度),θ={wij,ai,bj}是RBM的參數(shù),其中wij表示vi和hj之間的連接權(quán)重,ai表示vi的偏置,bj表示hj的偏置.
圖1 DBN模型訓(xùn)練過程Fig.1 DBN model training process
考慮到RBM特殊的結(jié)構(gòu),可見單元和隱含層單元的概率分布可用公式(2)和公式(3)表示:
(2)
(3)
其中sigm(x)為sigmoid激活函數(shù).
RBM的學(xué)習(xí)是為了求出θ的值,通過最大化RBM在訓(xùn)練集上的對數(shù)似然函數(shù)得到RBM的參數(shù)θ,這是較為困難的.因此采用CD算法:以各個訓(xùn)練數(shù)據(jù)作為初始狀態(tài),通過k步Gibbs[14]采樣得到近似值.這樣,各參數(shù)的更新準(zhǔn)則變?yōu)椋?/p>
(4)
(5)
(6)
經(jīng)過pre-training為DBN提供有效的訓(xùn)練初始值后,利用fine-tuning進(jìn)行有監(jiān)督訓(xùn)練,通過誤差反向傳播[15]算法對網(wǎng)絡(luò)參數(shù)進(jìn)行調(diào)整,從而達(dá)到全局最優(yōu)點(diǎn).
本文提出的opCD-k算法從合理建立權(quán)重矩陣分片的內(nèi)存模型和基于流處理的并行兩個角度實現(xiàn)單GPU對DBN模型的訓(xùn)練.同時在多GPU訓(xùn)練過程利用數(shù)據(jù)并行模型方案,采用參數(shù)服務(wù)器方式,并將opCD-k算法應(yīng)用到多GPU中.
通過每次訓(xùn)練mini-batch[10]語音數(shù)據(jù)可以有效提高RBM的訓(xùn)練速度,但是mini-batch規(guī)模的過大也會造成RBM訓(xùn)練速度的降低.因此在訓(xùn)練中mini-bitch的數(shù)目(l)遠(yuǎn)小于m和n.vi∈Rm×l、ai,hj∈Rn×l、bj由于規(guī)模較小可以直接存儲到GPU內(nèi)存中,而RBM中的權(quán)重矩陣由于層間的相互連接很可能無法一次性存儲到GPU中.因此我們將權(quán)重矩陣劃分成幾個子矩陣Wi(Wi∈Rm′×n,m′< 圖計算過程Fig.2 Calculation process of 權(quán)重矩陣分片的內(nèi)存模型提高了DBN模型的訓(xùn)練速度,但是參數(shù)的傳輸成為了制約DBN訓(xùn)練速度提高的瓶頸.例如更新每個Wi,Wi需要兩次從CPU傳輸?shù)紾PU和一次從GPU傳輸?shù)紺PU.但在Wi傳輸過程中,GPU是處于空閑狀態(tài)的. 圖3 GPU流并行圖Fig.3 GPU stream parallel diagram 結(jié)合CUDA的streams和CD算法的實現(xiàn),在同一個stream中,1)和2)可以并行執(zhí)行;在不同的stream中,2)和3)可以并行執(zhí)行;1)和6)可以在不同的stream中并行執(zhí)行.如圖3所示:其中,HtD是從主機(jī)端(CPU)傳輸?shù)皆O(shè)備端,DtH是設(shè)備端(GPU)傳輸?shù)街鳈C(jī)端(CPU). 上述的opCD-k算法可以提高DBN模型的訓(xùn)練速度,但是單GPU的計算能力是有限的.為了進(jìn)一步提高DBN模型的訓(xùn)練速度,我們使用多GPU進(jìn)行加速.考慮到DBN模型的全連接特性,我們選擇數(shù)據(jù)并行的方法. 進(jìn)行多GPU訓(xùn)練時,選擇參數(shù)服務(wù)器模式:即一個GPU作為參數(shù)服務(wù)器,其他GPU作為工作節(jié)點(diǎn).其工作流程是:工作節(jié)點(diǎn)將一次迭代計算得到的結(jié)果上傳到參數(shù)服務(wù)器,然后參數(shù)服務(wù)器進(jìn)行參數(shù)的更新操作;參數(shù)服務(wù)器將更新后的參數(shù)傳輸?shù)焦ぷ鞴?jié)點(diǎn),工作節(jié)點(diǎn)進(jìn)行下一次的參數(shù)交換.并且在參數(shù)服務(wù)器進(jìn)行參數(shù)交換的時候使用的是異步隨機(jī)梯度下降方法.在這種情況下,參數(shù)服務(wù)器的帶寬成為瓶頸.因此我們減少參數(shù)服務(wù)器和工作節(jié)點(diǎn)的通信量. 神經(jīng)網(wǎng)絡(luò)一般采用mini-batch來訓(xùn)練,每次迭代遍歷mini-batch個數(shù)據(jù),然后每次只加載mini-batch進(jìn)入內(nèi)存進(jìn)行計算得到殘差,為減少通信量,在工作節(jié)點(diǎn)上訓(xùn)練fetch個mini-batch數(shù)據(jù),然后將獲得的殘差累加起來,最后和參數(shù)服務(wù)器進(jìn)行參數(shù)交換,用來更新參數(shù).在劃分fetch次數(shù)時,采用熱啟動方式:在訓(xùn)練初期,應(yīng)該使用較小的fetch,等模型收斂到一定程度之后再逐漸增加fetch的大小.同時我們將上述的opCD-k算法應(yīng)用到多GPU中. 為驗證CUDA對DBN訓(xùn)練加速的效果,本文采用TIMIT語音集.在訓(xùn)練過程中,采用early-stop方法.實驗的輸入數(shù)據(jù)是由Kaldi語音識別工具經(jīng)過處理后的40維fMLLR特征拼接而成的440維語音特征參數(shù),輸出為183個音素狀態(tài)分類.實驗中的DBN模型共由6層RBM和一層BP網(wǎng)絡(luò)組成.在預(yù)訓(xùn)練中,Gauss-Bernoulli RBM學(xué)習(xí)率為0.002,迭代次數(shù)為250,Bernoulli-Bernoulli RBM學(xué)習(xí)率為0.002,沖量因子為0.9,權(quán)重衰減為0.002.mini-batch數(shù)目為128. 在實驗中,CPU型號是Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz,GPU型號為Teskla K20m,由于K20m可以存儲全部的訓(xùn)練參數(shù),因此我們每次只向GPU傳輸權(quán)重矩陣的一部分來模擬實驗效果.操作系統(tǒng)為Red Hat Enterprise Linux Server release 6.4,CUDA Toolkit 版本為7.0. 在本實驗中,我們利用不同內(nèi)存大小的GPU來驗證基于權(quán)重分片內(nèi)存模型的RBM的訓(xùn)練速度.由于實驗中的RBM模型的參數(shù)可以存儲到單個GPU內(nèi),因此為驗證權(quán)重分片的內(nèi)存模型的性能,我們每次從CPU傳輸?shù)紾PU內(nèi)的權(quán)重矩陣只占整個權(quán)重矩陣的一部分,例如將權(quán)重矩陣的1/4傳輸?shù)紾PU內(nèi)進(jìn)行計算(在GPU核函數(shù)運(yùn)行的過程中,始終只有1/4大小的權(quán)重矩陣位于GPU內(nèi)存內(nèi)).根據(jù)文獻(xiàn)[11]我們拷貝權(quán)重矩陣的范圍從1/64到1/4,并且設(shè)定streams的數(shù)量s=4,測試GPU完整訓(xùn)練一個RBM所需要的時間.表1為運(yùn)行一個RBM迭代在GPU in Kaldi和不同GPU內(nèi)存下的運(yùn)行時間. 表1 RBM在不同GPU內(nèi)存下運(yùn)行時間Table 1 RBM running time in different GPU memory 其中GPU(1/64)表示將權(quán)重的矩陣的1/64從CPU傳輸?shù)紾PU內(nèi).從表1我們可以看出,通過合理劃分GPU的內(nèi)存模型,使用GPU1/8的內(nèi)存就快于GPU in Kaldi 的訓(xùn)練速度 .并且隨著權(quán)重矩陣分片的逐漸越大,權(quán)重矩陣的交換次數(shù)越來越少,GPU和CPU運(yùn)行時間的加速比越來越大,到權(quán)重矩陣的1/4時,達(dá)到了最高的1.46倍的加速比.由此可以證明,在權(quán)重參數(shù)較大單GPU不能一次性存儲整個權(quán)重矩陣時,基于權(quán)重矩陣分片的內(nèi)存模型在單GPU實現(xiàn)中也可以取得較好的加速效果. opCD-k算法的實現(xiàn)依賴于對權(quán)重矩陣進(jìn)行分片,這種分片導(dǎo)致權(quán)重矩陣的二次傳輸,并且流同步和調(diào)度將會引入更多的開銷,從而影響RBM的訓(xùn)練速度,因此在本部分中,我們對這些參數(shù)進(jìn)行合理的設(shè)置.以下實驗中,假定GPU的內(nèi)存只能存儲權(quán)重矩陣的1/4. 4.3.1 slice_size大小的選擇 opCD-k算法中的參數(shù)和GPU的內(nèi)存關(guān)系可以被描述為: S×n×sizeof(float)≤M(G) (7) 其中s代表slice_size,slice_size是s的行數(shù),代表GPU內(nèi)存.對于給定的GPU,它的內(nèi)存是一定的,因此s和slice_size的選擇是提高RBM訓(xùn)練速度的重要因素.圖4為在不同參數(shù)組合下訓(xùn)練一個RBM所需要的時間. 圖4 不同參數(shù)組合下RBM訓(xùn)練時間Fig.4 RBM training time for different combinations of parameters 從圖4可知:slice_size太大或者slice_size太小都不會取得較好的加速效果.當(dāng)s最小時,訓(xùn)練時間是較長的,這是因為streams數(shù)量太少,導(dǎo)致GPU在數(shù)據(jù)傳輸過程中處于空閑狀態(tài).當(dāng)參數(shù)組合為4×75時,訓(xùn)練時間最少.并且隨著s的增加,訓(xùn)練時間逐漸增多,原因是s數(shù)目的增多使得需要更多的時間進(jìn)行流同步和調(diào)度. 4.3.2 streams數(shù)目的選擇 在本實驗中,我們驗證slice_size數(shù)目為50 (根據(jù)4.3.1得到最好結(jié)果為75,但是它的數(shù)目超過了1/4內(nèi)存,因此選擇50)的前提下streams數(shù)量的多少,對于RBM訓(xùn)練速度的影響.我們通過增加streams的數(shù)量,觀察訓(xùn)練一個RBM迭代所需要的時間.訓(xùn)練結(jié)果如圖5所示. 由圖5可知,在s=1時,訓(xùn)練需要的時間是最多的,隨著streams的增多,需要的時間越來越少.并且,在s=1和s=2之間的變化最大,這是因為只有一個stream的情況下,GPU需要等待所有的計算資源到達(dá)后才可以進(jìn)行計算,因此使得這種變化最大.在s=8時,消耗時間最少,即可以將GPU的空閑時間完全利用.如果開啟過多streams不會導(dǎo)致性能的提升,相反會造成性能下降,因為streams之間的調(diào)度和同步需要時間.同時我們發(fā)現(xiàn),在s=5時,基本就可以充分利用GPU的計算資源.因此在下述實驗中,s的數(shù)量設(shè)為5. 圖5 不同streams下RBM的訓(xùn)練時間Fig.5 RBM training time for different streams 本部分中,我們將通過三個方面驗證opCD-k算法對DBN訓(xùn)練性能的影響:1)一個RBM迭代訓(xùn)練需要的時間2)DBN訓(xùn)練需要的時間3)DBN訓(xùn)練的正確率. 4.4.1 RBM訓(xùn)練時間 本實驗中,我們用3種方法在可視層節(jié)點(diǎn)為440的條件下,測試隱含層數(shù)目不同時,完成一個RBM迭代訓(xùn)練所使用的時間:1)opCD-k 算法;2)文獻(xiàn)[12]中的單GPU;3)Kaldi中單GPU.實驗結(jié)果如圖6所示. 圖6 不同模型下RBM訓(xùn)練時間Fig.6 RBM training time for different models 根據(jù)圖6可知,對于不同規(guī)模的RBM網(wǎng)絡(luò),3種方法訓(xùn)練RBM的時間隨著隱含層數(shù)目的增加而增多.最開始,opCD-k需要的時間最多,原因是它需要權(quán)重矩陣的交換和流同步,而其它兩種方法的權(quán)重矩陣可以一次性存儲在GPU內(nèi).隨著隱含層的數(shù)目增加,opCD-k需要的時間少于[12]和kaldi中單GPU所需要的時間,因為它建立了合理的內(nèi)存模型和流處理的并行模型.并且在隱含層數(shù)目為213時,取得了相對于kaldi最高1.7倍的加速. 4.4.2 DBN訓(xùn)練時間 我們用4種方式訓(xùn)練一個DBN模型:1)kaldi下單CPU 2)單GPU+CUDAC 3)Kaldi下單GPU 4)opCD-k算法,實驗結(jié)果如表2所示. 表2 單GPU下DBN模型訓(xùn)練時間Table 2 DBN model training time for single GPU 由表2可知,opCD-k算法明顯縮短了DBN模型的訓(xùn)練時間,相對于Kaldi語音識別工具,取得了1.5倍的模型加速,相對于CPU最高的加速比為223.實驗結(jié)果證明opCD-k算法在DBN訓(xùn)練中可以取得較好的加速效果. 4.4.3 DBN訓(xùn)練正確率 在加快DBN模型訓(xùn)練速度的同時,必須保證模型的正確率.表3是利用3種方式運(yùn)行DBN模型音素的錯誤識別率比較:1)Kaldi下CPU 2)Kaldi下GPU 3)opCD-k 算法: 表3 單GPU下DBN模型訓(xùn)練錯誤率Table 3 DBN model training error rate for single GPU 由表3可知,利用opCD-k算法訓(xùn)練DBN相對于Kaldi的GPU模式,錯誤率的相對損失控制在1%內(nèi).出現(xiàn)性能損失的原因是使用了CUDA的expf(x)函數(shù),并且權(quán)重矩陣參數(shù)使用了單精度浮點(diǎn)數(shù).實驗結(jié)果證明了優(yōu)化后的單GPU可以在提高訓(xùn)練速度的同時,可以保證DBN模型訓(xùn)練的正確率. 如表4所示,是我們利用4種方法訓(xùn)練DBN模型需要的時間:1)Kaldi下單GPU 2)Kaldi 下多GPU 3)文獻(xiàn)[12] 中多GPU實現(xiàn)4)優(yōu)化的多GPU: 表4 多GPU下DBN模型訓(xùn)練時間Table 4 DBN model training time for multi-GPUs 從表4可以發(fā)現(xiàn),優(yōu)化后的多GPU訓(xùn)練方法只用了0.54小時,明顯縮短DBN模型的訓(xùn)練時間.相對于Kaldi中的多GPU和文獻(xiàn)[12]中的多GPU實現(xiàn)分別取得了1.35和1.2倍的加速.并且相對與Kaldi中的單GPU實現(xiàn)取得了4.6倍的加速.實驗結(jié)果證明了優(yōu)化后的多GPU實現(xiàn)在DBN訓(xùn)練中可以取得較好的效果. 表5 多GPU下DBN模型訓(xùn)練錯誤率Table 5 DBN model training error rate for multi-GPUs 如表5所示,是利用這四種方式訓(xùn)練DBN模型的錯誤率.從表5中我們可以發(fā)現(xiàn),優(yōu)化后的多GPU實現(xiàn),相對于Kadli的多GPU實現(xiàn)有1.6%的性能損失.相對于取得的加速效果,這種模型損失是可以接受的. 為了提高基于DBN的語音識別的訓(xùn)練效率,本文提出了opCD-k算法:將權(quán)重矩陣分片,建立合理的存儲模型;采用GPU的流處理技術(shù).并且在多GPU中采用參數(shù)服務(wù)器,減少參數(shù)的通信量.實驗結(jié)果證明,優(yōu)化后GPU并行算法,在保證DBN模型正確率的前提下,可以加速模型的訓(xùn)練速度.下一步,我們將在DBN模型的訓(xùn)練中加入噪聲,提高模型的魯棒性. [1] Liu Chun.Research progress of speech recognition technology[J].Gansu Science and Technology,2008,24(9):41-43. [2] Hinton G E.Training products of experts by minimizing contrastive divergence[J].Neural Computation,2002,14(8):1771-1800. [3] Mohamed A R,Dahl G E,Hinton G.Acoustic modeling using deep belief networks[J].IEEE Transactions on Audio Speech & Language Processing,2012,20(1):14-22. [4] Kim J,Lane I.Accelerating large vocabulary continuous speech recognition on heterogeneous CPU-GPU platforms[C].IEEE International Conference on Acoustics,Speech and Signal Processing(ICASSP2014),2014:3291-3295. [5] Seide F,Li G,Yu D.Conversational dpeech transcription using context-dependent deep neural networks[C].International Conference on Machine Learning(ICML2012),2012:1-2. [6] Park J,Diehl F,Gales M J F.Efficient generation and use of MLP features for Arabic speech recognition[C].Conference of the International Speech Communication Association(INTERSPEECH2010),2010:236-239. [7] Sainath T N,Kingsbury B,Ramabhadran B,et al.Making deep belief networks effective for large vocabulary continuous speech recognition[C].IEEE Workshop on Automatic Speech Recognition and Understanding(ASRU 2011),2011:30-35. [8] Daniel L Ly,Paprotski V.Neural networks on GPUs:restricted boltzmann machines[C].IEEE Conference on Machine Learning and Applications(ICMLA2010),2010:307-312. [9] Ly D,Paprotski V,Yen D.Neural networks on GPUs:restricted boltzmann machines [R].Department of Electrical and Computer Engineering,University of Toronto,Canada,2008. [10] Lopes N,Ribeiro B.Towards adaptive learning with improved convergence of deep belief networks on graphics processing units[J].Pattern Recognition,2014,47(1):114-127. [11] Zhu Y,Zhang Y,Pan Y.Large-scale restricted boltzmann machines on single GPU[C].IEEE International Conference on Big Data(IEEE BigData 2013),2013:169-174. [12] Xue Shao-fei,Song Yan,Dai Li-rong.Fast training algorithm for deep neural network using multiple GPUs[J].Journal of Tsinghua University (Science and Technology),2013,53(6):745-748. [13] Roux N L,Bengio Y.Representational power of restricted boltzmann machines and deep belief networks[J].Neural Computation,2008,20(6):1631-1649. [14] Gentle J E.Monte carlo strategies in scientific computing[J].Siam Review,2002,44(3):490-492. [15] Li Xuan,Li Chun-sheng.Alternating update layers for DBN-DNN fast training method[J].Application Research of Computers,2016,33(3):843-847. 附中文參考文獻(xiàn): [1] 柳 春.語音識別技術(shù)研究進(jìn)展[J].甘肅科技,2008,24(9):41-43. [12] 薛少飛,宋 彥,戴禮榮.基于多GPU的深層神經(jīng)網(wǎng)絡(luò)快速訓(xùn)練方法[J].清華大學(xué)學(xué)報(自然科學(xué)版),2013,53(6):745-748. [15] 李 軒,李春升.一種交替變換更新層數(shù)的DBN-DNN快速訓(xùn)練方法[J].計算機(jī)應(yīng)用研究,2016,33(3):843-847.3.2 流處理的并行模型
3.3 多GPU實現(xiàn)
4 實驗結(jié)果與分析
4.1 實驗環(huán)境
4.2 權(quán)重矩陣分片模型下RBM的訓(xùn)練速度
4.3 opCD-k算法參數(shù)的調(diào)整
4.4 改進(jìn)的單GPU下DBN性能實驗
4.5 改進(jìn)的多GPU下DBN性能實驗
5 結(jié)束語