本發(fā)明涉及人工智能領(lǐng)域,具體來說,涉及人工智能領(lǐng)域中的醫(yī)療數(shù)據(jù)分類技術(shù),更具體地說,涉及基于半監(jiān)督聯(lián)邦學(xué)習(xí)的醫(yī)療數(shù)據(jù)分類技術(shù),即一種醫(yī)療數(shù)據(jù)分類模型的聯(lián)邦構(gòu)建方法、分類方法。
背景技術(shù):
1、隨著對(duì)數(shù)據(jù)安全性的重視增加,收集所有數(shù)據(jù)用于建模變得越來越困難。聯(lián)邦學(xué)習(xí)(federated?learning)是一種可以完全保護(hù)數(shù)據(jù)隱私的分布式模型訓(xùn)練框架,允許客戶端在本地使用自己的數(shù)據(jù)進(jìn)行訓(xùn)練,同時(shí)與中央服務(wù)器共享模型參數(shù)。在服務(wù)器和客戶端之間進(jìn)行多輪通信后,最終構(gòu)建出更好的全局模型。傳統(tǒng)的聯(lián)邦學(xué)習(xí)方法要求客戶端具備完整的數(shù)據(jù)和標(biāo)簽信息。然而,獲取數(shù)據(jù)標(biāo)簽通常是困難的,有些甚至需要由專業(yè)人員進(jìn)行標(biāo)注。以醫(yī)療數(shù)據(jù)為例,醫(yī)生可以在患者住院期間對(duì)部分?jǐn)?shù)據(jù)進(jìn)行標(biāo)注,但在其他時(shí)間段的數(shù)據(jù),如果沒有醫(yī)生的專業(yè)知識(shí),就無法進(jìn)行標(biāo)注。大量的無標(biāo)簽數(shù)據(jù)提供了各種不同的數(shù)據(jù)信息,而標(biāo)記數(shù)據(jù)則提供了有價(jià)值的監(jiān)督信息。在聯(lián)邦建模過程中,往往大多數(shù)參與聯(lián)邦學(xué)習(xí)的機(jī)構(gòu)具有數(shù)據(jù)標(biāo)注能力并愿意進(jìn)行數(shù)據(jù)標(biāo)注,而擁有各種數(shù)據(jù)的個(gè)體由于標(biāo)注困難而無法參與到聯(lián)邦模型的構(gòu)建中。典型的聯(lián)邦學(xué)習(xí)場(chǎng)景中擁有豐富標(biāo)注數(shù)據(jù),而真實(shí)世界中的場(chǎng)景卻存在稀疏分布的標(biāo)記數(shù)據(jù),這導(dǎo)致現(xiàn)有聯(lián)邦學(xué)習(xí)方法存在嚴(yán)重的局限性。
2、為了解決上述缺陷,有研究人員提出可以采用基于自訓(xùn)練的半監(jiān)督聯(lián)邦學(xué)習(xí)(semi-supervised?federated?learning,ssfl)方法來為無標(biāo)簽數(shù)據(jù)打標(biāo)簽,以便能夠充分利用無標(biāo)簽數(shù)據(jù)的信息來優(yōu)化模型。具體來說,就是先利用標(biāo)簽客戶端進(jìn)行聯(lián)邦訓(xùn)練,構(gòu)建一個(gè)初始模型;然后,利用該初始模型對(duì)無標(biāo)簽客戶端中的數(shù)據(jù)進(jìn)行偽標(biāo)簽賦值,并將擁有偽標(biāo)簽的數(shù)據(jù)加入聯(lián)邦訓(xùn)練;最終,基于全部數(shù)據(jù)構(gòu)建數(shù)據(jù)分類模型。盡管采用基于自訓(xùn)練的半監(jiān)督聯(lián)邦學(xué)習(xí)方法能夠?yàn)闊o標(biāo)簽客戶端中的數(shù)據(jù)進(jìn)行偽標(biāo)簽賦值,但是簡(jiǎn)單地將半監(jiān)督學(xué)習(xí)與聯(lián)邦學(xué)習(xí)結(jié)合在一起是不行的,這是因?yàn)橛袠?biāo)簽客戶端與無標(biāo)簽客戶端的數(shù)據(jù)分布存在差異,使用有標(biāo)簽客戶端進(jìn)行聯(lián)邦建模所獲得的初始模型在對(duì)無標(biāo)簽客戶端的數(shù)據(jù)進(jìn)行偽標(biāo)簽賦值時(shí)會(huì)存在較高的誤差,導(dǎo)致偽標(biāo)簽準(zhǔn)確性差。同時(shí),當(dāng)客戶端的數(shù)據(jù)分布具有相似性的情況下,基于自訓(xùn)練的半監(jiān)督聯(lián)邦學(xué)習(xí)方法會(huì)利用獲得的初始模型按照隨機(jī)選擇客戶端的方式對(duì)各個(gè)無標(biāo)簽客戶端的數(shù)據(jù)進(jìn)行偽標(biāo)簽賦值,這忽略了無標(biāo)簽客戶端的偽標(biāo)簽賦值順序,也會(huì)導(dǎo)致偽標(biāo)簽準(zhǔn)確性差。
3、綜上所述,現(xiàn)有技術(shù)還存在兩方面的問題:一方面是有標(biāo)簽客戶端與無標(biāo)簽客戶端的數(shù)據(jù)分布存在差異時(shí),有標(biāo)簽客戶端訓(xùn)練的初始模型的泛化性不足,導(dǎo)致偽標(biāo)簽賦值的準(zhǔn)確性較差;另一方面是有標(biāo)簽客戶端與無標(biāo)簽客戶端的數(shù)據(jù)分布相似時(shí),采用隨機(jī)選擇客戶端的方式進(jìn)行偽標(biāo)簽賦值,這樣的賦值方式忽略了無標(biāo)簽客戶端的偽標(biāo)簽賦值順序,也會(huì)導(dǎo)致偽標(biāo)簽準(zhǔn)確性差。
4、需要說明的是:本背景技術(shù)僅用于介紹本發(fā)明的相關(guān)信息,以便于幫助理解本發(fā)明的技術(shù)方案,但并不意味著相關(guān)信息必然是現(xiàn)有技術(shù)。在沒有證據(jù)表明相關(guān)信息已在本發(fā)明的申請(qǐng)日以前公開的情況下,相關(guān)信息不應(yīng)被視為現(xiàn)有技術(shù)。
技術(shù)實(shí)現(xiàn)思路
1、因此,本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的缺陷,提供一種醫(yī)療數(shù)據(jù)分類模型的聯(lián)邦構(gòu)建方法和一種醫(yī)療數(shù)據(jù)分類方法。
2、本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的。
3、根據(jù)本發(fā)明的第一方面,提供一種醫(yī)療數(shù)據(jù)分類模型的聯(lián)邦構(gòu)建方法,用于聯(lián)合多個(gè)有標(biāo)簽客戶端和多個(gè)無標(biāo)簽客戶端構(gòu)建醫(yī)療數(shù)據(jù)分類模型,其中,有標(biāo)簽客戶端指示該客戶端上的數(shù)據(jù)集包括多個(gè)醫(yī)療數(shù)據(jù)及其對(duì)應(yīng)的疾病標(biāo)簽,無標(biāo)簽客戶端指示該客戶端上的數(shù)據(jù)集僅包括多個(gè)醫(yī)療數(shù)據(jù),所述方法包括:聯(lián)邦客戶端聚類步驟:基于所有有標(biāo)簽客戶端進(jìn)行多輪聯(lián)邦訓(xùn)練得到第一全局分類模型,采用第一全局分類模型為每個(gè)無標(biāo)簽客戶端進(jìn)行第一輪打標(biāo)簽處理以使每個(gè)無標(biāo)簽客戶端上的所有醫(yī)療數(shù)據(jù)均被賦予初始偽標(biāo)簽;基于所有有標(biāo)簽客戶端和所有被賦予初始偽標(biāo)簽的無標(biāo)簽客戶端,按照預(yù)設(shè)的聚類規(guī)則對(duì)無標(biāo)簽客戶端和有標(biāo)簽客戶端進(jìn)行聚類處理得到多個(gè)子聯(lián)邦集合,其中,每個(gè)子聯(lián)邦集合中包含多個(gè)客戶端,且每個(gè)子聯(lián)邦集合中最多包含一個(gè)有標(biāo)簽客戶端;聯(lián)邦半監(jiān)督自訓(xùn)練步驟:按照預(yù)設(shè)的排序規(guī)則對(duì)包含有標(biāo)簽客戶端的每個(gè)子聯(lián)邦集合中的所有客戶端進(jìn)行距離度排序,并根據(jù)距離度排序結(jié)果按照預(yù)設(shè)的方式為包含有標(biāo)簽客戶端的每個(gè)子聯(lián)邦集合中的每一個(gè)無標(biāo)簽客戶端進(jìn)行第二輪打標(biāo)簽處理,以使包含有標(biāo)簽客戶端的每個(gè)子聯(lián)邦集合中的每一個(gè)無標(biāo)簽客戶端的所有醫(yī)療數(shù)據(jù)均被賦予目標(biāo)偽標(biāo)簽;基于所有有標(biāo)簽客戶端和被賦予目標(biāo)偽標(biāo)簽的無標(biāo)簽客戶端執(zhí)行多輪聯(lián)邦訓(xùn)練得到第二全局分類模型,并采用第二全局分類模型為僅包含無標(biāo)簽客戶端的每個(gè)子聯(lián)邦集合中的每一個(gè)無標(biāo)簽客戶端進(jìn)行第三輪打標(biāo)簽處理,以使僅包含無標(biāo)簽客戶端的每個(gè)子聯(lián)邦集合中的每一個(gè)無標(biāo)簽客戶端的所有醫(yī)療數(shù)據(jù)均被賦予目標(biāo)偽標(biāo)簽;聯(lián)邦客戶端訓(xùn)練步驟:基于所有有標(biāo)簽客戶端和所有被賦予目標(biāo)偽標(biāo)簽的無標(biāo)簽客戶端,按照預(yù)設(shè)的訓(xùn)練規(guī)則執(zhí)行多輪聯(lián)邦訓(xùn)練得到醫(yī)療數(shù)據(jù)分類模型。
4、在本發(fā)明的一些實(shí)施例中,所述預(yù)設(shè)的聚類規(guī)則為:基于所有有標(biāo)簽客戶端和被賦予初始偽標(biāo)簽的無標(biāo)簽客戶端分別執(zhí)行多輪本地訓(xùn)練得到各個(gè)客戶端對(duì)應(yīng)的第一本地模型,并基于每個(gè)客戶端對(duì)應(yīng)的第一本地模型的參數(shù)按照預(yù)設(shè)的聚類算法對(duì)無標(biāo)簽客戶端和有標(biāo)簽客戶端進(jìn)行聚類得到多個(gè)子聯(lián)邦集合,其中,每個(gè)客戶端對(duì)應(yīng)的第一本地模型中均包括多層網(wǎng)絡(luò)層。
5、在本發(fā)明的一些實(shí)施例中,所述預(yù)設(shè)的聚類算法為:
6、
7、其中,pearson(cm,cn)表示第m個(gè)客戶端對(duì)應(yīng)的第一本地模型與第n個(gè)客戶端對(duì)應(yīng)的第一本地模型之間的相關(guān)系數(shù),cm表示第m個(gè)客戶端對(duì)應(yīng)的第一本地模型,cn表示第n個(gè)客戶端對(duì)應(yīng)的第一本地模型,pearm表示第m個(gè)客戶端對(duì)應(yīng)的第一本地模型的最后一層網(wǎng)絡(luò)層參數(shù)的集合,表示第m個(gè)客戶端對(duì)應(yīng)的第一本地模型的最后一層網(wǎng)絡(luò)層參數(shù)的平均值,pearn表示第n個(gè)客戶端對(duì)應(yīng)的第一本地模型的最后一層網(wǎng)絡(luò)層參數(shù)的集合,表示第n個(gè)客戶端對(duì)應(yīng)的第一本地模型的最后一層網(wǎng)絡(luò)層參數(shù)的平均值。
8、在本發(fā)明的一些實(shí)施例中,所述預(yù)設(shè)的排序規(guī)則為按照馬哈拉諾比斯距離算法計(jì)算包含有標(biāo)簽客戶端的每個(gè)子聯(lián)邦集合中的每個(gè)無標(biāo)簽客戶端與有標(biāo)簽客戶端之間的距離度,并根據(jù)距離度大小進(jìn)行排序得到每個(gè)子聯(lián)邦集合中客戶端的距離度排序結(jié)果。
9、在本發(fā)明的一些實(shí)施例中,所述預(yù)設(shè)的方式為當(dāng)有標(biāo)簽客戶端位于距離度排序結(jié)果兩端時(shí),以有標(biāo)簽客戶端為端點(diǎn)向左傳遞或向右傳遞的順序進(jìn)行多次打標(biāo)簽處理,其中,每次打標(biāo)簽處理包括:基于子聯(lián)邦集合中有標(biāo)簽客戶端和所有已經(jīng)被賦予目標(biāo)偽標(biāo)簽的無標(biāo)簽客戶端執(zhí)行多輪聯(lián)邦訓(xùn)練得到當(dāng)前次中間全局分類模型,并以當(dāng)前次中間全局分類模型為與上一次打標(biāo)簽處理的無標(biāo)簽客戶端相鄰的無標(biāo)簽客戶端進(jìn)行打標(biāo)簽處理。
10、在本發(fā)明的一些實(shí)施例中,所述預(yù)設(shè)的方式為當(dāng)有標(biāo)簽客戶端位于距離度排序結(jié)果中間時(shí),以有標(biāo)簽客戶端為端點(diǎn)分別以向左傳遞和向右傳遞的順序進(jìn)行多次打標(biāo)簽處理,其中,每次打標(biāo)簽處理包括:基于子聯(lián)邦集合中有標(biāo)簽客戶端和該次打標(biāo)簽處理所在方向上所有已經(jīng)被賦予目標(biāo)偽標(biāo)簽的無標(biāo)簽客戶端執(zhí)行多輪聯(lián)邦訓(xùn)練得到當(dāng)前次中間全局分類模型,并以當(dāng)前次中間全局分類模型為該次打標(biāo)簽處理所在方向上與上一次打標(biāo)簽處理的無標(biāo)簽客戶端相鄰的無標(biāo)簽客戶端進(jìn)行打標(biāo)簽處理。
11、在本發(fā)明的一些實(shí)施例中,預(yù)設(shè)的訓(xùn)練規(guī)則為:按照每個(gè)子聯(lián)邦集合中各個(gè)無標(biāo)簽客戶端被賦予目標(biāo)偽標(biāo)簽的處理順序來確定每個(gè)無標(biāo)簽客戶端加入聯(lián)邦訓(xùn)練的順序;基于所有有標(biāo)簽客戶端執(zhí)行多輪聯(lián)邦訓(xùn)練后,按照每個(gè)無標(biāo)簽客戶端加入聯(lián)邦訓(xùn)練的順序分階段將各個(gè)被賦予目標(biāo)偽標(biāo)簽的無標(biāo)簽客戶端加入到聯(lián)邦訓(xùn)練過程中直至所有無標(biāo)簽客戶端均參與到聯(lián)邦訓(xùn)練過程中;基于有標(biāo)簽客戶端和所有被賦予目標(biāo)偽標(biāo)簽的無標(biāo)簽客戶端共同執(zhí)行多輪聯(lián)邦訓(xùn)練得到醫(yī)療數(shù)據(jù)分類模型。
12、根據(jù)本發(fā)明的第二方面,提供一種醫(yī)療數(shù)據(jù)分類方法,所述方法包括:步驟t1、獲取待處理醫(yī)療數(shù)據(jù);步驟t2、采用如本發(fā)明第一方面所述方法得到的醫(yī)療數(shù)據(jù)分類模型對(duì)待處理醫(yī)療數(shù)據(jù)進(jìn)行分類處理。
13、與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:(1)通過客戶端聚類的方式將數(shù)據(jù)分布相似的各個(gè)客戶端聚類到一個(gè)子聯(lián)邦集合中,以降低客戶端不同數(shù)據(jù)分布導(dǎo)致的偽標(biāo)簽賦值精度差的問題;(2)對(duì)每個(gè)子聯(lián)邦集合中的客戶端進(jìn)行相似度排序,并根據(jù)相似度排序結(jié)果排序來為無標(biāo)簽客戶端進(jìn)行偽標(biāo)簽賦值,進(jìn)一步提升偽標(biāo)簽賦值精度;(3)在醫(yī)療數(shù)據(jù)分類模型在構(gòu)建過程中優(yōu)先學(xué)習(xí)到置信度更高的數(shù)據(jù)信息,避免了錯(cuò)誤偽標(biāo)簽帶來的噪聲問題,進(jìn)而提高了醫(yī)療數(shù)據(jù)分類模型的分類準(zhǔn)確率。