APP下载

基于卷积神经网络的乳腺癌组织病理图像分类

2020-06-12邹文凯陆慧娟叶敏超

计算机工程与设计 2020年6期
关键词:倍数卷积神经网络

邹文凯,陆慧娟,叶敏超,严 珂

(中国计量大学 信息工程学院,浙江 杭州 310018)

0 引 言

目前对于乳腺癌[1]的诊断主要是组织病理学分析。活体组织检查是病理学中最关键的步骤,可以对绝大多数疾病做出明确的诊断[2]。通过活检可以得到病理图像,病理学家根据这些图像来诊断乳腺癌。但是人为主观意识的偏差,长期工作导致的劳累以及病理图像本身的复杂度,都会造成诊断效率低下甚至是误判。面对越来越多的病理图像数据,人工诊断就显得力不从心了。

随着计算机技术的不断发展,人工智能技术也开始被用于医疗领域。与人工诊断相比,人工智能技术比较客观,诊断速度快,并且可以在短时间内处理大量图像数据,其诊断结果也可以帮助医生做出更好的判断,减轻了医生的负担。

对于乳腺癌图像领域的人工智能技术研究已经有多年历史。Filipczuk等设计了一套完整的乳腺癌诊断系统,并在737张乳腺癌活检图像上达到了98%的准确率[3]。Zhang等提出了一种两层级联的方法,在361幅图像上得到97%的分类准确率,该模型第一层解决简单问题,第二层由一个复杂的分类模型构成[4]。但是,这些研究工作所使用的数据集大多都是不公开的,而且数据量较小,很难有说服力。

本文针对公开的、大型的乳腺癌组织病理图像数据集BreaKHis进行研究,利用以卷积神经网络为主的人工智能技术构造一个分类模型,将图像分为良性和恶性两类。

1 数据集

2016年,Spanhol等公开了一个名为BreaKHis的乳腺癌组织病理图像数据集[5]。该数据集包含82个病例,总计7909幅乳腺癌图像。每幅图像的尺寸为700×460,格式为PNG,通道数为3。如图1所示,每个病例由4个不同放大倍数的图像组成。图1显示同一张图像经过40×、100×、200×、400×放大的结果。矩形区域是病理学家认为的癌症所在区域,并且对该区域进行着重放大。图像由活体组织检查得到。活体组织检查将收集到的乳腺癌组织切片放在显微镜下,通过不同的放大倍数来成像。经验丰富的病理学家对这些图像做出最后的诊断,将图像分为良性和恶性。表1是数据集具体内容。

图1 4种放大倍数

表1 图像种类和放大倍数

Spanhol等使用了6种不同的特征提取器对图像进行特征提取,并为每个特征提取器提供4种分类器进行最终的分类,最后的准确率是80%到85%[5]。该数据集包含4种不同的放大倍数,一般的研究都是只针对其中一种放大倍数进行的。不同放大倍数之间没有联系。这就带来一个问题,在一种放大倍数上有效的模型可能并不适用于其它放大倍数。况且在实际的临床诊治中,可能获取的是未知放大倍数的图像。为此,Bayramoglu等[6]将4种不同的放大倍数放在一起统一训练,在测试时对单一放大倍数单独测试。该方案不依赖于图像的放大倍数,可以学习到图像更深层次的特征。只是该文献中的图像分类准确率较低。

针对上述问题,本文使用大型深度卷积神经网络将乳腺癌图像分为良性和恶性,将不同放大倍数的图像统一训练,但在测试时,对单一放大倍数单独测试。

2 方 法

2.1 深度学习与神经网络

目前深度学习是最热门的人工智能技术之一。深度学习来源于人工神经网络,神经网络的每一层都将输入进行非线性变换,通过足够多的变换,即使非常复杂的特征也能够被提取。这些特征可以用来分类图像[7]。

2012年,著名学者Alex Krizhevsky提出了AlexNet网络[8]。在ImageNet图像分类竞赛上,由于该模型的效果上远远领先于当时的其它模型,直接导致了深度学习成为热门研究领域。因此,本文选择使用深度学习来处理乳腺癌图像。与传统机器学习方法相比,深度学习的优势在于不需要人工设计非常复杂的特征提取器,而是直接依靠神经网络本身去学习数据的特征[9]。这种学习方式与人类的认知方式非常相似,所以说深度学习取得的重大进展,解决了人工智能领域很多年没有进展的问题。目前,它已经被广泛应用于科学、商业和医疗等领域。

深度学习的主要结构是前向传播(forward propagation)和反向传播(back propagation)[10]。在前向传播中,样本通过神经网络输出预测值,整个过程如式(1)所示

(1)

在现实生活中,很多规律都是非线性的。激活函数(activation functions)使神经网络拥有了非线性能力。使用激活函数后,神经网络可以拟合各种非线性函数。常见的激活函数有:Sigmoid、Tanh和ReLU[11]。其中,ReLU运算速度极快,并且可以有效地抑制梯度消失和梯度爆炸。目前神经网络基本上使用ReLU来作为激活函数。

