如何用深度學(xué)習(xí)檢測(cè)女性的第一殺手“乳腺癌”?
原創(chuàng)【51CTO.com原創(chuàng)稿件】乳腺癌是女性最常見(jiàn)的浸潤(rùn)性癌癥,也是僅次于肺癌致女性死亡的第二大癌癥。
在本文中我將構(gòu)建一個(gè)基于 WideResNet 的神經(jīng)網(wǎng)絡(luò),并將幻燈片圖像分為兩類(lèi),一類(lèi)使用深度學(xué)習(xí)來(lái)檢測(cè)乳腺癌,另一類(lèi)是不使用深度學(xué)習(xí)來(lái)檢測(cè)。
浸潤(rùn)性導(dǎo)管癌(IDC)是最常見(jiàn)的乳腺癌類(lèi)型。美國(guó)癌癥協(xié)會(huì)估計(jì),每年美國(guó)超過(guò) 18 萬(wàn)婦女發(fā)現(xiàn)患有浸潤(rùn)性乳腺癌,并以 IDC 居多。
準(zhǔn)確識(shí)別和分類(lèi)乳腺癌類(lèi)型是一項(xiàng)重要的任務(wù),基于人工智能的自動(dòng)化方法可大大節(jié)省時(shí)間,減少誤診。
關(guān)于數(shù)據(jù)集
俄亥俄州克利夫蘭凱斯西部?jī)?chǔ)備大學(xué)的研究人員收集了這個(gè)問(wèn)題的數(shù)據(jù)集。原始數(shù)據(jù)集由Kaggle的工作人員預(yù)先處理,作為我們工作的起點(diǎn)。
詳見(jiàn):http://gleason.case.edu/webdata/jpi-dl-tutorial/IDC_regular_ps50_idx5.zip
圖 1:每張幻燈片大約得到 1700 張 50x50 像素的小片
數(shù)據(jù)集有 162 個(gè)大切片(whole mount)幻燈片。這些幻燈片以 40 倍分辨率加以?huà)呙琛W詈螅鼈儽环殖闪?275215 個(gè) 50x50 像素的小片。
然后將 0 或 1 的標(biāo)簽分配給每個(gè)小片,其中包括 IDC 的小片的標(biāo)簽為 1,不包括 IDC 的小片的標(biāo)簽為 0。
圖 2:陽(yáng)性和陰性 IDC 組織的 3 個(gè)例子
用 WideResNet 對(duì)幻燈片進(jìn)行分類(lèi)
使用殘差連接的 ResNet 架構(gòu)非常擅長(zhǎng)處理圖像分類(lèi)任務(wù)。ResNet 的核心思想是,引入跳過(guò)一層或多層的所謂的“身份快捷方式連接”。
WideResNet 架構(gòu)表明只有 16 層深度也可以獲得類(lèi)似的性能。這有助于解決非常深的與 ResNet 有關(guān)的各種問(wèn)題,比如爆炸/消失的梯度和退化。
使用 Vincent Fung(https://medium.com/@vincent.fung13)和 Apil Tamang(https://medium.com/@apiltamang)所寫(xiě)博文中的詳細(xì)信息,我們就能對(duì) ResNet 的實(shí)際用途有一番了解。
圖 3:殘差塊
假設(shè)讓疊加層擬合殘差映射比讓它們直接擬合所需的底層映射來(lái)得容易。這表明,更深層的模型應(yīng)該不會(huì)得出比淺層模型更高的訓(xùn)練錯(cuò)誤。
由于出色的實(shí)踐結(jié)果,ResNet 迅速成了各種計(jì)算機(jī)視覺(jué)任務(wù)中最流行的架構(gòu)之一。
另外,WideResNet 的存在是有它的理由的:精確度每提高一點(diǎn),層數(shù)就要幾乎翻番,所以訓(xùn)練很深的殘差網(wǎng)絡(luò)存在特征重用逐漸減少的問(wèn)題,這使得網(wǎng)絡(luò)訓(xùn)練起來(lái)非常慢。
圖4:WideResNet 訓(xùn)練
為了解決這些問(wèn)題,Zagoruyko 和 Komodakis 對(duì) ResNet 塊的架構(gòu)進(jìn)行了詳細(xì)的實(shí)驗(yàn)研究,在此基礎(chǔ)上提出了一種新的架構(gòu):我們可以減少殘差網(wǎng)絡(luò)的深度,增加寬度。他們稱(chēng)之為寬殘差網(wǎng)絡(luò)。
現(xiàn)在我們將介紹用 WideResNet 架構(gòu)逐步解決這個(gè)問(wèn)題的過(guò)程。我們使用 Deep Learning Studio,迅速構(gòu)建神經(jīng)網(wǎng)絡(luò),無(wú)需操心編程、語(yǔ)法和數(shù)據(jù)集的攝取。
項(xiàng)目創(chuàng)建
登錄到本地或云端運(yùn)行的 Deep Learning Studio 后,點(diǎn)擊+按鈕,即可創(chuàng)建一個(gè)新項(xiàng)目。
數(shù)據(jù)集攝取
然后,我們?cè)?ldquo;數(shù)據(jù)”選項(xiàng)卡中為該項(xiàng)目創(chuàng)建數(shù)據(jù)集。通常,訓(xùn)練和驗(yàn)證之間 80% 和 20% 是個(gè)不錯(cuò)的比例,但如果你愿意,也可以使用其他設(shè)置。
如果機(jī)器的內(nèi)存足夠多,可以將整個(gè)數(shù)據(jù)集加載到內(nèi)存中,別忘了將“將數(shù)據(jù)集加載到內(nèi)存中”設(shè)為“整個(gè)數(shù)據(jù)集”。
創(chuàng)建神經(jīng)網(wǎng)絡(luò)
你可以通過(guò)拖放層來(lái)創(chuàng)建神經(jīng)網(wǎng)絡(luò),如下圖所示:
確保將 WideResNet 設(shè)置成完全可以利用右邊的屬性來(lái)加以訓(xùn)練。另外,第一個(gè)密集層(Dense_3)應(yīng)該有 20 個(gè)左右的神經(jīng)元,ReLU 作為激活函數(shù)。
最終密集層(Dense_1)應(yīng)該將輸出維度設(shè)為 1,將激活設(shè)為 sigmoid。這么做的原因是,我們將這個(gè)問(wèn)題設(shè)置為回歸而不是分類(lèi)。
如果回歸輸出低于 0.5,那么我們可以說(shuō)輸入屬于類(lèi) 0(即沒(méi)有 IDC 癌癥),否則它就有 IDC 癌癥。
超參數(shù)和訓(xùn)練
我們使用的超參數(shù)如下圖所示,你可以隨意更改試用這些超參數(shù)。
最后,你可以從“訓(xùn)練選項(xiàng)卡”來(lái)開(kāi)始訓(xùn)練,并借助訓(xùn)練儀表板來(lái)關(guān)注進(jìn)度。
一旦完成了訓(xùn)練,你可以在結(jié)果選項(xiàng)卡中查看結(jié)果。我們?cè)诔杀緸槊啃r(shí) 0.90 美元的 K80 GPU 上,在幾小時(shí)內(nèi)獲得了 85% 以上的精確度。
有了 Deep Learning Studio,作為 Web 應(yīng)用程序或 REST API 來(lái)部署就輕而易舉,這可以使用部署選項(xiàng)卡來(lái)完成,如下所示:
部署模型
部署的模型可以作為 Web 應(yīng)用程序或 REST API 來(lái)加以訪(fǎng)問(wèn),如下所示:
結(jié)束語(yǔ)
借助 Deep Learning Studio,短短幾分鐘就能構(gòu)建好深度學(xué)習(xí)模型,只需要短短幾秒鐘就可以完成部署。
這種便利將讓開(kāi)發(fā)人員能夠解決復(fù)雜的問(wèn)題,不必?fù)?dān)心編程和 API 等其他方面。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】