基于DC-DenseNet的乳腺癌病理图像分类

2023-05-08 03:01张庙林帅仁俊
计算机应用与软件 2023年4期
关键词:卷积病理乳腺癌

张庙林 帅仁俊

(南京工业大学计算机科学与技术学院 江苏 南京 211816)

0 引 言

乳腺癌是女性最常见的恶性肿瘤之一。在女性群体中,乳腺癌导致的死亡数一般高于其他类型的癌症,而且在世界范围内每年都有数千人死在这种癌症下。据报道,东非的乳腺癌发病率为1.93×10-4,西欧的发病率为8.97×10-4[1]。近年来乳腺癌新病例在持续增加,预计到2030年乳腺癌新病例将会增至2 700万[2]。乳腺癌疾病的检测和诊断可以通过成像系统程序,如乳腺X线、磁共振图像、超声图像和热图。癌症筛查的影像学研究已有40多年历史。然而,临床上,基于病理图像的活检无疑是检测乳腺疾病的金标准,也是对病理图像进行准确分类时医生制定最佳治疗方案的重要依据。

目前针对乳腺癌病理图像的分类研究主要分为两类:基于人工特征的传统的乳腺病理图像分类方法;基于深度学习的乳腺癌病理图像分类方法。基于人工特征的传统的乳腺癌病理图像分类方法采用人工提取特征,基于这些特征使用支持向量机、随机森林等分类器完成分类。该方法存在高要求的专业知识、提取特征耗费时间和提取高质量特征难等缺点。相对于传统分类方法,基于深度学习的乳腺癌病理图像分类方法,利用网络自主学习相应的特征,克服了需要专业人士手工提取特征的缺点,同时节省了人工提取特征的时间。目前,基于卷积神经网络的乳腺癌病理图像的自动分类仍然是一个非常具有挑战性的问题。主要有两个原因:

(1) 随着神经网络模型的不断深化,CNN的参数数量也随之迅速增加,这就很容易导致模型对训练数据的过拟合。为了降低过拟合的风险,通常需要大量的乳腺癌病理图像作为训练CNN的数据。然而要获得大量的标记好的乳腺癌病理图像数据需要非常大的成本。

(2) 各种超参数对神经网络模型的性能也有很大的影响,尤其是学习率。在模型训练中,经常需要手动调整学习率参数来获得更好的性能,这就使得非专家人员很难在实际应用中应用该算法。

1 相关工作

深度学习是机器学习领域的一项新兴技术并且已经受到了许多研究者的关注。卷积神经网络在大规模图像和视频识别中取得了巨大的成功。目前的研究已经表明,采用深度学习的方法对乳腺癌组织病理学图像进行分类可以极大地提高分类的准确性,从而帮助医生进行诊断,使病人更好地进行治疗。然而,深度学习网络并不是越深越好,有时候仅仅增加网络的深度并不能提高分类的准确性,反而会出现分类性能退化的现象。为了解决该问题,基于DenseNet和基于迁移学习的深度学习算法应运而生。

Spanhol等[3]使用迁移学习的方法,运用预先训练的BVLC CaffeNet结构的权重来提取一组乳腺癌组织病理学图像的深度特征并将它们输入到分类器中,使准确率达到了83.6%~84.8%。Ahmad等[4]为了解决训练时间过长的问题,采用基于ImageNet预先训练的AlexNet、GoogleNet和ResNet网络进行乳腺癌组织病理学图像的分类,有效解决了训练时间过长和训练集数据不足的问题。Huang等[5]设计的DenseNet提出了一个更紧密的连接机制,即所有的层都互相连接,前面所有的激活映射被视为单独的输入传递给后续所有的层。该机制可以使用较少的参数实现特征的复用,以达到更好的分类效果。Gupta等[6]设计的基于DenseNet的卷积神经网络作为乳腺癌组织病理学图像的特征提取器。图像样本在特定阶段具有很高的分类置信度标签时,该样本将在这一阶段确定其标签。否则,样本将会传递到下一阶段,这一过程主要考虑了底层、中层和高层特征对分类性能的共同影响。Nahid等[7]提出了一个结构化的深度学习模型来解决乳腺癌病理图像的下采样问题,最终分类结果达到92.19%。Kohl等[8]研究了稠密连通卷积的适用性,并用实验对比VGG19、Inception-v3和DenseNet161三种模型,先分别将三种模型利用ImageNet进行预训练,最后对比分类精度,DenseNet161平均精度高于VGG19和Inception-v3两个模型4%。