前向传播得到的最终结果就是预测值。这个结果与样本的真实值之间存在着误差。而反向传播过程就是减少这个误差。一般误差可以用方差来表示,但是方差是非凸函数,容易陷入局部最优。因此在深度学习中更多的是使用交叉熵损失函数,如式(2)所示

(2)

2.2 卷积神经网络

在深度学习中,卷积神经网络(convolutional neural network,CNN)在图像领域的表现效果较好[12]。所以,本文使用CNN来构造图像分类模型。CNN的概念源自于感受野(receptive field)[13]。1984年日本学者Fukushima发明了第一个CNN并命名为Neocognition[14]。

与传统神经网络相比,卷积主要有两大优势:参数共享和稀疏连接。在参数共享中,一个卷积核的参数可以在图像中的任意部位使用,这样可以减少参数,加快运算速度。而稀疏连接与全连接对应。全连接是指网络中每个节点都要相连,而稀疏连接只是部分相连。因为图像和其它数据不同,一个像素点只与周围较近的像素点有关,与较远的像素无关,所以只需要进行局部感知即可。而放弃全连接的另一个优点就是可以减少参数,加快运算速度。

2.3 数据增强

神经网络的效果往往取决于数据量的大小。BreaKHis数据集虽然包含7909张图片,但对于神经网络来说是远远不够的,因此对数据集进行数据增强(data augmentation)。人工神经网络虽然与生物神经网络有着类似的学习方式,但仍有许多不同点。如图2所示,在人类看来,图2(b)由图2(a)水平翻转过来,而对于人工神经网络来说,这是两张完全不一样的图片。

图2 翻转

利用人工神经网络的这个特性,对BreaKHis数据集进行数据增强。一般的数据增强方式包括:翻转、旋转、缩放、裁剪、平移、高斯噪声、调整颜色和对比度等。本文数据集进行7种方式的扩充,这7种方式是旋转90°、180°、270°,水平翻转,垂直翻转,旋转90°加水平翻转和旋转90°加垂直翻转。这样扩充后的数据集是原数据集的8倍。即使是在数据充足的情况下,使用数据增强仍然可以降低过拟合,提高网络的泛化能力。

2.4 迁移学习

迁移学习(transfer learning)是运用一个环境中学到的知识对其它环境中的问题进行求解[15]。神经网络在训练时,可以随机初始化每个参数,并从头开始训练。当然也可以用该网络在其它数据集上已经训练好的参数初始化,这就是迁移学习。将迁移学习的参数初始化到神经网络中,通过微调(fine-tune)网络最后几层,就可以在该数据集上得到较好的结果。如果效果还不够好,可以从网络中间层开始微调。如果效果还不够好,可以微调网络所有层。

大型CNN拥有大量参数,如果数据样本不足,随机初始化训练的效果会非常差,因为数据量少,网络无法充分捕获数据中的规律。即使是在数据样本充足的情况下,随机初始化训练出好的结果,也需要花费很长的时间。迁移学习的网络参数已经在大型数据集上训练好了,将它应用到其它相似数据集中,可以缩短训练时间。而且在数据样本不足时,迁移学习可以有效抑制欠拟合或过拟合,提高泛化能力。

在CNN中,很多优秀模型都在ImageNet数据集上训练,而训练结束的参数可以迁移到乳腺癌组织病理图像分类任务中。ImageNet是一个用于计算机视觉的大型可视化数据集。该数据集有超过1400万的图像并且图像都有手动注释。不管是哪种图像,它们在边、角等特征上是相似的,所以本文将ImageNet上训练好的参数迁移到乳腺癌组织病理图像分类任务中。

2.5 分类模型

目前已经存在大量优秀的CNN,主要有Inception[16]和ResNet[17],其余网络基本上都是基于这些网络的改进。对于BreaKHis乳腺癌组织病理图像分类任务,主要难点在于图像自身复杂的纹理结构和图像之间细微的差异。因此,本文对比了这些优秀的网络,并认为Inception有强大的特征提取能力,能够处理乳腺癌图像。

普通CNN从输入到输出只有1条通路。如图3所示,Inception有4条通路。输入需要经过4种不同的滤波器得到输出。这些滤波器包含卷积和池化。因为在设计某一层滤波器的时候,人们并不知道使用哪种滤波器合适。但Inception不需要有这种担心,它有4种选择并让网络自己去选择合适的滤波器。这样的结构可以提高对乳腺癌图像的特征提取能力。Inception中使用大量的1×1卷积在通道数维度上进行降维,可以减少参数量和计算量,并且它多了一次非线性变换,增强网络的非线性能力。

图3 GoogLeNet的Inception结构

训练神经网络是非常慢的,Batch normalization[18]可以加快这个过程,其公式如下

(3)

(4)

(5)

(6)

将原本的Inception中的5×5卷积被分解成两个3×3卷积,并加入Batch normalization算法组成了BN-Inception网络。它的Inception结构如图4所示。

图4 BN-Inception的Inception结构

