梁朝暉,朱笑笑+,曹其新,馬燕紅,徐義明
(1.上海交通大學(xué) 機(jī)械與動(dòng)力工程學(xué)院,上海 200240;2.上海交通大學(xué)附屬第六人民醫(yī)院 康復(fù)醫(yī)學(xué)科,上海 200233)
由于涉及到病人隱私與信息安全等問題,目前在康復(fù)醫(yī)療領(lǐng)域中不同醫(yī)療機(jī)構(gòu)所采集的患者數(shù)據(jù)無法互通,導(dǎo)致難以訓(xùn)練出一個(gè)泛用性強(qiáng)、準(zhǔn)確度高的神經(jīng)網(wǎng)絡(luò)模型。針對(duì)這一問題,聯(lián)邦學(xué)習(xí)提供了解決思路。聯(lián)邦學(xué)習(xí)是一種在各客戶端節(jié)點(diǎn)上進(jìn)行分布式訓(xùn)練,再在服務(wù)器端對(duì)全局模型進(jìn)行整合更新的機(jī)器學(xué)習(xí)框架。聯(lián)邦學(xué)習(xí)期間,所有本地?cái)?shù)據(jù)都保存在所屬機(jī)構(gòu)內(nèi)部而無需對(duì)外開放,從而實(shí)現(xiàn)數(shù)據(jù)隱私保護(hù)。可見,將聯(lián)邦學(xué)習(xí)技術(shù)應(yīng)用于康復(fù)領(lǐng)域有助于打破不同機(jī)構(gòu)之間的數(shù)據(jù)孤島狀態(tài),通過多方協(xié)同訓(xùn)練出泛用性強(qiáng)、準(zhǔn)確度高的下肢康復(fù)評(píng)估模型。
由此,本文提出一種基于聯(lián)邦學(xué)習(xí)的下肢康復(fù)評(píng)估算法,搭建聯(lián)邦學(xué)習(xí)系統(tǒng)并設(shè)計(jì)GRU-Inception康復(fù)評(píng)估神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,實(shí)現(xiàn)下肢損傷部位分類及康復(fù)情況評(píng)分任務(wù)。
隨著計(jì)算機(jī)技術(shù)發(fā)展,已有國內(nèi)外學(xué)者利用神經(jīng)網(wǎng)絡(luò)模型進(jìn)行康復(fù)評(píng)估。閆航等[1]提出Pose-AMGRU模型,利用攝像系統(tǒng)采集到的視頻信息提取人體姿態(tài),實(shí)現(xiàn)康復(fù)動(dòng)作識(shí)別。羅堅(jiān)等[2]通過深度傳感器采集得到的點(diǎn)云數(shù)據(jù),結(jié)合人體特征語義,設(shè)計(jì)一種Conv GRU網(wǎng)絡(luò)實(shí)現(xiàn)下肢異常步態(tài)檢測(cè)。王金甲等[3]利用可穿戴設(shè)備采集患者下肢運(yùn)動(dòng)數(shù)據(jù),并設(shè)計(jì)相應(yīng)的卷積神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)對(duì)帕金森癥患者的凍結(jié)特征識(shí)別任務(wù)。
上面的研究中可以看出,在利用傳感器采集到足夠的康復(fù)數(shù)據(jù)后,康復(fù)評(píng)估算法的研究多集中于神經(jīng)網(wǎng)絡(luò)模型的設(shè)計(jì)以及實(shí)現(xiàn)上。然而由于醫(yī)療機(jī)構(gòu)之間數(shù)據(jù)不互通,這些方法往往難以在實(shí)際的醫(yī)療領(lǐng)域應(yīng)用當(dāng)中取得滿意效果。針對(duì)患者與醫(yī)療機(jī)構(gòu)的數(shù)據(jù)隱私問題,目前已有國內(nèi)外學(xué)者將聯(lián)邦學(xué)習(xí)[4]應(yīng)用在醫(yī)療領(lǐng)域中,展開相關(guān)研究工作。Lee J等[5]利用聯(lián)邦學(xué)習(xí)平臺(tái),在不共享患者信息情況下實(shí)現(xiàn)跨機(jī)構(gòu)的患者相似性學(xué)習(xí)。Liu D等[6]開發(fā)一種兩階段聯(lián)邦學(xué)習(xí)方法,對(duì)跨機(jī)構(gòu)病例進(jìn)行患者表征學(xué)習(xí)。王生生等[7,8]在聯(lián)邦學(xué)習(xí)框架下完成了醫(yī)學(xué)影像檢測(cè)及分割等任務(wù)。
針對(duì)上面研究中康復(fù)評(píng)估神經(jīng)網(wǎng)絡(luò)模型所存在的數(shù)據(jù)安全問題,結(jié)合聯(lián)邦學(xué)習(xí)的隱私保護(hù)訓(xùn)練機(jī)制,本文所提出的基于聯(lián)邦學(xué)習(xí)的下肢康復(fù)評(píng)估算法能在本地?cái)?shù)據(jù)不外泄的情況下高效完成模型訓(xùn)練,并取得較好的損傷分類以及評(píng)分結(jié)果,有助于提升模型在實(shí)際康復(fù)醫(yī)療場景下的表現(xiàn)。
本文采用客戶端-服務(wù)器架構(gòu)來搭建聯(lián)邦學(xué)習(xí)系統(tǒng),其整體框架如圖1所示。每個(gè)客戶端節(jié)點(diǎn)代表一個(gè)醫(yī)療機(jī)構(gòu)接入到聯(lián)邦學(xué)習(xí)系統(tǒng)內(nèi)。服務(wù)器作為聯(lián)邦學(xué)習(xí)的核心節(jié)點(diǎn),與各個(gè)客戶端節(jié)點(diǎn)構(gòu)成雙向通訊鏈路。服務(wù)器部署在可信的第三方云平臺(tái)上。聯(lián)邦學(xué)習(xí)的模型訓(xùn)練過程分為初始化、客戶端選擇、模型廣播、本地訓(xùn)練、全局更新等階段。
圖1 聯(lián)邦學(xué)習(xí)整體框架
訓(xùn)練開始前,服務(wù)器首先進(jìn)行初始化,設(shè)定聯(lián)邦學(xué)習(xí)參數(shù)。為提高通訊效率,每一輪訓(xùn)練開始前需要進(jìn)行客戶端選擇,選中的客戶端可參與本輪訓(xùn)練。選擇完成后,服務(wù)器向選中客戶端廣播發(fā)送上一輪全局模型。各客戶端將該模型作為初始值,利用本地?cái)?shù)據(jù)及resSGD優(yōu)化器對(duì)其進(jìn)行訓(xùn)練。模型更新值需經(jīng)量化編碼壓縮后才上傳服務(wù)器,減輕通訊負(fù)擔(dān)。最后服務(wù)器端基于高斯差分隱私機(jī)制對(duì)模型更新值進(jìn)行聚合來實(shí)現(xiàn)全局更新,得到本輪全局模型。至此一輪訓(xùn)練完成,當(dāng)達(dá)到設(shè)定訓(xùn)練輪數(shù)或觸發(fā)其它終止條件后聯(lián)邦學(xué)習(xí)結(jié)束。
針對(duì)下肢康復(fù)評(píng)估問題,本文設(shè)計(jì)了GRU-Inception網(wǎng)絡(luò)模型來實(shí)現(xiàn)下肢損傷分類與評(píng)分。該模型利用GRU提取輸入的時(shí)序關(guān)節(jié)角度數(shù)據(jù)特征,并采用多個(gè)Inception模塊級(jí)聯(lián)而成的分類器處理得到受測(cè)者下肢損傷部位分類結(jié)果以及康復(fù)評(píng)分結(jié)果。通過建立聯(lián)邦學(xué)習(xí)系統(tǒng)并對(duì)所設(shè)計(jì)的GRU-Inception網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,本文所提出的基于聯(lián)邦學(xué)習(xí)的下肢康復(fù)評(píng)估算法有助于打破醫(yī)療機(jī)構(gòu)間的數(shù)據(jù)壁壘,在保護(hù)數(shù)據(jù)隱私的基礎(chǔ)上通過跨機(jī)構(gòu)多方協(xié)同訓(xùn)練來提升模型效果。
在聯(lián)邦學(xué)習(xí)系統(tǒng)當(dāng)中,模型訓(xùn)練過程被分布到大量客戶端節(jié)點(diǎn)上。每個(gè)通訊輪次中,上行(客戶端→服務(wù)器)和下行(服務(wù)器→客戶端)傳輸都需要占用大量網(wǎng)絡(luò)帶寬及傳輸時(shí)間。在保證模型訓(xùn)練效果基礎(chǔ)上,本系統(tǒng)利用客戶端節(jié)點(diǎn)選擇機(jī)制來減少每輪參與訓(xùn)練客戶端節(jié)點(diǎn)數(shù)目,提高聯(lián)邦學(xué)習(xí)效率。該機(jī)制綜合考慮各客戶端節(jié)點(diǎn)網(wǎng)絡(luò)連接情況、新增患者數(shù)據(jù)量以及上次參與訓(xùn)練間隔時(shí)間等因素,計(jì)算出本輪參與訓(xùn)練的客戶端節(jié)點(diǎn)列表。其中網(wǎng)絡(luò)條件好,數(shù)據(jù)量多,訓(xùn)練間隔時(shí)間長的節(jié)點(diǎn)更有可能納入本輪訓(xùn)練節(jié)點(diǎn)列表中。算法具體流程如下:
算法:客戶端選擇
輸入:節(jié)點(diǎn)隊(duì)列d1,d2, 參與訓(xùn)練客戶端數(shù)K, 評(píng)分權(quán)重w1,w2, 本輪輪次t;
輸出:參與訓(xùn)練客戶端節(jié)點(diǎn)列表list;
步驟1 初始化,若t=1, 將所有節(jié)點(diǎn)加入d1。
步驟2 下標(biāo)i為隊(duì)列編號(hào),當(dāng)tmodi=0, 則服務(wù)器向隊(duì)列di里的節(jié)點(diǎn)發(fā)送請(qǐng)求,列入候選。
步驟3 若某節(jié)點(diǎn)限定時(shí)間內(nèi)無反饋,則將其移動(dòng)到d2。 其它節(jié)點(diǎn)加入d1并計(jì)算其得分
scorek=w1×numk+w2×interk
(1)
其中,下標(biāo)k代表該節(jié)點(diǎn)的編號(hào);numk為該節(jié)點(diǎn)新增數(shù)據(jù)量;interk為該節(jié)點(diǎn)距離上次參與訓(xùn)練的輪次間隔。
步驟4 將得分top-K的節(jié)點(diǎn)加入本輪參與訓(xùn)練的客戶端節(jié)點(diǎn)列表list。
參與訓(xùn)練的客戶端節(jié)點(diǎn)列表通過選擇機(jī)制產(chǎn)生后,服務(wù)器將上一輪的全局模型廣播發(fā)送給各個(gè)選中客戶端節(jié)點(diǎn)??蛻舳斯?jié)點(diǎn)接收全局模型,并利用本地?cái)?shù)據(jù)以及resSGD優(yōu)化器進(jìn)行訓(xùn)練。在第t+1輪,客戶端節(jié)點(diǎn)本地訓(xùn)練步驟如下:
算法:本地訓(xùn)練
輸入:上輪全局模型Wtg; 學(xué)習(xí)率lr; 本地訓(xùn)練迭代次數(shù)epoch; 限制項(xiàng)參數(shù)μ;
輸出:局部模型參數(shù)更新ΔWt+1k, 其中上標(biāo)t+1代表聯(lián)邦學(xué)習(xí)輪次,下標(biāo)k表示客戶端節(jié)點(diǎn)編號(hào),k∈[1,K];
步驟1 初始化局部模型參數(shù)W0k=Wtg。
步驟2 設(shè)定學(xué)習(xí)率lr, 迭代次數(shù)epoch, 輸入批大小bs, 設(shè)定均方誤差函數(shù)MSELoss。
步驟3 設(shè)定自定義優(yōu)化器resSGD,其更新方法為
Updres=μ(We-1k-W0k)
(2)
Wek=We-1k-lr(grad+Updres),e∈[1,epoch]
(3)
其中,上標(biāo)e為客戶端迭代次數(shù),Updres為限制項(xiàng),grad為本次迭代訓(xùn)練的梯度。
步驟4 進(jìn)行本地訓(xùn)練,直至預(yù)設(shè)迭代次數(shù)epoch后訓(xùn)練結(jié)束,返回局部模型參數(shù)更新
ΔWt+1k=Wepochk-W0k
(4)
下肢康復(fù)評(píng)估任務(wù)既包括損傷部位的多標(biāo)簽分類問題,也涉及到評(píng)估分值的回歸問題。而本地訓(xùn)練中所采用的均方誤差損失函數(shù)能對(duì)各類別的預(yù)測(cè)概率與真值進(jìn)行對(duì)比,符合下肢康復(fù)評(píng)估模型任務(wù)要求。在resSGD優(yōu)化器中,加入如式所示(2)的限制項(xiàng),其目的是使本地訓(xùn)練更新后的局部模型和全局模型之間不至于相差過大,防止客戶端節(jié)點(diǎn)數(shù)據(jù)異構(gòu)和系統(tǒng)異構(gòu)導(dǎo)致模型發(fā)散問題,保證局部模型和全局模型的收斂一致性[9]。
當(dāng)模型文件較大時(shí),如果直接將本地訓(xùn)練后的局部模型更新值上傳服務(wù)器,可能會(huì)導(dǎo)致網(wǎng)絡(luò)帶寬受限的客戶端節(jié)點(diǎn)占用過多通訊時(shí)間,影響模型聚合更新進(jìn)程。作為一個(gè)折中方案,本系統(tǒng)利用量化編碼壓縮算法,犧牲一定精度來對(duì)局部模型更新參數(shù)進(jìn)行壓縮。量化編碼壓縮算法分為兩步:隨機(jī)正交變換以及量化編碼,其流程如下:
算法:模型壓縮
輸入:局部模型參數(shù)更新ΔWt+1k∈p×q, 且k∈[1,K];t+1為本輪訓(xùn)練輪次;K為本輪參與訓(xùn)練的客戶端數(shù);
輸出:壓縮模型更新參數(shù)ht+1k∈1×pq; 隨機(jī)種子seedt+1k; 最大值及最小值hmint+1k,hmaxt+1k;
步驟1 將局部模型更新參數(shù)展開成向量
Hk=flatten(ΔWt+1k)
(5)
步驟2 生成隨機(jī)種子
seedt+1k=rand()
(6)
步驟3 通過QR分解隨機(jī)矩陣,獲取隨機(jī)正交矩陣
mk=randmatrix((pq,pq),seed)
(7)
Qk,Rk=QR(mk)
(8)
步驟4 向量隨機(jī)正交變換
h*k=Qk×Hk
(9)
步驟5 向量各個(gè)分量進(jìn)行量化,最終得到ht+1k
hmint+1k=min(h*k),hmaxt+1k=max(h*k)
(10)
ht+1k[i]=int(65535(h*k[i]-hmint+1k)hmaxt+1k-hmint+1k)-32768
(11)
式(9)中的隨機(jī)正交變換步驟目的是使變換后的向量在各維度上的尺度較為一致,減少量化編碼帶來的損失。Suresh等[10]的研究表明,如果在量化之前對(duì)向量應(yīng)用隨機(jī)旋轉(zhuǎn)(用隨機(jī)正交矩陣乘以待量化的向量),可使量化誤差降低一定比例。原始模型更新參數(shù)數(shù)據(jù)類型為32位浮點(diǎn)數(shù),通過量化步驟將其映射到-32 768~32 767范圍內(nèi)的整數(shù)區(qū)間當(dāng)中,即可使用16位整型數(shù)來表示。后續(xù)通過尺度因子以及壓縮后的整型向量,可對(duì)原始浮點(diǎn)數(shù)向量進(jìn)行還原恢復(fù)。量化編碼方法以犧牲一定精度為代價(jià)可獲取較好的壓縮效果,將待傳輸?shù)哪P臀募笮〗禐?0%,從而大大減輕服務(wù)器與客戶端節(jié)點(diǎn)之間的傳輸壓力,加速聯(lián)邦學(xué)習(xí)進(jìn)程。
在服務(wù)器節(jié)點(diǎn)獲取到客戶端節(jié)點(diǎn)所上傳的局部模型更新后,需要利用全局更新算法計(jì)算出一個(gè)全局模型,完成本輪次的訓(xùn)練。本系統(tǒng)已在客戶端本地訓(xùn)練的resSGD優(yōu)化器中引入限制項(xiàng),從而保證局部模型和全局模型的收斂性,因此在全局更新階段采用聯(lián)邦平均算法[11]即可獲得較好效果。然而若服務(wù)器遭遇數(shù)據(jù)攻擊,第三方可能從局部模型參數(shù)更新中推斷出客戶端節(jié)點(diǎn)的訓(xùn)練貢獻(xiàn),甚至存在原始數(shù)據(jù)泄漏的風(fēng)險(xiǎn)。為解決這一問題,本系統(tǒng)在聯(lián)邦平均算法基礎(chǔ)上引入高斯差分隱私機(jī)制來保護(hù)數(shù)據(jù)安全,并在計(jì)算過程中進(jìn)行因子縮放來對(duì)噪聲進(jìn)行限制,保證模型可用性。
差分隱私主要技術(shù)手段是往原始數(shù)據(jù)中添加一定的噪聲實(shí)現(xiàn)混淆,確保其滿足隱私要求。在差分隱私技術(shù)中,利用高斯噪聲實(shí)現(xiàn)ε-δ差分隱私的方法被稱為高斯機(jī)制。給定隱私算法M,其定義域?yàn)镈,值域?yàn)镽。當(dāng)算法M對(duì)任意兩個(gè)數(shù)據(jù)t,t′∈D得到結(jié)果t*∈R時(shí),若滿足下面不等式,則算法M滿足ε-δ差分隱私
Pr[M(t)=t*]≤eε×Pr[M(t′)=t*]+δ
(12)
其中,Pr為概率分布函數(shù);ε為隱私預(yù)算,和噪聲呈負(fù)相關(guān)關(guān)系,和數(shù)據(jù)可用性成正相關(guān)關(guān)系;δ為松弛項(xiàng),表示系統(tǒng)對(duì)差分隱私失效的容忍度。
σ=Δ2f2ln(1.25/δ)ε
(13)
M(D)=f(D)+N(0,σ2)
(14)
其中,Δ2f是函數(shù)f在L2范數(shù)下的敏感度,函數(shù)N(0,σ2) 生成均值為0方差為σ2的隨機(jī)高斯噪聲。綜合上述高斯差分隱私機(jī)制及聯(lián)邦平均算法,本系統(tǒng)中服務(wù)器節(jié)點(diǎn)全局更新算法流程如下:
算法:高斯差分隱私全局更新
輸入:壓縮模型更新參數(shù)ht+1k; 隨機(jī)種子seedt+1k; 最大值及最小值hmint+1k,hmaxt+1k; 噪聲閾值th; 隱私預(yù)算ε; 容忍度δ; 最大通訊輪數(shù)U; 上一輪全局模型Wtg;
輸出:本輪全局模型Wt+1g, 其中上標(biāo)t+1代表聯(lián)邦學(xué)習(xí)輪次;
步驟1 將壓縮模型更新參數(shù)進(jìn)行反量化
h*k[i]=hmaxt+1k-hmint+1k65535(ht+1k[i]+32768)+hmint+1k
(15)
其中,i∈[1,pq] 代表向量各分量
步驟2 根據(jù)隨機(jī)種子生成正交矩陣進(jìn)行反變換,并將參數(shù)向量還原為矩陣形式
mk=randmatrix((pq,pq),seedt+1k)
(16)
Qk,Rk=QR(mk)
(17)
Hk=QTk×h*k
(18)
ΔWt+1k=unflatten(Hk)
(19)
步驟3 高斯噪聲計(jì)算
將函數(shù)敏感度限制為各客戶端參數(shù)更新的L2范數(shù)中值,后續(xù)通過縮放來限制噪聲
Δ2f=median(ΔWt+1k2),k∈[1,K]
(20)
根據(jù)式(13)計(jì)算高斯噪聲標(biāo)準(zhǔn)差σ,并為各客戶端計(jì)算縮放因子
Sk=min(1,Δ2f/ΔWt+1k2)
(21)
步驟4 全局更新計(jì)算
ΔWg=1K∑Kk=1(Sk×ΔWt+1k+N(0,σ2))
(22)
Wt+1g=Wtg+ΔWg
(23)
步驟5 計(jì)算噪聲強(qiáng)度并判斷是否繼續(xù)訓(xùn)練
ps=(Wt+1g2)2pq,pn=σ2/K
(24)
snr=10*lg(ps/pn)
(25)
cond=(snr
(26)
其中,snr為本次全局更新的信噪比;cond為訓(xùn)練繼續(xù)條件,若為假則聯(lián)邦學(xué)習(xí)停止。
在進(jìn)行康復(fù)評(píng)估前,需要利用運(yùn)動(dòng)捕捉系統(tǒng)來采集受測(cè)者步行時(shí)的下肢運(yùn)動(dòng)參數(shù)??祻?fù)醫(yī)學(xué)上常用參數(shù)包括:左右側(cè)髖關(guān)節(jié)屈伸角、左右側(cè)膝關(guān)節(jié)屈伸角以及左右側(cè)踝關(guān)節(jié)屈伸角共計(jì)6個(gè)關(guān)節(jié)角度。完成數(shù)據(jù)采集后,在上海市第六人民醫(yī)院康復(fù)科醫(yī)生指導(dǎo)下確立如下康復(fù)評(píng)估任務(wù):第一,對(duì)下肢損傷部位進(jìn)行識(shí)別分類,包括正常、左右膝關(guān)節(jié)損傷、左右踝關(guān)節(jié)損傷共5個(gè)類別;第二,對(duì)康復(fù)程度進(jìn)行評(píng)分,分?jǐn)?shù)高說明康復(fù)情況良好。因此下肢康復(fù)評(píng)估可視為一個(gè)多分類及評(píng)分回歸問題,其輸入為6個(gè)關(guān)節(jié)角度200幀時(shí)間序列,輸出為5類關(guān)節(jié)損傷分類結(jié)果及對(duì)應(yīng)康復(fù)評(píng)分結(jié)果。
針對(duì)以上問題,本文設(shè)計(jì)一種結(jié)合循環(huán)神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)的時(shí)間序列多分類與評(píng)分模型,即GRU-Inception模型。該模型分為循環(huán)神經(jīng)網(wǎng)絡(luò)特征提取模塊以及卷積神經(jīng)網(wǎng)絡(luò)分類預(yù)測(cè)模塊,整體結(jié)構(gòu)如圖2所示。卷積神經(jīng)網(wǎng)絡(luò)分類預(yù)測(cè)模塊中的Inception單元,其結(jié)構(gòu)如圖3所示。
圖2 GRU-Inception模型結(jié)構(gòu)
圖3 Inception單元結(jié)構(gòu)
GRU-Inception模型中采用GRU來實(shí)現(xiàn)特征提取模塊。GRU能有效捕捉時(shí)間序列當(dāng)中的依賴關(guān)系,提取時(shí)序特征。輸入數(shù)據(jù)張量形狀為 (B,V,S),B代表輸入批大小,V代表輸入變量維度,S代表輸入序列時(shí)間步數(shù)。GRU隱藏層尺寸為hs, 表示特征提取所得的狀態(tài)張量維數(shù)。經(jīng)特征提取模塊處理后,輸出狀態(tài)張量形狀為 (B,S,hs)。
GRU-Inception模型中分類預(yù)測(cè)模塊由卷積神經(jīng)網(wǎng)絡(luò)InceptionTime[12]實(shí)現(xiàn)。如圖2所示,該模塊通過連接6個(gè)Inception單元組成,每隔3個(gè)單元引入殘差連接,防止深度增加導(dǎo)致模型退化及梯度消失。如圖3所示,每個(gè)Inception單元由3個(gè)并列卷積層及一個(gè)最大池化層拼接組成。
最后,利用全連接層來整合輸出張量形狀,利用Softmax層進(jìn)行指數(shù)歸一化,形成獨(dú)熱編碼作為輸出結(jié)果。獨(dú)熱編碼one_hot這5個(gè)分量分別代表該樣本在5個(gè)類別上的預(yù)測(cè)概率,進(jìn)一步計(jì)算即可得到分類結(jié)果class_id及評(píng)分結(jié)果score
class_id=argmax(one_hot)
(27)
score=one_hot[normal_id]one_hot[class_id]
(28)
其中,函數(shù)argmax用于找出獨(dú)熱編碼向量里最大值的索引編號(hào)。
本數(shù)據(jù)集在上海市第六人民醫(yī)院一線康復(fù)科醫(yī)生合作下進(jìn)行數(shù)據(jù)采集和標(biāo)注工作。本數(shù)據(jù)集利用Xsens可穿戴式動(dòng)捕設(shè)備來進(jìn)行下肢運(yùn)動(dòng)數(shù)據(jù)捕捉,采集時(shí)分別將7個(gè)可穿戴傳感器佩戴在骨盆中央、左右側(cè)大腿股骨中段、左右側(cè)小腿脛骨中段以及左右側(cè)腳跟跟骨處。隨后進(jìn)行站姿標(biāo)定,確定傳感器與肢體相對(duì)位姿。接下來進(jìn)行數(shù)據(jù)記錄,受測(cè)者在平地上行走,采集得到關(guān)節(jié)角度步態(tài)數(shù)據(jù)。
關(guān)節(jié)角度采集頻率為40 Hz,每幀采集得到左右髖關(guān)節(jié)屈伸、左右膝關(guān)節(jié)屈伸以及左右踝關(guān)節(jié)屈伸共計(jì)6個(gè)角度。后續(xù)處理中每隔5 s,即200幀數(shù)據(jù),劃分為一個(gè)樣本,并在醫(yī)生協(xié)助下進(jìn)行數(shù)據(jù)標(biāo)注工作。數(shù)據(jù)標(biāo)注工作分為分類和評(píng)分兩步,數(shù)據(jù)集共分為5個(gè)類別:正常N、右膝損傷RK、右踝損傷RA、左膝損傷LK、左踝損傷LA。根據(jù)受測(cè)者康復(fù)程度不同,評(píng)分分值范圍為0.6~1.0。最后計(jì)算得到該樣本1×5獨(dú)熱編碼來代表各類別概率。例如,獨(dú)熱編碼(0.45,0.55,0,0,0)代表其正常概率為0.45,右膝損傷概率為0.55,其它概率為0。因此該樣本分類結(jié)果為右膝損傷,評(píng)分為0.45/0.55=0.82。本數(shù)據(jù)集共有樣本1698份,均通過上文所述方法獲得,各類樣本數(shù)量與比例見表1。
表1 下肢康復(fù)數(shù)據(jù)集
本實(shí)驗(yàn)基本設(shè)置如下:每輪訓(xùn)練客戶端迭代次數(shù)epoch=3; 批大小設(shè)置為B=64; 學(xué)習(xí)率設(shè)置為lr=0.01; 通訊輪數(shù)U=200; 優(yōu)化器限制項(xiàng)參數(shù)μ=0.1; 壓縮類型compression=int16。 對(duì)于高斯差分隱私機(jī)制相關(guān)的參數(shù),設(shè)置隱私預(yù)算ε=1; 容忍度δ=0.1; 噪聲閾值th=10。
本實(shí)驗(yàn)在Ubuntu 20.04系統(tǒng)上進(jìn)行;深度學(xué)習(xí)框架為Pytorch 1.9.1;編程環(huán)境為Python 3.7;CPU為英特爾Core i7-9750;GPU為英偉達(dá)GeForce RTX 2060;顯存為6 G;內(nèi)存為8 G。
GRU-Inception模型在聯(lián)邦學(xué)習(xí)框架上進(jìn)行200輪訓(xùn)練后,在測(cè)試集上對(duì)其進(jìn)行驗(yàn)證。如表2所示,本實(shí)驗(yàn)按照5種類別進(jìn)行結(jié)果整理,其中Pre、Rec代表各類別分類精確率、召回率;TP代表各類別識(shí)別正確的樣本數(shù);FP代表其它類別誤識(shí)別為本類別的樣本數(shù);FN代表本類誤識(shí)別為其它類別的樣本數(shù),則
Pre=TPTP+FP,Rec=TPTP+FN
(29)
表2 GRU-Inception模型聯(lián)邦學(xué)習(xí)分類結(jié)果
對(duì)模型的整體表現(xiàn)進(jìn)行分析,在測(cè)試集上模型的總體準(zhǔn)確率為Acc=0.93。準(zhǔn)確率代表預(yù)測(cè)正確樣本數(shù)占測(cè)試集樣本總數(shù)的比值,即
Acc=num(pred=gt)num(total)
(30)
采用均方根誤差對(duì)模型康復(fù)評(píng)分效果進(jìn)行分析,結(jié)果為RMSE=0.023。均方根誤差計(jì)算如下
RMSE=∑mi=1(yi-xi)2/m
(31)
其中,y,x分別代表預(yù)測(cè)分值以及真值分值,下標(biāo)i代表樣本編號(hào),m代表樣本數(shù)。
除了對(duì)模型整體效果進(jìn)行實(shí)驗(yàn),本文對(duì)聯(lián)邦學(xué)習(xí)過程中各重要步驟分別進(jìn)行驗(yàn)證。在本地訓(xùn)練過程中,resSGD優(yōu)化器在隨機(jī)梯度下降基礎(chǔ)上引入限制項(xiàng),防止本地更新后的局部模型和全局模型相差過大導(dǎo)致模型發(fā)散。對(duì)帶限制項(xiàng)的resSGD優(yōu)化器效果進(jìn)行驗(yàn)證,誤差曲線對(duì)比如圖4所示,帶限制項(xiàng)的resSGD優(yōu)化器為BASE,不帶限制項(xiàng)的SGD優(yōu)化器為NR(no restriction)。
圖4 是否使用限制項(xiàng)優(yōu)化器對(duì)比
由圖4可見,是否使用限制項(xiàng)優(yōu)化器其整體誤差曲線相似。但在訓(xùn)練開始及結(jié)束階段,不使用限制項(xiàng)時(shí)模型訓(xùn)練誤差有相對(duì)較大幅度的波動(dòng)。在測(cè)試集上進(jìn)行對(duì)比,加入限制項(xiàng)時(shí)模型Acc=0.93,RMSE=0.023;不加限制項(xiàng)時(shí)模型Acc=0.90,RMSE=0.025。由于不同節(jié)點(diǎn)梯度相差較大,全局更新時(shí)波動(dòng)與震蕩難以避免,嚴(yán)重時(shí)會(huì)影響模型收斂。帶限制項(xiàng)的resSGD優(yōu)化器可減少訓(xùn)練時(shí)模型參數(shù)波動(dòng)幅度,提升收斂穩(wěn)定性與模型性能。
在客戶端與服務(wù)器通訊階段,為減輕網(wǎng)絡(luò)傳輸負(fù)擔(dān),加快模型傳輸速度,采用int16量化編碼壓縮。對(duì)量化編碼壓縮效果進(jìn)行驗(yàn)證,誤差曲線對(duì)比如圖5所示,使用編碼壓縮為BASE,不使用編碼壓縮為NC(no compression)。
圖5 是否使用量化編碼壓縮對(duì)比
由圖5可見,是否使用編碼壓縮其整體誤差曲線十分接近。在測(cè)試集上進(jìn)行對(duì)比,使用編碼壓縮時(shí)模型Acc=0.93,RMSE=0.023;不使用編碼壓縮時(shí)模型Acc=0.93,RMSE=0.021。本模型中各層參數(shù)最大最小值相差基本小于50,而int16類型范圍為65 536,進(jìn)行量化壓縮時(shí)可保證1e-3的精度。因此,量化編碼壓縮后的模型精度損失較小,但文件大小可降為50%,大幅減輕傳輸壓力。
在全局更新階段,為保護(hù)數(shù)據(jù)隱私,在聯(lián)邦平均算法基礎(chǔ)上加入高斯噪聲實(shí)現(xiàn)差分隱私機(jī)制。對(duì)高斯差分隱私機(jī)制進(jìn)行驗(yàn)證,誤差曲線對(duì)比如圖6所示,使用高斯機(jī)制的聯(lián)邦平均算法為BASE,普通聯(lián)邦平均算法為NN(no noise)。
圖6 是否使用高斯差分隱私機(jī)制對(duì)比
由圖6可見,無噪聲時(shí)模型訓(xùn)練誤差低于添加高斯噪聲。在測(cè)試集上進(jìn)行對(duì)比,添加噪聲時(shí)模型Acc=0.93,RMSE=0.023;無噪聲時(shí)模型Acc=0.93,RMSE=0.025。添加高斯噪聲雖使模型訓(xùn)練誤差增加,收斂速度變慢,但在測(cè)試集上其表現(xiàn)接近甚至略優(yōu)于無噪聲??梢娺m當(dāng)添加高斯噪聲既能保護(hù)數(shù)據(jù)隱私安全,防止信息泄漏,又可以使模型過擬合程度減輕,泛化性能得到一定的改善。
為驗(yàn)證GRU-Inception模型在下肢康復(fù)數(shù)據(jù)集上的表現(xiàn),將其與一些最新時(shí)序網(wǎng)絡(luò)模型經(jīng)聯(lián)邦學(xué)習(xí)后在測(cè)試集上進(jìn)行比較,結(jié)果見表3。
表3 不同模型對(duì)比
表3可見,GRU-Inception在評(píng)分準(zhǔn)確度上略低于InceptionTime,但分類預(yù)測(cè)準(zhǔn)確率有較大提升。對(duì)比mWDN、LSTM_FCN與XCM,GRU-Inception模型在下肢康復(fù)數(shù)據(jù)集上的整體表現(xiàn)更好。而MINIROCKET雖在單節(jié)點(diǎn)訓(xùn)練時(shí)效果突出,但聯(lián)邦學(xué)習(xí)時(shí)該模型不收斂,說明其對(duì)參數(shù)擾動(dòng)較為敏感。實(shí)驗(yàn)結(jié)果表明,經(jīng)聯(lián)邦學(xué)習(xí)訓(xùn)練后GRU-Inception模型在下肢康復(fù)數(shù)據(jù)集上綜合表現(xiàn)較優(yōu)。除某些對(duì)參數(shù)擾動(dòng)比較敏感的模型外,本文構(gòu)建的聯(lián)邦學(xué)習(xí)系統(tǒng)對(duì)各類模型結(jié)構(gòu)適應(yīng)性強(qiáng),適用范圍廣。
本文提出一種基于聯(lián)邦學(xué)習(xí)的下肢康復(fù)評(píng)估算法,用于保護(hù)數(shù)據(jù)隱私安全并進(jìn)行模型訓(xùn)練與康復(fù)評(píng)估。聯(lián)邦學(xué)習(xí)系統(tǒng)的搭建上,本文采用客戶端選擇機(jī)制及量化編碼壓縮算法提高通訊效率,設(shè)計(jì)帶限制項(xiàng)的resSGD優(yōu)化器保證模型收斂,最后利用高斯差分隱私實(shí)現(xiàn)數(shù)據(jù)保護(hù)。在此基礎(chǔ)上設(shè)計(jì)了GRU-Inception模型完成康復(fù)評(píng)估任務(wù)。
實(shí)驗(yàn)結(jié)果表明,本文提出的基于聯(lián)邦學(xué)習(xí)的下肢康復(fù)評(píng)估算法整體表現(xiàn)較優(yōu),有助于打破醫(yī)療機(jī)構(gòu)之間的數(shù)據(jù)壁壘,使多方協(xié)同訓(xùn)練出準(zhǔn)確度高、泛用性好的康復(fù)評(píng)估模型成為可能。