基于布谷鸟搜索和深度信念网络的肺部肿瘤图像识别算法
2018-12-14郭丽芳张飞飞梁蒙蒙
杨 健,周 涛,,郭丽芳,张飞飞,梁蒙蒙
(1.宁夏医科大学 公共管理研究中心,银川 750000; 2.宁夏医科大学 理学院,银川 750000)(*通信作者电子邮箱zhoutaonxmu@126.com)
0 引言
肺癌是当今对人类生命健康危害最大的恶性肿瘤之一[1],医学影像学方法检查广泛应用于肺部肿瘤的诊断,其中包括X线成像、电子计算机断层扫描(Computed Tomography, CT)、正电子发射型计算机断层显像(Positron Emission Computed Tomography, PET)及磁共振成像(Magnetic Resonance Imaging, MRI)等[2]。目前CT 检查是肺癌筛查最有效的手段之一[3],而计算机辅助诊断系统可以利用计算机高速计算、自动处理医学影像的优势为医生提供准确率较高的诊断结果,从而提高医学影像诊断的客观性和准确性[4]。
目前神经网络[5-6]广泛应用于肺部肿瘤计算机辅助诊断系统,在医学图像的计算机辅助诊断领域,尽管有各种优秀的算法,但是其特征提取复杂,深度学习[7]的出现有效解决这个问题,它是一种高效的特征提取方法,能够提取数据中更加抽象的特征,对原始数据实现更本质的描述,同时深层模型具有更强的建模能力。深度信念网络(Deep Belief Network, DBN)[8]是目前应用广泛的深度学习方法之一,DBN能够从原始数据中自动学习、提取特征,并且通过受限波尔兹曼机(Restricted Boltzmann Machine, RBM)的特征提取能力能够在很大程度上解决浅层学习存在的问题并提高识别性能; 文献[9]提出了一种应用于多类别放射性图像的分类方法,首先使用基于小波变换和柯尔莫哥洛夫-斯摩洛夫(Kolmogorov-Smirnov, KS)检验的去噪技术来消除图像噪声和无关特征,然后用DBN学习无标签特征,此方法能够在临床应用中分析噪声众多的放射性图像,例如诊断与肺、乳腺、肌肉或骨骼相关的疾病;文献[10]基于DBN提出了一种用于乳腺癌检测的计算机辅助诊断方案,该方案为乳腺癌提供了有效的分类模型;文献[11]结合主成分分析法提出的深度信念网络模型降低了故障检测模型的复杂度,提高了对未知故障类型的辨识精度, 但是在构建DBN模型时,其网络权值通常采用随机初始化的方式获得,该方法使初始权值具有一定的指向性,并随着DBN层训练使这种指向性逐层传递,从而影响网络的识别精度,同时权值的随机初始化会使DBN在训练过程中陷入局部极值,从而导致网络学习困难。
为解决网络权值的随机初始化且易使网络陷入局部极值的问题,本文在传统DBN模型中引入布谷鸟搜索(Cuckoo Search, CS)算法[12],利用CS的全局寻优能力对DBN的初始权值进行优化,将CS与对比散度(Contrastive Divergence, CD)算法结合实现DBN的预训练,实验将CS-DBN应用于肺部肿瘤CT图像的识别,并从4个角度(训练次数、训练批次大小、DBN隐层层数和隐层节点数)验证了基于CS-DBN的肺部肿瘤图像识别算法的可行性和有效性。实验结果表明,CS-DBN与传统DBN相比有更好的识别效果。
1 基础理论
1.1 受限玻尔兹曼机
受限波尔兹曼机(RBM)是一种概率生成模型,已经广泛应用于图像识别、语音识别、人脸识别和文档处理等诸多领域,但是目前RBM主要用于对数据预处理时的特征提取和对神经网络的参数初始化[13],其最重要的应用是作为构造深度信念网络的学习模块。
RBM是一种随机神经网络模型,每个RBM分为两层,输入数据层称为可视层,不可见层称为隐层。RBM的层内无连接,层间彼此互连, 其中,可视层表示为v,隐层表示为h,hn表示第n个隐层,连接两层的权值矩阵是ω,可视层与隐层的偏置分别为b和c。
Hinton[14]提出对比散度(CD)算法来训练网络参数θ=(wij,bi,cj),首先通过可见层神经元向量值计算隐层神经元状态,然后通过隐层神经元重建可见层神经元状态,由重建后的可见层神经元再次计算隐层神经元状态,即可获取新的隐层神经元状态。当给定可视层或隐层神经元状态时,隐层与可视层单元的激活概率分别为:
(1)
(2)
其中函数f是sigmoid函数。
1.2 深度信念网络
深度信念网络是包含多隐层(隐层数大于2)的深层网络模型,由若干层无监督的RBM单元和一层有监督的BP网络组成,能够将低层特征通过多层次结构形成更抽象的高层特征,实现对原始训练数据的本质描述。
DBN的学习过程分为两个阶段: 第一阶段的无监督特征学习是对于每个RBM的预训练,预训练使用贪婪无监督逐层学习算法自底层到顶层逐层训练每个RBM,将前一个RBM的输出作为其高一层RBM的输入,自底层到顶层逐层实现每个RBM的训练,从而实现对网络参数的初始化,经过预训练之后,原始输入数据的特征被组合成更抽象的高层特征;第二阶段将预训练结束后得到的权重作为DBN的初始权重,采用BP(Back Propagation)算法自顶层向下层微调整个模型,进行有监督的训练,从而形成整个DBN深层网络结构。
与传统神经网络相比,深度信念网络的优势在于解决了传统神经网络在深度结构增加时训练时间长和大数据处理慢等问题。
1.3 布谷鸟搜索算法
布谷鸟搜索(CS)算法是一种基于种群迭代的新兴启发式全局优化算法,可以有效求解最优化问题。CS算法灵感主要源于布谷鸟的寄生育雏繁殖策略和莱维(Lévy)飞行搜索模式[15], 采用莱维飞行产生步长,有利于跳出局部最优解,从而使算法具有较强的全局搜索能力;它不需要问题的梯度信息,容易实现,能以较大概率收敛到问题的全局最优解,为解决优化问题提供了新的途径[16]。CS算法选用参数少、搜索路径优、全局搜索能力强,是一种很有潜力的算法,已成为目前研究热点[17]。
布谷鸟所寻找的鸟窝位置具有随机性。在使用布谷鸟算法之前设定3个理想状态:
1)布谷鸟每次只产一个蛋,并随机选择宿主鸟窝进行孵化。
2)每一代鸟窝中最好的一个将会保留到下一代。
3)可选鸟窝数目为固定值N,并且布谷鸟蛋有一定概率Pa被宿主发现,Pa∈[0, 1]。若宿主发现布谷鸟蛋则抛弃该鸟窝,随机建立一个新鸟窝。
布谷鸟搜索算法的步骤如下:
(3)
其中:⊕为点对点乘法,α为步长控制量,主要控制步长大小和方向,Lévy(λ)是一个步长大小服从式(4)Lévy分布的随机搜索向量。
L(s,λ)~s-λ; 1<λ≤3
(4)
其中s是由Lévy飞行得到的随机步长。
3)选择。产生随机数r∈[0,1],若r
4)判断。如果当前最优鸟窝位置的目标函数值达到目标范围或满足迭代终止条件,则停止搜索,得到最终结果;反之, 则返回步骤2)继续搜索。
2 基于CS的深度信念网络模型
2.1 算法思想
传统DBN模型的网络权值采用随机初始化的方式产生,其初始化权值带有一定的指向性,且在训练过程中容易使网络陷入局部最优。为解决此问题并提升DBN性能,本文在传统DBN模型中引入CS算法,提出一种基于CS的DBN模型(CS-DBN),利用CS算法的全局寻优能力对DBN的初始权值进行优化,并将该模型应用于肺部肿瘤图像的分类识别。首先将CS与CD算法结合进行DBN的逐层预训练;在每个RBM训练结束之后,利用BP算法对整个网络进行微调,从而使网络权值达到最优;最后在得到的DBN深层网络顶部添加分类层,对输入的预处理数据即肺部肿瘤感兴趣区域(Region of Interest, ROI)进行分类,实现对肺部肿瘤CT图像的识别。算法流程如图1所示。
图1 本文算法流程
2.2 关键技术
2.2.1 基于CS和CD算法的DBN预训练
将CS与CD算法结合实现DBN的预训练,即最底层RBM通过CS搜索获得其权值ω1,然后利用CD算法对输入数据进行训练,通过Gibbs采样得到隐层并重构显层,将底层输出作为高层输入逐层搜索权值ωn并逐层训练RBM,最终得到DBN的每一层权值并训练每一个RBM,实现DBN预训练。流程如图2所示,具体步骤如下:
步骤1 初始化鸟窝个数N和鸟窝位置。
步骤2 构造目标函数fitness并产生初始最优解ωbest:采用RBM重构误差构造目标函数fitness,并产生初始鸟窝位置的目标值,保存初始最优权值即为当前全局最优权值ωbest;RBM训练过程中第n次迭代的重构误差如下:
(5)
步骤3 通过Lévy飞行更新当前每个鸟窝,并根据目标函数找到当代最优权值,若当代最优权值优于当前全局最优权值,则替换全局最优权值ωbest。
步骤4 随机数r∈[0,1]与布谷鸟蛋被宿主发现的概率Pa对比,若r>Pa,则随机改变当前鸟窝位置,获得一组新的鸟窝位置,计算该组鸟窝位置的目标函数值,比较新鸟窝位置与全局最优位置的目标函数值,选择最优的鸟窝位置作为当前最优鸟窝位置即全局最优权值ωbest。
步骤5 如果当前最优鸟窝位置的目标函数值达到目标范围或满足迭代终止条件,则停止搜索,得到全局最优权值ωbest;反之,则返回步骤3继续搜索。
步骤6 利用CD算法对输入数据进行训练,通过Gibbs采样得到隐层并重构显层。
步骤7 重复步骤1~6逐层搜索权值ωn并逐层训练RBM,最终得到DBN的每一层权值并训练每一个RBM,实现DBN预训练。
图2 基于CS和CD算法的DBN预训练流程
2.2.2 基于BP算法的DBN微调和分类识别
将RBM训练结束后得到的各层权重作为DBN权重,得到DBN深层网络结构,利用DBN深层网络结构对输入数据进行有监督训练,计算输出与输入数据的误差,利用BP算法自顶层向下层修正其网络权值,微调整个DBN,直到误差被调整至设定范围之内,微调完成;在得到的DBN深层网络顶部添加分类层,利用BP算法调整分类层权值,对输入数据进行分类,实现对肺部肿瘤CT图像的识别。
3 仿真实验
3.1 实验环境
软件环境:Windows 7 操作系统,MatlabR2013a;硬件环境:Intel Core i5 4670 3.40 GHz,8 GB内存,500 GB硬盘。
3.2 实验数据
1)数据来源。从宁夏医科大学总医院核医学科获取肺部CT图像3 000幅,其中包括经核医学科医生标记的1 500幅肺部肿瘤异常图像和1 500幅非肿瘤图像。肺部CT图像如图3所示。
图3 肺部CT图像
2)数据预处理。对肺部CT图像截取ROI区域,将截取的ROI图像去伪彩并转化为28×28大小的灰度图像;从3 000幅肺部CT图像中随机抽取300幅作为测试集,其余2 700幅作为训练集。预处理后的部分图像如图4所示。
3.3 实验结果及分析
本文实验在传统DBN模型中引入CS算法,利用CS算法的全局寻优能力对DBN的初始权值进行优化,并将该模型应用于肺部肿瘤CT图像的分类识别。实验从RBM训练次数、训练批次大小、DBN隐层层数和DBN隐层节点数4个角度验证本文提出的基于CS-DBN的肺部肿瘤图像识别算法的可行性和有效性,并对其识别效果进行讨论分析。为避免实验的偶然性,以下实验结果为相同实验环境下5次相同实验的均值。
图4 预处理后的部分图像
1)实验一。不同RBM训练次数下CS对权值优化前后效果比较。
本实验在固定DBN结构的前提下,设置1~150范围内的RBM训练次数,验证CS对DBN初始权值的优化效果,探讨CS对初始权值的优化效果随不同RBM训练次数的影响,并对其识别效果进行讨论分析。实验结果如表1所示。
实验结果表明,CS对DBN初始权值优化前后,肺部肿瘤的识别率均随着RBM训练次数的增加呈明显的上升趋势,且特异度均有较大幅度的提升;相同RBM训练次数下,CS优化DBN初始权值后网络的识别效果明显优于DBN随机初始化网络权值的识别效果,其识别率提高百分点的范围是1.13~4.33,当RBM训练次数达到100时,CS-DBN能达到96.33%的识别率,在一定程度上提高了传统DBN对肺部肿瘤的识别率。综上,本实验从RBM训练次数的角度验证了基于CS-DBN的肺部肿瘤图像识别算法的可行性和有效性。
表1 不同RBM训练次数下CS对权值优化效果比较
2)实验二。不同训练批次大小下CS对权值优化前后效果比较。
本实验在固定DBN结构的前提下,分别控制训练批次大小为100、50、20、10,验证CS对DBN初始权值的优化效果,探讨CS对初始权值的优化效果随不同训练批次大小的影响,并对其识别效果进行讨论分析。实验结果如表2所示。
实验结果表明,CS对DBN初始权值优化前后,肺部肿瘤的识别率均随着训练批次大小的减小呈明显的上升趋势,且特异度均有较大幅度的提升;相同训练批次大小下,CS优化DBN初始权值后网络的识别效果明显优于DBN随机初始化网络权值的识别效果,其识别率提高百分点的范围是2.00~3.34,且灵敏度和特异度在CS优化初始权值后均有一定程度的提高;当训练批次大小为10时,CS-DBN能达到95.67%的识别率,在一定程度上提高了传统DBN对肺部肿瘤的识别率。综上,本实验从训练批次大小的角度验证了基于CS-DBN的肺部肿瘤图像识别算法的可行性和有效性。
3)实验三。不同DBN隐层层数下CS对权值优化前后效果比较。
本实验在固定DBN参数的前提下,分别控制隐层层数为2、3、4,验证CS对DBN初始权值的优化效果,探讨CS对初始权值的优化效果随不同隐层层数的影响,并对其识别效果进行讨论分析。实验结果如表3所示。
实验结果表明,相同隐层层数下,CS优化DBN初始权值后网络的识别效果明显优于DBN随机初始化网络权值的识别效果,其识别率提高百分点的范围是1.07~3.34,且灵敏度和特异度在CS优化初始权值后均有一定程度的提高;当隐层层数为3时,CS-DBN能达到95.67%的识别率,在一定程度上提高了传统DBN对肺部肿瘤的识别率。综上,本实验从DBN隐层层数的角度验证了基于CS-DBN的肺部肿瘤图像识别算法的可行性和有效性。
4)实验四。不同隐层节点数下CS对权值优化前后效果比较。
本实验在固定DBN参数的前提下,分别控制隐层节点数为50-50-50,100-100-100,200-200-200,验证CS对DBN初始权值的优化效果,探讨CS对初始权值的优化效果随不同隐层节点数的影响,并对其识别效果进行讨论分析。实验结果如表4所示。
实验结果表明,相同隐层节点数下,CS优化DBN初始权值后网络的识别效果明显优于DBN随机初始化网络权值的识别效果,其识别率提高百分点的范围是1.40~3.34,且灵敏度和特异度在CS优化初始权值后均有一定程度的提高;当隐层节点数为100时,CS-DBN能达到95.67%的识别率,在一定程度上提高了传统DBN对肺部肿瘤的识别率。综上,本实验从DBN隐层节点数的角度验证了基于CS-DBN的肺部肿瘤图像识别算法的可行性和有效性。
表2 不同训练批次大小下CS对权值优化效果比较
表3 不同DBN隐层层数下CS对权值优化效果比较
表4 不同隐层节点数下CS对权值优化效果比较
4 结语
本文提出一种基于CS-DBN的肺部肿瘤图像识别算法,利用CS的全局寻优能力对DBN的初始权值进行优化,解决了DBN的权值随机初始化和易陷入局部极值的问题,同时实现了对肺部肿瘤CT图像的识别。实验结果证明CS-DBN与传统DBN相比有更好的识别效果,且能够在一定程度上提高肺部肿瘤的识别率,减少肺部肿瘤诊断的漏诊和误诊现象。该方法对于肺部肿瘤的分类识别有较好的效果,后续需要继续丰富实验数据,优化模型结构和学习算法,将其应用于其他领域的图像识别是今后的研究重点。