本發(fā)明涉及一種基于維納反卷積與對角費歇爾剪枝的聯(lián)邦學(xué)習(xí)方法,屬于聯(lián)邦學(xué)習(xí)。
背景技術(shù):
1、近年來,隨著人工智能技術(shù)的快速發(fā)展,金融業(yè)、制造業(yè)、服務(wù)業(yè)等各領(lǐng)域數(shù)據(jù)被廣泛用于人工智能模型訓(xùn)練。傳統(tǒng)的人工智能模型需要將數(shù)據(jù)集中到服務(wù)器端進行學(xué)習(xí)訓(xùn)練,容易導(dǎo)致用戶隱私泄露。為了解決這一問題,google于2016年提出了聯(lián)邦學(xué)習(xí)(federated?learning,?fl)的概念,數(shù)據(jù)持有者在本地進行模型訓(xùn)練,然后將模型訓(xùn)練參數(shù)上傳至服務(wù)器進行聚合更新,從而避免了隱私數(shù)據(jù)的泄露。然而,相關(guān)研究表明,通過分析用戶上傳的中間參數(shù)仍然有可能還原部分用戶原始數(shù)據(jù)或者判斷特定用戶的相關(guān)屬性特征。因此,即使采用聯(lián)邦學(xué)習(xí)機制,仍然需要相應(yīng)的隱私保護技術(shù)進一步防止用戶隱私的泄露。
2、目前,聯(lián)邦學(xué)習(xí)的隱私保護技術(shù)主要包括同態(tài)加密、多方安全計算以及差分隱私等。與其他技術(shù)相比,同態(tài)加密能夠提供更為可靠的隱私保護服務(wù)。目前的聯(lián)邦學(xué)習(xí)模型,大多采用第二代同態(tài)加密方案,其與第一代方案相比在性能、效率和實用性等方面均有較大提升,并且支持任意布爾電路的計算。然而,第二代同態(tài)加密方案雖然引入了模交換技術(shù)來控制密文的膨脹,但并不能完全消除噪聲積累對模型精度的影響,而且沒有利用信號的統(tǒng)計特性來增強信號。
3、此外,聯(lián)邦學(xué)習(xí)過程中,用戶端與服務(wù)器需要頻繁的進行參數(shù)與梯度交換,通信開銷巨大。目前,降低聯(lián)邦學(xué)習(xí)通信開銷的策略可以分為模型壓縮和蒸餾算法兩種。模型壓縮策略會降低模型的精度,并且不能處理異質(zhì)數(shù)據(jù);蒸餾算法雖然能夠在數(shù)據(jù)異質(zhì)時保持良好的性能,但其通信開銷并沒有得到有效的降低。近年來,研究人員提出采用剪枝機制降低聯(lián)邦學(xué)習(xí)模型的通信開銷,例如federated?dropout(feddropout)等。然而,采用剪枝機制的聯(lián)邦學(xué)習(xí)模型需要在用戶端進行大量運算,在降低通信開銷的同時也增加了運算開銷。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于克服現(xiàn)有技術(shù)中的不足,提供一種基于維納反卷積與對角費歇爾剪枝的聯(lián)邦學(xué)習(xí)方法,在減小聯(lián)邦學(xué)習(xí)中因同態(tài)加密造成的噪聲積累的同時保留和增強有用信號,并且通過減少梯度上傳,減小通信開銷。
2、客戶端在完成模型訓(xùn)練后,使用diag-fisher剪枝機制通過fisher信息矩陣對梯度進行剪枝。接著,應(yīng)用自然梯度優(yōu)化對剪枝后的梯度進行修正并同態(tài)加密上傳至服務(wù)器。服務(wù)器接收到加密后的剪枝梯度后,采用基于維納反卷積的聯(lián)邦機制對噪聲進行濾波,通過估計噪聲功率譜密度,設(shè)計反卷積來去除加密過程中引入的噪聲,增強有用信號。最后,服務(wù)器聚合各客戶端上傳的梯度,形成全局模型并反饋給客戶端,完成聯(lián)邦學(xué)習(xí)的訓(xùn)練迭代。
3、一種基于維納反卷積與對角費歇爾剪枝的聯(lián)邦學(xué)習(xí)方法,包括以下步驟:
4、步驟1,客戶端從服務(wù)器端接收全局模型,并基于本地數(shù)據(jù)集進行訓(xùn)練,
5、步驟2,客戶端基于本地數(shù)據(jù)集,對接收的全局模型進行本地訓(xùn)練,得到本地模型,
6、步驟3,采用diag-fisher剪枝機制對本地模型的梯度進行剪枝,計算并保留fisher信息矩陣對角元素中信息貢獻大的梯度;采用diag-fisher剪枝機制通過fisher信息矩陣計算梯度的重要性,并基于剪枝閾值保留重要梯度以降低通信開銷,其過程如下:
7、3.1初始化本地模型對應(yīng)的對角fisher信息矩陣,其計算表達式為:,
8、3.2對于每個批次數(shù)據(jù),前向傳播計算損失,
9、其中,為客戶端的本地模型梯度,為其數(shù)據(jù)集的一批數(shù)據(jù),
10、3.3對于每個批次數(shù)據(jù),根據(jù)損失反向傳播計算梯度,
11、其中,為客戶端的本地模型梯度,為其數(shù)據(jù)集的一批數(shù)據(jù),表示其前向傳播計算得到的損失,
12、3.4對于每個批次數(shù)據(jù),累加得到本地模型的對角fisher信息矩陣,其中,為其反向傳播計算得到的梯度,
13、3.5根據(jù)表示當(dāng)前客戶端用于更新模型的批次數(shù)據(jù)集的大小,歸一化對角fisher信息矩陣,其中,表示當(dāng)前客戶端用于更新模型的批次數(shù)據(jù)集的大小,
14、3.6根據(jù)設(shè)置好的剪枝率以及計算得到的對角fisher信息矩陣,計算剪枝閾值,
15、其中,為計算完成的對角fisher信息矩陣,為事先設(shè)置好的剪枝率,是經(jīng)過計算得到剪枝閾值,
16、3.7將對角fisher信息矩陣中的fisher信息值與剪枝閾值進行比對,生成掩碼
17、,
18、3.8應(yīng)用掩碼對本地模型參數(shù)進行剪枝:,其中,是經(jīng)過計算得到剪枝閾值,為計算得到的掩碼,最后應(yīng)用掩碼得到了剪枝后的新的梯度,
19、步驟4,對剪枝后本地模型使用自然梯度優(yōu)化,其過程如下:
20、4.1對于每個批次數(shù)據(jù),前向傳播計算損失,
21、4.2對于每個批次數(shù)據(jù),根據(jù)損失反向傳播計算梯度
22、?,
23、4.3根據(jù)對角fisher信息矩陣以及梯度計算得到自然梯度,
24、其中,為客戶端經(jīng)過剪枝的本地模型梯度,是一個小的正值,為平滑項,用于防止分母為零,確保數(shù)值穩(wěn)定性,為計算得到的自然梯度,
25、4.4根據(jù)計算得到的自然梯度更新本地模型參數(shù):,
26、其中,是學(xué)習(xí)率,為采用自然梯度更新之后的本地模型梯度,客戶端對剪枝后本地模型使用自然梯度優(yōu)化,對剪枝后的梯度進行優(yōu)化修正,確保梯度更新方向符合參數(shù)空間的幾何結(jié)構(gòu),從而提升模型的收斂速度和精度,
27、步驟5,客戶端將剪枝后的模型參數(shù)和經(jīng)過優(yōu)化的梯度通過同態(tài)加密上傳至服務(wù)器端,
28、步驟6,使用基于維納反卷積的聯(lián)邦機制對加密梯度進行去噪處理,服務(wù)器端接收到多個客戶端的加密梯度后,使用基于維納反卷積的聯(lián)邦機制對加密梯度進行去噪處理,估計噪聲功率譜密度,通過設(shè)計維納反卷積消除同態(tài)加密過程中引入的噪聲,增強有效信號,服務(wù)器端對來自多個客戶端的去噪梯度進行聚合,得到聚合后的全局模型;服務(wù)器端將更新后的全局模型發(fā)送至客戶端,完成當(dāng)前訓(xùn)練輪次的迭代;當(dāng)達到預(yù)設(shè)的迭代輪次,服務(wù)器端最終生成聯(lián)邦學(xué)習(xí)訓(xùn)練完成的全局模型,其過程如下:
29、6.1對初始化維納反卷積需要用到的參數(shù)進行傅里葉變換,
30、其中,為服務(wù)器端聚合之后得到的同態(tài)加密模型梯度,為系統(tǒng)響應(yīng),與為其進行傅里葉變換之后得到的參數(shù);
31、6.2根據(jù)傅里葉變換后的參數(shù)計算信號的功率譜密度:,
32、6.3根據(jù)功率譜密度以及其他參數(shù)計算初始維納反卷積,
33、其中,為的共軛復(fù)數(shù),是噪聲的功率譜密度,
34、6.4根據(jù)維納反卷積對模型參數(shù)進行初次濾波,
35、6.5根據(jù)上一輪迭代中的功率譜計算得到修正功率譜,
36、,
37、6.6根據(jù)修正功率譜和上一輪的濾波結(jié)果更新得到功率譜,
38、,
39、6.7根據(jù)新的功率譜更新維納反卷積,
40、6.8應(yīng)用新的維納反卷積進行濾波直到結(jié)果收斂,其計算公式為:,
41、6.9對濾波之后得到的結(jié)果進行傅里葉逆變換,
42、其中,首先根據(jù)上一輪迭代中的功率譜計算得到修正功率譜,然后根據(jù)修正功率譜和上一輪的濾波結(jié)果更新得到功率譜,繼而得到維納反卷積,最后得到新的濾波結(jié)果,為經(jīng)過傅里葉逆變換最終得到的同態(tài)加密的模型參數(shù),服務(wù)器端得到之后將其下發(fā)至各客戶端,各客戶端使用自己的同態(tài)加密私鑰進行解密,然后用于下一輪次的本地模型訓(xùn)練。
43、一種電子設(shè)備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)所述的一種基于維納反卷積與對角費歇爾剪枝的聯(lián)邦學(xué)習(xí)方法。
44、一種計算機可讀存儲介質(zhì),其上存儲有計算機指令,該計算機指令被處理器執(zhí)行時實現(xiàn)所述的一種基于維納反卷積與對角費歇爾剪枝的聯(lián)邦學(xué)習(xí)方法。
45、與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點:
46、本發(fā)明客戶端在完成模型訓(xùn)練后,使用diag-fisher剪枝機制通過fisher信息矩陣對梯度進行剪枝,通過fisher信息矩陣保留關(guān)鍵信息,從統(tǒng)計學(xué)角度優(yōu)化了模型參數(shù)傳輸?shù)闹匾耘判?,有效降低了通信開銷,同時避免了對模型性能的顯著影響。接著,結(jié)合自然梯度優(yōu)化方法,該方法以fisher信息矩陣為基礎(chǔ),調(diào)整優(yōu)化方向以適應(yīng)參數(shù)空間的幾何結(jié)構(gòu),不僅加快了模型的收斂速度,還提高了最終訓(xùn)練精度。服務(wù)器接收到加密后的剪枝梯度后,采用基于維納反卷積的去噪策略,通過估計噪聲功率譜密度設(shè)計反卷積濾波器,從信號處理角度最小化了噪聲對有效梯度信息的干擾,進一步增強了模型的精度。