蔡皓宇 姚國(guó)田 安晟毅 李碩涵 顏 旭 王曉燕*
(吉林大學(xué),吉林 長(zhǎng)春 130015)
多藥治療(相對(duì)于單一藥物或單一療法)的風(fēng)險(xiǎn)取決于任何特定病例的特定組合和診斷。在藥理學(xué)中廣為接受的是,如果不對(duì)試驗(yàn)對(duì)象的特定藥物組合進(jìn)行研究,就不可能準(zhǔn)確預(yù)測(cè)藥物組合的副作用或臨床效果。了解所討論的單個(gè)藥物的藥理學(xué)特征并不能確保準(zhǔn)確預(yù)測(cè)這些藥物組合的副作用,因?yàn)樵诓煌幬锏南嗷プ饔孟?,藥物的活性?huì)發(fā)生難以預(yù)料的變化。多種藥物不一定是不明智的,但在許多情況下會(huì)導(dǎo)致負(fù)面結(jié)果或治療效果不佳,通常弊大于利,或者風(fēng)險(xiǎn)太大而收益太少。因此,衛(wèi)生專(zhuān)業(yè)人員認(rèn)為這種情況需要進(jìn)行監(jiān)測(cè)和審查,以驗(yàn)證是否所有藥物仍然是必要的。
因此我們需要計(jì)算機(jī)化決策支持來(lái)為多藥治療措施提供參考。Decagon 即是一種模擬多藥副作用的圖卷積神經(jīng)網(wǎng)絡(luò)方法。通過(guò)對(duì)大量的邊類(lèi)型的多模態(tài)圖處理,經(jīng)過(guò)多模式網(wǎng)絡(luò)進(jìn)行關(guān)系鏈接的預(yù)測(cè)。
本文利用來(lái)自吉林大學(xué)第一醫(yī)院的臨床數(shù)據(jù),使程序讀入補(bǔ)充的蛋白質(zhì)之間的相互作用、藥物對(duì)蛋白質(zhì)的作用的擴(kuò)展數(shù)據(jù)同時(shí)結(jié)合基礎(chǔ)數(shù)據(jù),進(jìn)行對(duì)多種可能的多藥副作用的評(píng)估。
讀入編碼后的補(bǔ)充藥物-蛋白質(zhì)相互作用(圖1)以及蛋白質(zhì)-蛋白質(zhì)物理結(jié)合(圖2)數(shù)據(jù),編碼規(guī)則及基礎(chǔ)數(shù)據(jù)依照SIDER(副作用資源)數(shù)據(jù)庫(kù)以及OFFSIDE 數(shù)據(jù)庫(kù)。
圖1 藥物- 蛋白質(zhì)相互作用(部分)
圖2 蛋白質(zhì)- 蛋白質(zhì)物理結(jié)合(部分)
將多藥副作用數(shù)據(jù)建模作為編碼藥物、蛋白質(zhì)和副作用關(guān)系的多模態(tài)圖上的多關(guān)系鏈接預(yù)測(cè)問(wèn)題。這些關(guān)系用圖G=(V,R) 表示,有N 個(gè)節(jié)點(diǎn)(蛋白質(zhì)、藥物)和標(biāo)記的邊(vi,r,vj),r 作為邊(關(guān)系)類(lèi)型。類(lèi)型包括:兩種蛋白質(zhì)之間的物理結(jié)合、藥物和蛋白質(zhì)之間的靶標(biāo)關(guān)系、兩種藥物之間的特定類(lèi)型的副作用,圖3 為一個(gè)多藥副作用關(guān)系圖示例。
圖3 多藥副作用關(guān)系圖示例
多藥副作用的預(yù)測(cè)需要針對(duì)藥物對(duì)和副作用關(guān)聯(lián)進(jìn)行考察。最重要的是每一種單獨(dú)的藥物副作用需要對(duì)這種關(guān)聯(lián)產(chǎn)生限制。通過(guò)使用圖G 來(lái)對(duì)位于藥物節(jié)點(diǎn)間的標(biāo)記的邊進(jìn)行預(yù)測(cè)。我們對(duì)于每個(gè)藥物對(duì)(vi,vj)進(jìn)行邊成立的可能性確認(rèn),即藥物vi和vj的共用與患者群體中r型多藥副作用有關(guān)的可能性。
所以我們應(yīng)用由斯坦福大學(xué)開(kāi)發(fā),可以處理具有大量邊類(lèi)型的多模態(tài)圖的非線性多層卷積圖神經(jīng)網(wǎng)絡(luò)模型Decagon,使Decagon 在圖G 上運(yùn)行。Decagon 主要由編碼器和解碼器組成。編碼器模型將圖G 和附加節(jié)點(diǎn)特征向量作為輸入xi并產(chǎn)生一個(gè)節(jié)點(diǎn)d 嵌入對(duì)于圖中的每個(gè)(藥物、蛋白質(zhì))節(jié)點(diǎn)。圖中跨區(qū)域的信息經(jīng)由模型進(jìn)行共享,每一種關(guān)系類(lèi)型都有自己獨(dú)立的通道進(jìn)行處理。對(duì)每一個(gè)節(jié)點(diǎn)而言,鄰居的特征向量由Decagon 進(jìn)行變換和聚合。這樣,Decagon 只考慮節(jié)點(diǎn)的一階鄰域,并對(duì)圖中的所有位置應(yīng)用相同的變換。該神經(jīng)網(wǎng)絡(luò)模型的單層采用以下形式:
編碼器將每個(gè)節(jié)點(diǎn)vi∈V映射到一個(gè)嵌入,一個(gè)實(shí)值的向量表示z i∈Rd,其中d 是節(jié)點(diǎn)表示的維數(shù)。接著描述系統(tǒng)的解碼器組件。解碼器的目標(biāo)是通過(guò)學(xué)習(xí)節(jié)點(diǎn)嵌入和對(duì)每個(gè)標(biāo)簽(邊類(lèi)型)進(jìn)行不同的處理,在G 中重構(gòu)標(biāo)記邊。解碼器通過(guò)一個(gè)函數(shù)g 得到一個(gè)有關(guān)(vi,r,v)j的分?jǐn)?shù),其目標(biāo)是分配一個(gè)分?jǐn)?shù)g(vi,r,vj)表示藥物vi和vj經(jīng)關(guān)系/副作用類(lèi)型相互作用的可能性有多大。使用嵌入系統(tǒng)的編碼器和zi和zj返回的節(jié)點(diǎn)i 和j,解碼器通過(guò)階乘運(yùn)算預(yù)測(cè)候選邊緣(vi,ri,v)j:
然后應(yīng)用函數(shù)σ來(lái)計(jì)算邊的概率:
接下來(lái),通過(guò)區(qū)分以下兩種情況來(lái)區(qū)分系統(tǒng)的解碼器:
當(dāng)vi和vj為藥物節(jié)點(diǎn)時(shí),解碼器g 假設(shè)藥物-藥物相互作用的全局模型(即R),其在多種藥物副作用中的變化和重要性由副作用特定的對(duì)角因子(即Dr)來(lái)描述。這里,R 是一個(gè)形狀為d×d 的可訓(xùn)練參數(shù)矩陣,它可以在所有可能的多藥副作用中模擬全部藥物相互作用。此外,在系統(tǒng)中,每個(gè)代表不同多藥副作用的關(guān)系R 都與一個(gè)對(duì)角d×d 矩陣Dr相關(guān)聯(lián),它模擬了zi中每個(gè)維度對(duì)副作用R 的重要性。然而,系統(tǒng)的一個(gè)顯著特征是對(duì)編碼器的依賴(lài)。而經(jīng)典的張量分解在訓(xùn)練中直接使用節(jié)點(diǎn)表示進(jìn)行優(yōu)化,用端到端的方式計(jì)算它們,節(jié)點(diǎn)嵌入與張量因數(shù)分解一起進(jìn)行優(yōu)化。
當(dāng)vi和vj都不是藥物節(jié)點(diǎn)時(shí),解碼器g 采用雙線性形式對(duì)節(jié)點(diǎn)嵌入的邊緣進(jìn)行解碼。更準(zhǔn)確地說(shuō),在這種情況下,解碼函數(shù)g 與形狀d×d 的可訓(xùn)練參數(shù)矩陣Mr相關(guān)聯(lián),該矩陣模擬了zi和zj中每?jī)蓚€(gè)維度之間的相互作用。然后用雙線性形式計(jì)算預(yù)測(cè)的邊緣概率,然后應(yīng)用σ函數(shù)。
系統(tǒng)構(gòu)造的解碼器可以被看作是不同關(guān)系類(lèi)型之間有效的參數(shù)共享的一種形式。特別是、涉及藥物對(duì)的關(guān)系類(lèi)型使用相同的全局藥物-藥物相互作用模型(即矩陣R),其模式適用于所有藥物相關(guān)類(lèi)型。期望這種解碼參數(shù)化可以減輕罕見(jiàn)副作用的過(guò)度適應(yīng),因?yàn)閰?shù)是由罕見(jiàn)出現(xiàn)的副作用(例如髓炎或鼻息肉)和頻繁出現(xiàn)的副作用(例如低血壓或貧血)共同組成的。其次,要g(vi,r,vj)來(lái)表示一個(gè)藥物組合(vi,vj)和一個(gè)副作用r 之間的關(guān)聯(lián),這個(gè)副作用r 不能單獨(dú)歸因于vi或vj。因此十分重要的是,預(yù)測(cè)系統(tǒng)通過(guò)R 允許i 和j 的嵌入中的任意兩個(gè)維度之間的非零交互。
模型訓(xùn)練:在模型訓(xùn)練過(guò)程中,利用交叉熵?fù)p失對(duì)模型參數(shù)進(jìn)行優(yōu)化:
為了激勵(lì)模型將更高的概率分配給觀測(cè)到的邊(vi,r,vj) 而不是隨機(jī)的非邊。對(duì)于圖中的每一個(gè)藥物邊(vi,r,vj)(即正例),通過(guò)隨機(jī)選擇節(jié)點(diǎn)vn來(lái)抽樣一個(gè)隨機(jī)邊(vi,r,vn)(即反例)。這是通過(guò)將邊(vi,r,vj) 中的節(jié)點(diǎn)vj替換為節(jié)點(diǎn)vn來(lái)實(shí)現(xiàn)的,節(jié)點(diǎn)vn是據(jù)抽樣的分布而任意的選擇。最終,在考慮所有邊后,得到了損失函數(shù)為:
根據(jù)1309 種副作用類(lèi)型,設(shè)置經(jīng)過(guò)20 個(gè)Epoch(訓(xùn)練次數(shù)),512 個(gè)batch_size(訓(xùn)練大?。?,dropout 率為0.1的訓(xùn)練后,得到關(guān)于AUROC、AUPRC、AP@50 的輸出結(jié)果如圖4。
圖4 輸出結(jié)果(部分)
將Decagon 的性能與其他方法進(jìn)行比較。從表1 的結(jié)果中我們看到,考慮到多模式網(wǎng)絡(luò)表示和對(duì)大量不同的副作用進(jìn)行建模,Decagon 的性能大大優(yōu)于其他方法。在964 種副作用類(lèi)型中,Decagon 優(yōu)于替代方法 19.7%(AUROC)、22.0% (AUPRC) 和36.3% (AP@50)。Decagon的改進(jìn)相對(duì)于張量分解方法尤其明顯,其中Decagon 超過(guò)基于張量的方法高達(dá)68.7% (AP@50)。這一發(fā)現(xiàn)突出了直接優(yōu)化張量分解的潛在限制(即普通的 RESCAL和DEDICOM),不依賴(lài)于圖結(jié)構(gòu)的卷積編碼器。我們還將Decagon 與其他兩種方法進(jìn)行了比較,我們將其用于多關(guān)系鏈接預(yù)測(cè)任務(wù)。我們觀察到,與基于張量的方法相比,DeepWalk 神經(jīng)嵌入和級(jí)聯(lián)藥物特征實(shí)現(xiàn)了9.0%(AUROC) 和20.1% 的增益(AUPRC)。然而,這些方法采用兩階段管道,由藥物特征提取模型和鏈接預(yù)測(cè)模型組成,兩者都是單獨(dú)訓(xùn)練的。此外,他們不能考慮我們展示的包含有用信息的不同副作用的相互依賴(lài)性。
表1 方法比較
本文使用Decagon 方法構(gòu)建模型,并用來(lái)自吉林大學(xué)吉林大學(xué)第一醫(yī)院的臨床數(shù)據(jù)作為補(bǔ)充輸入,利用AUROC、AUPRC 和AP@50 評(píng)估訓(xùn)練結(jié)果,從而為可能的多藥副作用類(lèi)型進(jìn)行數(shù)據(jù)支持。該研究為多藥副作用的預(yù)測(cè)方法投入到臨床應(yīng)用的可行性提供了基礎(chǔ)。