本文对乳腺癌病理图像的自动分类应用主要有以下贡献:

1) 本文在最先进的模型DenseNet基础上提出了DC-DenseNet模型来解决乳腺癌病理图像分类的问题。该模型不仅可以提高特征表示的能力,还能一定程度上降低计算复杂度。

2) 本文提出一种新的学习速率优化器,它不需要复杂的微调学习速率就可以表现出优异的性能。

3) 本文用新的学习率优化器在cifar10数据集上测试,最后将整个模型在BACH数据集和BreakHis公开数据集上实验。

2 DC-DenseNet

2.1 扩张卷积

扩张卷积在最近的许多研究中被用于基于深学习的语义分割方法中[8]。相比于普通的卷积层,扩张卷积是在标准的卷积核中注入空洞,这不仅可以增加模型的感受野,还能保留可训练参数的数量。注入的空洞的大小取决于扩张率γ。如图1所示,图1(a)是标准的卷积核,此时的扩张率γ=1;图1(b)对应的是扩张率γ=2的卷积,可以理解为卷积核尺寸为7×7,但是只有9个点有参数,其余的位置参数都为0,和输入特征图对应位置的像素进行卷积计算时其余的位置都略过;图1(c)和图1(b)类似,扩张率γ=3相当于变成了15×15的卷积核。当卷积核尺寸变大时,感受野也就自然变大,此时可以从上一层的特征图中提取更多的信息。

图1 扩张卷积示例

2.2 网络体系结构

与标准的卷积核相比,采用扩张卷积不需要额外的计算成本就可以提取多尺度特征。考虑到这个优点,本文提出一种新的用于乳腺癌病理图像分类的模型结构,即DC-DenseDent。DC-DenseDent的网络结构如图2所示。DDC、MP、AP和FC分别代表卷积层、最大池化层、平均池化层和全连接层。为了更好地提取特征,所提出的深度学习网络对于浅层和深层具有不同的体系结构,即扩张密集块(DDC)和层中层模块(NIN)[9]。使用ReLU作为非线性激活函数。用Softmax损失函数L来优化网络,其表达式为:

图2 DC-DenseNet网络结构

(1)

式中:Li表示Softmax损失函数,i∈[1,N];fj表示第j个元素(j∈[1,K],K为类的个数)的类输出向量;yi为第i个输入的标签;N为训练数据的数量。

2.3 扩张密集块(DDC)

2.3.1 Dense Block

DC-DenseNet主要是在先进的DenseNet模型基础上改进了两个方面:1)用DDC模块代替了DenseNet原先的标准卷积层;2)建立了一个更宽而不深的网络。

Dense Block是由多个卷积层组成的模块,DenseNet网络在第l层的输出为:

xl=Hl([x0,x1,…,xl-1])

(2)

式中:Hl(·)是由一个组合操作而成的非线性函数,这个组合操作可能包括一系列的BN(Batch Normalization)、ReLU、池化即卷积操作。如果每个Hl(·)均输出k个特征图,即得到的特征图的通道数为k,假定输入层的通道数为k0,那么第l层的输入的通道数为k0+k×(l-1),其中k为DenseNet的增长率。

2.3.2 扩张卷积层

原始的Dense Block中通过叠加3×3的卷积层来实现多尺度特征提取。因为扩张卷积比标准的卷积层有更加宽阔的感受野,因此本文提出的扩张密集块(DDC)采用了扩张卷积来代替标准的卷积层实现多尺度的特征提取。如图3所示,DDC模块中有两个扩张率为2和3的扩张卷积层,每个扩张卷积层之后都放置一个标准的3×3的卷积来融合提取的特征病细化语义信息。

图3 DDC模块

由于病理图像数据集的规模通常很小,很难用它们来训练像原始DenseNet那样的超深网络。文献[10]证明了在小数据集上较宽的网络可能比较深的网络提供更好的性能。因此,所述的DDC模块将增长率k增加到8、16和32,并将层数从121层减少到28层。因此密集块网络就实现了宽而不深的初衷。为了降低计算复杂度和提高特征提取能力,将增长率k设置为随DDC网络的深入而增加。

3 学习率优化器

3.1 优化器介绍

