本發(fā)明涉及通信,尤其是一種基于區(qū)塊鏈與聯(lián)邦學習的電信詐騙檢測模型訓練方法和裝置。
背景技術:
1、隨著現(xiàn)代社會的網(wǎng)絡智能化水平的提高,傳統(tǒng)犯罪活動不斷走向了網(wǎng)絡空間,利用通信和網(wǎng)絡等技術手段進行的非接觸犯罪,電信詐騙已成為社會關注的熱點、難點課題,研究和治理電信詐騙手段成為必需且迫切的需求。而通信行業(yè)在業(yè)務發(fā)展中承載了大量用戶與設備產(chǎn)生的海量數(shù)據(jù),這些數(shù)據(jù)資源豐富多樣,包括黑名單數(shù)據(jù)、惡意網(wǎng)站、用戶標簽庫、通話數(shù)據(jù)、上網(wǎng)數(shù)據(jù)、網(wǎng)絡體驗等高價值數(shù)據(jù)。若能將通信行業(yè)數(shù)據(jù)用于共享參與協(xié)同構建反電信詐騙檢測模型,對打擊詐騙犯罪將有很大幫助。但在現(xiàn)實應用場景中,一方面因為行業(yè)競爭、利益沖突等原因,電信運營商行業(yè)數(shù)據(jù)大多仍處于信息孤島形態(tài);另一方面,由于電信運營商行業(yè)數(shù)據(jù)涉及用戶隱私和安全問題,將電信運營商數(shù)據(jù)進行共享參與協(xié)同反詐治理需要考慮數(shù)據(jù)隱私保護和安全問題。
2、聯(lián)邦學習是將分布式思想應用到機器學習中,在中央服務器的協(xié)助下由多個參與者共同協(xié)作完成模型訓練。它最主要的優(yōu)點是所有參與者的訓練數(shù)據(jù)保留在本地,且參與者在訓練過程中不會直接互換本地數(shù)據(jù)集,而僅交換訓練中的模型梯度信息,最終訓練出近乎于集中式機器學習效果的模型。但聯(lián)邦學習由于是利用中央服務器進行模型聚合,可能出現(xiàn)惡意篡改模型聚合過程的梯度信息,從而面臨著信息易被篡改、數(shù)據(jù)隱私易泄漏等風險。
技術實現(xiàn)思路
1、本發(fā)明的目的在于至少一定程度上解決現(xiàn)有技術中存在的技術問題之一。
2、為此,本發(fā)明實施例的一個目的在于提供一種基于區(qū)塊鏈與聯(lián)邦學習的電信詐騙檢測模型訓練方法,該方法提高了電信詐騙檢測模型訓練的安全性和可靠性。
3、本發(fā)明實施例的另一個目的在于提供一種基于區(qū)塊鏈與聯(lián)邦學習的電信詐騙檢測模型訓練裝置。
4、為了達到上述技術目的,本發(fā)明實施例所采取的技術方案包括:
5、一方面,本發(fā)明實施例提供了一種基于區(qū)塊鏈與聯(lián)邦學習的電信詐騙檢測模型訓練方法,包括以下步驟:
6、獲取模型需求者發(fā)布的模型訓練任務,根據(jù)所述模型訓練任務確定任務參與者和聯(lián)邦委員會,并為所述任務參與者和所述聯(lián)邦委員會分配對應的第一公鑰和私鑰秘密份額;
7、通過所述任務參與者從聯(lián)盟鏈下載當前全局模型,根據(jù)本地數(shù)據(jù)集對所述當前全局模型進行訓練,得到本地局部模型,進而根據(jù)所述第一公鑰對所述本地局部模型進行加密得到加密局部模型,并將所述加密局部模型上傳至所述聯(lián)盟鏈;
8、通過所述聯(lián)邦委員會從所述聯(lián)盟鏈下載所述加密局部模型,對所述加密局部模型進行聚合得到加密全局模型,進而根據(jù)所述私鑰秘密份額對所述加密全局模型進行解密得到優(yōu)化后的所述當前全局模型,并將優(yōu)化后的所述當前全局模型上傳至所述聯(lián)盟鏈。
9、進一步地,在本發(fā)明的一個實施例中,所述電信詐騙檢測模型訓練方法還包括注冊加入所述聯(lián)盟鏈的步驟,其具體步驟:
10、接收用戶的聯(lián)盟鏈注冊請求,所述聯(lián)盟鏈注冊請求包括所述用戶的身份標識和當前時間戳;
11、通過所述聯(lián)盟鏈對所述身份標識和所述當前時間戳進行校驗;
12、當校驗成功,確定所述用戶為所述聯(lián)盟鏈的成員,并為所述用戶分配第二公鑰和第二私鑰。
13、進一步地,在本發(fā)明的一個實施例中,所述獲取模型需求者發(fā)布的模型訓練任務,根據(jù)所述模型訓練任務確定任務參與者和聯(lián)邦委員會,并為所述任務參與者和所述聯(lián)邦委員會分配對應的第一公鑰和私鑰秘密份額,其具體包括:
14、獲取所述模型需求者發(fā)布的所述模型訓練任務,所述模型訓練任務包括初始全局模型和任務激勵;
15、根據(jù)所述模型訓練任務從所述聯(lián)盟鏈的成員中確定多個所述任務參與者,并根據(jù)信譽值選擇多個所述任務參與者組成所述聯(lián)邦委員會,進而生成同態(tài)密鑰,所述同態(tài)密鑰包括所述第一公鑰和對應的第一私鑰;
16、根據(jù)所述任務參與者的數(shù)量將所述第一私鑰劃分為多個所述私鑰秘密份額,并將所述第一公鑰和所述私鑰秘密份額下發(fā)至對應的所述任務參與者。
17、進一步地,在本發(fā)明的一個實施例中,所述根據(jù)本地數(shù)據(jù)集對所述當前全局模型進行訓練,得到本地局部模型,其具體包括:
18、將所述本地數(shù)據(jù)集劃分為訓練集和測試集;
19、根據(jù)所述訓練集,通過梯度提升樹算法對所述當前全局模型進行訓練,得到當前局部模型;
20、根據(jù)所述測試集對所述當前局部模型進行測試,得到所述本地局部模型。
21、進一步地,在本發(fā)明的一個實施例中,所述根據(jù)所述第一公鑰對所述本地局部模型進行加密得到加密局部模型,并將所述加密局部模型所述上傳至所述聯(lián)盟鏈,其具體包括:
22、根據(jù)所述第一公鑰對所述本地局部模型進行加密,得到第一局部模型;
23、根據(jù)所述身份標識、本地訓練時長以及所述第二私鑰對所述第一局部模型進行簽名,得到所述加密局部模型;
24、將所述加密局部模型所述上傳至所述聯(lián)盟鏈,使得所述聯(lián)盟鏈根據(jù)所述第二公鑰對所述加密局部模型進行驗簽,并在驗簽通過時接收所述加密局部模型。
25、進一步地,在本發(fā)明的一個實施例中,所述對所述加密局部模型進行聚合得到加密全局模型,進而根據(jù)所述私鑰秘密份額對所述加密全局模型進行解密得到優(yōu)化后的所述當前全局模型,其具體包括:
26、從所述聯(lián)邦委員會中隨機選取一個成員作為聯(lián)邦委員會領導者,通過所述聯(lián)邦委員會領導者對多個所述加密局部模型進行聚合計算,得到所述加密全局模型;
27、通過所述聯(lián)邦委員會的所有成員對所述加密全局模型進行聚合驗證;
28、當聚合驗證成功,根據(jù)所述私鑰秘密份額計算對應的解密份額,進而通過所述聯(lián)邦委員會的所有成員根據(jù)對應的所述解密份額對所述加密全局模型進行協(xié)同解密,得到優(yōu)化后的所述當前全局模型。
29、進一步地,在本發(fā)明的一個實施例中,所述電信詐騙檢測模型訓練方法還包括以下步驟:
30、根據(jù)預設的激勵機制計算各所述任務參與者的獎勵值和信譽值激勵;
31、根據(jù)所述獎勵值對各所述任務參與者進行獎勵,并根據(jù)所述信譽值激勵更新各所述任務參與者的所述信譽值。
32、另一方面,本發(fā)明實施例提供了一種基于區(qū)塊鏈與聯(lián)邦學習的電信詐騙檢測模型訓練裝置,包括:
33、任務發(fā)布模塊,用于獲取模型需求者發(fā)布的模型訓練任務,根據(jù)所述模型訓練任務確定任務參與者和聯(lián)邦委員會,并為所述任務參與者和所述聯(lián)邦委員會分配對應的第一公鑰和私鑰秘密份額;
34、局部模型訓練模塊,用于通過所述任務參與者從聯(lián)盟鏈下載當前全局模型,根據(jù)本地數(shù)據(jù)集對所述當前全局模型進行訓練,得到本地局部模型,進而根據(jù)所述第一公鑰對所述本地局部模型進行加密得到加密局部模型,并將所述加密局部模型上傳至所述聯(lián)盟鏈;
35、全局模型聚合模塊,用于通過所述聯(lián)邦委員會從所述聯(lián)盟鏈下載所述加密局部模型,對所述加密局部模型進行聚合得到加密全局模型,進而根據(jù)所述私鑰秘密份額對所述加密全局模型進行解密得到優(yōu)化后的所述當前全局模型,并將優(yōu)化后的所述當前全局模型上傳至所述聯(lián)盟鏈。
36、另一方面,本發(fā)明實施例提供了一種電子設備,所述電子設備包括存儲器、處理器、存儲在所述存儲器上并可在所述處理器上運行的程序以及用于實現(xiàn)所述處理器和所述存儲器之間的連接通信的數(shù)據(jù)總線,所述程序被所述處理器執(zhí)行時實現(xiàn)如前面所述的基于區(qū)塊鏈與聯(lián)邦學習的電信詐騙檢測模型訓練方法。
37、另一方面,本發(fā)明實施例還提供了一種存儲介質(zhì),所述存儲介質(zhì)為計算機可讀存儲介質(zhì),用于計算機可讀存儲,所述存儲介質(zhì)存儲有一個或者多個程序,所述一個或者多個程序可被一個或者多個處理器執(zhí)行,以實現(xiàn)如前面所述的基于區(qū)塊鏈與聯(lián)邦學習的電信詐騙檢測模型訓練方法。
38、本發(fā)明的優(yōu)點和有益效果將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到:
39、本發(fā)明實施例獲取模型需求者發(fā)布的模型訓練任務,根據(jù)模型訓練任務確定任務參與者和聯(lián)邦委員會,并為任務參與者和聯(lián)邦委員會分配對應的第一公鑰和私鑰秘密份額,通過任務參與者從聯(lián)盟鏈下載當前全局模型,根據(jù)本地數(shù)據(jù)集對當前全局模型進行訓練,得到本地局部模型,進而根據(jù)第一公鑰對本地局部模型進行加密得到加密局部模型,并將加密局部模型上傳至聯(lián)盟鏈,通過聯(lián)邦委員會從聯(lián)盟鏈下載加密局部模型,對加密局部模型進行聚合得到加密全局模型,進而根據(jù)私鑰秘密份額對加密全局模型進行解密得到優(yōu)化后的當前全局模型,并將優(yōu)化后的當前全局模型上傳至聯(lián)盟鏈。本發(fā)明實施例將區(qū)塊鏈技術與聯(lián)邦學習、密碼學機制相結合,由于區(qū)塊鏈具備去中心化、防篡改、可溯源等特點,可以與聯(lián)邦學習很好地形成互補,為協(xié)同訓練提供隱私保護,能夠有效解決電信詐騙檢測模型訓練數(shù)據(jù)源單一、數(shù)據(jù)隱私易泄露等安全問題,有利于電信運營商與公安部門、金融機構、互聯(lián)網(wǎng)企業(yè)等組織在去中心化的環(huán)境下進行多方協(xié)作,安全可信地進行電信詐騙檢測模型的聯(lián)合訓練,實現(xiàn)電信運營商數(shù)據(jù)的價值流通,提高了電信詐騙檢測模型訓練的安全性和可靠性,有效保障各參與方數(shù)據(jù)隱私的同時實現(xiàn)了電信詐騙的高效檢測。