黃劉
摘要:針對傳統(tǒng)BP算法訓(xùn)練深度學(xué)習(xí)模型易受模型初始參數(shù)影響,訓(xùn)練效率較低的問題,基于遺傳算法進行優(yōu)化,提出了遺傳優(yōu)化分布式BP算法。首先,分析了BP算法和遺傳算法的基本原理。然后,結(jié)合分布式訓(xùn)練的特點,提出了遺傳優(yōu)化分布式BP算法,確定了訓(xùn)練策略。最后,對遺傳優(yōu)化分布式BP算法和傳統(tǒng)BP算法的訓(xùn)練效率進行了對比實驗分析。結(jié)果表明,遺傳優(yōu)化分布式BP算法不受模型初始參數(shù)的影響,相對傳統(tǒng)BP算法實現(xiàn)了較高的訓(xùn)練效率。
關(guān)鍵詞: BP算法;遺傳算法; 深度學(xué)習(xí); Docker;分布式訓(xùn)練
中圖分類號:TP391? ? ? 文獻標(biāo)識碼:A
文章編號:1009-3044(2021)23-0097-03
Abstract:In this paper, an optimized distributed training algorithm based on genetic algorithm is proposed, which used to solve the problem of easy affected by the initial parameters and low training efficiency of Traditional BP algorithm. Firstly, the basic principles of BP algorithm and genetic algorithm are analyzed. Then, considered with the characteristics of distributed training, the genetic optimization distributed BP algorithm is proposed, and the training strategy is determined. Finally, the training efficiency of genetic optimization distributed BP algorithm is compared with that of traditional BP algorithm. The results show that genetic optimization distributed BP algorithm is not affected by the initial parameters of the model, and achieves higher training efficiency than the traditional BP algorithm.
Keywords:back propagation algorithm; genetic algorithm; deep learning; Docker; distributed training
1? 引 言
人工智能領(lǐng)域突破性的研究成果極大地激發(fā)了人們對深度學(xué)習(xí)的興趣,如計算機視覺、語音識別、自然語言處理等[1-4]。依托GPU(Graphics Processing Unit)強大的并行計算能力訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)解決復(fù)雜任務(wù),是近年來深度學(xué)習(xí)取得成功的主要原因 [5]。在硬件計算能力提高與大數(shù)據(jù)爆發(fā)式增長的雙重作用下,產(chǎn)生了許多復(fù)雜的深度學(xué)習(xí)模型,如GPT-3自回歸語言模型。GPT-3包括1750億參數(shù),訓(xùn)練數(shù)據(jù)集高達(dá)45TB。巨大的參數(shù)規(guī)模和海量的訓(xùn)練數(shù)據(jù),導(dǎo)致在可接受的時間范圍內(nèi),利用單臺計算機、單顆GPU已不可能完成模型訓(xùn)練。必須利用多臺計算機、多個GPU進行分布式訓(xùn)練。目前訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)主要采用反向傳播(BP,Back Propagation)算法。BP算法沿著損失函數(shù)的負(fù)梯度方向搜索最小值,雖然搜索速度快,但訓(xùn)練過程受模型初始參數(shù)的影響較大,易陷入局部最優(yōu)。按照訓(xùn)練時模型與數(shù)據(jù)集的拆分方式不同,分布式訓(xùn)練可分為數(shù)據(jù)并行、模型并行和混合并行。按照模型參數(shù)的更新方式不同,又可分為同步更新和異步更新。但無論采用哪種方式,傳統(tǒng)分布式訓(xùn)練方法本質(zhì)上只同時訓(xùn)練一個模型,仍然不能避免由BP算法帶來的易陷入局部最優(yōu)的問題。
針對上述問題,本文基于遺傳算法對分布式條件下BP算法的訓(xùn)練過程進行優(yōu)化,提出了遺傳優(yōu)化分布式BP算法。通過在訓(xùn)練過程中加入選擇、交叉和變異三種遺傳操作,避免了算法陷入局部最優(yōu),提高了訓(xùn)練效率。
2? 相關(guān)知識
2.1 BP算法
BP算法是目前主要采用的深度學(xué)習(xí)模型訓(xùn)練算法,其基本思想是,學(xué)習(xí)過程由輸入數(shù)據(jù)的正向傳播和輸出誤差的反向傳播兩個階段組成[6-8]。在正向傳播階段,輸入數(shù)據(jù)從模型的輸入層傳入,經(jīng)各隱層逐層傳遞,最終到達(dá)輸出層,得到模型的實際輸出。若模型的實際輸出與期望輸出不符,則轉(zhuǎn)入誤差反向傳播階段。在誤差反向傳播階段,模型的實際輸出與期望輸出的偏差逐層反向傳播,并分?jǐn)偟礁鲗幽P蛥?shù)上。最后基于梯度下降法(GD,Gradient Descent)調(diào)整模型參數(shù),使模型的實際輸出逐漸逼近期望輸出。
設(shè)目標(biāo)函數(shù)為[y=f(p,x)],其最小值為[y],求使目標(biāo)函數(shù)取得最小值時對應(yīng)的自變量[x]的取值,采用梯度下降法,損失函數(shù)可表示為:
參數(shù)更新可表示為:
梯度下降法沿著損失函數(shù)的負(fù)梯度方向搜索最小值,使BP算法具有較強的局部搜索能力,搜索速度快,但易受初始搜索位置的影響,易陷入局部最優(yōu)。
2.2遺傳算法
遺傳算法(Genetic Algorithm)是通過模擬生物種群自然進化規(guī)律,提出的一種優(yōu)化算法。遺傳算法將問題的求解轉(zhuǎn)換成生物進化過程中染色體交叉和基因變異過程,通過選擇、交叉、變異三種遺傳操作,不斷提高種群中優(yōu)勢基因所占比例,篩選出全局最優(yōu)基因[9-10]。