随机梯度下降法是最常用的优化器。随机梯度下降法(SGD)[11]的核心思想是随机选择一个样本来计算梯度,并在每个训练过程中更新参数。损失函数的梯度决定了SGD的更新方向。参数θt在t时刻更新为θt=θt-1-lrt▽θL,其中:L为损失函数;▽θL是损失函数的梯度;lrt是在t时刻的学习率。随机梯度法是一种简单有效的方法,但是在用于优化学习率时需要仔细调整模型的超参数。较大的学习率会导致CNN训练结果发散,而较小的学习率则会使训练收敛缓慢。通常研究人员需要对不同大小的学习率进行实验以使网络更快地收敛,获得更好的性能。AlexNet[12]在ImageNet数据集上遵循的启发式算法是将学习率初始化为0.01,当验证集的错误率不再随当前学习率降低时就将学习率除以10并重复三次。ResNet网络在ImageNet数据集上是将学习率初始化为0.1,在epoches达到30和60次后将学习率除以10。但是ResNet在Cifar数据集上是lterations达到3.2×104和4.8×104次后将学习率除以10。可以看到同一数据集在不同的CNN体系结构中所用的学习率优化器是不同的,不同数据集在同一CNN结构中使用的优化器也是不同的。因此如何选择优化器对模型有很大的影响。

3.2 高斯优化器

高斯误差函数[13]是一种非基本函数,广泛应用于概率论、统计学和偏微分方程中。它的定义如下:

(3)

根据高斯误差函数的性质,本文设计一个高斯优化器(GEF),它对学习率的定义如下:

(4)

式中:lrmax表示最大学习率;lrmin表示最小学习率;E表示epochs的总数量,e∈(0,E)表示当前的epoch;M表示负整数;N表示正整数。初始学习率下CNN训练所需的时间由M决定,当|M|越大时,用最大学习率训练CNN所需的时间越长。较小学习率下的CNN训练时间由N决定,N越大,用最小学习率训练CNN的时间就越长。|M|/|N|表示学习衰减率。

当学习率接近于零时,噪声将主导CNN权值的更新。在CNN训练后期不宜将学习率设置为零,这会导致测试精度在最后阶段出现波动和下降。因此,我们通过确保学习率不接近于零来设置lrmin参数,并且lrmin不再需要非常仔细的微调。在本文的实验中,将lrmin设为最小学习率,lrmax设为初始学习率。

本文提出的高斯优化器可以很容易地与SGD算法相结合。下面的算法表示了两者结合过程。其中:lrmax设为初始学习率;lrmin设为最小学习率;v0为初始速率;θ0为初始参数;E为初始epoch;m为动量参数;n为训练集每次训练的一个batch;g为梯度;ε为学习率。

算法1基于高斯误差优化器的SGD算法

输入:最大学习率lmax,最小学习率lmin,高斯优化器参数N和M,动量参数m,初始参数θ,初始速度v,初始的epochsE。

fore=1 toEdo

在训练集中抽取一批m个样本{x(1),x(2),…,x(m)}以及对应的标签y(i)。

更新参数:θ~=θ+mv

计算速度更新:v=Mv-εg

应用更新:θ=θ+v

end for

4 实 验

4.1 实验工具

本文模型是在Intel i7 9800KF CPU,NVIDAIA GTX1080Ti上训练。训练工具使用的是PyCharm开发软件,深度学习框架采用了TensorFlow2.0。TensorFlow 2.0较之以往版本最明显的区别是更简单、更易用、更强大。可以更加方便地使用tf.data加载数据,用tf.keras来构建、训练和验证模型。同时还取消了1.x版本的繁琐的会话模式。

4.2 高斯优化器性能分析

为了评估高斯优化器的性能,本文用其他两个不同的学习率优化器在Cifar-10数据集上进行对比实验。将高斯优化器的lrmax设置为0.1,lrmin设置为0.000 1,并选择使用GEF(-2,2)和GEF(-3,3)。在文献[14]的方法中,余弦优化器的定义为:

(5)

式中:lrmax表示最大学习率;lrmin表示最小学习率;E表示epochs的总数量,e∈[0,E]表示当前的epoch。在对比实验中将余弦优化器的lrmin设置为0。在文献[15]中定义的优化器为:

Exp=lr0×λe

(6)

式中:lr0为初始学习率;e∈[0,E]表示当前的epoch;λ∈[0,1]为贴现因子。在本次对比实验中将lr0设置为0.1,λ设置为0.98。最终的对比结果图如表1所示。对比Cos和Exp优化器,当GEF取到(-3,3)时性能表现得更加优异。

表1 Cifar-10下不同优化器的差错率

4.3 数据集介绍

4.3.1 BACH数据集

