何學成
(宣城職業技術學院 信息與財經學院,安徽 宣城 242000)
為了減少分布式環境中深度增強學習的通信負載,研究人員們提出了一系列的網絡通信協議和框架[1-4]。現有的研究大多基于無損網絡的假設,即在通信過程中不會發生網絡丟包;然而目前的互聯網(尤其是無線網絡)并不能完全地避免丟包的發生。探討在有損網絡中深度學習數據流的優化問題,將參數服務器架構[5]和AllReduce架構[6]相結合,設計一種新穎的數據流優化算法,使部署在有損網絡中的深度增強學習框架仍然可以保持其收斂性。
所考慮的深度增強學習具有以下的形式:
(1)
其中,n是計算節點的數量,Di是計算節點i的本地訓練數據集合,Fi(x;ξ)是計算節點i中模型x的損失函數。節點通過網絡進行通信,假設網絡的丟包率為p,所有丟包事件都是獨立的。


在參數匯聚過程中,每一個計算節點會將其參數分成 個相同大小的塊,如下所示:
(2)


(3)


算法1LTFlowOpt算法輸入:學習速度,最大迭代次數MAX_T輸出:xi,T1:初始化xi,12:whilet<=MAX_Tdo3: CalLocalSGD(); ∥計算本地梯度4: CalModel(); ∥根據梯度計算本地模型5: DivideModel(); ∥將模型分成大小相等的參數塊6: ParaAggregate(); ∥進行參數匯聚過程7: ParaBroadcast(); ∥進行參數廣播過程8:endwhile9:returnxi,T;

(4)

(5)
(6)
其中,α1和α2為常量,0<α2<α1<1。
接下來說明LTFlowOpt算法如何在有損網絡中保證深度增強學習算法的收斂性。首先假設所有函數fi(·)的梯度均具有李普希茲連續性,即‖fi(x)-fi(y)‖≤L‖x-y‖。與此同時,假設隨機梯度的差是有界的,即Eξ~Di‖Fi(x;ξ)-fi(x)‖2≤σ2及2。能夠得到以下的結論:當學習速率γ足夠小,并滿足時,算法LTFlowOpt的收斂速率為
(7)
采用三個深度增強學習框架來評估LTFlowOpt算法的性能,這三個框架分別是ADNet、JointOS以及ADRL。ADNet是一個用于目標跟蹤的深度增強學習的框架,JointOS是目標檢測框架,而ADRL是一個視頻人臉檢測系統。
在實驗中,采用CNTK深度學習套件來模擬網絡丟包的情況,并采用MPI標準的接口來實現LTFlowOpt算法。在深度增強學習的深度神經網絡訓練過程中,batch的大小被設置為64。采用一個由10個服務器節點組成的集群,每一個服務器上配置有一塊英偉達Tesla K80 GPU,節點之間由10Gbps的以太網相互連接。采用訓練損失作為指標,分別考察LTFlowOpt算法和標準隨機梯度下降算法的收斂情況。網絡丟包概率設置為1%。實驗結果分別如圖1、2和3所示。

圖1ADNet框架下算法訓練損失對比 圖2JointOS框架下算法訓練損失對比 圖3ADRL框架下算法訓練損失對比
由結果可知,與標準隨機梯度下降算法相比,LTFlowOpt算法具有更好的丟包容忍性,在出現丟包的情況下仍然可以確保收斂性。
針對部署在有損網絡中深度增強學習框架,設計了網絡數據流優化算法LTFlowOpt。LTFlowOpt算法具有可靠性,在網絡出現丟包時仍然可以保證深度學習算法的收斂性。采用實驗,在三個深度增強學習框架的數據流下,評估了算法在有損網絡中的性能。未來的工作在于從理論上深入地分析LTFlowOpt算法的收斂性,并在大型的網絡集群中實現該算法。