本發(fā)明屬于神經網絡領域,特別涉及在卷積神經網絡訓練方法及系統(tǒng)。
背景技術:
1、模型梯度保護在卷積神經網絡(cnn)的訓練中是一個重要的概念,特別是在處理涉及敏感數據的應用,如醫(yī)療影像處理、個人數據分析等領域。這種技術的目的是保護模型訓練過程中的數據隱私和模型的完整性,防止惡意攻擊者通過分析梯度信息來推斷訓練數據的細節(jié)。目前模型梯度保護方法大致有以下幾種:
2、1、差分隱私(differential?privacy):
3、差分隱私技術通過向梯度中添加噪聲來保護個人數據的隱私,確保模型的輸出在刪除或添加單個數據點后不會顯著改變。這種方法可以有效減少通過梯度泄露敏感信息的風險。在實踐中,差分隱私通常需要權衡隱私保護強度與模型性能之間的關系,因為增加的隨機噪聲可能會影響訓練效果。
4、2、同態(tài)加密(homomorphic?encryption):
5、同態(tài)加密是一種允許在加密數據上直接進行計算的技術,計算結果在解密后保持有效。在cnn訓練中,可以使用同態(tài)加密來保護梯度,使得梯度的計算和傳輸過程都在加密狀態(tài)下進行,保障數據的安全性。
6、3、安全多方計算(secure?multi-party?computation,?mpc):
7、安全多方計算是一種允許多個參與方在保留各自輸入數據隱私的前提下共同完成計算任務的技術。在cnn訓練中,mpc可以用來安全地計算梯度和更新模型參數,無需任何一方暴露自己的私有數據。
8、4、聯邦學習(federated?learning):
9、聯邦學習允許多個設備或數據中心協同訓練一個共享模型,而不需要將數據集中到單一位置。在這種設置中,梯度或模型更新可以在本地計算后匯總更新,通過聚合多個更新來減少任何單一更新可能泄露的信息。
10、論文privacy-preserving?deep?learning使用差分隱私方法,在訓練中通過加入隨機噪聲對梯度信息進行保護,雖然保證了梯度信息的隱私性,但也使訓練精度損失明顯,訓練后模型性能降低。
11、公開號為cn113037460a的中國專利申請,公開了一種基于同態(tài)加密和秘密共享的聯邦學習隱私保護方法,所述方法包括基于同態(tài)加密的梯度保護方法和基于秘密共享的隨機數保護方法兩部分,通過采用基于同態(tài)加密的梯度保護方法,實現了對梯度的保護,同時可以完成梯度密文的聚合,既有效防止梯度隱私信息的泄露,又能實現梯度的安全聚合;通過基于秘密共享的隨機數保護方法,對梯度密文實現了保護,同時又對梯度密文保護的隨機數進行了保護,可以有效防止聚合服務器,密鑰生成服務器和參與方之間的共謀攻擊,進一步保障了三者交互過程中梯度信息的安全性。
12、現有技術的缺點主要有以下兩點:
13、1、現有基于差分隱私的模型梯度保護方案在訓練中通過加入隨機噪聲對梯度信息進行保護,雖然保證了梯度信息的隱私性,但也使訓練精度損失明顯,訓練后模型性能降低。
14、2、現有模型梯度保護方案使用同態(tài)加密對梯度信息進行保護,計算復雜度高,訓練效率低。
技術實現思路
1、本發(fā)明的目的在于提供一種卷積神經網絡訓練方法及系統(tǒng),以解決現有模型梯度保護中存在的訓練精度損失明顯、訓練后模型性能降低、計算復雜度高、訓練效率低中至少一種技術問題。
2、第一方面,本發(fā)明提供一種卷積神經網絡訓練方法,包括:
3、獲取用于訓練卷積神經網絡的數據集;第一參與方在數據集中隨機選擇b個樣本x1,?x2,?......?,?xm,?......?,?xb;對于每個樣本xm在數據集中均勻隨機采樣出具有與xm不同標簽的一個樣本nm和具有與xm相同標簽的一個樣本pm;將每個樣本xm及其對應的樣本nm,樣本pm作為一個樣本集合{xm,nm,pm},記為數據組bm,1≤m≤b;b個數據組組成批次數據集b={?b1,?b2,?b3,……,bm,……,?bb};將批次數據集b中數據組樣本順序隨機打亂,記為bs;第一參與方將bs發(fā)送第二參與方;
4、第二參與方對bs中每個樣本x進行特征提取獲得特征圖xf,并將集合{x,xf}發(fā)送給第一參與方;
5、第一參與方接收第二參與方發(fā)送的集合{x,xf};
6、第一參與方根據接收的集合{x,xf}獲取梯度g,并通過梯度下降算法對輸出層參數進行更新;
7、第二參與方根據梯度g對卷積神經網絡參數進行更新。
8、本發(fā)明進一步的改進在:第一參與方中存儲卷積神經網絡的分類器;第二參與方中存儲卷積神經網絡的特征提取器;
9、其中,卷積神經網絡中最后一個全連接層拆分,作為分類器;其余層作為特征提取器。
10、本發(fā)明進一步的改進在:所述第一參與方根據接收的集合{x,xf}獲取梯度g;第二參與方根據梯度g對卷積神經網絡參數進行更新的步驟,具體包括:
11、第一參與方將接收的集合{x,xf}中的特征圖xf傳入分類器,得到預測類別c;
12、計算交叉熵損失;
13、對收集到的特征圖xf按照保存在本地的數據組bm進行分類;
14、根據分類計算對比損失;
15、以作為損失函數,對卷積神經網絡輸出y求偏導,獲得相對于輸出y的梯度g,g=,發(fā)送給第二參與方;接著,使用鏈式法則,求出關于輸出層權重w的梯度,即,以及關于輸出層偏置b的梯度,即;通過梯度下降算法對輸出層權重w和輸出層偏置b進行更新;
16、第二參與方通過梯度g計算l相對于當前層輸出的梯度g’=wt,其中wt為當前層權重的轉置,通過梯度下降算法對卷積神經網絡參數進行更新,繼續(xù)反向傳播,重復這一更新過程。
17、本發(fā)明進一步的改進在:所述計算交叉熵損失的步驟中,計算公式為:
18、
19、其中,3b是樣本的總數,c是可能類別的總數,是一個獨熱編碼向量,表示第i個樣本的預測類別c與真實類別相同,則,否則;是卷積神經網絡預測第i個樣本屬于類別c的概率。
20、本發(fā)明進一步的改進在:所述對收集到的特征圖xf按照保存在本地的數據組bm進行分類的步驟,具體包括:
21、將從樣本xm提取出的特征圖記為xf,將從樣本xm對應的樣本nm、樣本pm提取出的特征圖分別記為nf、pf,對于樣本集合{xm,nm,pm},得到特征圖集合{xf,nf,pf}。
22、本發(fā)明進一步的改進在:所述計算對比損失的步驟中,計算公式為:
23、
24、其中,為xf和pf間的距離,;
25、為xf和nf間的距離,;
26、其中, k為梯度隱私保護安全參數。
27、第二方面,本發(fā)明提供一種卷積神經網絡訓練方法,迭代執(zhí)行上述卷積神經網絡訓練方法,直至到達預設迭代次數,或者卷積神經網絡的損失函數收斂,完成卷積神經網絡的訓練,獲得訓練好的卷積神經網絡。
28、第三方面,本發(fā)明提供一種卷積神經網絡訓練系統(tǒng),包括:
29、第一參與方,用于獲取用于訓練卷積神經網絡的數據集;在數據集中隨機選擇b個樣本x1,?x2,?......?,?xm,?......?,?xb;對于每個樣本xm在數據集中均勻隨機采樣出具有與xm不同標簽的一個樣本nm和具有與xm相同標簽的一個樣本pm;將每個樣本xm及其對應的樣本nm,樣本pm作為一個樣本集合{xm,nm,pm},記為數據組bm,1≤m≤b;b個數據組組成批次數據集b={?b1,?b2,?b3,……,bm,……,?bb};將批次數據集b中樣本順序隨機打亂,記為bs;將bs發(fā)送第二參與方;接收第二參與方發(fā)送的集合{x,xf},根據接收的集合{x,xf}獲取相對于輸出的梯度g;
30、第二參與方,用于根據bs中每個樣本x進行特征提取獲得特征圖xf,并將集合{x,xf}發(fā)送給第一參與方;根據相對于輸出的梯度g逐層計算關于每層輸出的梯度g’,并對卷積神經網絡參數進行更新。
31、本發(fā)明進一步的改進在:第一參與方中存儲卷積神經網絡的分類器;第二參與方中存儲卷積神經網絡的特征提取器;
32、其中,卷積神經網絡中最后一個全連接層拆分,作為分類器;其余層作為特征提取器。
33、本發(fā)明進一步的改進在:第一參與方根據接收的集合{x,xf}獲取梯度g的步驟,具體包括:
34、第一參與方將接收的集合{x,xf}中的特征圖xf傳入分類器,得到預測類別c;
35、計算交叉熵損失;
36、對收集到的特征圖xf按照保存在本地的數據組bm進行分類;
37、根據分類計算對比損失;
38、以作為損失函數,對卷積神經網絡輸出y求偏導,獲得相對于輸出y的梯度g,g=,發(fā)送給第二參與方;接著,使用鏈式法則,求出關于輸出層權重w的梯度,即,以及關于輸出層偏置b的梯度,即;通過梯度下降算法對輸出層權重w和輸出層偏置b進行更新;
39、第二參與方通過梯度g計算l相對于當前層輸出的梯度g’=wt,其中wt為當前層權重的轉置,通過梯度下降算法對卷積神經網絡參數進行更新,繼續(xù)反向傳播,重復這一更新過程。
40、本發(fā)明進一步的改進在:所述交叉熵損失的計算公式為:
41、
42、其中,3b是樣本的總數,c是可能類別的總數,是一個獨熱編碼向量,表示第i個樣本的預測類別c與真實類別相同,則,否則;是卷積神經網絡預測第i個樣本屬于類別c的概率。
43、本發(fā)明進一步的改進在:所述對收集到的特征圖xf按照保存在本地的數據組bm進行分類的步驟,具體包括:
44、將從樣本xm提取出的特征圖記為xf,將從樣本xm對應的樣本nm、樣本pm提取出的特征圖分別記為nf、pf,對于樣本集合{xm,nm,pm},得到特征圖集合{xf,nf,pf}。
45、本發(fā)明進一步的改進在:所述對比損失的計算公式為:
46、
47、其中,為xf和pf間的距離,;
48、為xf和nf間的距離,;
49、其中, k為梯度隱私保護安全參數。
50、相對于現有技術,本發(fā)明具有以下有益效果:
51、本發(fā)明一種卷積神經網絡訓練方法及相關系統(tǒng),將卷積神經網絡中最后一個全連接層作為分類器為保存至客戶端,其余部分作為特征提取部分器保存至服務器端,使得網絡在處理各種圖像分類任務時更為有效和靈活。本發(fā)明通過構造批次數據集,能夠在本地保留更多的訓練數據信息,從而可以計算三元組損失。
52、本發(fā)明通過在目標函數中加入對比損失作為噪聲在對精度影響較小的前提下對訓練中模型梯度提供隱私保護。相比于隨機噪聲對訓練有正向監(jiān)督作用,在保證梯度信息的隱私性的同時,對訓練精度影響小。
53、本發(fā)明不需進行加密解密,大大降低了隱私保護開銷,具有較高的訓練效率。