0371-63934118
63921550
63910120 63914606
63974598 63928159
發(fā)布日期:2019-11-05 11:10:57
影輔助診斷主要做兩件事情:
醫(yī)學(xué)知識(shí)圖譜構(gòu)建;基于疾病的診斷。今天我們來(lái)分析如何用AI技術(shù)做食道癌識(shí)別和輔助診斷。
食道癌是世界五大惡性腫瘤之一,我國(guó)又是食道癌的高發(fā)地區(qū)。這個(gè)項(xiàng)目的目標(biāo)是通過(guò)影像判別病人是否可能患有癌癥。
項(xiàng)目的整體流程如下:
采集數(shù)據(jù)集:內(nèi)窺鏡探頭一般從患者鼻腔進(jìn)入,然后經(jīng)過(guò)咽喉和食管,最后到達(dá)胃。我們采集食管數(shù)據(jù)的時(shí)候,可能會(huì)引入大量非食管數(shù)據(jù)。數(shù)據(jù)標(biāo)注與模型建立:然后對(duì)這些數(shù)據(jù)做區(qū)分,通過(guò)食管判別模型,只保留食管數(shù)據(jù)。然后將食管數(shù)據(jù)送到下一個(gè)模型,這個(gè)模型只做一件事情,就是把正常的食管和異常的食管區(qū)別開(kāi)來(lái)。圖像分析:區(qū)分之后,再把病變的食管數(shù)據(jù)送到下一個(gè)環(huán)節(jié),判斷這個(gè)圖像代表的是癌癥還是炎癥。整個(gè)流程大致可以分為這樣三個(gè)階段,接下來(lái)我會(huì)簡(jiǎn)單介紹每個(gè)階段的難點(diǎn)。
圖像數(shù)據(jù)集少、表現(xiàn)不一
通常的圖像分類(lèi)任務(wù)動(dòng)輒幾十萬(wàn)、上百萬(wàn),甚至上千萬(wàn)的數(shù)據(jù)量相比,醫(yī)療影像它的數(shù)據(jù)量是非常少的。同時(shí),由于設(shè)備參數(shù)、醫(yī)生的拍照手法或拍攝角度、光照的明暗不同,食管的表觀(guān)變化非常復(fù)雜。
那么,我們?cè)鯓硬拍茉谶@樣的條件下得到一個(gè)可靠穩(wěn)定的模型?
采用Feature map。Feature Map是卷積核卷出來(lái)的,你用各種情況下的卷積核去乘以原圖,會(huì)得到各種各樣的feature map。你可以理解為你從多個(gè)角度去分析圖片。而不同的特征提?。ê耍?huì)提取不同的feature,模型想要達(dá)成的目的是解一個(gè)最優(yōu)化,來(lái)找到能解釋現(xiàn)象的最佳的一組卷積核。
在同一層,我們希望得到對(duì)于一張圖片多種角度的描述,具體來(lái)講就是用多種不同的卷積核對(duì)圖像進(jìn)行卷,得到不同核(這里的核可以理解為描述)上的響應(yīng),作為圖像的特征。
他們的聯(lián)系在于形成圖像在同一層次不同基上的描述。下層的核主要是一些簡(jiǎn)單的邊緣檢測(cè)器(也可以理解為生理學(xué)上的simple cell)。
在拿到食管數(shù)據(jù)之后,如何判別這個(gè)食管屬于健康正常食管還是病變食管呢?
這個(gè)問(wèn)題跟前面的問(wèn)題比較類(lèi)似,也是一個(gè)判別模型。
它們的不同之處在哪呢?
當(dāng)我們判斷一個(gè)食管是否異常食管時(shí),只需要找到一個(gè)病變區(qū)域,就能夠說(shuō)明這個(gè)食管是異常的。
但是反過(guò)來(lái),在正常圖像中,并不能說(shuō)找到一個(gè)正常特征,就說(shuō)明這個(gè)食管是正常的。只能說(shuō)在這張圖像中我們沒(méi)有找到異常特征,它可能是見(jiàn)正常的。
因此,在正常特征和異常特征之間,我們更傾向于提取病變特征,抑制正常特征。
我們是怎么做到呢?
病變和正常的case都會(huì)經(jīng)過(guò)神經(jīng)網(wǎng)絡(luò),以得到特征向量。對(duì)于這個(gè)向量,我們希望盡可能凸顯異常特征,讓正常特征趨近于0。
我們是如何把這種信息建模到模型中的呢?
我們對(duì)模型進(jìn)行了重新建模,最后準(zhǔn)確率大概在97%左右。
前面的模型相對(duì)來(lái)說(shuō)比較簡(jiǎn)單,第三個(gè)模型主要是區(qū)分炎癥和癌癥,它與前兩個(gè)問(wèn)題不大一樣。
一般情況下,病變的食管圖像里都會(huì)伴隨著一些炎癥的特征。
我們對(duì)癌癥的判斷往往是通過(guò)一個(gè)紋理特別小的區(qū)域得出的,因此需要提取出更加精細(xì)化的特征。比較好的做法就是讓很多專(zhuān)家把病灶區(qū)非常嚴(yán)謹(jǐn)?shù)貥?biāo)注出來(lái),這樣我們只需要對(duì)這個(gè)區(qū)域進(jìn)行識(shí)別就好了。
這個(gè)標(biāo)注量非常大,因此數(shù)據(jù)異常匱乏。我們沒(méi)有癌癥區(qū)域的標(biāo)注數(shù)據(jù),但又希望得到非常精細(xì)化的特征,如何解決這個(gè)矛盾呢?
幸運(yùn)的是,我們雖然無(wú)法獲取到非常精準(zhǔn)的病變區(qū)域標(biāo)注影像,卻能夠相對(duì)容易地知道一張圖像是否包含癌癥,因?yàn)橹恍枰±龑?duì)應(yīng)關(guān)聯(lián)起來(lái)就好了。這樣一來(lái),我們可以更容易地得到圖像全局的標(biāo)簽。
如果一張圖像包含了癌癥,必然會(huì)有一個(gè)或幾個(gè)區(qū)域包含了癌癥的特征。也就是說(shuō),如果我們把圖像切分成幾個(gè)patch,必然會(huì)有某個(gè)或某幾個(gè)patch包含癌癥特征。基于這樣一種思路,我們采取了多序列的學(xué)習(xí)方式。這個(gè)方法的內(nèi)在思想很簡(jiǎn)單,就是把圖像切分成若干個(gè)patch,然后對(duì)每個(gè)patch建模,判別這個(gè)patch發(fā)生癌癥的概率。
我們最后把所有patch里面癌癥概率最高的那塊,作為圖像是否包含癌癥的標(biāo)簽。
做的過(guò)程當(dāng)中,我們會(huì)逐漸積累精準(zhǔn)標(biāo)注的數(shù)據(jù),這些數(shù)據(jù)非常少,不足以虛擬一個(gè)模型。但圖像中的特征都是最精準(zhǔn)的,是經(jīng)過(guò)人為校驗(yàn)和標(biāo)注的。
我們?cè)鯓硬拍馨堰@種少量的、精準(zhǔn)的數(shù)據(jù)強(qiáng)化到癌癥識(shí)別中去呢?
這是個(gè)非常有意思的問(wèn)題,如果能解決這個(gè)問(wèn)題,即使只有少量標(biāo)準(zhǔn)數(shù)據(jù),我們也能不斷提升。
這里主要采用了多任務(wù)學(xué)習(xí)的方法,這個(gè)方法需要完成兩個(gè)任務(wù):
基于有病變區(qū)域標(biāo)注的數(shù)據(jù)建立有監(jiān)督的學(xué)習(xí)任務(wù);對(duì)于沒(méi)有病變區(qū)域標(biāo)注的數(shù)據(jù),建立前面提到的多序列學(xué)習(xí)任務(wù)。這兩個(gè)模型共享特征提取網(wǎng)絡(luò),特征提取網(wǎng)絡(luò)必須同時(shí)滿(mǎn)足兩大任務(wù),這樣才能把精準(zhǔn)標(biāo)注的特征強(qiáng)化到癌癥識(shí)別中去。
以上是我們食道癌項(xiàng)目的簡(jiǎn)單介紹,下面再簡(jiǎn)單介紹一下我們?cè)谳o助診斷方面做的一些工作。
輔助診斷的目的是什么呢?
我們希望機(jī)器最終能夠像臨床醫(yī)生一樣具備診斷疾病的能力。
在介紹輔助診斷項(xiàng)目之前,我們先來(lái)看看一個(gè)醫(yī)生或者一個(gè)普通的學(xué)生是如何成長(zhǎng)為一名專(zhuān)家的:一個(gè)學(xué)生從剛?cè)雽W(xué)開(kāi)始,學(xué)習(xí)了大量專(zhuān)業(yè)課程,閱讀了大量專(zhuān)業(yè)醫(yī)學(xué)文獻(xiàn)后,就可以積累一定程度的醫(yī)學(xué)知識(shí)。
當(dāng)醫(yī)學(xué)知識(shí)達(dá)到一定程度之后,就可以去醫(yī)院里面實(shí)習(xí),由臨床醫(yī)生結(jié)合一些真實(shí)案例,指導(dǎo)他去學(xué)習(xí)診斷的技能。
當(dāng)我們具備了這些技能,就能夠成為一名普通的醫(yī)生,醫(yī)生可以看到大量的病人,學(xué)習(xí)大量經(jīng)驗(yàn),經(jīng)驗(yàn)足夠豐富之后就成了專(zhuān)家。
機(jī)器成長(zhǎng)的過(guò)程與人類(lèi)大致相似。
我們可以將其分為三個(gè)階段:
醫(yī)學(xué)知識(shí)圖譜的構(gòu)建,也就是機(jī)器學(xué)習(xí)知識(shí)的過(guò)程;有了知識(shí)之后學(xué)習(xí)診斷的能力,也就是建立疾病判別的一些模型;讓機(jī)器在與專(zhuān)家的博弈過(guò)程中,不斷提升診斷水平,逐漸逼近甚至超過(guò)專(zhuān)家。醫(yī)療知識(shí)圖譜的構(gòu)建過(guò)程中,我們首先要對(duì)文本數(shù)據(jù)進(jìn)行處理。文本數(shù)據(jù)分成兩類(lèi),一類(lèi)是半結(jié)構(gòu)化數(shù)據(jù),一類(lèi)是非結(jié)構(gòu)化數(shù)據(jù)。
這里我列舉一個(gè)例子,說(shuō)明我們?nèi)绾伟逊墙Y(jié)構(gòu)化的文本變成結(jié)構(gòu)化文本,也就是計(jì)算機(jī)可以理解的形式。
我們可以把病史分為幾個(gè)部分:疾病的情況、入院的治療經(jīng)過(guò)、入院的依據(jù)等;把病史分為這樣幾部分信息后,再對(duì)每一類(lèi)信息進(jìn)行細(xì)化和提?。唤?jīng)過(guò)提取之后,非結(jié)構(gòu)化的文本就變成了計(jì)算機(jī)能夠理解的結(jié)構(gòu)化文本;我們會(huì)把這些信息轉(zhuǎn)化為醫(yī)學(xué)知識(shí)圖譜存在電腦里,于是計(jì)算機(jī)就把這個(gè)知識(shí)學(xué)會(huì)了。
以上就是醫(yī)學(xué)知識(shí)圖譜的構(gòu)建過(guò)程。
第二步我們會(huì)有一個(gè)診斷模型。
診斷的過(guò)程是這樣的,首先把一段人類(lèi)語(yǔ)言描述的病情轉(zhuǎn)化成計(jì)算機(jī)可以理解的結(jié)構(gòu)化知識(shí)。有了結(jié)構(gòu)化的知識(shí)以后,機(jī)器就能理解這個(gè)人的情況,把知識(shí)推送到疾病診斷模型當(dāng)中,模型將給出一個(gè)疾病列表,診斷模型的流程大致就是這樣。
下面我們來(lái)看一個(gè)病情理解的實(shí)例。
通過(guò)技術(shù)對(duì)病人病情的理解可以得到一些基本信息,其中包含性別、年齡,這個(gè)人的主動(dòng)描述、現(xiàn)病史和既往史等。
主動(dòng)描述里會(huì)提到癥狀以及持續(xù)的時(shí)間,甚至一些更復(fù)雜的信息,比如說(shuō)唾沫是什么樣子的,咳嗽是否帶痰。這些信息都會(huì)詳細(xì)刻畫(huà)出來(lái),按照前面提到的模式畫(huà)出病歷,完成對(duì)病情的理解。
理解病情以后,將其輸入診斷模型當(dāng)中。
診斷的demo包含幾個(gè)部分:對(duì)病情的人類(lèi)語(yǔ)言的描述,通過(guò)病情理解后得到結(jié)構(gòu)化的病情表示,之后得出機(jī)器診斷的結(jié)果,按照概率從高到低給出5個(gè)結(jié)果。
我們還給醫(yī)生留了一個(gè)接口,醫(yī)生可以對(duì)診斷結(jié)果評(píng)分,通過(guò)評(píng)分將結(jié)果反饋到模型當(dāng)中。
通過(guò)醫(yī)生和機(jī)器之間的交互,可以將模型迭代得越來(lái)越好。
我們?cè)趯?shí)驗(yàn)室數(shù)據(jù)里選擇了大概10萬(wàn)個(gè)真實(shí)病例進(jìn)行測(cè)試,TOP1的結(jié)果與醫(yī)生的一致率大概是92%,TOP3是90%,但這種模型還需要更多臨床病例做驗(yàn)證。
本文由 @pms-rolia 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自 Unsplash,基于 CC0 協(xié)議