APP下载

基于增强LetNet-5的非霍奇金淋巴瘤辅助诊断

2020-06-30张剑飞崔文升杜晓昕

科学技术与工程 2020年16期
关键词:池化层淋巴瘤准确率

张剑飞,崔文升,王 真,杜晓昕

(齐齐哈尔大学计算机与控制工程学院,齐齐哈尔 161006)

据数据统计中国淋巴瘤患病率具有逐年递增的趋势并对人们生活产生了许多不利的影响,因此对于该疾病确诊精度的提升有着重要的社会意义和实用价值[1]。在传统淋巴癌诊断的过程中,主要由相关领域的医师结合自身经验、医疗设备和化验结果等多方面因素进行决策,具有掺杂一定的主观性和多种不确定因素的问题,与此同时在患病人数不断增加和医疗设备匮乏的条件下,很大程度会出现误诊和漏诊的问题[2]。随着计算机软硬件不断的更新换代以及以数据驱动为基础深度学习算法的飞速发展,深度学习算法在医学辅助诊断分析中的应用已成为了模式识别和人工智能领域研究的热点之一[3-4]。将深度学习方法用于医学数据辅助诊断上,不仅可以挽救无数患者生命,而且对降低医疗成本也具有重要的现实意义。为此,中外研究人员进行大量的研究工作,唐思源等[5]采用深度卷积神经网络模型对来自肺影像数据库(LIDC)中的1 018组肺部病理图像中的肺结节进行了检测和分类,取得了良好的进展;王亚平等[6]基于深度卷积神经网络用于人体周血白细胞的分类识别并给出了一种基于特征集数据增强方法,最终通过8 400组进行模型泛化能力的评估,达到了95%平均分类正确率;褚晶辉等[7]通过使用一次、二次迁移学习分别对公开的乳腺X光DDSM和MRI数据集提取特征,并使用支持向量机作为分类器实现了CAD系统。

目前主流的网络模型在非霍奇金淋巴瘤辅助诊断方面具有较低的适用性,为此本文给出了增强的LetNet-5模型用于非霍奇金淋巴瘤辅助诊断,对LetNet-5模型进行了如下改进:加强了卷积特征提取的强度和密度;调整了部分模型的超参数配置和网络结构;使用全局平均池化层代替了全连接层。

1 LetNet-5网络模型

在1988年LetNet-5网络模型被首次提出,作为首个卷积神经网络被用于手写字体的自动识别上并达到了95%以上的正确识别率[8]。LetNet-5网络模型结构如图1所示。

图1 LetNet-5网络模型Fig.1 LetNet-5 network model

图1中LetNet-5模型包含6层网络结构,主要由输入层、2组卷积池化组合层、2组全连接层和输出层组成,为之后设计功能更为强大优秀模型提供了有价值的参考。在LetNet-5模型中,输入图像规格为32×32×1,其中32为数据集样本图像像素的长和宽,1代表RGB颜色通道中的灰度通道。在卷积和池化过程中LetNet-5未使用零填充,因此图像规格会遵循式(1)的计算规则逐渐减少[9]。

N=(O-C)/S+1

(1)

式(1)中:N为现在输出图像规格;O为输入图像规格;C为卷积核或池化规格;S为卷积核或池化移动的步长。LetNet-5模型中每层之间的激活函数为SIGMOID,池化层的类型为平均池化层,在2012年ALEXNET被提出后,在深度卷积神经网络中很少使用SIGMOID作为激活函数,为了获得良好的效果,将SIGMOID全部替换为RELU[10]。

2 基于增强LetNet-5的非霍奇金淋巴瘤辅助诊断

2.1 数据集介绍

所使用数据集为网络公开的非霍奇金淋巴瘤数据集,该数据包括慢性淋巴细胞白血病(chronic lymphocytic leukemia,CLL)、滤泡淋巴瘤(follicular lymphoma,FL)和地幔细胞淋巴瘤(mantle cell lymphoma,MCL)三类,数据集更为详细的介绍请访问数据集的官方网址http://www.andrewjanowczyk.com/deep-learning/。三种淋巴瘤样本例图如图2所示。

淋巴瘤数据集共包含374张病理图像,每组图像像素规格为1 388×1 040×3。首先将获取的数据集先分割为训练集和测试集,再从训练集中分割出验证集,其中训练集、验证集和测试集三者之间的比例为0.72∶0.08∶0.2,三者具体数量分别为269、30和75。训练集是用来训练网络中的权重和偏置,进而提升网络性能;验证集是用来评估模型中超参配置的合理性;测试集评估模型泛化能力的强弱。研究的数据图像规格过大且数量过少不适合使用深度学习算法进行研究,同时如图2所示淋巴瘤样本图像不具有感兴趣区域,可以根据实际需求进行不同比例图像分割操作。为了提升淋巴瘤的辅助诊断效果,将数据图像以步长为48像素切分为规格为48×48×3,接着对切分后的数据集中训练集、验证集和测试集的类分布和数量进行了统计,如表1所示。

