余文林,陈振洲,范冰冰,黄 穗
(华南师范大学 计算机学院,广州 510631)
肝纤维化(Hepatic Fibrosis,HF)是许多慢性肝脏疾病的常见表现,是指由各种病因导致的肝脏损伤而进行的组织修复,最终导致合成大量的胶原和蛋白多糖等细胞外基质(Extra Cellular Matrix,ECM)过度沉积的病理过程.
有研究表明,早期轻度肝纤维化是可以治愈,并且肝纤维化S2 期及以上具有明确的治疗指征,这也是肝纤维化进展的标志[1].肝纤维化持续发展将会引发肝硬化,甚至是引发肝细胞癌[2,3].因此早期诊断肝纤维化并且区分肝纤维化分期及炎症活动度将会对临床治疗方案的选择提供重要依据及帮助[4].
医学成像技术因其具有无创性和能直观检测体内器官的特性,现已广泛的被用于临床医学当中.用于评估肝纤维化的医学影像主要包括核磁共振成像(Magnetic Resonance Imaging,MRI)、超声弹性成像、计算机断层成像(Computed Tomography CT).相对于其他医学成像技术来说,磁共振成像可以生成多种多参数的高清软组织图像,包括弥散加权成像(Diffusion Weighted Imaging,DWI)、T1-weighted MRI、T2-weighted MRI 等.在本实验中根据医生的建议采用了T1-weighted(T1)、T2-weighted TSE(T2)、T1RHOFA(FA)、T1RHO-HS(HS)这4 种MRI 图像.
目前国内外对肝纤维化的诊断方法主要分为有创性诊断和无创性诊断.其中有创性诊断主要是对肝脏进行肝活组织病理学检查,并将其检测结果作为肝纤维化分期阶段的“金标准”.然而这种诊断方法具有成本太高、有创性、有几率导致并发症等的弊端[5];而非创性诊断技术有临床评估、诊断预测模型、血清标志物、医学成像等.医学成像技术凭借其相对无创性和可以对肝纤维化直观评估的特点,在临床应用中发挥了关键的作用.
传统基于医学图像对肝纤维化程度诊断的方法主要是先对图像进行人工特征提取和特征筛选,然后再通过传统机器学习的方法训练分类器进行肝纤维化分期分类[6,7].虽然传统方法依旧取得了一定的效果但是由于得到的特征是基于人工提取的,效率不高而且覆盖的图像信息不全面.针对这些局限性,深度学习凭借其可以自动获取原始图像的一系列特征的特性,为医学图像研究提供了新方向[8,9].Sarraf 等人[10]通过对正常大脑和阿尔茨海默患者大脑的磁共振图像的训练获得了准确率高达96.85%的LeNet模型.Marios 等人[11]基于肺部的高清CT 图像训练,实验模型最高分类准确率达到了85.61%.在肝纤维化方面,孟丹等人[12]先利用在ImageNet 上预训练的VGGNet网络提取感兴趣区域肝脏区域超声波特征,然后再将特征输入到他们提出的FCNet中,进行对肝纤维化正常、早期肝纤维化(S1-S3)和晚期肝纤维化(S4)三种阶段的判断,取得了超过80%的实验准确率.Wang 等人[13]通过肝纤维化患者的超声弹性成像图训练卷积神经网络取得了与肝脏穿刺活检诊断相当的效果.以上基于医学成像的肝纤维化诊断研究都是基于超声成像的且没有对肝纤维化分期做出具体的判断.相对于MRI 来说超声成像具有图像分辨率较低的先天劣势,且采集可以诊断出肝纤维化分期的超声图像对采集人员有较高的医学专业要求且图像质量容易受操作者的经验影响.因此采集到的超声图像已经具有高度诊断辨识度.然而本实验采用分辨率较高和采集稳定的MRI 图像作为肝纤维化诊断依据,同时也针对MRI 图像特点和目标需求,优化设计了集成自动提取特征和对肝纤维化各分期诊断的综合模型.
深度学习是由Geoffrey Hinton 研究组在2006年提出的一个机器学习领域的新分支[14].它通过构建具有多层的非线性模型来进行数据处理.深度学习能利用多层的特性自底层向高层逐步的学习自动提取特征,摒弃了人工特征提取所带来的先验性和不全面性的缺陷.近年来,深度学习在图像识别、自然语言处理、计算机视觉方面都举得了优秀成绩.其基本的网络层次图如图1所示.
图1 深度网络的层次结构
除了基本的全连接层之外,常见的深度神经网络层还有:卷积层,池化层,批标准化层,随机失活层,激活层等.
自1962年Hubel 和Wiesel 在研究猫脑皮层中用于局部敏感和方向选择的神经元提出感受野(receptive field)概念后[15],继而有人提出含有卷积层的卷积神经网络(CNN).而LeCun 最早将CNN 应用于手写数字识别并取得了突破性成绩[16].
卷积神经网络利用了图像主体的平移不变性和像素与近距离的像素之间的联系大于远距离像素的特性,采用不同的卷积核对图像进行卷积运算得到不同的特征图,在计算特征图时通过权值共享大大减少了深度神经网络的参数数量(图2).
图2 卷积的工作方式
池化层是根据特征选择的区域按照池化方式提取出特征,同时能缩小特征图,减少模型的计算量,常用的池化方法有最大池化,最小池化,和平均池化.在本文实验中采用的均为最大池化.
深度模型在训练时,由于模型层次太深或采用了不适当的激活函数会导致模型梯度消失的问题.针对这一问题,2015年Google 提出了批标准化(Batch Normalization)[17].批标准化将输入的批次中的每一个feature map 进行标准化操作,使数据满足标准正太分布.这样降低了数据的冗余性和特征的相关性,使得模型的梯度传导的更深缓解了梯度消失的问题.
随机失活(Dropout)层[18]是一种针对模型训练过程中出现的过拟合问题所提出的.它是在模型的训练中按照一定的概率,随机地选择上层的输出神经元而使其在本次的训练过程中处于失活的状态.当有多个随机失活层作用时,每次训练的过程中实际训练的模型都不同.这样大大的提高了模型的多样性,也让模型过度拟合训练数据变得困难.
如果不添加激活层,每一层的输出都是上层输入的线性函数,这样无论网络有多少层,输出都是输入的线性组合,无法拟合非线性函数.激活层将非线性特征引入到了网络中,使网络可以逼近任意非线性函数,让神经网络可以处理众多非线性问题.激活层中常用的激活函数有Sigmoid、Tanh、ReLU 等.
迁移学习(transfer learning)是将在源域(source domain)中学习到的知识应用于在目标域(target domain)知识学习中的一种学习方法[19].通常源域和目标域的数据和任务都不相同,且目标域的数据获取成本较大导致已有数据不足以训练出可靠模型.迁移学习通过迁移在源域学习的知识去提升针对目标域任务建立的模型的效果(图3).
图3 迁移学习
迁移学习按照学习方式可以分为基于样本的迁移、基于特征的迁移、基于模型的迁移和基于关系的迁移.由于医学影像数据的难获取或者获取的成本较高的特性,迁移学习提供了一个恰当的途径.同时有研究表明在训练好的深度模型中,各层次学习到的知识不同,低层学习到的是偏向通用性的知识,如图的边缘、拐角等.而高层学到的是与学习任务相关的特征,如在人脸识别任务中,模型的高层学习到的就有如何识别眼睛和嘴巴等知识.在实现模型迁移时,可以通过固定不同数量的低层参数来实现不同程度的模型迁移.
本文中实践验证了,通过迁移在ImageNet 数据集上训练的VGGNet-11模型可以提升肝纤维化期数诊断模型的特征抽取能力和稳定性.
本文采用深度模型迁移学习方法,将ResNet-18 和VGGNet-11 作为基本参照模型.基于参照模型针对MRI 图像的特点进行优化,然后对所有模型训练大鼠肝纤维化MRI 图像,使模型自动提取图像特征和对肝肝纤维化期数诊断.对数据集,本文采用了基于随机的镜像和旋转的数据增强策略来提升模型的泛化性能和鲁棒性.同时在实验中,对两种对比模型都采用了迁移学习方法和不使用迁移学习方法分别训练.在使用迁移学习方法训练时,对模型都进行了不同程度的模型迁移对比实验.
3.1.1 数据集
本实验数据由南方医科大学提供.采用实验大白鼠共计95 只,其中每只白鼠分别采用T1、T2、T1RHO FA 和T1RHO HS 磁共振参数对其肝脏的不同部位进行核磁共振影像采集.然后将采集到的原始影像通过RadiAntDICOMViewer 软件转换成PNG 格式作为我们的数据集.数据集的中4 种不同参数的核磁共振影像图数量如表1所示.
表1 数据集的采集情况
在实验过程中,由于对同一只大鼠的不同肝脏切片采用了相同的采集参数,因此它们有一定的相似性.为防止相似性对模型的结果评定有影响,在实验中都先以白鼠为单位随机分为7:3的比例.然后将所有由同只白鼠获取到的影像全部作为训练集数据或者测试集数据.具体影像图见图4.
图4 从S0 到S4 期大鼠肝纤维化T2 核磁共振影像图
3.1.2 数据增强
由于深度神经网络模型需要海量的数据来进行学习,而我们数据集中的数据量远不及海量的要求.所以在实验时需要对数据集进行适当的数据增强方法来扩充数据量,这样训练出的模型具有更高的鲁棒性也不容易过拟合.本实验采用的数据增强方法有以下两种:
1)图像翻转:图像翻转分为水平翻转和垂直翻转.这是一种常规的数据增强方法.在图像进行翻转后仍然不影响图像表达的语义时,我们应尽量采用这种图像增强方法.在本实验中对图像进行水平翻转不会影响肝纤维化的诊断.所以图像在训练前都会随机的进行水平翻转.
2)图像旋转:图像旋转也是一种常规的数据增强方法.这是将图像按照中心点进行旋转的方法.但是过量的旋转会改变图像的语义表达,如在文字识别中,过量的旋转会让图像产生歧义或者不能识别.考虑到本数据集在获取数据的时候就存在一定的角度差别,在实验中,数据在训练前都会随机的在-12 度到12 度之间进行旋转.
同时采用随机水平翻转和随机旋转图像可以让同一张图像在输入到网络时都会有不同的差异,这让模型不容易陷入过拟合而记住单一图像的特点.同时在网络遇到新的图像时,能提升图像的准确性.为了防止数据增强所带来的影响,在测试的过程中,所有的数据增强策略都未使用.这样保证的模型对目标数据预测结果的准确性.图像对比结果如图5所示.
图5 原始图像和数据增强后的图像
ResNet的全名是Residual Network,又称为残差网络[20].通过在添加低层与高层之间的直通的残差块的设计,在使用梯度优化类方法训练网络的时候这种残差块设计能让梯度传导到更深的层次,因此能训练出层次更深的模型.在2015年的各大图像算法比赛中,ResNet在保证网络精度的前提下,将网络深度达到了152 层,并以绝对优势取得了多个冠军.ResNet 根据不同的数据规模有ResNet-18、ResNet-34、ResNet-50、ResNet-101 和ResNet-152 等版本,后面的数字代表着该模型的最大深度.本文的实验在数据规模和分类类别数目上远不及比ImagNet 比赛中的规模,采用的模型是ResNet-18网络结构.为了方便实现对模型的不同程度的迁移,本文将每两个残差合并为一个逻辑层.其网络结构图如图6所示.
图6 ResNet-18网络结构
VGG 是参加ILSVRC 2014 比赛时,提交该网络的小组Visual Geometry Group,Department of Engineering Science,University of Oxford的缩写,故该网络结构叫做VGG 或者VGGNet[21].该网络在当年的图像分类任务中获得第二名,而第一名由Google 提出的GoogleNet 获得.VGGNet 也具有不同的层次版本.主要有VGG-11、VGG-13、VGG-16 和VGG-19,随着Batch Normalization的提出相继有了对应的添加Batch Normalization的版本.在本文中所采用的对比网络模型为VGG-11的带Batch Normalization 版本,同样为了方便进行模型的部分迁移,也进行了层次的合并,其网络结构如图7所示.
图7 VGGNet-11网络结构
本实验将原模型的最后线性层都由原输出类目数的1000 调整为输出类目为5的线性层.这样模型的5个输出就可以更好的表示模型对输入图像中肝纤维化程度的判断.在实验过程中,本文采用了批量训练的训练方法,每次训练时都随机选择小批量数据进行训练.把每张图像的原始所属于的分期和模型对图像判断所给的输出,根据交叉熵(Cross Entropy)函数计算出模型对本张图像的输出和真实类别之间的差距损失,然后根据批量数据的累加损失,按照梯度反向传播法则依次调整模型中的所有未固定且可训练的参数.
如图6 和图7所示,本文将ResNet-18 和VGG-11 都分成6个逻辑层.分别在T1,FA,HS 和T2 每个数据集上进行了6 次实验.由未采用迁移学习训练和依次迁移模型低层参数并固定,作为模型特征提取的一部分.具体实验配置如表2所示.
实验均在,CPU Intel(R)Core(TM)i7-4790、GPU NVIDIA GeForce GTX 1080,内存DDR3 16 GB,Windows 10 专业版环境下,使用PyTorch 0.40 实现模型的构建和训练.各组模型训练依次进行,每次模型训练的80个周期共需30 分钟左右,训练结果如图8 至图11所示.
表2 实验中模型的迁移设置
图8 采用RetNet-18 在各数据集上的模型准确
图9 ResNet-18 在4 种数据集下的训练过程
图10 VGG-lock0 在4 种数据集上训练过程
4.1.1 ResNet-18的实验结果
采用Res-lock0 配置时,ResNet-18 在4 种不同数据集上训练不同的模型,平均在15个周期模型都能达到自己稳定后的平均准确率.其中的采用FA 数据训练的模型的平均准确率最高为86.06%,最高准确率为89.79%;其次是通过HS 训练的模型,平均准确率为81.84%最高准确率为85.51%;最低准确率的模型是采用T2 数据训练,其最高模型准确率为79.04%,平均准确率为73.60%.通过FA 训练出模型的准确率具有最高的稳定性,其准确率的方差为5.09.而通过T1 和HS 训练模型稳定后的准确率的方差为10.04 和10.69,通过T1 训练的模型最不稳定,准确率方差为32.47.其训练结果如表3所示.
表3 ResNet-18 在Res-lock0网络设置下模型的结果
图11 VGG-11 在4 种数据集下的训练过程
采用FA 数据集训练时,当使用Res-lock1 至Reslock4 配置训练,模型的最高准确率依次为79.58%、77.93%、76.69%和77.24%.采用模型迁移后,模型平均在第7个周期就能达到模型的平均准确率,训练速度提升了一倍.然而模型的准确率却是不采用模型迁移时最优.而当采用其他3 种数据集训练时,适量采用模型迁移均能提升模型的训练速度和提升模型的准确率.在采用Res-lock4 配置的模型,在3 种数据集下模型效果都最优.在4 种数据集中,采用Res-lock5 配置训练的模型效果都明显低于其他配置的模型,因为采用这种配置时,模型的大部分参数都已固定,模型的拟合能力大大下降不能拟合出能良好分类的模型,因此其效果与其他模型差距较大.训练结果如表4所示.
表4 ResNet-18 在4 种数据集下的训练结果
4.1.2 VGG-11的实验结果
采用VGG-lock0 配置训练时,在4 种数据集上训练的模型平均在15 周期达到模型稳定后的模型准确率.在FA 数据集上训练的模型准确率最高,最高准确率为95.31%平均准确率为90.11%,.其次是在HS 上训练的模型最高模型准确率为85.97%,平均准确率为79.63%.在T1 上训练的模型的准确率最低,其最高模型准确率为76.65%,平均准确率为71.87%.在FA 上训练的模型具有最高的模型稳定性,其准确率方差为4.94,其次是T1 数据集,模型准确率方差为8.34.通过HS 训练的模型准确率最差,其模型准确率方差为16.66,是在FA 上训练模型的3.37 倍.其训练结果见表5.
表5 VGG-lock0 在4 种数据集上训练结果
在T1 数据集下,采用VGG-lock1 至VGGlock5 训练的模型的准确率均比未使用VGG-lock0 配置训练的模型的准确率都高.其中在使用VGGlock1 配置时,模型具有最高的平均准确率81.52%,较使用VGG-lock0时的平均准确率提升了13.42%,但其模型的稳定性不及使用VGG-lock0的模型.在使用VGG-lock4时模型具有最高的稳定性,其准确率的方差为4.88 只为使用VGG-lock0 配置的58.51%.同时除了使用VGG-lock5 配置时,所有配置下的模型训练速度都不低于使用VGG-lock0的配置.在T2 数据集下,VGG-lock1 致VGG-lock5 配置的模型准确率和模型稳定性都优于VGG-lock0 配置下的模型,但是各种配置下的模型结果之间的差别不大.其中使用VGGlock5 配置下的模型具有最高的模型准确率84.88%,比不使用模型迁移时的最高准确率提升了 3.23%,平均准确率也提升了6.09%,但是其模型需要30个周期才能达到平均准确率.使用FA 数据集训练时,在使用VGG-lock0 配置训练时能获得准确率高达95.31%的模型.但是使用VGG-lock3 配置能训练出准确率超过原来1.3%的模型.在使用HS 数据集训练时,使用VGG-lock3 配置训练的模型取得高的模型准确率和平均准确率.同时训练速度最快比不使用模型迁移时提提升了40%.其训练结果如表6所示.
表6 VGG-11 在4 种数据集下的训练过程
在没有使用模型迁移训练模型情况下.具有最多数据的FA 数据集在两种模型下都获得了最高的模型准确率,但是VGG-11的效果优于ResNet-18.在使用模型迁移训练时,迁移训练对ResNet-18 结果的影响不稳定.在FA 数据集上,迁移训练的模型结果都不及未使用迁移的模型结果,在T2 和HS模型下有模型的准确率提升.特别在使用Res-lock4时,模型的训练速度和模型的准确率在T1,T2 和HS 数据集下都优于其他配置.对于VGG-11,在4 种数据集上使用迁移训练都能稳定地为模型带来准确率和训练速度的提升并且训练结果都优于ResNet-18.在ResNet-18 和VGG-11 使用Res-lock5 和VGG-lock5 配置时,模型的准确率和训练速度都远不及其他配置.因为过度的迁移,使模型剩下的可变参数大量减少,大大消减了模型的表达能力不能学到良好的模型.比较分析实验结果我们,可以得出结论使用T1RHO-FA 核磁共振影像具有较其他3 种影像就肝纤维化期数诊断具有更优的区分特征.同时在训练核磁共振影像时,VGG-11网络结构比ResNet-18 具有高的模型准确率,并且在使用在ImageNet 数据上训练的模型进行迁移时,能对结果有稳定的准确率和训练速度的提升.
本实验优化了ResNet-18 和VGG-11网络结构,使用了迁移和未迁移的训练方法对模型进行分组对比实验.对实验结果分析得出,T1RHO-FA 参数的核磁共振影像相对于T1-weighted、T2-weighted TSE、和T1RHO-HS 更适合用于深度模型的训练.同时相对于ResNet-18网络结构,VGG-11 更适用于核磁共振成像数据集的训练,并且可以实用深度模型迁移提升模型的准确率和训练速度.对于今后医学图像分类模型的训练的网络结构设计和影像数据的选择提供了参考因素.对肝纤维化分期的诊断提供了无创和全自动的参考方案也为肝纤维化分期的诊断提供了研究意义.