徐浩東 王建鋒
(西京學(xué)院,陜西 西安 710000)
高血壓是指以體循環(huán)動脈血壓增高為主要特征,是常見的慢性病。除評估診室血壓外,患者還應(yīng)注意家庭清晨血壓的監(jiān)測和管理,所以可穿戴設(shè)備可以提供持續(xù)的動態(tài)監(jiān)測對控制血壓、降低心腦血管事件的發(fā)生率帶來了巨大的幫助。目前,可穿戴設(shè)備通常利用單模態(tài)數(shù)據(jù)進(jìn)行血壓預(yù)測[2],例如心電信號、加速度信號等,其預(yù)測效果尚未達(dá)到臨床診斷的預(yù)期。本文提出了基于注意力機(jī)制和圖循環(huán)神經(jīng)網(wǎng)絡(luò)的高血壓預(yù)測系統(tǒng),該系統(tǒng)將患者的多模態(tài)生理信號以圖(Graph)的形式表征,已有的高血壓檢測研究表明,多種臨床器械聯(lián)合應(yīng)用能夠明顯提高臨床時間的檢出準(zhǔn)確率。同時,注意力機(jī)制的引入將會考慮患者間的個體差異性,當(dāng)可穿戴設(shè)備佩戴在用戶手腕時,傳感器設(shè)備將持續(xù)動態(tài)地上傳各項生理參數(shù)數(shù)據(jù),云端服務(wù)器根據(jù)個體的差異調(diào)整模型,提高模型的病理分析能力。
系統(tǒng)的整體工作流程分為:線下模型預(yù)訓(xùn)練過程和在線模型訓(xùn)練測試過程。其中線下預(yù)訓(xùn)練過程步驟包括:a.搭建基于可穿戴設(shè)備、智能手機(jī)和云平臺服務(wù)器的數(shù)據(jù)平臺。包括存儲層和數(shù)據(jù)處理層。b.采集可穿戴設(shè)備及其傳感器測量的數(shù)據(jù)。數(shù)據(jù)包括PPG 數(shù)據(jù),三軸加速度數(shù)據(jù),心率、血氧飽和度、血壓和體溫。c.用戶填寫基本信息。數(shù)據(jù)包括姓名、性別、年齡等。d.由專業(yè)醫(yī)護(hù)人員報告監(jiān)護(hù)高血壓事件發(fā)作的事件和表現(xiàn)。e.根據(jù)采集的傳感器信息、靜態(tài)信息和高血壓發(fā)作事件報告建立基于圖長短時記憶單元和注意力機(jī)制的深度神經(jīng)網(wǎng)絡(luò),并將訓(xùn)練好的模型部署至云服務(wù)器。系統(tǒng)線下實施流程圖如圖1 所示。
在線訓(xùn)練測試步驟包括:a.采集可穿戴設(shè)備及其傳感器測量的數(shù)據(jù)。數(shù)據(jù)包括PPG 數(shù)據(jù)、三軸加速度數(shù)據(jù)、心率、血氧飽和度、血壓和體溫。b.通過更新的數(shù)據(jù)和已填寫的用戶基本信息進(jìn)行模型的測試,分析臨床事件發(fā)作的風(fēng)險。c.根據(jù)用戶的報告,在已有模型上分別對用戶報告的結(jié)果進(jìn)行訓(xùn)練,建立針對各個用戶獨立的模型。系統(tǒng)在線實施的流程圖如圖2 所示。
圖2 系統(tǒng)在線實施流程
醫(yī)學(xué)臨床的時序數(shù)據(jù)包括多種數(shù)據(jù)源,一般可表示為X={Xbase,Xwave}。其中,Xbase=[x1,x2, ...,xn],n∈N+表示臨床靜態(tài)數(shù)據(jù),如性別、年齡等。Xwave為多通道時序波形或生理參數(shù)數(shù)據(jù),可以表示為:
這里的m 表示通道個數(shù),n 表示在時間t 內(nèi)采樣序列的長度。從不同通道采集到的序列代表著不同的物理意義。臨床診斷任務(wù)表明將患者的多模態(tài)數(shù)據(jù)聯(lián)合使用在預(yù)測準(zhǔn)確率上比使用單一模態(tài)數(shù)據(jù)有明顯提高。同時不同模態(tài)數(shù)據(jù)之間存在一定的關(guān)聯(lián)關(guān)系,為了表征數(shù)據(jù)間的相互關(guān)系并提取深層的語義信息,本文引入圖的概念。圖是由頂點(Vertex)集合及連接頂點間的邊(Edges)組成的一種數(shù)據(jù)結(jié)構(gòu)。其定義為:
G=(V,E)
其中V={vi|i=1,2,...N} 表示所有頂點的集合,表示頂點的個數(shù)。E={eij|vi,vj∈V},|E|≤N2表示頂點與頂點之間所連接的邊。圖的表示形式有三種,分別為鄰接矩陣、度矩陣和鄰域。當(dāng)頂點個數(shù)較為稠密時,鄰接矩陣是比較合適的表達(dá)方式,本文也將利用鄰接矩陣的形式表征多模態(tài)數(shù)據(jù)。鄰接矩陣是一個元素為bool 值或權(quán)值的N×N矩陣,若圖中存在一條連接頂點vi和vj的邊eij,則aij≠0,否則為0,該矩陣的定義如下:
可穿戴設(shè)備及其傳感器所采集的數(shù)據(jù)包括PPG 信號、三軸加速度數(shù)據(jù)、心率、血氧飽和度、血壓、體溫。臨床醫(yī)學(xué)診斷過程中發(fā)現(xiàn)多模態(tài)數(shù)據(jù)PPG 信號會受到運(yùn)動偽軌跡的影響,因此它與三軸加速度信號直接相關(guān),同時PPG 信號與心率和血氧飽和度也存在一定的關(guān)聯(lián)關(guān)系,而與體溫數(shù)據(jù)沒有關(guān)聯(lián)。本文利用無向圖表示多模態(tài)數(shù)據(jù),因此構(gòu)造的鄰接矩陣Aij是一個對稱方陣,且主對角線元素均為0,橫縱坐標(biāo)表示的通道信號分別為PPG、加速度x 軸、加速度y 軸、加速度z 軸、血氧飽和度、血壓、溫度以及心率。若通道之間存在相互關(guān)系則權(quán)值表示為1,否則為0。鄰接矩陣將和多模態(tài)數(shù)據(jù)一同作為參數(shù)送入Graph LSTM 網(wǎng)絡(luò)中,網(wǎng)絡(luò)將提取各數(shù)據(jù)間的語義信息。
公式中xt為t 時刻的輸入通道向量,ht為當(dāng)前時刻的
圖3 Graph LSTM 內(nèi)部結(jié)構(gòu)
神經(jīng)網(wǎng)絡(luò)模型主要包括Graph LSTM、位置編碼器、多頭自注意力模塊以及預(yù)測模塊,整體框架如圖4 所示。
圖4 神經(jīng)網(wǎng)絡(luò)模型框架
2.4.1 位置編碼器
為了整合關(guān)于序列順序的信息,模型將經(jīng)過Graph LSTM 得到的隱狀態(tài)向量加入位置編碼[5]為時間戳提供相對位置信息,這樣做的好處在于既符合臨床診斷的一般規(guī)律也提高了模型的可解釋性。通過位置編碼器部分,將位置向量pt加到隱狀態(tài)矩陣上,輸出向量Pn的維度與Hwave保持一致:
靜態(tài)信息Xbase經(jīng)過嵌入后表示為Pbase,與多通道時序數(shù)據(jù)處于同一維度空間,因此在傳入注意力機(jī)制之前所有數(shù)據(jù)可以使用矩陣P 來表示:P=(Pn,Pbase)。
2.4.2 多頭注意力機(jī)制
這里的Wq、Wk和Wv為投影矩陣,不同多頭注意力子層之間不共享投影矩陣參數(shù),因此可以在不同空間中捕獲輸入向量之間的相互關(guān)系,自注意力層的輸出通過拼接和經(jīng)過全連接層的操作后將包括全局的向量特征,實現(xiàn)信息融合。經(jīng)過多頭注意力機(jī)制高血壓患者的靜態(tài)信息以及多模態(tài)動態(tài)數(shù)據(jù)可以用P*來表示:P*=(P*n,P*base)。為了預(yù)測高血壓在某時間窗口病發(fā)與否,我們將經(jīng)過多頭注意力機(jī)制的輸出張量P*轉(zhuǎn)換為一個二維向量完成二分類任務(wù)。在這里,本文引入了個性化特征注意力整合方法,具體來說查詢向量Query 由靜態(tài)信息P*base得到,而鍵向量Key 則通過P*n得到。計算公式如所示:
本文提出的基于注意力機(jī)制及圖循環(huán)神經(jīng)網(wǎng)絡(luò)的高血壓預(yù)測系統(tǒng)將多模態(tài)數(shù)據(jù)利用圖的形式表示并轉(zhuǎn)換成結(jié)構(gòu)化數(shù)據(jù),利用Graph LSTM 作為淺層網(wǎng)絡(luò)提取多模態(tài)數(shù)據(jù),提高了模型在預(yù)測高血壓任務(wù)上的準(zhǔn)確率和魯棒性。其次,注意力機(jī)制的引入在原有模型的基礎(chǔ)上進(jìn)一步對特征向量進(jìn)行融合,利用訓(xùn)練得到的注意力權(quán)重合理的分配計算資源,提高模型運(yùn)行時的效率。靜態(tài)信息和動態(tài)序列數(shù)據(jù)的共同作用,使得該預(yù)測方法可以根據(jù)高血壓患者的特點做個性化診斷。