深度学习著名学者吴恩达和他在斯坦福大学的团队一直在医疗方面做着努力。雷锋网了解到,此前,吴恩达团队研发出一种深度学习算法,可以诊断14种类型的心律失常。近日,该团队又出新成果,他们提出了一种名为 CheXNet 的新技术。研究人员表示:新技术已经在识别胸透照片中肺炎等疾病上的准确率上超越人类专业医师。
研究人员称,开发的这种算法从胸透照片里检测肺炎,且水平超越专业放射科医生。算法被称为 CheXNet,它是一个 121 层的卷积神经网络。该网络在目前最大的开放式胸透照片数据集“ChestX-ray14”上进行训练。ChestX-ray14 数据集包含 14 种疾病的 10 万张前视图 X-ray 图像。
背景
据雷锋网了解,仅在美国,每年就有超过 100 万成年人因为肺炎住院,5 万人因为该病而死亡(CDC, 2017)。目前,胸部 X 光检查是诊断肺炎的最佳方法(WHO, 2001),这种方法在临床护理和流行病学研究中发挥着重要作用。然而,通过 X 光片诊断肺炎是一个具有挑战性的任务,需要放射科医师具备专家级的判断能力。在吴恩达团队的最新成果中,计算机科学院和医学院的研究人员共同提出了一种新的机器学习模型,可以让计算机通过胸透照片自动诊断肺炎。
图一:ChexNet 是一个 121 层的卷积神经网络,输入胸透图片,输出患病概率。在这个例子中,CheXnet 准确地探测到了肺炎,同时定位了图片中最有可能患病的位置。
CheXNet 可以输出肺炎存在可能性的热区图。研究人员在最近发布的 ChestX-ray14 数据集(Wang et al., 2017)上训练了 CheXNet。该数据集包含 112,120 张各自标注最多有 14 种不同胸部疾病(包括肺炎)的正面胸透图像。研究人员使用密集连接(Huang et al., 2016)与批归一化(Ioffe & Szegedy, 2015)来优化这一深度神经网络。
图 2. CheXNet 在使用胸透图像识别肺炎任务上的表现超过放射科医师的平均水平。在测试中,CheXNet 与四名人类放射科医师在敏感度(衡量正确识别阳性的能力)以及特异性(衡量正确识别阴性的能力)上进行比较。放射科医生的个人表现以橙色点标记,平均值以绿色点标记。CheXNet 输出从胸透照片上检测出的患肺炎概率,蓝色曲线是分类阈值形成的。所有医师的敏感度-特异性点均低于蓝色曲线。
对放射科医师来说,要在胸片上发现肺炎是很困难的。在胸透图像中,肺炎的特征通常是模糊的,容易和许多其他的良性异常相混淆。这些差异导致放射科医师在诊断肺炎时存在相当大的差异。为了评估放射科医师的表现,斯坦福大学的研究人员找来了四名专业放射科医师,使用 ChestX-ray14 子集的 420 张图片对他们进行了测试。在这 420 张图片里,诊断正确与否的标准为其他大多数放射科医生的投票结果,与此同时,CheXNet 模型也以同样的标准进行了测试。
为了比较CheXNet与之前使用ChestX - ray14的模型的能力,研究人员对比了新模型与其他模型在 ChestX-ray14 上对于十四种疾病的诊断准确率,结果发现新模型的表现在所有方面均超过了此前的结果。以放射科专家的水平从胸透图像中自动检测出疾病,不仅在临床流程中有巨大的好处,而且对于那些无法享受到专家资源的人群来说,都是非常宝贵的。
问题表述
肺炎检测工作其实是一个二元分类问题,其中输入的是正向正面胸部X光图像X,输出则是一个分别指示肺炎存在或不存在的二元标签t ∈{0, 1}。对于训练集合中的一个单个标签,研究人员优化了双向叉熵损失
L(X, t) = −t log p(T = 1|X) − (1 − t) log p(T = 0|X)
p(T = i|X) 是网络分配给标签 I 的概率。
模型架构和训练
CheXNet 是一个121层的密集卷积神经网络(DenseNet)(Huang et al., 2016),是基于ChestX-ray 14数据集合来进行训练的。DenseNet通过神经网络来优化信息流和梯度,使得非常深入的神经网络优化工作变得更加易于处理。团队将最终的全连接图层替换成为单输出图像,之后再应用非线性Sigmoid函数(常见的S形函数)输出包含肺炎发生概率的图像。
神经网络的权重是被随机初始化的,并且利用Adam标准参数(β1 = 0.9 and β2 = 0.999)进行端到端训练 (Kingma & Ba, 2014)。研究者使用了规格为16的迷你批处理文件训练该模型,并且过度取样了少数(正)类(Buda et al., 2017)。团队还使用了一个0.01初始学习率,每进行十次验证就会衰退一个要素,在一个时期之后进入损失平稳期,再选择最低验证损失的那个模型。
训练
据了解,研究人员使用了ChestX-ray14 数据集,该数据集合是由Wang et al. (2017)发布的,其中包含了30805名患者的112120张前胸X光图片。Wang et al. (2017) 采用了放射医学中的自动提取方法,用最多14个不同的胸腔病理学标签来标注每张X光图像。他们将有肺炎标记的X-光图像标记为正向示例,然后把其他标签的图像标记为肺炎检测任务的负向示例。团队将整个数据集合做了随机拆分,80%的数据用于训练,20%的数据用于验证。
在将胸透图像导入进神经学习网络之前,研究人员把图像大小缩小到224*224,然后基于ImageNet训练集合中的图像均值和标准偏差进行了归一化。此外,还通过随机水平调整来增强训练数据。
测试
研究人员收集了420张前胸X光图片作为测试数据集合,这些数据是斯坦福大学四位获得放射科执业资格的医师提供的,他们也都被要求按照Wang et al.(2017)约定的14种病理学基准对图像进行了标注。
这四名放射科医师分别有四年、七年、二十五年和二十八年的从业经验,其中有一位放射科医师还是一名次级专科研究生,并且受到过专业胸腔放射科医师的培训。不过,所有测试的放射科医师都不能获取任何患者信息或是有关病理知识的数据。标签将会被输入到一个标准化数据录入程序内。
表 1. CheXNet 在 ChestX-ray14 数据集中 14 种病变的检测结果与另外两种模型的对比。在检测肿块、结节、肺炎、气胸和肺气肿时,CheXNet 的表现超越了此前业内最佳水平至少 0.05。
研究人员评估了肺炎检测任务测试集合上放射科医师的表现。回想一下,在test420中每一个图像都有来自那四名执业放射科医生的真实标签。研究者使用大多数投票为基础来对其他三名放射科医师的表现分别进行了评估。同样,他们也让四名放射科医师中的三个进行了大多数投票,来评估CheXNet的表现,并且重复做了四次,这样可以全面覆盖三组医师(每组三人)。
在受试者工作特征(ROC)曲线上对比了CheXNet和发射科医师的表现,该曲线将模型敏感性与1-特异性进行了比较。图2展示了ROC曲线模型,以及四名放射科医师及其平均操作数:每个独立发射科医师的表现都用橙色标记表示,平均值则是用绿色表示。CheXNet输出了胸腔X-光中监测出肺炎的概率,并且通过改变分类边界阙值来生成ROC曲线。结果显示,CheXNet能够与放射科医师一样,甚至可以超出他们的水平检测出肺炎。
事实上,研究者还设置了两个限制条件。首先,CheXNet模型和放射科医师都不允许使用之前曾检查过的患者数据,或是其他患者病史数据——因为这已经被证明会降低放射科医师的表现(Berbaum et al., 1985; Potchen et al., 1979)。其次,在诊断时,仅向放射科医师和CheXNet模型提供正面X-光照片,但是如果想要提升15%的诊断准确率,至少还需要患者侧面的X-光图像数据(Raoof et al., 2012)。因此,在这两个限制条件下,其实对人类放射科医师的表现评估是比较保守的。
最近,深度学习和大型数据集的发展使得算法的性能在各种医学影像测试中超过医学专家,包括糖尿病视网膜病变检测(Gulshan et al .,2016),皮肤癌分类(Esteva et al .,2017),心律失常的检测(Rajpurkar et al .,2017),和出血识别(Grewal et al .,2017)。
图 3. 使用 Class Activation Maps,ChexNet 定位了它识别出的病变,高亮区域是分析病症需要重点观察的位置。
胸部影像的自动化诊断得到了越来越多的关注,包括肺结核分类(Lakhani & sun daram,2017)和肺结节检测(Huang et al .,2017)。Islam et al.(2017)利用公开可用的 OpenI 数据集(Demner - fushman et al .,2015)研究了不同的卷积结构对不同异常检测的表现。Wang et al .(2017)发布了ChestX- ray-14,比之前的数据集大了一个数量级,同时在ImageNet上还对不同的卷积神经网络结构进行了预先训练。最近,Yao et al.(2017)利用标签间的统计相关性做出了更准确的预测,超过了Wang et al .(2017)14种里的13种。
雷锋网了解到,肺炎在患者发病率和死亡率中占很大一部分比例。而早期诊断和治疗对预防包括死亡在内的并发症至关重要。胸透检查每年大约有20亿次,是最常用的成像检查工具,用于检查、诊断和管理包括肺炎在内的各种疾病。然而,世界卫生组织估计,即使有放射设备,全球三分之二的人口也会因为缺乏优质的放射科医生,而导致可治疗疾病的死亡率上升。
研究人员表示,机器自动化水平的不断提高,希望这项技术可以提高医疗保健水平,让缺乏优质放射科医生资源的地区也能够享受到专家级的医疗水平。