文章于2017年6月送出到Arxiv,投稿于 Neuroinformatics (2018),Published online: 3 May 2018
作者機關:Department of Computer Science and Engineering,Lehigh University
文章截止2019.3.25的引用量為50
文章代碼見github
這篇文章主要的創新點在于不同于之前的公式化loss,作者設計了一個可以進行學習的loss函數(一個神經網絡的輸出作為loss);并借鑒GAN訓練的思路,采用min-max的對抗學習模式來訓練segment網絡和loss網絡,得到了目前(2017年)state-of-art的分割結果。此外,作者沒有直接用預測圖與ground truth二值圖計算loss,而是分别利用它們對原圖進行掩膜後再計算loss,也是一個很好的idea。
問題的提出
首先,作者提出了一個問題:在醫學圖像分割中,目前(2017年)state-of-art的網絡結構Unet存在的一個問題是無法有效解決圖像中像素類别不平衡的問題。針對這個問題,之前有人提出過用weighted cross-entropy loss來進行優化,但是作者認為這個weghted loss 的問題是 task-specific 以及難以優化的。
作者基于上述問題,并借鑒了GAN的思路,設計了新的分割網絡,并提出了Multi-scale L1 Loss來優化分割網絡。
網絡結構
整個網絡分為segmentor和critic兩部分:
1、segmentor部分為普通的unet結構,encoder部分為4層stride=2的卷積,decoder部分為4層upsample,輸出為網絡預測的惡性良性腫瘤二值圖像;
2、critic部分的網絡共用segmentor部分encoder的前三層,分别向critic部分輸入經預測的惡性良性腫瘤二值圖掩膜的原始輸入圖像,以及經真值惡性良性腫瘤二值圖掩膜的原始輸入圖像,最後的loss計算兩個不同輸出之間的MAE值(L1 loss)。其中Multi-scale展現在對critic部分每一個卷積層輸出的特征圖像都計算MAE值,最後的總loss取平均。
3、訓練方式類似于GAN的min-max對抗學習過程。首先,固定S(segmentor),對C(critic)進行一輪訓練;再固定C(critic),對S(segmentor)進行一輪訓練,如此反複。對 critic 的訓練想使loss變大(min),對 segmentor 訓練想使loss變小(max)。
其loss函數如下式所示:
訓練的穩定性與收斂性證明
1、首先定義幾個概念:
f : χ → χ ′ f: \chi \rightarrow \chi^{'} f:χ→χ′ 表示從輸入圖像的緊空間到輸出分割圖的緊空間的映射。
g θ : χ → χ ′ g_{\theta}: \chi \rightarrow \chi^{'} gθ:χ→χ′ 表示上述映射 f f f的估計,即為segmentor
g θ ^ : χ → χ ′ g_{\hat\theta}: \chi \rightarrow \chi^{'} gθ^:χ→χ′ 表示從輸入圖像的緊空間到真值分割圖的緊空間的映射。即理想最優的segmentor
2、接着證明一個關于Lipschitz 連續性的引理:
3、最後證明網絡訓練穩定且收斂:
( 詳細證明過程見原文章 )
實驗結果
在Brats13和Brats15資料集上進行了實驗,目标是分割出腦部MRI影像中的3類惡性良性腫瘤,評價名額為DICE分數。
資料集中包含有T1、T1c、T2、Flair四個模态,作者實驗中隻使用T1c、T2、Flair三個模态作為輸入,因為發現這對最後的結果沒有明顯影響,且節約了顯存。
作者探究了不同的segmentor、critic的組合搭配,包括:
1、S1-1C:每個S1-1C網絡分割一類惡性良性腫瘤,需要分别訓練三個獨立的S1-1C;
2、S3-1C:S3-1C中segmentor輸出三個通道,分别對應三類惡性良性腫瘤的預測圖,但critic隻有一個
3、S3-3C:與S3-1C相比,使用3個不同的critic來評價不同類别惡性良性腫瘤的分割結果
4、S3-3C:single scale:與S3-3C相比,loss計算隻使用單一scale。其中S3-3C-s3為隻使用critic的第三層輸出特征圖計算loss,S3-3C-s0為隻使用critic的輸入層計算loss。
比較結果如下,S3-3C最優:
與state-of-start比較結果如下:
(其中用于比較的U-net結構與segmentor的結構完全一樣,隻是loss由softmax loss變成了提出的Multi-scale L1 Loss,從這兩者DICE的差别可以看出引入的loss對segmentor的提升效果比較明顯)
讨論:該方法與GAN的關聯
首先我們來看一下基礎的GAN的訓練方式
再來看本文網絡的訓練方式:
可以看出兩者的訓練過程很相似,而且因為本文網絡用于分割任務,使得無論是反傳S還是C,計算的loss都是相同的。作者認為S和C使用相同的loss以及multi-scale的計算形式(有更豐富的梯度資訊反傳)使得整個對抗學習更加穩定。
我比較希望的是,作者再添加一個比較:網絡按傳統方式訓練和按對抗方式訓練。比較好奇這種對抗學習的方式帶來了多大增益。
文章作者公式推導證明了L1 norm可穩定收斂,但沒有對L2 norm進行相關證明。作者嘗試性使用 L2 norm 代替L1 norm,模型不穩定且難以收斂,但并沒有排除L2 norm可能穩定的潛能。
最後,作者提到,目前該模型的缺點:1、對小的分割區域,比起使用pixelwise loss還有些差距;2、對多類别分割任務而言,該模型太大;