Ensembles of Multiple Models and Architectures for Robust Brain Tumour Segmentation

三个模型的代码开源,但是这个方法的整体不开源:

DeepMedicDeepMedic

FCN:FCN

u-net:u-net

一.摘要:

问题:

    一个应用于脑部肿瘤分割的任务,由于不同的神经网络有不同的性能,表现很容易受不同的网络结构和不同的数据集影响。

方法:

   采用多个神经网络集成,这样就减少了不同网络元参数(超参)的影响,和防止对一些特定数据集的过拟合。

结果:

   在Brats2017上得到了第一名的位置,共50位参赛者。

二.介绍:

前面一部分主要讲的是,当下的一些脑肿瘤分割方法,以及不同架构的元参数不同,甚至不同的预处理方法对于同一个网络,也会产生不同的结果

贡献:

(1).可以对一些不可预知的失败有一定的鲁棒性

(2).用一个泛化能力较好的没有偏见的深度模型进行客观的分析

(3).为了客观性,引入了一个集成的视角

三.Background: Model bias, variance and ensembling

偏差和方差:偏差表示的应该是网络的泛化能力,即与真实值的差距,方差表示在训练集上的抗噪能力(可以这么理解,比如一个神经网络5个类,5个类的,然后把第一类拿出来,求出神经网络对这个训练集的这个1类的所有数据的预测评分,将评分求均值,然后再用每个个例的得分减去均值再平方,最后对所有的平方求均值,得到的就是方差,然后如果训练集里有一个噪声,使得网络碰到这个噪声就对这个第1类打特别高的分,然后网络是因为学到了这个噪声的特征所以就给高分,所以方差就会较大,如果换一个数据集没有这个噪声了,那么测试的效果就会下降)偏差,方差网址:https://blog.csdn.net/jiayk2016/article/details/81227082

1.这些网络不是万能的,如果没有正则化,它们会对数据集的噪声过拟合,在泛化的时候会导致一些错误

2.梯度下降的优化过程,伴随着多个局部最优,这会导致一些不可预测的不一致的错误在不同的实例当中

3.这个构成的模型有高的方差

4.正则化能够减少方差,但是会增加偏置,正如[15]当中所描述的困境

5.正则化可以是显式的,如权重衰减,也可以是隐式的,如CNN核中的局部连通性,即不允许模型学习比感受野更大的方式(权重衰减用L2正则化或者L1正则化,用来防止过拟合)

6.结构和配置的选择会引入偏置,会改变模型的结果

1.一个解决模型偏置和方差困境的方法就是集成, 通过集成模型,集成的去探索高表现和低方差的模型

2.最受欢迎的集成方式,就是平均,它对单个不一致的错误不敏感

3.不同的实例通常被一个网络的不同初始化或者不同的局部最优来集成,去矫正一些多数非常规错误,凭感觉来说,仅仅一些一致的错误能够被平均

4.只能对不一致的错误进行平均。 缺乏一致的失败可以解释为统计独立性。 因此,已经开发了用于使实例去相关的方法。 最受欢迎的是bagging[17],常用于随机森林。 它使用自举采样来学习来自不同数据子集的较少相关实例。

5.上述作品经常讨论集成作为提高性能的手段。 [18]从不可靠性的范围接近高度变化(什么叫N版本)。 他们讨论了将集成作为一种N版本编程,它通过冗余提倡可靠性。在生成N版本的程序时,版本可能会独立失败,但通过多数投票,它们就像一个可靠的系统。 它们形式化了对可靠性的直观要求:a)整体覆盖的目标函数和b)大多数是正确的。 这反过来又提倡组件的多样性,独立性和整体质量

6.生物医学应用是可靠性至关重要的,高变异性(high variance)会阻碍神经网络的使用。 出于这个原因,我们开始调查各种合奏的稳健性。 转而从上述工作中,我们引入了另一种集成视角:创建一个客观的,配置不变的模型,以促进客观分析。

总结:其实就是不同的网络泛化能力不同,所以选择集成模型

四.方法:Ensembles of Multiple Models and Architectures:

预处理方法:

1.Z-score,2bias-correction,3偏置场矫正后面跟一个Nyul预处理

每一个网络都训练三个网络,然后放进EMMA多网络融合模型中去,去平均预处理带来的影响

