本技術(shù)涉及聯(lián)邦學(xué)習(xí),尤其涉及一種聯(lián)邦學(xué)習(xí)貢獻(xiàn)度評(píng)估方法、裝置、電子設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)及計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、目前,聯(lián)邦學(xué)習(xí)在金融、醫(yī)療等涉及隱私數(shù)據(jù)或孤島數(shù)據(jù)的領(lǐng)域均有應(yīng)用。在聯(lián)邦學(xué)習(xí)的過程中,每個(gè)參與方或客戶端的貢獻(xiàn)度是建立有效的激勵(lì)機(jī)制重要的參數(shù)。目前主流的方案是通過計(jì)算shapley(沙普利)值來(lái)確定每個(gè)客戶端的數(shù)據(jù)貢獻(xiàn)度,需要復(fù)雜的博弈論基礎(chǔ)且時(shí)間復(fù)雜度高。但這種計(jì)算方式在參與方數(shù)量較多的情況下,需要考慮所有可能的參與者組合,導(dǎo)致時(shí)間復(fù)雜度過高,耗時(shí)過長(zhǎng),而且需要耗費(fèi)的計(jì)算資源也較多,對(duì)于資源有限的邊緣設(shè)備或移動(dòng)設(shè)備,執(zhí)行計(jì)算shapley值的任務(wù)會(huì)產(chǎn)生過高的性能開銷和電量消耗。
2、上述內(nèi)容僅用于輔助理解本技術(shù)的技術(shù)方案,并不代表承認(rèn)上述內(nèi)容是現(xiàn)有技術(shù)。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)的主要目的在于提供一種聯(lián)邦學(xué)習(xí)貢獻(xiàn)度評(píng)估方法、裝置、電子設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)及計(jì)算機(jī)程序產(chǎn)品,旨在解決目前的聯(lián)邦學(xué)習(xí)貢獻(xiàn)度評(píng)估方法的復(fù)雜度過高的技術(shù)問題。
2、為實(shí)現(xiàn)上述目的,本技術(shù)提出一種應(yīng)用于服務(wù)端的聯(lián)邦學(xué)習(xí)貢獻(xiàn)度評(píng)估方法,所述聯(lián)邦學(xué)習(xí)貢獻(xiàn)度評(píng)估方法包括:
3、獲取初始全局模型,將所述初始全局模型發(fā)送到預(yù)設(shè)客戶端集中的各客戶端;
4、基于接收到的所述預(yù)設(shè)客戶端集中的各客戶端上傳的本地模型對(duì)所述初始全局模型進(jìn)行迭代更新,確定整體全局模型;
5、基于接收到的所述預(yù)設(shè)客戶端集中除待評(píng)估客戶端以外的客戶端上傳的本地模型進(jìn)行多次模型聚合與更新,確定部分全局模型;
6、根據(jù)所述整體全局模型與所述部分全局模型之間的性能差值,確定所述待評(píng)估客戶端的貢獻(xiàn)度。
7、在一實(shí)施例中,所述基于接收到的所述預(yù)設(shè)客戶端集中除待評(píng)估客戶端以外的客戶端上傳的本地模型進(jìn)行多次模型聚合與更新,確定部分全局模型的步驟包括:
8、接收各所述客戶端上傳的本地模型,然后將所述預(yù)設(shè)客戶端集中除所述待評(píng)估客戶端以外的客戶端對(duì)應(yīng)的本地模型進(jìn)行模型聚合,得到更新全局模型;
9、將所述更新全局模型發(fā)送到所述預(yù)設(shè)客戶端集中除所述待評(píng)估客戶端以外的客戶端,以供各所述客戶端對(duì)所述更新全局模型進(jìn)行迭代訓(xùn)練,并根據(jù)各所述客戶端訓(xùn)練后上傳的本地模型確定部分全局模型。
10、在一實(shí)施例中,所述將所述更新全局模型發(fā)送到所述預(yù)設(shè)客戶端集中除所述待評(píng)估客戶端以外的客戶端,以供各所述客戶端對(duì)所述更新全局模型進(jìn)行迭代訓(xùn)練,并根據(jù)各所述客戶端訓(xùn)練后上傳的本地模型確定部分全局模型的步驟包括:
11、將所述更新全局模型下發(fā)至所述預(yù)設(shè)客戶端集中除所述待評(píng)估客戶端以外的客戶端,以供所述預(yù)設(shè)客戶端集中除所述待評(píng)估客戶端以外的客戶端對(duì)所述更新全局模型進(jìn)行訓(xùn)練,得到各所述客戶端分別對(duì)應(yīng)的本地模型;
12、接收并聚合各所述客戶端發(fā)送的本地模型,得到更新后的更新全局模型;
13、判斷所述更新全局模型的迭代訓(xùn)練次數(shù)是否達(dá)到預(yù)設(shè)次數(shù);
14、若否,則返回執(zhí)行步驟:將所述更新全局模型下發(fā)至所述預(yù)設(shè)客戶端集中除所述待評(píng)估客戶端以外的客戶端;
15、若是,則將所述更新全局模型置為部分全局模型。
16、在一實(shí)施例中,所述性能差值為準(zhǔn)確率差值,所述根據(jù)所述整體全局模型與所述部分全局模型之間的性能差值,確定所述待評(píng)估客戶端的貢獻(xiàn)度的步驟包括:
17、獲取預(yù)設(shè)的測(cè)試樣本數(shù)據(jù),將所述測(cè)試樣本數(shù)據(jù)分別輸入所述整體全局模型和所述部分全局模型,得到所述整體全局模型和所述部分全局模型分別對(duì)應(yīng)的預(yù)測(cè)結(jié)果;
18、根據(jù)所述測(cè)試樣本數(shù)據(jù)的真實(shí)標(biāo)簽和所述整體全局模型和所述部分全局模型分別對(duì)應(yīng)的預(yù)測(cè)結(jié)果,計(jì)算所述整體全局模型和所述部分全局模型分別對(duì)應(yīng)的準(zhǔn)確率;
19、計(jì)算所述整體全局模型的準(zhǔn)確率和所述部分全局模型的準(zhǔn)確率之間的差值,得到所述待評(píng)估客戶端的貢獻(xiàn)度。
20、在一實(shí)施例中,所述性能差值為召回率差值,所述根據(jù)所述整體全局模型與所述部分全局模型之間的性能差,確定所述待評(píng)估客戶端的貢獻(xiàn)度的步驟包括:
21、獲取預(yù)設(shè)的測(cè)試樣本數(shù)據(jù),將所述測(cè)試樣本數(shù)據(jù)分別輸入所述整體全局模型和所述部分全局模型,確定所述整體全局模型和所述部分全局模型分別對(duì)應(yīng)的混淆矩陣;
22、根據(jù)所述整體全局模型和所述部分全局模型分別對(duì)應(yīng)的混淆矩陣,計(jì)算所述整體全局模型和所述部分全局模型分別對(duì)應(yīng)的召回率;
23、計(jì)算所述整體全局模型的召回率和所述部分全局模型的召回率之間的差值,得到所述待評(píng)估客戶端的貢獻(xiàn)度。
24、此外,本技術(shù)還提出一種應(yīng)用于客戶端的聯(lián)邦學(xué)習(xí)貢獻(xiàn)度評(píng)估方法,所述,所述聯(lián)邦學(xué)習(xí)貢獻(xiàn)度評(píng)估方法包括:
25、當(dāng)接收到服務(wù)端發(fā)送的初始全局模型時(shí),根據(jù)本地?cái)?shù)據(jù)對(duì)所述初始全局模型進(jìn)行訓(xùn)練,得到訓(xùn)練后的本地模型;
26、將所述本地模型上傳至所述服務(wù)端,以供所述服務(wù)端基于接收到的預(yù)設(shè)客戶端集中的各客戶端上傳的本地模型對(duì)所述初始全局模型進(jìn)行迭代更新,確定整體全局模型,以及基于接收到的所述預(yù)設(shè)客戶端集中除待評(píng)估客戶端以外的客戶端上傳的本地模型進(jìn)行多次模型聚合與更新,確定部分全局模型,并根據(jù)所述整體全局模型與所述部分全局模型之間的性能差值,確定所述待評(píng)估客戶端的貢獻(xiàn)度。
27、此外,為實(shí)現(xiàn)上述目的,本技術(shù)還提出一種聯(lián)邦學(xué)習(xí)貢獻(xiàn)度評(píng)估裝置,所述聯(lián)邦學(xué)習(xí)貢獻(xiàn)度評(píng)估裝置包括:
28、初始化模塊,用于獲取初始全局模型,將所述初始全局模型發(fā)送到預(yù)設(shè)客戶端集中的各客戶端;
29、整體全局訓(xùn)練模塊,用于基于接收到的所述預(yù)設(shè)客戶端集中的各客戶端上傳的本地模型對(duì)所述初始全局模型進(jìn)行迭代更新,確定整體全局模型;
30、部分全局訓(xùn)練模塊,用于基于接收到的所述預(yù)設(shè)客戶端集中除待評(píng)估客戶端以外的客戶端上傳的本地模型進(jìn)行多次模型聚合與更新,確定部分全局模型;
31、貢獻(xiàn)度計(jì)算模塊,用于根據(jù)所述整體全局模型與所述部分全局模型之間的性能差值,確定所述待評(píng)估客戶端的貢獻(xiàn)度。
32、此外,為實(shí)現(xiàn)上述目的,本技術(shù)還提出一種電子設(shè)備,所述設(shè)備包括:存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序配置為實(shí)現(xiàn)如上文所述的聯(lián)邦學(xué)習(xí)貢獻(xiàn)度評(píng)估方法的步驟。
33、此外,為實(shí)現(xiàn)上述目的,本技術(shù)還提出一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上文所述的聯(lián)邦學(xué)習(xí)貢獻(xiàn)度評(píng)估方法的步驟。
34、此外,為實(shí)現(xiàn)上述目的,本技術(shù)還提供一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上文所述的聯(lián)邦學(xué)習(xí)貢獻(xiàn)度評(píng)估方法的步驟。
35、本技術(shù)提出了一種聯(lián)邦學(xué)習(xí)貢獻(xiàn)度評(píng)估方法,在聯(lián)邦學(xué)習(xí)貢獻(xiàn)度評(píng)估方法中,首先獲取初始全局模型,將所述初始全局模型發(fā)送到預(yù)設(shè)客戶端集中的各客戶端,以實(shí)現(xiàn)對(duì)全局模型的初始化和初步訓(xùn)練,再基于接收到的所述預(yù)設(shè)客戶端集中的各客戶端上傳的本地模型對(duì)所述初始全局模型進(jìn)行迭代更新,確定整體全局模型,其中,整體全局模型是由包括待評(píng)估客戶端在內(nèi)的全部客戶端進(jìn)行聯(lián)邦訓(xùn)練得到的,然后基于接收到的所述預(yù)設(shè)客戶端集中除待評(píng)估客戶端以外的客戶端上傳的本地模型進(jìn)行多次模型聚合與更新,確定部分全局模型,其中,部分全局模型是由不包括待評(píng)估客戶端在內(nèi)的其他客戶端訓(xùn)練得到的,最后根據(jù)所述整體全局模型與所述部分全局模型之間的性能差值,確定所述待評(píng)估客戶端的貢獻(xiàn)度,因?yàn)檎w全局模型和部分全局模型之間的差別在于是否有待評(píng)估客戶端參與聯(lián)邦學(xué)習(xí),所以兩者之間的性能差值能體現(xiàn)出待評(píng)估客戶端為整體全局模型的性能所作出的貢獻(xiàn)。相比傳統(tǒng)的shapley(沙普利)值來(lái)確定每個(gè)客戶端的數(shù)據(jù)貢獻(xiàn)度的方式,本技術(shù)的技術(shù)方案提供了一種基于遺忘學(xué)習(xí)的思路來(lái)進(jìn)行貢獻(xiàn)度評(píng)估,不需要復(fù)雜的博弈論基礎(chǔ),貢獻(xiàn)度的計(jì)算與聯(lián)邦學(xué)習(xí)訓(xùn)練的過程同步進(jìn)行,同時(shí)進(jìn)行整體全局模型和部分全局模型的訓(xùn)練,時(shí)間復(fù)雜度低,最后計(jì)算整體全局模型與部分全局模型之間的性能差值即可確定客戶端的貢獻(xiàn)度,整體計(jì)算復(fù)雜度更低,耗費(fèi)的計(jì)算資源更少,對(duì)設(shè)備的性能開銷和電量消耗也更低。