黃琪,左劼,孫頻捷
(1.四川大學計算機學院,成都610065;2.上海政法學院,上海200000)
在過去的十年間,神經(jīng)網(wǎng)絡在醫(yī)療圖像識別領域得到了普遍的應用。大量利用神經(jīng)網(wǎng)絡訓練得到的模型在數(shù)據(jù)集上的表現(xiàn)都接近或超過了人類專家的水平。同時人們逐漸發(fā)現(xiàn)限制神經(jīng)網(wǎng)絡在醫(yī)療圖像識別中的進一步發(fā)展的關鍵因素是精細標注數(shù)據(jù)的缺失[1]。在醫(yī)療圖像識別領域,精細標注的數(shù)據(jù)是非常珍貴的,因為這往往需要多名醫(yī)療專家進行長時間的標注工作,耗時耗力。精細標注數(shù)據(jù)的缺失要求人們使用傳統(tǒng)的有監(jiān)督學習之外的方法,以此對缺乏精細標注的數(shù)據(jù)進行學習。多實例學習就是其中的一種方法。
多實例學習介于無監(jiān)督學習和有監(jiān)督學習之間:利用多實例學習,在缺乏針對醫(yī)療圖像的精細標注的情況下,即只利用較弱標簽來進行訓練,也可以接近或達到擁有精細標注的有監(jiān)督學習的效果。
多實例學習往往應用于這樣的場景:醫(yī)療圖像局部的標注是耗時耗力或者無法獲得的,但是全局的標注是相對容易獲得的[2]。多實例學習將一個醫(yī)療圖像的樣本視為一個包,而每一個包中包含了多個實例。專家并不需要對包中的每個實例進行標注,而只需要對整個包進行標注。這樣的做法極大降低了對人力標注的要求。
更加具體地說,我們將一個包認為是多個實例的集合。我們用Xi表示某一個包,用xij?表示其中的一個實例,包中一共有Ni個實例,即有:Xi={xij|j=1,…,Ni}。對于多實例學習,為每一個包Xi賦予一個標注Yi,假設共有m 個包,那么有{(Xi,Yi)|i=1,…,m}。在多實例學習中,通常我們假設,如果一個包中含有至少一個實例是陽性的,那么我們認為這個包就是陽性的,否則是陰性。
根據(jù)處理任務的不同,傳統(tǒng)的多實例學習往往分為兩類:第一類多實例學習方法認為圖像中的表示標簽信息的部分在實例上,即模型不應該聚焦在整個圖像上,而是應該關注圖像中的某一部分,這一部分是具有分辨力的,是帶有整圖像的標簽信息的;第二類多實例學習方法則針對圖像的標簽信息是基于整個圖像的。
多實例學習的工作最早起源于針對藥物分子結(jié)構的識別[3]。隨著神經(jīng)網(wǎng)絡的發(fā)展,大量基于多實例學習的方法被提出。這里我們簡單地將這些方法分為兩類:第一類是全局檢測,即針對一個醫(yī)療圖像,我們需要得到一個基于全局圖片(包)的預測結(jié)果;第二類是局部檢測,即針對一個醫(yī)療圖像,我們只需要圖片其中一部分(實例)即可得到預測結(jié)果。
局部檢測的應用場景是,整個醫(yī)療圖像中只有一部分具有我們需要識別的信息。即圖像中的大部分是不帶有我們所需要的信息的。
例如在乳腺癌識別的任務中[4],為了識別乳腺癌X光圖片中的少量結(jié)塊(占比低于2%),作者設計了一個基于神經(jīng)網(wǎng)絡的端到端的模型來學習。首先該方法利用Otsu’s 方法,將圖片進行分割,以此來移除背景區(qū)域,并將圖片統(tǒng)一尺寸。緊接著利用多實例學習,獲取了不同的實例所產(chǎn)生的不同的響應概率,并將其進行排序。同時,該方法設計了三種不同的多實例損失函數(shù)進行學習。第一種是利用最大池化操作,挑選出響應概率最高的實例,并將整個包的標簽賦予該實例進行學習,這種方法利用了傳統(tǒng)的多實例學習的思想,即如果一個包中的某一個實例是陽性的,那么整個包都是陽性的。具體到該任務,如果是陰性的乳腺癌圖片,那么我們認為所有的實例都是陰性的,如果是陽性的乳腺癌圖片,那么至少有一個實例應該是陽性的。因此很容易想到,將實例中最大陽性概率響應的實例賦予陽性的標簽。第二種方法利用標簽分配的操作,不同于方法一中只為一個包中的某一個實例賦予標簽,方法二為同一個包中的多個實例賦予標簽,進行學習。具體來說,我們將某一個包中的所有實例按照響應概率進行排序,并選擇靠前的多個實例賦予陽性標簽進行學習。第三種方法實際上是前兩種方法的折中,引入一個稀疏因子,表示該實例的重要性和整個包稀疏性的一個權衡,對于良性的實例,我們希望它的響應概率接近0,對于惡性的實例,我們希望它能顯示出乳腺癌的真正標簽。多實例學習在局部檢測中的一大難點就是如何找到帶有標簽信息的實例,而該論文提出的三個不同的loss 就是根據(jù)不同的思想,將圖像的標簽合理的分配到各個實例上,三個方法依次遞進,使得模型學習更加準確。
又例如在識別不同類別的人體切片任務中[5],作者發(fā)現(xiàn)有的類別之間圖片極其相似,圖片之間只有及其細微的地方才能看到差異。因此作者設計了一個兩階段的神經(jīng)網(wǎng)絡來找到圖片(包)中最具有分辨信息的實例。在第一階段里,使用最大池化操作保證每個包中只有一個最大響應的實例訓練網(wǎng)絡,即認為最大響應的實例是我們所需要的,也是和標注吻合的。在這一階段中,模型前向傳播使用的數(shù)據(jù)是全部的數(shù)據(jù)中的實例,但是其反向傳播使用的是某一個包中的最大響應概率的實例。然后在第二階段中,該方法重構了數(shù)據(jù)集:首先將第一階段中全部的高響應實例抽取出來,同時挑選了部分響應概率較低的實例,作為一個新的類別,并認為該類實例屬于無標簽信息的實例,然后繼續(xù)訓練網(wǎng)絡??梢园l(fā)現(xiàn),該方法在沒有精細標注的情況下,成功識別出了圖像中具有信息的和不具有信息的實例,同時根據(jù)這些實例,成功識別出了不同的人體切片。
利用多實例學習進行全局檢測,得到整個醫(yī)療圖像的一個全局預測的場景是更加常見的。因此針對多實例學習進行全局檢測的方法也更多。
在異質(zhì)圖片檢測的任務中[6],隨機的從原始醫(yī)療圖像中選擇一部分,將其提取出來后,利用前景的標注信息,去除背景中無用的部分。使用平均池化的操作將所有的實例平等的納入考慮,即針對包中的所有實例都進行訓練,提高模型的魯棒性,對比使用最大池化操作,只訓練某一個實例的效果提升明顯。同時聚合結(jié)果時并不是將多個實例的結(jié)果壓縮為一個單獨的數(shù)字,而是使用了分位數(shù)聚集的方法,獲得了更全面的信息。當然該方法限制較多,例如該論文使用了圖片的前景標注,提取出了圖片中具有信息的部分,保證了挑選出來的實例都是前景圖片。同時這個工作是假設所有選擇的樣本都是帶有某種標簽特征的樣本,訓練的時候為所有樣本賦予相同的權重,在某些任務中,該假設可能并不適用。
在更加復雜的病理圖像識別任務中[7],由于病理圖像尺寸非常巨大,往往能達到數(shù)億個像素。因此在這樣的圖像上進行精細的標注是非常耗時耗力的。作者基于這樣的考慮,設計了一套軟件標注系統(tǒng)。該系統(tǒng)根據(jù)標注專家在圖像上的縮放比例、停留時間、平移速度等信息,將整個巨大的醫(yī)療圖像的一部分選取為我們感興趣的實例。這樣的實例選擇方法在病理圖像中非常實用,首先病理圖像極其巨大,即使劃分為多個更小的實例,仍然會有大量的實例產(chǎn)生,不管是利用傳統(tǒng)機器學習的方法,還是利用神經(jīng)網(wǎng)絡,計算量都非常巨大。而利用該系統(tǒng)選擇實例,既能減少標注專家所花費的精力和時間,又不需要進一步進行非常精細的分割或者基于像素的標注,同時也可以挑選出大致合理的備選實例,并且極大降低了備選實例的數(shù)量。緊接著,和大部分神經(jīng)網(wǎng)絡方法區(qū)別的是,該方法并沒有直接使用神經(jīng)網(wǎng)絡進行端到端的學習,而是從實例中提取圖像特征,例如圖像的結(jié)構特征,色域通道特征等形成了一個370 維的向量。由于圖像具有多標簽,因此該任務成為了一個多標簽多實例學習的任務。最后,作者利用四種不同的模型方法,簡化任務,例如將多標簽多實例學習任務簡化為單標簽多實例任務或者多標簽單實例任務等,對圖像進行學習預測。該論文中也可以看到在醫(yī)療圖像領域,專業(yè)的標注是十分難以取得的,或者說代價非常巨大。往往少量的圖像標注就需要多名專家花費大量的時間和精力,同時還需要克服專家之間意見不統(tǒng)一的情況。而論文中開發(fā)的標注系統(tǒng)是解決該問題的有效手段之一。
我們調(diào)查了多實例方法在醫(yī)療圖像識別任務中的應用,并將多個方法分為了兩個類別,即針對全局檢測和針對局部檢測。全局檢測認為單個圖像包中的多個實例均對圖像的標簽有貢獻,因此將醫(yī)療圖像中的多個實例都納入模型中進行學習,并根據(jù)圖像全局的信息得到預測結(jié)果;局部檢測即根據(jù)先驗知識,認為整個醫(yī)療圖像中只有小部分具有我們需要的信息,其余部分或者是背景,或者不含有圖像標簽的信息,因此只挑選整個圖像包中的某一個或者某一小部分實例進行學習。隨著多實例學習在醫(yī)療圖像領域中的進一步應用,可以看到越來越多的論文也將這兩種方法進行了結(jié)合。在缺乏精細數(shù)據(jù)標注的醫(yī)療圖像任務中,多實例學習將獲得更多的應用空間。