何學成
(宣城職業(yè)技術學院 信息與財經(jīng)學院,安徽 宣城 242000)
為了減少分布式環(huán)境中深度增強學習的通信負載,研究人員們提出了一系列的網(wǎng)絡通信協(xié)議和框架[1-4]。現(xiàn)有的研究大多基于無損網(wǎng)絡的假設,即在通信過程中不會發(fā)生網(wǎng)絡丟包;然而目前的互聯(lián)網(wǎng)(尤其是無線網(wǎng)絡)并不能完全地避免丟包的發(fā)生。探討在有損網(wǎng)絡中深度學習數(shù)據(jù)流的優(yōu)化問題,將參數(shù)服務器架構[5]和AllReduce架構[6]相結合,設計一種新穎的數(shù)據(jù)流優(yōu)化算法,使部署在有損網(wǎng)絡中的深度增強學習框架仍然可以保持其收斂性。
所考慮的深度增強學習具有以下的形式:
(1)
其中,n是計算節(jié)點的數(shù)量,Di是計算節(jié)點i的本地訓練數(shù)據(jù)集合,F(xiàn)i(x;ξ)是計算節(jié)點i中模型x的損失函數(shù)。節(jié)點通過網(wǎng)絡進行通信,假設網(wǎng)絡的丟包率為p,所有丟包事件都是獨立的。
在參數(shù)匯聚過程中,每一個計算節(jié)點會將其參數(shù)分成 個相同大小的塊,如下所示:
(2)
(3)
算法1LTFlowOpt算法輸入:學習速度,最大迭代次數(shù)MAX_T輸出:xi,T1:初始化xi,12:whilet<=MAX_Tdo3: CalLocalSGD(); ∥計算本地梯度4: CalModel(); ∥根據(jù)梯度計算本地模型5: DivideModel(); ∥將模型分成大小相等的參數(shù)塊6: ParaAggregate(); ∥進行參數(shù)匯聚過程7: ParaBroadcast(); ∥進行參數(shù)廣播過程8:endwhile9:returnxi,T;
(4)
(5)
(6)
其中,α1和α2為常量,0<α2<α1<1。
接下來說明LTFlowOpt算法如何在有損網(wǎng)絡中保證深度增強學習算法的收斂性。首先假設所有函數(shù)fi(·)的梯度均具有李普希茲連續(xù)性,即‖fi(x)-fi(y)‖≤L‖x-y‖。與此同時,假設隨機梯度的差是有界的,即Eξ~Di‖F(xiàn)i(x;ξ)-fi(x)‖2≤σ2及2。能夠得到以下的結論:當學習速率γ足夠小,并滿足時,算法LTFlowOpt的收斂速率為
(7)
采用三個深度增強學習框架來評估LTFlowOpt算法的性能,這三個框架分別是ADNet、JointOS以及ADRL。ADNet是一個用于目標跟蹤的深度增強學習的框架,JointOS是目標檢測框架,而ADRL是一個視頻人臉檢測系統(tǒng)。
在實驗中,采用CNTK深度學習套件來模擬網(wǎng)絡丟包的情況,并采用MPI標準的接口來實現(xiàn)LTFlowOpt算法。在深度增強學習的深度神經(jīng)網(wǎng)絡訓練過程中,batch的大小被設置為64。采用一個由10個服務器節(jié)點組成的集群,每一個服務器上配置有一塊英偉達Tesla K80 GPU,節(jié)點之間由10Gbps的以太網(wǎng)相互連接。采用訓練損失作為指標,分別考察LTFlowOpt算法和標準隨機梯度下降算法的收斂情況。網(wǎng)絡丟包概率設置為1%。實驗結果分別如圖1、2和3所示。
圖1ADNet框架下算法訓練損失對比 圖2JointOS框架下算法訓練損失對比 圖3ADRL框架下算法訓練損失對比
由結果可知,與標準隨機梯度下降算法相比,LTFlowOpt算法具有更好的丟包容忍性,在出現(xiàn)丟包的情況下仍然可以確保收斂性。
針對部署在有損網(wǎng)絡中深度增強學習框架,設計了網(wǎng)絡數(shù)據(jù)流優(yōu)化算法LTFlowOpt。LTFlowOpt算法具有可靠性,在網(wǎng)絡出現(xiàn)丟包時仍然可以保證深度學習算法的收斂性。采用實驗,在三個深度增強學習框架的數(shù)據(jù)流下,評估了算法在有損網(wǎng)絡中的性能。未來的工作在于從理論上深入地分析LTFlowOpt算法的收斂性,并在大型的網(wǎng)絡集群中實現(xiàn)該算法。