BACH数据集由大小为2 048×1 536的400幅苏木精和伊红染色的乳房组织显微镜图像组成且被分为正常、良性、原位癌和浸润性癌四类,每个类别都有100幅图像。数据集被随机按照8∶2的比例打散成训练集和验证集。不同类别的切片图像如图4所示。我们用额外的20幅生物成像数据集[16]当作测试集来判断提出的框架性能。

图4 BACH数据集样例

我们对BACH数据集使用了数据增强来实现增加数据。将整幅图像平移50%并裁剪为大小为512×512的缀块,从而每个类别都增加了2 800个缀块。同时,我们还对数据集进行了旋转和镜像操作,每个缀块旋转90°、180°和270°,然后进行垂直反射得到一个包含89 600幅图像的增强数据集。每幅图像均采用700×460像素、3通道RGB的PNG格式。

4.3.2 BreaKHis数据集

BreaKHis数据集包含7 909幅显微图片,其中:良性乳腺肿瘤2 480幅,恶性乳腺肿瘤5 429幅,每个类别都包含了放大40倍、100倍、200倍和400倍的图像。良性肿瘤有4种亚型:腺病(A)、纤维肿瘤(F)、管状肿瘤(TA)和叶状肿瘤(PT)。恶性肿瘤分为导管癌(DC)、小叶癌(LC)、黏液癌(MC)和乳头状癌(PC)4种亚型。这个数据集的详细信息如表2所示。本实验对每个BreaKHis数据集图片进行了二元分类。我们采用与BACH数据相同的数据增强方式来增强数据集。

表2 BreaKHis数据集结构

4.4 实验结果

4.4.1 BACH数据集实验

本文对BACH数据集采用所有测试图像的总正确分类率(ACC)来作为模型性能评价的标准。同时将AlexNet[3]、VGG-19[8]已知模型和目前最优的方法DenseNet161[8]一起参与性能评估。表3列出了每个模型对BACH验证集上的测试结果,所有模型的学习率优化器都统一使用本文提出的高斯优化器。

表3 不同模型在BACH验证集上的分类正确率(%)

可以看出,所提出的DC-DenseNet模型对正常(96.3%)和浸润性癌(94.23%)的分类性能最好。DC-DenseNet在良性肿瘤和原味的分类正确率分别为92.36%和93.50%,与最好的两个相比依然具有一定的竞争力。最后平均分类准确率为94.10%优于目前先进的DenseNet161模型。

表4列出了不同框架在BACH测试集上的性能,这里测试集采用的是额外的20幅公共可用数据集[17]。

表4 不同模型在BACH测试集上的分类正确率(%)

可以看出,所提出的DC-DenseNet取得了最佳的分类性能,即82.50%,比目前最优的DenseNet161[8]高出了6.25百分点。

4.4.2 BreaKHis数据集实验

本文将DC-DenseNet模型与Nahid等[7]的方法对BreaKHis数据集的不同放大系数二分类性能进行了比较,两种方法数据集都采用相同的数据增强方式,并结合了本文提出的高斯优化器进行训练。评价指标包括AUC、精确度和召回率。实验结果对比如表5所示。

表5 每个放大系数下的两种方法结果比较

可以看出,在数据集增强方式相同并都结合高斯优化器的情况下,本文模型DC-DenseNet略优于Nahid等[7]的方法。

5 结 语

越来越多的研究采用基于深度学习的医学图像分析框架。然而,将深度学习网络用于病理图像分析面临着一些挑战,比如:获得大量附带标签的数据集需要非常大的成本;现有的卷积神经网络模型对病理图像分类性能不够卓越;模型训练中需要手动调整学习率参数来获得更好的性能的操作使得非专家人员很难在实际应用中应用该算法。基于此,本文使用改进的DenseNet网络模型实现对乳腺癌病理图的分类任务。将原先Dense Block的卷积层换成扩张卷积来实现多层特征的提取并减少了模型的计算复杂度。提出一种新的学习速率优化器,它不需要复杂的微调学习速率就可以表现出优异的性能。实验结果表明,所提出的模型框架取得了较好的结果。

猜你喜欢
卷积病理乳腺癌
绝经了,是否就离乳腺癌越来越远呢?
基于3D-Winograd的快速卷积算法设计及FPGA实现
病理诊断是精准诊断和治疗的“定海神针”
开展临床病理“一对一”教学培养独立行医的病理医生
乳腺癌是吃出来的吗
从滤波器理解卷积
胸大更容易得乳腺癌吗
别逗了,乳腺癌可不分男女老少!
基于傅里叶域卷积表示的目标跟踪算法
不一致性淋巴瘤1例及病理分析