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