• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      自適應量化權(quán)重用于通信高效聯(lián)邦學習

      2022-02-28 09:54:28周治威劉為凱鐘小穎
      控制理論與應用 2022年10期
      關(guān)鍵詞:參與率聯(lián)邦比特

      周治威,劉為凱,鐘小穎

      (武漢工程大學數(shù)理學院,湖北武漢 430205)

      1 引言

      在過去的幾十年里,機器學習興起,產(chǎn)生了許多與之相關(guān)的實際應用,例如機器人、圖像識別、機器翻譯等等.這些現(xiàn)實應用的開發(fā)在很大程度上依賴大數(shù)據(jù)嵌入的知識,機器學習模型訓練需要大量的數(shù)據(jù).傳統(tǒng)的模型訓練依靠大量的移動設(shè)備收集數(shù)據(jù),然后將數(shù)據(jù)傳輸?shù)揭粋€云服務器進行統(tǒng)一訓練.這種訓練模式不僅要消耗大量的帶寬,還存在隱私泄露的風險[1].

      基于以上考慮,未來的機器學習任務盡可能在網(wǎng)絡邊緣(即設(shè)備),以分布式方式執(zhí)行的模型共享訓練,稱為聯(lián)邦學習(federated learning,FL)[2-4].在提出的聯(lián)邦學習算法中有個經(jīng)典聯(lián)邦平均算法(federated averaging algorithm,FedAvg)[5],在這個算法中,客戶端使用本地數(shù)據(jù)集更新局部模型,然后將更新好的模型參數(shù)上傳到服務器,服務器聚集所有客戶端的模型參數(shù),更新全局模型,再將全局模型參數(shù)廣播回所有客戶端.重復執(zhí)行上述步驟若干次或者達到一定的精度為止[1].這種訓練模式由于數(shù)據(jù)存儲在客戶端本地,不用和其他設(shè)備共享數(shù)據(jù),減少了隱私泄露的風險.同時FL也為數(shù)據(jù)孤島提供了新的思路.然而,FL在訓練的過程中會產(chǎn)生巨大的通信開銷,在高層的神經(jīng)網(wǎng)絡模型[6]中尤其嚴重,關(guān)于神經(jīng)網(wǎng)絡的穩(wěn)定可參考文獻[7],到現(xiàn)在,通信延遲已經(jīng)成為了加速FL訓練的瓶頸.

      在這種背景下,各種通信高效的FL算法開始興起[5,8].研究人員研究出了大量通信高效的FL算法,介紹如下.文獻[9]提出梯度量化加速并行式分布學習,文獻[10]提出了梯度稀疏化,文獻[11-14]提出了梯度量化來減小模型的尺寸,文獻[15]使用梯度差量化,使用誤差補償降低壓縮損失[16-17],梯度累積是將多次迭代的小梯度累加再上傳[18],文獻[19]做了自適應梯度量化,文獻[20]證明了自適應線性收斂.在文獻[21-22]使用通信審查減少通信傳輸?shù)谋忍財?shù),與稀疏化和量化算法不同是,只有當客戶端的最新梯度達到設(shè)定的閾值才會上傳.文獻[23]使用了三元權(quán)重壓縮的方法,在上游通信壓縮取得了不錯的效果,但是在下游通信壓縮的時候有時會發(fā)生模型崩潰,引起較大的誤差.文獻[24]使用壓縮感知重建信號,甚至使用1 比特傳輸數(shù)據(jù).神經(jīng)網(wǎng)絡修剪是文獻[25]中提出的模型壓縮的早期方法.文獻[4]做了進一步研究,令人吃驚的是,即使模型壓縮了90%,模型依然保持著很高的準確率,聯(lián)邦學習在實際應用場景中可能會遭受到模型攻擊[26-27].聯(lián)邦學習比較全面的綜述可參考文獻[28],聯(lián)邦學習設(shè)計理念以及未來的研究方向可參考文獻[3,29].

      上述方法雖然壓縮了數(shù)據(jù)減少了傳輸?shù)谋忍財?shù),但是同時也引入了噪聲[30],壓縮算法不能收斂到最優(yōu)解附近,導致算法性能下降幅度比較大.文獻[19]中的自適應算法收斂結(jié)果比較好,但是所提出算法需要時時通信,保證梯度更新,這消耗了大量的通信資源,現(xiàn)在網(wǎng)絡設(shè)備計算能力較強,利用增加計算開銷,還能更進一步節(jié)省通信開銷.

      受文獻[19-20]啟發(fā),針對在保證算法性能的情況下,降低通信成本這一問題展開了研究.在聯(lián)邦平均算法和文獻[19]的基礎(chǔ)上,本文提出了自適應量化權(quán)重算法,該算法能在訓練過程中自適應調(diào)節(jié)量化因子,不斷縮小量化誤差,壓縮數(shù)據(jù)的同時并保證算法的性能.模型訓練達到一定輪次時,會發(fā)生不穩(wěn)定波動,這個時候客戶端的每一次更新并非都對全局更新有用[8],為了避免不必要的更新上傳,提出了權(quán)重復用控制算法,重用上一次的權(quán)重更新全局模型,進一步減少上傳的比特數(shù),節(jié)省通信資源.

      本文結(jié)構(gòu)安排如下,第2節(jié)介紹FL模型和方法;第3節(jié)詳細介紹自適應量化權(quán)重算法和權(quán)重復用控制算法;第4節(jié)給出仿真結(jié)果和結(jié)論;第5節(jié),總結(jié)和未來計劃.

      2 聯(lián)邦學習模型和常用方法

      本節(jié)主要介紹經(jīng)典聯(lián)邦學習的工作流程,然后介紹自適應量化權(quán)重方法的定義和主要特點.

      2.1 聯(lián)邦學習模型

      首先聯(lián)邦學習模型如圖1所示,整個模型由1個服務器,n個客戶端組成,在正式訓練之前,服務器會廣播初始模型參數(shù)θ0,所有客戶端需要下載初始模型參數(shù)到本地,然后使用本地數(shù)據(jù)集訓練模型[29],更新局部模型參數(shù)(權(quán)重),然后將更新好的模型參數(shù)上傳服務器,服務器聚集所有客戶端的局部更新后,進行加權(quán)平均更新全局模型參數(shù)θ1,再將更新好的全局模型再次廣播給客戶端,重復上述步驟M次.

      圖1 聯(lián)邦學習模型Fig.1 Federated Learning model

      在第k個客戶端上的局部損失函數(shù)具體如下:

      其中:θ是模型參數(shù)(權(quán)重),假設(shè)訓練使用的是監(jiān)督學習,(xi,yi)(i1,2,...,n),x代表數(shù)據(jù)的輸入(圖像的像素),y代表模型的期望輸出(圖像標簽),Dk代指客戶端本地數(shù)據(jù)集,k為客戶端的編號,L為客戶端訓練時使用的損失函數(shù).聯(lián)邦學習的訓練目標是構(gòu)建全局最小損失函數(shù)J(θ),全局損失函數(shù)定義如下:

      其中:N表示客戶端的總數(shù),β表示客戶端的參與率,不是所有的客戶端都能參與訓練.客戶端都是使用小批量隨機梯度下降進行局部模型參數(shù)更新,隨機梯度下降為

      其中:m代表客戶端本地迭代輪次,η表示學習率,客戶端一般會在本地進行1-10次迭代更新,然后將更新好的模型參數(shù)上傳服務器,服務器進行加權(quán)平均更新全局模型參數(shù),加權(quán)更新方式具體如下:

      2.2 量化

      量化作為數(shù)據(jù)壓縮最常用的手段,通過對矢量的位數(shù)加以限制,減少通信過程中傳輸?shù)谋忍財?shù)[31].現(xiàn)在的許多計算機都使用32或者64位全精度數(shù)據(jù)進行運算,使用全精度數(shù)據(jù)雖然準確率高,但是消耗的通信資源非常大.為了緩解這個問題,設(shè)計了b位自適應量化器[20].將32位全精度數(shù)據(jù)量化為b位,通過對全精度數(shù)據(jù)進行壓縮,減少傳輸?shù)谋忍財?shù),節(jié)省通信資源.

      圖2 b等于2的量化器Fig.2 b equals 2 quantizer

      2.3 提出的算法

      在本節(jié)中首先提出了自適應量化算法,并在此算法的基礎(chǔ)上提出了權(quán)重復用控制算法[4,8],前者壓縮傳輸?shù)谋忍財?shù),后著減少了上傳的比特數(shù).算法1總結(jié)了自適應量化更新的規(guī)則,壓縮了傳輸數(shù)據(jù)的位數(shù),同時在迭代過程中,自適應調(diào)整量化因子,保證了算法的性能.

      算法2總結(jié)了客戶端在更新完局部模型參數(shù)之后,對模型參數(shù)壓縮的過程.算法1總結(jié)了訓練的全部過程,在每一輪全局更新中,客戶端負責用本地數(shù)據(jù)集更新局部模型參數(shù),然后將更新好的局部模型壓縮上傳到服務器,服務器負責聚合客戶端的局部模型參數(shù),更新全局模型參數(shù),然后將更新好的全局模型參數(shù)廣播給所有客戶端.

      在實驗過程中發(fā)現(xiàn),隨著模型精度達到一定數(shù)值之后,模型會出現(xiàn)不穩(wěn)定的波動,部分客戶端上傳的模型參數(shù)對全局模型更新沒有太大的幫助,這時候筆者決定阻止這些不必要的更新上傳,直接重用上一次上傳的模型參數(shù).判斷客戶端是否上傳的依據(jù)是客戶端損失值[32].用當前客戶端的損失值與上一輪的損失值作比較,比上一次小就上傳,并把本次損失值替換上一次的損失值.作為下一輪比較的依據(jù),否則就直接告訴服務器值為空,服務器直接復用上一次上傳的權(quán)重.服務器需要多耗費一部分空間來存儲客戶端上傳的權(quán)重,具體的更新規(guī)則總結(jié)在算法3中.

      3 仿真結(jié)果與結(jié)論

      本節(jié)中評估了所提出算法的性能.本文設(shè)置了多個實驗,比較本文提出的算法在測試精度和通信成本方面的性能.下面介紹實驗設(shè)置和結(jié)果.

      3.1 實驗設(shè)置

      為了評估所提出的自適應量化和權(quán)重復用控制算法在聯(lián)邦學習系統(tǒng)中的性能,一臺筆記本電腦充當中央服務器和10個通過局域網(wǎng)無線連接的筆記本充當客戶[29],假設(shè)客戶端不會對整個模型發(fā)起攻擊,也沒有外部病毒惡意攻擊客戶端,詳細配置如下.

      3.1.1 比較的算法

      1) baseline a: 集中式算法,所有數(shù)據(jù)集中到一臺計算機上進行訓練,使用隨機梯度下降進行訓練.

      2) baseline b: 標準聯(lián)邦學習算法[2],沒有對模型參數(shù)進行過處理,使用的是全精度模型參數(shù)進行訓練.

      3) A-FVG:本文提出的自適應量化聯(lián)邦學習算法,對客戶端的上傳的局部模型參數(shù)進行量化.

      4) WA-FVG:加了權(quán)重復用控制的自適應量化算法,在對模型參數(shù)進行壓縮前進行判斷,是否要進行量化上傳.

      3.1.2 模型

      為了評估算法的有效性,選擇了3個深度神經(jīng)網(wǎng)絡進行仿真實驗(MLP,CNN,CNN5).

      1) MLP:該模型包含兩個隱層,神經(jīng)元數(shù)量分別為30個和20個,無偏置,選擇ReLU作為激活函數(shù).第一層和最后一層的大小分別是784和10.

      2) CNN:該模型是個淺層卷積神經(jīng)網(wǎng)絡,由兩個卷積層和兩個全連層組成,卷積核大小為5×5.使用ReLU函數(shù)激活,每個卷積層后加了一個最大池化層,經(jīng)過兩個卷積層后進行dropout策略,dropout參數(shù)設(shè)置為0.5,第一層神經(jīng)元320個,最后一層神經(jīng)元為10個.

      3) CNN5: 該模型是一個卷積神經(jīng)網(wǎng)絡,由5個卷積層和2個全連接層組成.第1個卷積層使用ReLU 函數(shù),其余的卷積層后面是批處理規(guī)范化層、ReLU函數(shù)和最大池化層,全連接層第一層4096 個神經(jīng)元,第二層10個神經(jīng)元.

      3.1.3 數(shù)據(jù)

      本文選擇使用標準檢測數(shù)據(jù)集MINST[25]和CIFAR10[10]做仿真.

      1) MNIST:它包含60 000個用于訓練和10 000個用于測試的10類灰度手寫圖像樣本,其中每幅圖像的維數(shù)為28×28.所有數(shù)據(jù)都是獨立同分布的數(shù)據(jù).

      2) CIFAR10: 它包含了貓、狗、飛機等10種物體的60000個彩色RGB圖像,其中每幅圖像的維數(shù)為32×32,50000個用于訓練,10000個用于測試,數(shù)據(jù)類型屬于非獨立同分布數(shù)據(jù).

      3.1.4 其他配置

      客戶端總數(shù)N設(shè)置了10個,客戶端本地循環(huán)次數(shù)E設(shè)置為5,迭代總輪次M設(shè)置為500,客戶端參與率設(shè)置為1,數(shù)據(jù)的批處理大小設(shè)置為64,學習率設(shè)置為0.01.

      3.2 仿真結(jié)果分析

      對于客戶端的數(shù)據(jù)來源,因為客戶端的數(shù)據(jù)應該是獨立的,所以本文把下載的數(shù)據(jù)集平分給所有的客戶端.以cifar10數(shù)據(jù)集為例,每個客戶端可以分到6000個數(shù)據(jù),在全局模型聚合后用10000個測試數(shù)據(jù)測試模型的學習效果,表1展示了4種算法在mnist數(shù)據(jù)集上的測試結(jié)果.本文比較了算法達到穩(wěn)定后,標準聯(lián)邦平均算法baseline b,自適應量化算法A-FVG和權(quán)重復用控制算法WA-FVG所需要的通信成本,本文將客戶端模型參數(shù)做6位量化處理.

      表1 Mnist數(shù)據(jù)集測試結(jié)果Table 1 Mnist data set test results

      圖3是4種算法在mnist數(shù)據(jù)集上的通信輪次對比圖,從中可以看出A-FVG和WA-FVG兩種算法的收斂速度比標準聯(lián)邦學習算法的收斂速度更快.集中式學習算法達到了0.962準確度,標準聯(lián)邦學習算法達到了0.940,本文的A-FVG和WA-FVG算法準確度分別達到了0.941和0.927.A-FVG和標準聯(lián)邦學習算法基本達到了一樣的精度,但是本文的WA-FVG算法相比A-FVG算法有大約1.4%精度損失,筆者推測是本文使用平均損失值作為是否復用的依據(jù)引起的.在客戶端進行多次局部迭代時,可能有某次迭代對于全局模型更新是有用的,但是因為其他幾次的迭代更新對全局更新無用,從而導致將有用的更新平均掉了,沒有上傳.但是從圖3中算法達到收斂需要上傳的比特數(shù)對比圖可以看出,本文的權(quán)重復用算法相比經(jīng)典聯(lián)邦算法要節(jié)省大概75%~80%的通信資源,A-FVG相比經(jīng)典聯(lián)邦學習算法要節(jié)約70%的通信資源.

      圖3 Mnist數(shù)據(jù)集MLP網(wǎng)絡通信成本Fig.3 Mnist dataset MLP network communication cost

      在CNN網(wǎng)絡中,集中式和標準聯(lián)邦學習算法準確度分別達到了0.990,0.986.A-FVG和WA-FVG 算法分別達到了0.986,0.982.4種算法都到了驚人的準確度.從圖4的通信輪數(shù)對比圖看不出優(yōu)勢,但是從圖4達到收斂需要上傳比特數(shù)對比圖可以看出,本文的算法還是很有效,節(jié)約了70%以上的通信資源的同時沒有引起太大的性能下降.

      圖4 Mnist數(shù)據(jù)集CNN網(wǎng)絡通信成本Fig.4 Mnist dataset CNN network communication cost

      為了證明本文算法的穩(wěn)定性,在非獨立同分布數(shù)據(jù)集上也進行了同樣的實驗.只是在非獨立同分布數(shù)據(jù)集上(Cifar10)進行聯(lián)邦學習性能下降仍然是個巨大的挑戰(zhàn)[33],因為當數(shù)據(jù)是非獨立同分布的時候,局部隨機梯度不能被認為是全局梯度的無偏估計[34].為了提高識別的準確度,本文選擇CNN和CNN5這兩個更為復雜的模型進行實驗,實驗參數(shù)不變.

      表2展示了4種算法在Cifar10數(shù)據(jù)集上達到穩(wěn)定所需要的訓練輪數(shù)和上傳的比特數(shù),圖5為CNN網(wǎng)絡實驗結(jié)果,在CNN網(wǎng)絡中集中式算法準確度能達到0.617,標準聯(lián)邦學習與A-FVG算法能達到0.594和0.592,準確度幾乎一樣,說明本文自適應量化是有效的,WA-FVG算法能達到0.586,與A-FVG相比只降低了不到1%的性能,4種算法的收斂速度在CNN網(wǎng)絡中幾乎一樣,但是WA-FVG 算法比A-FVG算法節(jié)省了5%~10%的通信資源,比標準聯(lián)邦平均算法減少了75%以上的通信資源.

      表2 Cifar10數(shù)據(jù)集測試結(jié)果Table 2 Cifar10 dataset test results

      圖5 Cifar10數(shù)據(jù)集CNN網(wǎng)絡通信成本Fig.5 Cifar10 dataset CNN network communication cost

      圖6展示了更為復雜的CNN5網(wǎng)絡實驗結(jié)果,集中式算法準確度能達到0.785,標準聯(lián)邦學習與A-FVG算法分別能達到0.767和0.766,WA-FVG算法達到了0.758,與CNN網(wǎng)絡所得到結(jié)論幾乎一致,這表明了本文的算法在更為復雜的模型上依然能保持很好的穩(wěn)定性.

      圖6 Cifar10數(shù)據(jù)集CNN5網(wǎng)絡通信成本Fig.6 Cifar10 dataset CNN5 network communication cost

      3.3 參與率的影響

      這一節(jié)測試了客戶端在不同的參與率下,對AFVG算法精度的影響,這里的參與率指的是客戶端參與通信的比例,所有客戶端都參與訓練,服務器根據(jù)參與率隨機選擇一部分客戶端參與通信.

      選用MLP網(wǎng)絡和Mnist數(shù)據(jù)集進行實驗,其他實驗參數(shù)不變.從圖7通信輪數(shù)圖可以看出,參與率的改變對模型的最終穩(wěn)定性沒有太大的影響,但是低參與率的情況下,模型的收斂速度反而更快,需要的通信輪次也相應的減少,能減少大量的通信資源,再結(jié)合圖7在不同的參與率下,需要上傳的比特數(shù)對比圖,從中可以看出,隨著參與率越小,算法達到收斂時需要上傳的比特數(shù)也在減少,這個結(jié)果非常的令人振奮,因為在實際的環(huán)境中,客戶端的基數(shù)非常龐大,如果使用較低的參與率就能達到一個滿意的效果,那么可以減少大量的通信資源.

      圖7 參與率通信成本Fig.7 Participation rate communication cost

      3.4 量化位數(shù)的影響

      在這一節(jié)研究了量化位數(shù)b對A-FVG算法精度的影響,其他實驗參數(shù)不變,依然使用MLP網(wǎng)絡和Mnist數(shù)據(jù)集.

      圖8的通信輪數(shù)對比圖顯示了A-FVG在不同量化位數(shù)b下所能達到的精度以及需要的通信輪數(shù),可以看出,除了使用2位量化會導致性能下降比較大以外,其他量化位數(shù)對最后的準確度影響比較小,但是在通信輪數(shù)上的結(jié)果很明顯,使用6位量化收斂速度最快.使用的量化位數(shù)越少,收斂的反而更快一些.再結(jié)合圖8不同量化位數(shù)下需要上傳比特數(shù)對比圖,可以看出使用的量化位數(shù)越少,算法達到收斂時需要傳輸?shù)谋忍財?shù)也更少.這個結(jié)果很讓人高興的,在現(xiàn)實環(huán)境中,數(shù)據(jù)量非常龐大,如果使用低位量化也能得到比較好的結(jié)果,那么就可以節(jié)省大量的通信資源,降低通信成本.

      圖8 量化位數(shù)通信成本Fig.8 Quantify the cost of bit communication

      4 結(jié)論和未來的工作

      本文針對聯(lián)邦學習訓練過程中通信資源有限的問題,提出了自適應量化權(quán)重算法和權(quán)重復用控制算法,自適應量化算法在迭代過程中,能自適應調(diào)節(jié)量化因子,從而使得量化后的權(quán)重與真實權(quán)重之間的誤差越來越小.通過仿真實驗表明,本文提出的算法有效,在沒有引起性能大幅度下降的同時,壓縮了傳輸?shù)谋忍財?shù),降低了70%以上的通信成本.權(quán)重復用算法根據(jù)客戶端損失函數(shù)的損失值來判斷是否上傳,因為控制方式的原因,導致會引起1%~2%的性能下降,但是能減少75%~80%的通信成本,在未來工作中計劃找出一種更有效的控制策略,并且為算法的性能提供更多的理論論證.

      猜你喜歡
      參與率聯(lián)邦比特
      我國勞動參與率的趨勢、結(jié)構(gòu)與國際比較
      一“炮”而紅 音聯(lián)邦SVSound 2000 Pro品鑒會完滿舉行
      "一帶一路"沿線國家與其他國家女性勞動參與率發(fā)展現(xiàn)狀對比分析
      新生代(2019年7期)2019-10-25 01:14:16
      303A深圳市音聯(lián)邦電氣有限公司
      比特幣還能投資嗎
      海峽姐妹(2017年10期)2017-12-19 12:26:20
      比特幣分裂
      比特幣一年漲135%重回5530元
      銀行家(2017年1期)2017-02-15 20:27:20
      我國勞動參與率的對比與分析
      蘋果封殺比特幣應用另有隱情?
      20年后捷克與斯洛伐克各界對聯(lián)邦解體的反思
      宜兴市| 兴国县| 偃师市| 绩溪县| 柞水县| 县级市| 金溪县| 西丰县| 肇源县| 陇西县| 云和县| 博野县| 郴州市| 离岛区| 内乡县| 陇南市| 青浦区| 双桥区| 永泰县| 文山县| 五台县| 平度市| 都匀市| 太原市| 钟祥市| 略阳县| 朝阳县| 安福县| 彭州市| 穆棱市| 新乡县| 武鸣县| 宁强县| 清流县| 洛宁县| 湘潭市| 尉氏县| 莎车县| 灵武市| 泸水县| 麻江县|