黃劉



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