基于半监督生成对抗网络X光图像分类算法 下载: 1679次
1 引言
近年来,随着大量标注的自然图像数据集的出现,以及深度学习技术在计算机视觉方面的突破性进展,图像分类、目标检测和实例分割等自然图像计算机视觉任务的性能得到显著提高[1-3]。因此,已有学者基于监督学习的计算机视觉方法对早期疾病进行检测和诊断,其中Ciresan等[4]使用一种特别的深度人造神经网络作为一个像素分类器对生物神经元膜进行分割,该方法首次成功地将深层神经网络应用于生物医学影像。而后在皮肤癌分类[5]、乳腺癌诊断[6]、脑肿瘤分割[7]、肺炎检测[8]等方面的应用中,深度学习方法也都表现出良好的性能。如文献[ 8]在ChestX-ray14数据库的基础上进行肺炎检测,其训练的CheXNet深度模型在肺炎检测的敏感度与专业性上都超过了专业医生的平均水平。深度学习在医学影像领域取得的显著性进展,一方面是由于深度学习在数据分层特征提取和特征学习方面具有的优越性能;另一方面要归功于大规模专业标注数据集的发展。但在实际问题中,手工标注医学图像需要医学和临床专业知识,以及受到隐私权、医疗行业标准和医疗信息系统集成不足等方面的限制,构建标注密集的大型医学图像数据无疑会消耗大量的人力、物力成本。因此,在图像标注样本较少的情况下提高分类、检测的准确率已成为目前的研究热点。
半监督学习的主要思想是利用标注数据和未标注数据所提供的信息,在标注数据较少的情况下,集合大量未标注的数据来改善学习性能。其中,标注数据提供数据和标签联合分布信息,未标注数据提供数据分布信息。如文献[ 9]中提出利用基于自训练半监督学习方法进行目标检测,这种方式训练的模型可以获得与使用更大标注数据集的传统方式训练模型相当的效果;文献[ 10]中提出了利用自编码网络性质构造的阶梯网络方法,通过添加横向连接,在正常的前馈网络中加入噪声编码器和相应的去噪解码器,用于学习未标注的训练数据。目前,半监督学习的方法主要包括:生成式模型[11]、自训练模型[9] 、半监督SVM[12] 、熵正则化模型[13]和基于图论模型[14]等。已有的研究结果表明,半监督学习与仅利用标注数据的监督学习相比,学习性能得到了提高。
针对肺部X光图像数据,本文提出一种基于生成对抗网络(GAN)[15]的半监督图像分类方法,利用少量标注数据和未标注数据,使GAN的判别器网络可以输出数据类别标签,实现了基于少量标注样本的半监督分类。比较监督学习和半监督阶梯网络的实验性能发现,半监督生成对抗网络(SSGAN)提高了只利用标注数据的监督学习的性能,且性能表现优于其他半监督网络。该方法可应用于医学诊断、异常检测以及图像识别等领域。
2 SSGAN
2.1 GAN
GAN是由Goodfellow等[16]于2014年提出的一种基于博弈理论的无监督生成模型,其流程如
式中:
2.2 SSGAN
在GAN的基础上,提出了一种基于SSGAN的肺部X光影像分类模型。该模型在GAN网络的基础上,将来自GAN生成器G的生成图像样本添加到数据库图像中。假设对于一个
将符合特定分布(如高斯分布、均匀分布等)的噪声
为了提取更深层次的特征,提高模型训练过程的稳定性,借鉴改进后的深度卷积对抗网络(DCGAN)结构[20],在生成器G和判别器D中对网络结构进行约束和调整,以提高模型训练过程的稳定性。具体调整如下:1)判别器网络使用卷积替代池化层,生成模型使用反卷积替代池化层;2)在判别网络和生成网络使用批量归一化处理(BatchNorm); 3)生成网络在输出层使用Tanh激活函数,其余层使用 ReLU激活函数;4)对于判别模型,每一层都使用LeakyReLU[21]激活函数,最后输出层使用softmax函数。
生成器G使用5层反卷积网络对随机噪声进行上采样,生成指定大小的仿真图像。网络参数如
判别器D由17个卷积层,3个全连接层串连组成,如
3 基于GAN的半监督X影像分类
基于上述网络结构模型,针对肺部X影像分类中标注样本稀缺的问题,提出了一种基于GAN模型的半监督X光影像分类算法。采用监督损失和无监督损失相结合的训练方式共同调整网络参数,利用特征匹配来提高GAN的学习能力,在对抗过程中提高判别图像分类的准确率。当模型收敛时,网络可对描绘肺部疾病实例的图像进行分类。该方法主要有以下三个步骤。
3.1 数据及预处理
本研究使用的是Wang等[23]发布的肺部X光影像ChestX-ray14数据集,该数据库包含30805名患者的112120幅前视X光图像。Wang等根据放射学报告,运用数据信息挖掘自动提取方法,使用多达14种(atelectasis、cardiomegaly、effusion、infiltration、mass、nodule、pneumonia、pneumothorax、consolidation、edema、emphysema、fibrosis、pleural thickening、hernia)不同的胸腔病理标签标注每张图片。
首先,选取了其中36800张肺部X光图像作为实验数据,其中包括肺部X光片中观察到的6种发病率较高的常见胸部疾病;同时考虑到在自动化分类诊断中的实际情况,加入了不含肺部疾病的正常类和除此6种高发病率的肺部疾病外的其他类,共8类样本数据,如
图 6. 直方图均衡化图像对比图。(a)(b)(c)原始X光图像;(d)(e)(f)直方图均衡化X光图像
Fig. 6. Comparison of histogram equalization images. (a)(b)(c) Original X-ray images; (d)(e)(f) histogram equalization X-ray images
3.2 SSGAN模型训练
在SSGAN中,对于
(3)式中前
网络的训练过程实质上是对损失函数的优化过程。在判别器D中,每种类型的输入数据(标注数据、未标注数据、生成数据)分别对应每种类型的损失,即标注样本损失
标注样本损失,即真实类标签分布和预测类标签的交叉熵损失,表达式为
未标注样本损失,即将未标注样本判断为真实样本的损失,此时
生成样本损失,即将生成样本判断为假样本的损失,此时
式中:
在判别器D网络损失中,对于标注样本损失
判别器D网络的训练过程实质上是对总的损失函数的优化过程。其中,对标注样本数据进行监督学习,而对未标注样本数据和生成样本进行类似GAN的无监督学习。因此,总的判别器损失函数
式中:
在最小化判别器损失函数以获得更优性能判别器的同时,需要训练生成器G来近似拟合真实数据的分布。这里并没有采用原始GAN中最大化生成样本来自真实数据的概率
式中:
SSGAN模型采用监督损失和无监督损失相结合的训练方式共同调整判别器网络参数,能够进一步提高模型的学习能力。具体地,在半监督训练时,判别器D和生成器G交替迭代训练,固定G和D的一方,更新另一方的权重参数。训练判别网络时,含有标签真实样本,通过最小化标注样本数据标签与模型预测概率分布的交叉熵损失来更新网络模型参数,而利用GAN 对抗训练原理来调整无标签的真实样本和生成样本的网络模型参数。在训练生成网络时,采用特征匹配使生成样本尽可能拟合真实数据分布。通过上述联合训练方式实现具有半监督分类功能的SSGAN网络。
提出的SSGAN模型具体训练步骤如下:
1) 在高斯分布中随机采样生成随机向量
2) 将标注和未标注的真实图像
3) 固定生成器网络G的参数,若真实图像
4) 固定判别器网络D的参数,选取全连接层输出作为中间层特征,对真实图像
5) 重复1)~4)步操作,直至达到迭代次数;
6) 将测试样本图像输入到判别器D中,输出图像类别。
4 实验结果与分析
实验在内存为16 GB的GPU(NVIDIA,GeForce GTX 1080Ti)工作站上进行基于SSGAN的肺部X光影像分类计算,实现少量标注样本和未标注样本的肺部X光图像的有效分类。实验采用Adam算法优化损失函数,网络学习率(learning rate)设置为0.0003,动量(momentum)设置为0.5,每个批次(batch)有64个样本,迭代次数与损失函数的变化关系如
图 7. 损失函数变化趋势。 (a)判别器网络损失;(b)生成器网络损失
Fig. 7. Variaiton of loss function. (a) Loss of discriminator network; (b) loss of generator network
为了测试SSGAN在标注数据稀缺时图像分类任务的性能,在一个相对较小的图像数据集上对SSGAN进行训练,同时算法与监督学习的卷积神经网络(CNN)[25]、半监督阶梯网络(Ladder Network)[10]以及基于PCA和SVM的半监督自训练[26]进行实验对比。定义了8种不同大小的标注数据集,每类标注样本的数量分别为25,50,100,250,500,1000,1500,2000。
从上述数据结果中可以看出,SSGAN仅需要较少的标注数据就可以达到和CNN相同的分类性能。如:SSGAN每类只需要50个标注样本就可以达到(62.47±4.7)%的平均准确率,而CNN则需要100~250个标注样本才可以达到相当的分类准确率。在标注数据较少的情况下,SSGAN对分类性能的提升较为明显,但随着标注样本数量的增加,分类性能的提升作用逐渐减小,但总体优于CNN。而对比另外两种半监督模型,即半监督梯形网络和PCA+SVM自训练模型,SSGAN都表现出优越的性能。
表 1. 不同数量标注样本的平均分类准确率
Table 1. Average classification accuracies of samples with different number of labeled data
|
图 8. 不同数量标注样本分类结果趋势图
Fig. 8. Trend of classification results for samples with different number of labeled data
同时针对6种高发类肺部疾病,将文献[
23]中的基准分类方法(Benchmark)与3种半监督分类方法进行对比,3种半监督分类方法为自训练PCA+SVM、半监督梯形网络和半监督生成对抗网络。每类采用1000个标注数据进行训练,实验数据如
表 2. 1000个标注样本分类准确率
Table 2. Classification accuracy of 1000 labeled samples
|
在实验中,生成器通过匹配真实数据分布,生成的图像如
图 9. SSGAN生成图像与原始图像。(a)生成图像;(b)原始图像
Fig. 9. Generated images of SSGAN and original images. (a) Generated images; (b) original images
表 3. 各种模型生成样本的inception分值
Table 3. Inception scores for samples generated by various models
|
5 结论
为了解决医学图像分类中标注数据不足的问题,提出了基于SSGAN的图像分类模型, 通过对半监督损失函数的定义和联合训练,利用模型判别器对肺部X光图像进行分类。在ChestX-ray数据集下,针对标注数据稀缺性问题研究不同数量标注数据的分类识别率,结果表明,相比于监督学习的CNN,在标注数据数量受限情况下,SSGAN能显著提高分类准确率。对比其他半监督分类模型,所提方法表现出更好的性能。下一步将针对生成样本多样性对判别器分类结果的影响做进一步研究。
[1] KrizhevskyA, SutskeverI, Hinton GE. ImageNet classification with deep convolutional neural networks[C]∥25th International Conference on Neural Information Processing Systems, December 3-6, 2012, Lake Tahoe, Nevada. USA: Curran Associates Inc., 2012, 1: 1097- 1105.
[2] Ren SQ, He KM, GirshickR, et al.Faster R-CNN: towards real-time object detection with region proposal networks[C]∥28th International Conference on Neural Information Processing Systems, December 7-12, 2015, Montreal, Canada. Cambridge: MIT Press, 2015, 1: 91- 99.
[3] LongJ, ShelhamerE, DarrellT. Fully convolutional networks for semantic segmentation[C]∥2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 7-12, 2015, Boston, MA, USA. New York: IEEE, 2015: 3431- 3440.
[4] CiresanD, GiustiA, Gambardella LM, et al. Deep neural networks segment neuronal membranes in electron microscopy images[C]∥25th International Conference on Neural Information Processing Systems, December 3-6, 2012, Lake Tahoe, Nevada. USA: Curran Associates Inc., 2012, 2: 2843- 2851.
[6] PlataniaR, ShamsS, YangS, et al. Automated breast cancer diagnosis using deep learning and region of interest detection (BC-DROID)[C]∥8th ACM International Conference on Bioinformatics, Computational Biology, and Health Informatic, August 20-23, 2017, Boston. New York: ACM, 2017: 536- 543.
[7] Tseng KL, Lin YL, HsuW, et al. Joint sequence learning and cross-modality convolution for 3D biomedical segmentation[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI. New York: IEEE, 2017: 3739- 3746.
[8] RajpurkarP, IrvinJ, ZhuK, et al. Chexnet: radiologist-level pneumonia detection on chest X-rays with deep learning[J/OL]. ( 2017-12-25)[2019-01-25]. https:∥arxiv.org/abs/1711. 05225.
[9] RosenbergC, HebertM, SchneidermanH. Semi-supervised self-training of object detection models[C]∥2005 Seventh IEEE Workshops on Applications of Computer Vision, January 5-7, 2005, Breckenridge, CO. New York: IEEE, 2005: 29- 36.
[10] RasmusA, BerglundM, HonkalaM, et al. Semi-supervised learning with ladder networks[J/OL]. ( 2015-11-24)[2019-01-25]. https:∥arxiv.org/abs/1507. 02672.
[11] Kingma DP, MohamedS, Rezende DJ, et al.Semi-supervised learning with deep generative models[C]∥ 27th International Conference on Neural Information Processing Systems, December 8-13, 2014, Montreal, Canda.Cambridge: MIT Press, 2014: 3581- 3589.
[12] Bennett KP, DemirizA. Semi-supervised support vector machines[C]∥1998 Conference on Advances in Neural Information Processing Systems.Cambridge: MIT Press, 1999: 368- 374.
[13] GrandvaletY, BengioY. Semi-supervised learning by entropy minimization[C]∥17th International Conference on Neural Information Processing Systems, Vancouver, British Columbia, Canada.Cambridge: MIT Press, 2004: 529- 536.
[14] Zhu XJ. Semi-supervised learning with graphs[D]. Pittsburgh: Carnegie Mellon University, 2005: 5- 7.
[15] 王坤峰, 苟超, 段艳杰, 等. 生成式对抗网络GAN的研究进展与展望[J]. 自动化学报, 2017, 43(3): 321-332.
[16] Goodfellow IJ, Pouget-AbadieJ, MirzaM, et al.Generative adversarial net[C]∥27th International Conference on Neural Information Processing Systems, December 8-13, 2014, Montreal, Canda.Cambridge: MIT Press, 2014, 2: 2672- 2680.
[17] 张清博, 张晓晖, 韩宏伟. 基于改进生成对抗网络的水下激光图像后向散射光修复方法[J]. 激光与光电子学进展, 2019, 56(4): 041004.
[18] 唐贤伦, 杜一铭, 刘雨微, 等. 基于条件深度卷积生成对抗网络的图像识别方法[J]. 自动化学报, 2018, 44(5): 855-864.
[19] 盛凯, 刘忠, 周德超, 等. 一种基于证据理论的多类半监督分类算法[J]. 电子学报, 2018, 46(11): 2642-2649.
[20] RadfordA, MetzL, Chintala S. Unsupervised representation learning with deep convolutional generative adversarial networks[J/OL]. ( 2015-11-27)[2019-01-25]. https:∥arxiv.org/abs/1511. 06434.
[21] XuB, WangN, ChenT, et al. Empirical evaluation of rectified activations in convolutional network[J/OL]. ( 2015-11-27)[2019-01-25]. https:∥arxiv.org/abs/1505. 00853.
[22] 谢江荣, 李范鸣, 卫红, 等. 基于生成对抗式神经网络的红外目标仿真方法[J]. 光学学报, 2019, 39(3): 0311002.
[23] Wang XS, Peng YF, LuL, et al. Chest X-ray 8: hospital-scale chest X-ray database and benchmarks on weakly-supervised classification and localization of common thorax diseases[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI. New York: IEEE, 2017: 3462- 3471.
[24] SalimansT, GoodfellowI, ZarembaW, et al. Improved techniques for training GANs[J/OL]. ( 2016-06-10)[2019-01-25]. https:∥arxiv.org/abs/1606. 03498.
[25] SimonyanK, Zisserman A. Very deep convolutional networks for large-scale image recognition[J/OL]. ( 2015-04-10)[2019-01-25]. https:∥arxiv.org/abs/1409. 1556.
[27] Kingma DP, Welling M. Auto-encoding variational Bayes[J/OL]. ( 2014-05-01)[2019-01-25]. https:∥arxiv.org/abs/1312. 6114.
刘坤, 王典, 荣梦学. 基于半监督生成对抗网络X光图像分类算法[J]. 光学学报, 2019, 39(8): 0810003. Kun Liu, Dian Wang, Mengxue Rong. X-Ray Image Classification Algorithm Based on Semi-Supervised Generative Adversarial Networks[J]. Acta Optica Sinica, 2019, 39(8): 0810003.