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