孫灝
(安徽廣播電視大學 滁州分校,安徽 滁州 239000)
網絡帶寬的限制,將大量的數據傳輸到遠程云端進行處理和存儲是不切實際的。由于移動邊緣計算技術的快速發展,邊緣節點配備了存儲和計算功能,因此本地的數據存儲和處理成為可能。在邊緣網絡應用分布式機器學習算法可以在邊緣計算節點上實現高效的機器學習模型訓練。這種學習技術使邊緣計算節點可以協作建立一個共享模型,同時將所有訓練數據保留在本地。邊緣計算節點會在其本地訓練數據上計算對當前全局模型的更新,然后由服務器對其進行匯總。新模型的匯總完成后,所有邊緣計算節點都可以訪問相同的全局模型以計算其新更新。本研究探討了如何在網絡邊緣設計激勵機制以進行高效的分布式機器學習的問題,提出了基于深度增強學習的激勵策略。
機器學習模型是基于訓練數據學習的。訓練數據樣本j由兩部分組成:向量xj是機器學習模型的輸入,另一部分是機器學習模型的輸出yj。為了實現機器學習訓練,每個模型都有一個關于模型參數ω的損失函數。模型學習過程就是將一組訓練數據樣本上的損失函數最小化。我們將fj(ω)定義為訓練數據樣本j的損失函數。
假設網絡中有N個邊緣節點,每個邊緣節點n擁有一個本地的訓練數據Dn,其損失函數的定義如下所示:
(1)
(2)
模型訓練的目標是找到能全局損失最小的模型參數,即
ω*=arg minF(ω)
(3)
由于大多數機器學習模型固有的復雜性,一般情況下很難找到式(3)的解析解。因此,可以通過分布式邊緣梯度下降算法來求解式(3)[1]。由于同步的方法比異步的方法具有更高的訓練精度[2],因此本工作基于同步方法,每個邊緣計算節點在每一輪進行τ次迭代。
令cn表示邊緣節點n執行一個數據樣本的CPU周期數。由于所有訓練數據樣本{xj,yj}j∈Dn具有相同的大小,因此邊緣節點n運行一次局部迭代所需的CPU周期數為cnDn。然后,邊緣節點n進行一個局部迭代所消耗的CPU能量為[3]:
(4)
(5)
(6)
(7)
(8)
其中,λ是權重。
在邊緣學習系統中,邊緣節點和服務器通過進行協商以最大程度地增加自己的利益。 具體而言,第κ輪中節點n和服務器的目標可以公式化為約束優化問題。對于邊緣節點n,
(9)
對于服務器,
(10)
在本節中,使用單輪優化方法解決激勵機制設計問題。
(11)
(12)
因此,能得到
(13)
結合式(7)、(8)、(12)和(13),優化問題(10)的目標函數具有如下的形式:
(14)
盡管可以通過單輪次優化的方法來設計激勵機制,但是對于服務器而言,要獲取邊緣計算節點的私有信息還是很困難的。而且,網絡環境是動態變化的。對于用戶而言,預測真實的網絡環境是一個嚴峻的挑戰。因此,單輪次優化方法并不能做出合適的決策。深度增強學習方法能夠從過去的經驗中基于當前狀態和給定的獎勵來學習的行動決策。將服務器的定價決策改寫為:
(15)
作為學習代理的服務器在深度增強學習設置中與環境交互,其中服務器是定價決策的主要組成部分,環境定義了規則、限制和獎勵機制。在第κ輪次中,服務器觀察到狀態sκ并選擇一個動作pκ。完成此操作后,當前狀態將傳輸到下一個狀態sκ+1,并且服務器將收到獎勵rκ。深度增強學習的目標是找到將狀態sκ映射到動作pκ的最佳策略π,該策略可以最大化預期的折現累積獎勵。
將服務器的策略定義為πθ,其含義為給定狀態sκ,在動作空間A下動作aκ的概率分布?;谏疃仍鰪妼W習的學習機制的目標是找到滿足以下等式的最佳策略:
(16)
其中,Q(s,p)是在執行動作a之后測量狀態s的未來累積獎勵的期望的動作值函數,ρ(s)是初始狀態的概率分布。
利用Actor-Critic算法和近端策略優化方法來學習最優的策略。分別用πθ(·丨s)和V?(s)表示Actor和Critic,其中θ是Actor的未知參數,而?是Critic的未知參數,然后,可以通過隨機梯度上升和隨機梯度下降分別學習πθ(·丨s)和V?(s),即
θ'=θ+l1▽θL1(θ)
(17)
?'=?-l2▽?L2(?)
(18)
其中,θ'是Actor更新后的參數,?'是Critic更新后的參數,l1和l2是學習率。
由于服務器與邊緣計算節點之間的交互是動態的,采用深度神經網絡來近似πθ(·丨s)和V?(s)。Actor網絡πθ可以表示為具有兩個隱藏層的多層全連接神經網絡。給定狀態輸入sk,Actor網絡將輸出pκ的高斯分布。Critic網絡V?由一個具有兩個隱藏層的多層全連接神經網絡和一個帶有記憶模塊的遞歸神經網絡組成。
在學習之前,服務器初始化其狀態s0和學習參數。在邊緣學習任務的第κ輪訓練中,服務器首先通過將其狀態sκ作為Actorπθ的輸入來確定其價格pκ。然后,邊緣計算節點將根據式(12)確定其CPU周期頻率δκ。然后,邊緣計算節點從服務器下載全局模型,并通過他們自己的訓練數據更新模型。邊緣計算節點s完成本地模型訓練并上傳其本地模型參數后,服務器將通過匯總分布式模型來更新全局訓練模型,并計算其獎勵rκ。最后,服務器將更新其狀態,并將狀態、動作和獎勵信息存儲到重放緩沖區B中。此外,服務器將在每B輪更新其Actor和Critic。具體來說,它首先設置要采樣的Actor參數。然后,它將利用存儲在重放緩沖區中的歷史數據來估計隨機梯度,以優化θ和?并更新其Actor和Critic。經過M次優化后,它將清除重放緩沖區并開始對新的訓練數據進行采樣。
對于5個邊緣節點的場景,Actor網絡和Critic網絡的隱藏層分別具有300個和75個節點。我們在Critic網絡中采用了最新的存儲網絡差分神經計算機。每個邊緣計算節點的訓練數據大小Dn為服從U(0,5,1)的均勻分布,單位為GB;cn服從U(10,30)的均勻分布,單位為周期/位。為了驗證本策略的有效性,采用一個包含40個移動節點的移動軌跡數據集。隨機選擇五個節點作為邊緣計算節點。對于每個節點,在完成每一輪的模型訓練后,節點將在遇到接入點時立即上載更新后的模型。
首先展示損失函數和獎勵函數在訓練過程中隨時間的變化。圖1(a)顯示了損失隨時間的變化,觀察到損失在開始時非常迅速地減小。這是因為在訓練開始時,近似值不精確,這會導致較大的損失值;隨著訓練的進行,損失可以迅速減少到最小,隨后損失值變得非常平穩。圖1(b)是訓練期間的平均獎勵,觀察到獎勵會隨著時間單調增長。
(a) 損失值變化 (b) 獎勵值變化
將本方法與兩個基準策略進行比較:第一種是貪婪策略,它是一種啟發式算法,可以從重放緩沖區中貪婪地選擇具有最大獎勵的策略;第二個是隨機策略,其中服務器在每個回合中隨機選擇定價策略。對比的結果如表1所示。表1展示了每一輪服務器的平均成本,訓練時間和代價。與其他兩種方法相比,基于深度增強學習的方法實現了最低的成本。從表1中可以看到,基于深度增強學習的服務器在每一輪中獲得的訓練時間最少。在具有最低成本的同時,基于深度增強學習的策略所付出的代價更低。
表1 成本、訓練時間和代價的對比
本研究提出了一種在動態環境中面向分布式機器學習的激勵機制,其中每個計算節點需要在動態計算環境中進行本地的學習任務,而且還需要在動態的網絡環境中傳輸本地模型的更新。首先,分析第κ輪的最優解,并提出一種最優算法;其次,提出了一種基于深度增強學習的策略;最后,采用真實的數據集對提出的策略進行驗證。在未來的工作中,將本策略部署到真實的應用環境,進一步驗證策略的有效性。