问题:(可以应用我自己方法的训练当中去)

(1).模型有大的感受野,可以增强模型的定位能力(相当于可以看到更多的像素知道物体在哪),但是会降低模型对较精细纹理的敏感度相对于那些强调局部信息的模型。

(2).关于处理类不平衡的是另一种方法,例如现在有的,对类采样进行加权(也就是会对某一写类别采样多一些),对交叉熵损失进行加权,就像[13]这个文献当中所分析的那样,这个模型每一类的灵敏度会受到影响(不是很理解为什么对类加权会影响灵敏度??)

(3).损失函数的选择也会影响结果,例如,我们观察到训练优化(IoU),dice或类似损失[19]的网络倾向于给出比用交叉熵训练时更差的置信度估计(图1)(在神经网络里的置信度指的是什么?)

(4).超参数的选择也会影响到网络的表现(例如学习率可能会导致一个好的或者坏的分割结果)

(5).模型的超参可能容易对一个数据集过拟合,对于另一个任务或者不可见的数据表现的并不能很好

集成的方法:

单个

θ 表示的是各种超参,m表示的各种超参的选择,这个公式的意思就是在θ m和真实数据X的情况下,使得模型预测出的分布与真实分布P(Y|X)差距最小,这是普通的单个模型所做的事。

集成:

这里是条件概率分布,意思就是在m存在的情况下y的分布,可以约等于下面这个公式,E表示的是各种模型,没有理解这个公式

总结一句:其实以上公式就是为了他集成多个网络找一个数学推导,不然不好发文章啊,实际上就一句话,多模型,防止过拟合,有更强鲁棒性,集各种模型的有点

使用的网络结构:
DeepMedic:

3D多尺度cnn,两个版本,一个是基于残差块的,一个是加宽网络宽度:

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

1.3D卷积,两个平行路径,两个不同size的3D块

2.两种网络,一个基于残差块,一个是加宽网络宽度,每一层feature map的宽度是之前的两倍,宽的网络使用的图像size也大一些,一个是33,一个是22,使用交叉熵损失

3.他们使用了两个模型在EMMA里面,

 

FCN

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

1.使用了3个3D的FCN,第一个结构如上所示,IoU loss,64size的块

2.第二个FCN用两个卷积的残差块代替了普通的卷积块,Dice-loss,80size的块

3.第三个FCN也是基于残差块的,但是少了一个下采样步骤。Dice-loss,80size的块

所有的都使用了BN,relu,和0填充

 

U-net:

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

1.使用了两个版本的unet,第一个unet使用的相加模块,而不是传统的concate,使用[25]减少复杂性,AdaDelta学习率策略

2.第二个unet使用了,concate,并且用带步长的卷积取代了空间池化,Adam学习率策略

采用64x64x64的块,四个标签取的块的数量相等,使用RElu,0pad和BN

如何集成:

1.分开训练,

2.分别测试,然后算出置信度图(在这里的置信图指的是什么?)

3.再像上面那样创造一个平均置信度,得出某一个体素属于哪一类,

五.评估:

数据集:brast2017

训练集:210个HGG,和75LGG

验证集:45个病例,不知道是HGG还是LGG

测试集:146个病例

标签:1.坏死核心和非增强肿瘤  2.水肿  4.增强核心

评估的时候:他预测的标签被合并到不同的整个肿瘤(whole标签),核心(标签1,4)和增强肿瘤(标签4)。

MRI序列:对于每个受试者,可获得四个MRI序列,FLAIR,T1,T1对比增强(T1ce)和T2。

每个病例的维度240x240x155

结果:

1.在测试阶段我们取得了第一,并且在验证阶段也是第一,而且验证阶段跟测试阶段变化不大,证明我们的方法有很好的鲁棒性,也

证明了集成模型是未来研究的一种可能

2.由于测试阶段我们看不到其他队伍的 系数,测试阶段我们仅提供自己的数据,验证阶段提高我们自己和我们后两名的数据。

Leaderboard的地址:https://www.cbica.upenn.edu/BraTS17/lboardValidation.html

 分割图:

绿色箭头代表不连续的错误,红色箭头代表连续的错误

猜你喜欢

转载自blog.csdn.net/zxyhhjs2017/article/details/88670357
今日推荐