表1 切分后各数据集类分布Table 1 Distribution of data sets after segmentation

如表1所示可知,切分后数据集总数量将近20万并且在训练集、验证集和测试集中每类样本数量分布较为均匀。接着对数据集进行归一化预处理操作,将数据范围压缩至-1~1,计算公式为

(2)

本文方法是基于PC端Win10操作系统进行模型的设计和系统的开发,主要软硬件环境为PyChram-2018、Python3.5.0、CUDA9.0、CUDNN7.0、Tensorflow-GPU=1.5.0、Anaconda3.5、Keras-GPU版本、4G GTX1050Ti GPU和16G Intel-i7-8750H CPU。

图2 淋巴瘤样本Fig.2 Lymphoma sample illustration

2.2 算法描述

2.2.1 LetNet-5算法

LetNet-5模型为现今多数网络模型的雏形,其中包括卷积层、非线性映射层、平均池化层和全连接层,总训练网络参数约为44 190,相比使用神经网络搭建模型的参数量有着明显的降低并且泛化能力也较强[11]。LetNet-5模型结构如表2所示。

模型中的超参数不是所训练的常规参数,需要人工根据经验进行配置并对模型最终的性能有着至关重要的作用。LetNet-5模型超参数配置情况如表3所示。

表2 LetNet-5模型结构Table 2 LetNet-5 model structure

表3 LetNet-5模型超参数配置情况Table 3 LetNet-5 model hyperparameter configuration

接着,采用KERAS搭建网络模型并将数据输入至网络模型中进行训练和评估,其中输入图像规格为48×48×3,输出层神经元数目设置为3。随着迭代次数的增加,训练集和验证集准确率和损失变化曲线如图3所示。

TA代表训练集准确率;EA代表验证集准确率;TL代表训练集损失值;EL代表验证集损失值图3 LetNet-5 准确率和损失函数变化曲线Fig.3 LetNet-5 accuracy and loss function curve

在30次迭代期内,模型收敛速度较慢并且准确率有着逐步提升的趋势,训练集和验证集的拟合效果较好,但验证集最好的分类识别率为76%左右,得出了LetNet-5模型在30次迭代期内对于该疾病辅助诊断效果具有较低的适用性结论,为此对LetNet-5模型网络结构的深度和广度进行增强操作并对部分超参数和模型结构进行调整。

2.2.2 增强的LetNet-5算法

对LetNet-5模型的特征提取能力和泛化能力进行了增强,使其能在30次迭代次数内对淋巴瘤具有更好的辅助诊断效果且模型收敛速度更快,具体进行了如下几点改进。

(1) 增加原各层卷积核数量,减少卷积核规格并额外添加一组卷积池化组合。

(2) 将原有卷积和池化层的填充方式设置为零填充。

(3) 将平均池化层替换为最大池化层。

(4) 通过使用全局平均池化层来代替原有的全连接和平铺层[12]。

改进点1加大了卷积层特征提取的强度和密度,使得能获取到利于分类的高级特征;改进点2避免在特征提取的过程中因填充方式的不合理设置导致过多信息的丢失;改进点3有效解决了因平均池化层使得特征映射图模糊化的问题;改进点4通过全局平均池化层能有效地保留图像的空间特征,代替了全连接层,同时降低模型拟合参数量,有效提升了模型的泛化能力。增强LetNet-5的模型参数配置和模型结构设计由多次的实验得出,因实验次数过多无法将其全部展现出来,将最终增强后的网络模型结构进行展示,如表4所示。

不仅对LetNet-5的模型结构进行调整,而且对部分超参数配置也进行修改,将优化器由SGD调整为主流调优器Adam,将学习速率由10-3调整为10-4,其他超参数配置与表3相同,将数据输入至增强的LetNet-5模型中进行30次的迭代训练,训练集和验证集的准确率和损失值变化情况如图4所示。

将测试集分别输入至已训练完毕的LetNet-5和增强后的LetNet-5模型中进行预测和评估同时对每种类别的准确率进行统计,结果如表5所示。

表4 增强的LetNet-5模型结构Table 4 Enhanced LetNet-5 model structure

