时间:2024-09-03
华东理工大学 杨沐泓 方霄扬 杨怡婧 光 磊
本文提出了一个基于迁移学习与卷积神经网络的医疗影像自动诊断。在Kaggle新冠肺炎数据集上,F1得分达到0.838。实验结果表明,这种方法在新冠肺炎影像的识别中是有效的。
2020年初,新冠肺炎(Coronavirus,COVID-19)疫情突然爆发。随着病人确诊数量急剧增加,全国各级医院的医疗影像检查需求激增,然而经过专门训练能够对疑似病例的影像进行诊断的专业医生非常少,这就使得准确诊断新冠肺炎变得非常有挑战性。
使用机器学习方法,自主学习医疗影像中特征,进而准确分析近年来,随着人工智能深度学习的飞速发展,使得对影像数据进行深度学习建模成为可能。从2012年的ImageNet大规模视觉识别挑战赛上,Krezhevsky等(Krizhevsky A,Sutskever I,Hinton G.ImageNet Classification with Deep Convolutional Neural Networks)凭着改进的卷积神经网络(Convolutional Neural Network,CNN)模型得到了最佳的分类效果开始,CNN开始受到人们的重视,在人脸识别、无人驾驶等方面都有杰出的表现。CNN近年正逐渐成为医疗图像分类筛查的标准技术。吕鸿蒙等(吕鸿蒙,赵地,迟学斌.基于增强AlexNet的深度学习的阿尔茨海默病的早期诊断)根据阿尔兹海默症(Alzheimer disease,AD)的特点改进了卷积神经网络AlexNet,得到增强的AlexNet模型,在多种AD分类问题上都得到了高于95%的准确率。Sun等(Sun W,Zheng B,Qian W.Computer aided lung cancer diagnosis with deep learning algorithms)在肺图像数据集联盟(Lung Image Database Consortium,LIDC)上对使用深度学习算法进行肺部疾病诊断进行了可行性测试。实验中发现CNN的准确率为0.7976,高于传统计算机辅助诊断(Computer-Aided Diagnosis,CADx)的正确率0.7940。Wang等(Wang D,Khosla A,Gargeya R,et al.Deep Learning for Identifying Metastatic Breast Cancer)应用深度卷积神经网络GoogleNet来识别转移性乳腺癌,在全视野病理数字切片(whole slide image,WSI)分类任务中ROC曲线下方面积大小(Area Under Curve,AUC)达到0.925。若与病理学家的诊断结果相结合,可以将病理学家的AUC提高到0.995,错误率降低大约85%。这说明深度学习可以显著提高疾病诊断的正确率。
目前深度学习可以并对新的医疗图像做出判断,能够提高诊断效率,并降低误诊可能。对于乳腺癌、肺结节等疾病已经有计算机辅助诊断系统被研发出来,辅助医生进行疾病诊断。然而,由于新冠病人的影像的独特性,目前,能够胜任新冠病毒自动诊断的AI系统非常有限。
考虑到医疗影像标记数据较少、标记难度大等特点,本文运用已初步训练好的模型,对少量样本进行迭代更新。迁移学习能有效规避训练数据不足的缺陷,提高神经网络的性能,借助多源迁移学习方法训练神经网络,将各数据源训练的不同的权重参数汇成一个权重参数集,再训练集合各权重参数的。得到预训练模型之后,我们可以用医学影像数据对系统进行迭代更新,从而达到对疾病进行诊断的目的。最终,我们在共746张新冠相关影像数据集上获得了84.4%的准确率,证明了本系统对新冠数据识别的有效性。
1962年,Hubel和Wiesel对猫的视觉皮层进行了研究,首次发现了视觉神经元对移动边缘刺激的敏感,并定义了简单细胞和复杂细胞,这为后来卷积神经网络研究奠定了基础。
卷积神经网络(convolutional neural network,CNN)是多层感知机的变种,由输入层、卷积层、池化层、全连接层、输出层组成。卷积层负责提取特征,由多个特征面(feature map)组成,每个特征面又有多个神经元。同一个特征面上的神经元卷积核参数固定,即权值共享。随着卷积层层数增加,输出的特征逐渐抽象。卷积过程就是卷积核上的权值参数与其输入图像对应元素相乘并求和,然后加上偏置值、通过激活函数,得到神经元的输出值。假设输入一张图像,则卷积层原理如式(1)所示:
池化层对特征面进行下采样操作,目的是降低特征空间。池化操作在算力充足的条件下不是必须的。常见的池化操作有最大值池化、平均值池化等。一般池化层夹杂在连续的卷积层之间。
经过卷积和池化操作,我们得到了特征矩阵。将其作为全连接网络的输入,将每层神经元的加权和传递给下一层的神经元,与偏置值相加后通过激活函数即可得到神经元的输出。第l第j个神经元的输出如式(2)所示:
其中n表示第l-1层神经元数量,wij表示权值,表示第l-1层第i个神经元的输出,表示偏置值。
采用训练函数衡量CNN神经网络的训练误差,常用的损失函数有均方误差(Mean Square Error)和K-L散度(K-L divergence)等。CNN常用反向传播算法(backpropagation)最小化训练误差。
在本模型中,我们选用了VGGNet搭建模型。VGGNet可以方便的与迁移学习结合。与一般的卷积神经网络相比,VGGNet增大了神经网络的深度,并采用了较小的卷积核来代替AlexNet中较大的卷积核,在降低参数量的同时提高了非线性特征的表达能力。
迁移学习是指将源域中的知识迁移到目标域中以提升学习模型的表现。传统分类学习的可靠性与准确性大都基于以下两个假设:(1)训练集和测试集中的样本满足独立同分布条件;(2)有足够多的训练样本。但是医疗影像难以获得,且标注成本很高,难以满足以上假设,而迁移学习可以很好的解决这些问题。VGG-16具有很深的网络结构,在网络低层次提取到的特征与数据集关系不大,而在高层次提取到的特征与目标任务紧密相关,所以预训练模型和目标模型可以共享低层次参数,只需重新训练高层权重。图1显示了一般模型的迁移学习过程,在ImageNet数据集上预训练卷积神经网络,而后保持模型低层预训练权重不变,更新高层权重,解决新数据集上的学习任务。
图1 迁移学习:ImageNet上预训练模型,保持低层权重不变,重新训练高层权重
图2 改进后的VGG-16:冻结预训练模型VGG-16,只训练添加层;而后解冻至Conv5-3,重新进行训练
实验采用了来自Kaggle的COVID-19数据集,其内有肺部CT图像正样本349张和负样本397张。该数据集内COVID-19的CT图像来自medRxiv,bioRxiv,NEJM,JAMA,Lancet等期刊内与新冠肺炎相关的论文(Yang X,He X,Zhao J,et al.COVID-CT-Dataset:A CT Scan Dataset about COVID-19),并通过文章内容对样本进行标注。
我们选择了VGG-16作为预训练网络,并在此基础上添加了一个池化层和两个全连接层,网络结构如图2所示。而后将VGG-16点所有权重冻结,对最后三层进行训练,防止随机初始化的参数影响预训练好的权重。训练完成后,将VGG-16解冻至Conv5-3,重新进行训练。
图3 改进后VGG-16的F1分数
本文将改进后的VGG-16与CNN进行比较,F1分数分别为0.838和0.797,提高了0.041,这说明我们训练得到的模型是有效的。VGG-16在训练集与验证集上的F1分数如图3所示。
图4 改进后VGG-16的训练迭代过程
图4显示了改进后VGG-16的训练迭代过程,可以发现在迭代60次后损失函数曲线趋于平缓,符合深度学习曲线的迭代规律。
结论:在本文中,我们提出了一个基于卷积神经网络和迁移学习的针对COVID-19的医疗诊断,并将其应用于Kaggle的新冠肺炎数据集中。我们对VGG-16进行改进,添加了一层池化层和两层全连接层用于冻结预训练模型后的训练。我们将VGG-16作为预训练网络,得到预训练模型后将其冻结,对添加层进行训练,再对部分层解冻。将改进后的VGG-16与CNN对比后发现,在Kaggle肺炎数据集上,本方法的F1分数高出了0.041。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!