System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于邊緣計算,涉及一種基于自適應本地模型初始化和雙重知識蒸餾的個性化聯邦學習方法。
技術介紹
1、邊緣計算(edge?computing)是一種分布式計算框架,它將計算、數據存儲和處理能力從傳統的集中式數據中心推送到更接近數據源的邊緣設備,如物聯網設備、智能手機等。這種架構設計旨在減少數據在設備與服務器之間傳輸的延遲,提升系統的實時性和響應速度,尤其適合那些對低延遲、實時性要求較高的應用場景,如智能制造、自動駕駛、ar/vr應用和視頻監控等。隨著科技的不斷進步以及互聯網技術的高速發展,智能移動設備、可穿戴設備以及物聯網等設備規模不斷增長和功能不斷豐富,并時時刻刻產生海量的數據,使得全世界的數據呈現指數型爆炸增長,根據思科公司的調研報告,到2021年底全球數據總量將達到402eb,人類社會已然進入萬物互聯的大數據時代。大數據的興起,給各行各業都帶來了新的機遇與挑戰。近年來,深度學習在計算機視覺、語音識別和內容推薦等領域都取得了非常大的進展。然而,在這些領域中,深度學習算法需要海量的數據才能得到高性能的模型。雖然在當今的數字時代,豐富的數據給深度學習的發展提供了巨大的機會。然而,在現實場景中,數據常常分散在不同的地方,即數據以孤立的形式存在。如果只使用單個客戶端的數據,由于數據不全面,會導致訓練的模型存在偏差。并且由于在各個行業之間存在競爭以及隱私安全等問題,每個客戶端不能直接將私人數據發送到中央服務器來訓練模型。如何在保護用戶隱私的前提下有效利用數據孤島的資源,逐漸成為了業界的一個新的挑戰。
2、2016年,
3、聯邦學習中一個關鍵性的挑戰是參與方的數據在統計上具有異質性,即數據是非獨立同分布的(non-independent?and?identically?distributed,non-iid)。數據的非獨立同分布指數據在客戶端上分布不平衡,常見的有標簽傾斜分布和特征傾斜分布。標簽傾斜分布指數據的標簽分布在各方之間是不同的。特征分布傾斜指同類的標簽數據呈現不同的特征。有現有研究證明了客戶端的本地數據分布差異會導致每個客戶端模型在不同的方向上更新,最后服務器聚合的全局模型在客戶端上運行時可能表現不佳,不能適用于所有客戶端,進而降低了客戶端參與聯邦學習的動機。
4、近年來,現有研究開發了一系列解決數據非獨立同分布的個性化方法。fedbn引入批歸一化層來穩定數據并增強模型收斂性,但存在魯棒性較低的問題。fedper將模型分為基礎層和個性化層,有效捕捉統計異質性,但必須考慮過擬合的風險。fedprox方法通過引入近端項控制局部模型在更新時與全局模型的距離,近端項權重的選擇對正則化效果的最佳實現具有挑戰性。scaffold為縮減梯度方差引入控制變量提高局部模型在數據非獨立同分布環境下的魯棒性,但控制變量的調參過程具有計算復雜性。fedproto使用原型來表示一類數據,并將原型聚合應用于數據非獨立同分布下的聯合學習。per-fedavg向所有客戶端廣播一個共享的元模型,并為每個客戶端定制特有的局部損失函數,通過梯度下降算法最小化局部損失函數為每個客戶端訓練個性化模型,但需要客戶端在本地進行額外的計算會增加計算負擔。fedmeta將每個客戶端視為一個單獨的任務,用元模型代替全局模型,提煉和傳播從歷史任務中獲取的知識,實現知識在任務間的轉移,提高對新任務的泛化能力及整體性能。fedmd利用蒸餾技術將客戶端的模型知識傳遞給全局模型,并將全局模型的知識反饋給客戶端,以提高模型精度并克服模型異構和數據異質的問題,但為了支持模型聚合和知識蒸餾,需要大量的計算資源和通信帶寬,這將增加計算成本和通信成本。
技術實現思路
1、有鑒于此,本專利技術的目的在于提供一種基于自適應本地模型初始化和雙重知識蒸餾的個性化聯邦學習方法。
2、為達到上述目的,本專利技術提供如下技術方案:
3、一種基于自適應本地模型初始化和雙重知識蒸餾的個性化聯邦學習方法,該方法包括以下步驟:
4、s1、搭建個性化聯邦學習框架,其中,包括若干個客戶端以及一種中央服務器;
5、s2、在每個客戶端上根據全局模型與局部模型之間的余弦相似度進行本地模型初始化,獲取自適應初始化后的局部模型;
6、s3、在每個客戶端上根據全局模型和歷史局部模型分別進行知識蒸餾,通過雙重知識蒸餾更新局部模型的參數;
7、s4、中央服務器接收參與訓練的所有客戶端上傳的局部模型,并基于數據質量和客戶端貢獻度的雙重動態聚合權重,得到最終的全局模型。
8、進一步,在步驟s1中,搭建的個性化聯邦學習框架中,包含一個服務器s和n個客戶端,每個客戶端擁有私人數據集{d1,d2,…,dk,…,dn};各客戶端之間不進行本地數據交換,只與服務器交換在本地數據訓練后的局部模型{w1,w2,…,wk,…,wn}。服務器聚合所有客戶端上傳的局部模型{w1,w2,…,wk,…,wn}后得到全局模型wg。
9、進一步,在步驟s2中,具體包括以下步驟:
10、s21、設定全局模型wg與局部模型wk的參數向量分別為w1和w2,則計算余弦相似度的公式如下:
11、
12、其中,w1·w2是兩個向量的點積,‖w1‖和‖w2‖分別是w1和w2的歐幾里得范數;余弦相似度[-1,1]之間,值越接近1表示兩個向量越相似,值越接近-1表示越不相似;
13、s22、初始化后的局部模型如下式所示:
14、wk=δ*wg+(1-δ)*wk
15、其中,δ表示全局模型和局部模型的自適應初始化系數,其通過余弦相似度決定。
16、進一步,在步驟s3中,客戶端局部模型根據全局模型和歷史局部模型分別進行知識蒸餾,其中,在客戶端進行本地模型訓練時,將本地數據輸入到全局模型、初始化之后的當前局部模型和歷史局部模型中,并得到三種模型預測的邏輯值,分別為和客戶端使用隨機梯度下降方法,根據本地訓練總損失lk的局部目標更新局部模型參數
17、
18、其中,η是學習率,表示損失函數lk關于參數的梯度。
19、進一步,客戶端本地訓練包括三種不同的損失,分別為交叉熵損失lce、全局知識蒸餾的損失lgd和自我知識蒸餾損失lsd,其中,交叉熵損失lce用于衡量當前局部模型的與本地數據真實類別標簽y之間的差異:
20、
21、全局知識蒸餾損失lg本文檔來自技高網...
【技術保護點】
1.一種基于自適應本地模型初始化和雙重知識蒸餾的個性化聯邦學習方法,其特征在于:所述方法包括以下步驟:
2.根據權利要求1所述的一種基于自適應本地模型初始化和雙重知識蒸餾的個性化聯邦學習方法,其特征在于:在步驟S1中,搭建的個性化聯邦學習框架中,包含一個服務器S和N個客戶端,每個客戶端擁有私人數據集{D1,D2,...,Dk,...,DN};各客戶端之間不進行本地數據交換,只與服務器交換在本地數據訓練后的局部模型{W1,W2,...,Wk,...,WN};服務器聚合所有客戶端上傳的局部模型{W1,W2,...,Wk,...,WN}后得到全局模型Wg。
3.根據權利要求2所述的一種基于自適應本地模型初始化和雙重知識蒸餾的個性化聯邦學習方法,其特征在于:在步驟S2中,具體包括以下步驟:
4.根據權利要求3所述的一種基于自適應本地模型初始化和雙重知識蒸餾的個性化聯邦學習方法,其特征在于:在步驟S3中,客戶端局部模型根據全局模型和歷史局部模型分別進行知識蒸餾,其中,在客戶端進行本地模型訓練時,將本地數據輸入到全局模型、初始化之后的當前局部模型和歷史局部
5.根據權利要求4所述的一種基于自適應本地模型初始化和雙重知識蒸餾的個性化聯邦學習方法,其特征在于:客戶端本地訓練包括三種不同的損失,分別為交叉熵損失LCE、全局知識蒸餾的損失LGD和自我知識蒸餾損失LSD,其中,交叉熵損失LCE用于衡量當前局部模型的與本地數據真實類別標簽y之間的差異:
6.根據權利要求4所述的一種基于自適應本地模型初始化和雙重知識蒸餾的個性化聯邦學習方法,其特征在于:在步驟S4中,包括以下步驟:
...【技術特征摘要】
1.一種基于自適應本地模型初始化和雙重知識蒸餾的個性化聯邦學習方法,其特征在于:所述方法包括以下步驟:
2.根據權利要求1所述的一種基于自適應本地模型初始化和雙重知識蒸餾的個性化聯邦學習方法,其特征在于:在步驟s1中,搭建的個性化聯邦學習框架中,包含一個服務器s和n個客戶端,每個客戶端擁有私人數據集{d1,d2,...,dk,...,dn};各客戶端之間不進行本地數據交換,只與服務器交換在本地數據訓練后的局部模型{w1,w2,...,wk,...,wn};服務器聚合所有客戶端上傳的局部模型{w1,w2,...,wk,...,wn}后得到全局模型wg。
3.根據權利要求2所述的一種基于自適應本地模型初始化和雙重知識蒸餾的個性化聯邦學習方法,其特征在于:在步驟s2中,具體包括以下步驟:
4.根據權利要求3所述的一種基于自適應本地模型初始化...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。