整个BN-Inception网络结构见表2,Stride为2的Inception没有纯1×1卷积这一条通路,因此它只剩下3条通路。最终输出原本是1000,但分类乳腺癌图像是良性、恶性的二分类,所以最终输出为2。除了使用大量Inception模块外,它使用全局平均池化来代替原本CNN中的全连接层,这样就避免了全连接的巨额参数量和计算量,同时能抑制过拟合。总之,BN-Inception的计算量和参数量都很少,训练速度非常快,但是效果却非常好。本文使用它来构造图像分类模型,分类BreaKHis乳腺癌组织病理图像。

表2 BN-Inception结构

3 实 验

BreaKHis提供4种不同放大倍数的图像。本文将它们进行统一训练,而不区分它们的放大倍数,将图像分为良性和恶性,而在测试时,对某一放大倍数进行单独的测试。

3.1 评价标准

BreaKHis数据集的有两个评价标准:图像级别和患者级别。

图像级别是指所有预测正确图像数与图像总数之比

(7)

其中,Nr是预测正确的图像数,Nall是图像总数。

单个患者的评价标准是在该病例中预测正确的图像数与该病例图像总数之比

(8)

Nrp是在一个病例中预测正确的图像数,Nnp是该病例图像总数。

患者级别的评价标准是所有单个病例的准确率之和与病例总数之比

(9)

Np是病例总数。在乳腺癌图像的评价标准上,更多的是以患者级别为标准。

根据BreaKHis的测试协议,数据集中82个患者被分为两类,70%的患者用于训练,30%的患者用于测试,其中用于构建训练集的患者不用于测试集。使用5种随机方式来划分训练集和测试集,形成5个Fold,防止实验结果的特殊性。基本上大多数关于此数据集的研究都是使用这5个Fold。

3.2 训练策略

网络使用的优化器是Adam。它是一种自适应优化器,它会在训练过程中改变学习率,使之更加适用于梯度下降。Adam中的默认参数为:Learning rate是0.001;Beta1是0.9;Beta2是0.999;Epsilon一般取1e-8,但是Inception网络的Epsilon取1.0,本文对比了1e-8和1.0这两个值,发现结果并没有什么太大的差异,最终Epsilon值取Inception网络默认的1.0。

本文只将训练集进行数据增强,但没有对测试集进行数据增强,并对比了迁移学习初始化和随机初始化,各训练20 000步。在迁移学习初始化时,微调了所有层。如图5所示,以图像级别为例,不管是训练10 000步还是20 000步,迁移学习初始化微调所有层的效果,远远优于随机初始化。于是在后续的实验中全部采用迁移学习初始化,并微调所有层。

图5 迁移学习与随机初始化对比

3.3 实验工具

本文模型所使用的硬件是:Intel i7-6700K CPU、NVIDIA GTX1070 GPU显存8 G。使用GPU版Tensorflow框架进行训练和测试。数据增强算法由Python和OpenCV编写的脚本来实现。

3.4 实验结果及分析

先以图像级别来评估模型。在第一个Fold中,本文做了5次实验。分别将第10 000,20 000,30 000,40 000,50 000步的参数文件保存,用于测试。它们的结果如图6所示。

图6 Fold-1训练50 000步的结果

图6中横轴为训练步数,纵轴为图像级别的准确率,可以看出20 000步的结果要优于10 000步。从30 000步开始,有些结果要优于20 000步,而有些结果却低于20 000步。这验证了在20 000步时,网络已经得到了充分的训练。以20 000步的结果为标准,后续的实验全部训练到20 000步为止。所有Fold的结果见表3。最终患者级别的结果见表4。

从表4中可以看出,本文模型的效果明显要优于先前的模型[6]。究其原因有以下几点:第一,在先前的模型中,作者用将图像缩放至100×100;本文将图像缩放至224×224,大尺寸图像所包含的信息要高于小尺寸图像。第二,本文模型采用的神经网络结构更深。第三,在训练策略上,本文使用Adam优化器,该优化器是自适应梯度下降,不容易陷入局部最优。

表3 所有Fold 20 000步图像级别的结果

表4 所有Fold患者级别的结果/%

4 结束语

本文提出了基于卷积神经网络BN-Inception的乳腺癌图像分类模型,该模型将BreaKHis乳腺癌组织病理图像分为良性和恶性两类。模型不区分图像的放大倍数,将它们放到一起统一训练,但在测试时,对单一放大倍数进行单独测试。同时使用数据增强和迁移学习。实验结果表明,本文模型更加适用于乳腺癌图像的分类。另外,BreaKHis数据集包含4种良性肿瘤和4种恶性肿瘤。对于未来的工作,可以对数据集进行更精细的分类。更精细的诊断可以帮助医生对症下药,更有利于治疗。

猜你喜欢

倍数卷积神经网络
同样是倍数,为啥还不同
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于神经网络的中小学生情感分析
倍数魔法
基于傅里叶域卷积表示的目标跟踪算法
如何表达常用的倍数
基于神经网络的拉矫机控制模型建立