TA代表训练集准确率;EA代表验证集准确率;TL代表训练集损失值;EL代表验证集损失值图4 增强LetNet-5准确率和损失值变化曲线Fig.4 Accuracy and loss curve of Enhance LetNet-5

表5 模型增强前后各类准确率Table 5 Various types of accuracy before and after model enhancement

由表5所示,增强的LetNet-5在各类识别率有着显著的提升,特别是在慢性淋巴细胞白血病该类上,准确率提升了25.16%,较原始LetNet-5多出了4 272个正确识别的样本。地幔细胞淋巴瘤得识别准确率达到了97.99%,其中该类总体数量为11 172个,识别正确数量为10 947,仅识别错误225组样本。通过提高模型的特征提取强度和使用全局平均池化层取代全连接层,提高了LetNet-5在该类疾病辅助诊断的适用性。

2.3 模型性能评估

2.3.1 泛化能力验证

验证模型泛化能力强弱的最好方式是在具有相同概率分布基础上,使用小样本数据集去训练模型,接着使用大样本数据对模型性能进行评估。将训练集和测试集两者互相调换,此时训练集、验证集和测试集三者之间的比例为0.2∶0.16∶0.64,即通过4×104样本训练模型对近16×104样本进行预测。将训练集输入至增强的LetNet-5网络模型中进行训练,训练完毕之后将验证集和测试集输入至模型中进行评估,随着迭代次数的增加,准确率和损失值的变化曲线如图5所示。

图5中,在30次迭代内,因训练集数量很小出现的过拟合问题是不可避免的。在准确率变化曲线上,验证集的准确率已经有着收敛的趋势,正确识别率在65%左右。在损失变化曲线上,验证集的损失值有逐渐上升的趋势,该现象是网络过拟合所导致的问题。将测试集输入至该模型中进行评估,得到的评估结果如表6所示。

TA代表训练集准确率;EA代表验证集准确率;TL代表训练集损失值;EL代表验证集损失值图5 增强后泛化能力验证结果Fig.5 Enhanced generalization ability verification result

表6 测试集中各类识别结果Table 6 Various types of recognition results in the test set

表5中,发现模型在滤泡淋巴瘤的泛化能力较强,达到了83.94%的准确率并且在慢性淋巴细胞白血病分类识别上超越了原始LetNet-5模型,在测试集的准确率与原始LetNet-5模型相差2%的识别精度,由此证明了本文模型具有良好泛化能力。

2.3.2 模型稳定性验证

交叉验证是将数据集分割成n组,其中n-1组的数据作为训练集,1组作为验证集,进行n次循环实验(如果n等于数据集数量,则为留一法,否则为K折交叉验证)[13]。交叉验证是一种验证模型稳定性的常用方法,可以有效避免模型处于局部最优。采用5折交叉验证,将数据集分成5份,其中约300组为训练集,约75组为测试集。以步长为48像素对数据集进行切分操作,将数据切分为含有176 988组训练集和42 924组测试集的不同5种数据集用于增强的LetNet-5稳定性验证,其中5折交叉验证模型结构与参数配置与增强的LetNet-5模型相同,实验结果如表7所示。

表7中,每折交叉验证的识别准确率都在90%左右并且正确识别率均值为91.20%。该结果与增强LetNet-5的准确率91.30%差值为0.1%,经过交叉验证充分证明了增强LetNet-5模型的稳定性,同时也反映出本文实验在数据采样的科学性。

表7 5折交叉验证结果Table 7 5 of fold cross validation result

3 结论

在LetNet-5的基础上给出了增强的LetNet-5模型用非霍奇金淋巴瘤辅助诊断。通过实验得出以下结论。

(1)相比于原始LetNet-5模型,增强后的模型具有更高的分类精度、更快的模型收敛速度。

(2)增强后的LetNet-5具有良好的稳定性和泛化能力。

在今后的研究中,将尝试采用深度学习中迁移学习对非霍奇金淋巴瘤数据集进行预训练操作,进一步改善该疾病的辅助诊断效果。综上所述,为淋巴瘤的辅助诊断提供了较好的研究思路和方法,提升了LetNet-5用于B细胞淋巴瘤辅助诊断的适用性并一定程度提高该病的确诊效率和精度,具有实用价值和临床意义。

猜你喜欢

池化层淋巴瘤准确率
HIV相关淋巴瘤诊治进展
卷积神经网络模型研究分析*
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
当心! 淋巴瘤会伪装
基于卷积神经网络的纸币分类与点钞
基于深度学习卷积神经网络的人体行为识别研究
异时性乳腺恶性淋巴瘤超声报道1例