天天看点

深度医疗(2) - 基于深度学习乳腺癌诊断识别

深度医疗是笔者基于深度学习的医学项目应用开发实践,经过整理输出了文档和本系列课程,希望通过分享可以和大家共同讨论、相互学习,探索更好的解决方案。笔者是一名普通的大数据和人工智能领域从业者,过程中如有错误和理解不到位的地方请广大同仁不吝赐教。笔者一直坚信深度学习和医学的有机结合一定能碰撞出性能强大的深度医疗系统,服务大众。

深度医疗(2) - 乳腺癌诊断识别

本文主要介绍了通过深度学习进行乳腺癌识别的应用,首先简单介绍了乳腺癌医学背景和相关知识,接着介绍了目前能获得的公开的乳腺癌数据集,最后介绍了神经网络的实现方式和处理后的效果以及性能分析。

1.概述

根据国际研究机构世界卫生组织癌症统计,2012年有820万人死亡是由癌症引起的,到2030年之前,会有2700万的新增病例,其中乳腺癌是最常见的癌症之一,与其他类型的癌症相比较,乳腺癌也是死亡率非常高的一种癌症类型。乳腺癌是发生在乳腺腺上皮组织的恶性肿瘤。乳腺癌中99%发生在女性,男性仅占1%。

深度医疗(2) - 基于深度学习乳腺癌诊断识别

2.数据集

数据集是由82名患者的9109张乳腺肿瘤组织显微图像组成的,其中每组图像都由不同放大倍数(40X、100X、200X和400X)的图像组成,图片格式是PNG格式,包含3个RGB通道,单通道是8个比特位宽,每张图片分辨率是700x460。

下载地址

这个数据库是与巴西巴拉那的P&D实验室病理解剖学和细胞病理学合作建立的(http://www.prevencaoe.e.com.br)。

数据集分为良性肿瘤和恶性肿瘤两大类,其中良性2480例,恶性5429例。

四种不同的良性乳腺肿瘤:腺病(A)、纤维腺瘤(F)、叶状肿瘤(PT)和管状腺瘤(TA)

四种恶性肿瘤(乳腺癌):癌(DC)、小叶癌(LC)、粘液癌(MC)和乳头状癌。A(PC)

benign – 良性
深度医疗(2) - 基于深度学习乳腺癌诊断识别
malignant – 恶性
深度医疗(2) - 基于深度学习乳腺癌诊断识别

3.数据提取

每个病变文件夹下都包含四种分辨率的图片:

40X、100X、200X、400X,做了数据提取后我们会得到这种结构的数据集,分为训练数据和预测数据,每部分包含良性和恶性两种

深度医疗(2) - 基于深度学习乳腺癌诊断识别

4.神经网络结构

前面的数据提取中把数据分成了两个大类,良性的和恶性的,所以在做深度学习时其实就决定了输出就是两类问题,要么是良性的要么是恶性的。

这里我们使用了一个类似AlexNet网络的结构,从性能上来说肯定没有目前的ResNet或者DenseNet的性能好,但这样有利于我们观察和分析中间的数据结构流向,图中右边标出了网络每层的数据结构。

深度医疗(2) - 基于深度学习乳腺癌诊断识别

训练结束后的误差和准确度的收敛状态

深度医疗(2) - 基于深度学习乳腺癌诊断识别

从收敛状态来看震荡非常大,这里有几个原因造成的

1) 训练数据有限,数据信息不够平滑;

2) 只有两类问题,以0.5为门限值得话,高于0.5是一类,低于0.5是另一类,当出现0.1和0.49都认为分类到0.5以下一类,但这两个情况下误差却差得非常远;

3) 如果考虑引入置信区间会让收敛数据平滑很多,比如判决在0到0.1之间才认为是低于0.5这一类,0.9到1之间才认为是高于0.5这一类;

5.彩蛋

目前我们考虑的只是benign和malignant的区分,但数据集中的良性和恶性都分别分为以下四类:

四种不同的良性乳腺肿瘤:腺病(A)、纤维腺瘤(F)、叶状肿瘤(PT)和管状腺瘤(TA)

四种恶性肿瘤(乳腺癌):癌(DC)、小叶癌(LC)、粘液癌(MC)和乳头状癌。A(PC)

我们可以通过修改神经网络来实现分辨是良性还是恶性,如果是良性那对应的是哪一种良性肿瘤,如果是恶性则对应的是哪一类恶性肿瘤

继续阅读