想用智能算法分析一张胸腔的X光片吗?美国的一群研究者们最近在这方面做出了一个相当有益的探索,可能对未来的应用和普及起到非常大的帮助。
贝塞斯达(美国马里兰州中部城市)国立卫生研究院的研究者们开发出了一套基于深度学习的用来从胸腔X光照片中检测疾病的算法框架。检测完成后这套系统会在X光照片下附上详细的说明,以便医生向病人展示,以及更早的检测出那些危险的疾病。
研究小组使用了NVIDIA的CUDA(统一计算设备架构)程序设计模型,并且是使用GPU来运行和提升他们的算法的,这些设备能帮助算法来定位疾病并且描述它当前的如位置、严重性、病灶大小和影响的器官等状态。之所以使用GPU来进行计算,是因为GPU的运作原理非常符合深度学习程序所需要的特点:执行命令很有效率,并且能承担巨量的并行计算,这使得程序可以同时开始大量的分析进程,加快学习的速度。
让深度学习学会识别医疗图片信息
图像信息识别在深度学习方法得到进步后已经取得了巨大的进展。但是目前的大多数程序都是在利用公开可用的图像来训练那些可以给“自然”的图片做上标注的神经网络,比如说像宠物、自然景观或者城市地标这样的图片——但没有用医疗图片的。
因为相比较起来,带有详细标注的医疗图片构成的数据库是很难得到的,而公开征集X光片信息显然也不可能。而一般人可以很明显的从图片中标记出树、动物和建筑这样的信息。但识别出像心脏肥大症或者钙化肉芽肿这样的心肺疾病是需要专业知识的。
深度学习的基本应用结构
NIH研究者们开发的系统使用了一套结合了卷积神经网络(CNNs)和时间递归神经网络(RNNs)的组合来帮助整个系统识别并注释X光照片代表的疾病/健康信息。首先是卷积神经网络,由于其对大型图像处理有着出色表现,所以研究者们使用它来初步判断照片的信息。研究者们使用了一份公开的,包含了一万份左右X光照片和报告的数据库。从中提取出了17种大量出现的医学名词组合(也就是常出现的疾病)。试图找出这些词语与图片之间的联系,以便CNNs在扫描图像后能进行准确的归类。
在进行分类后,时间递归神经网络会接手,通过特定的算法为图像加上标签。这可能是时间递归神经网络第一次被应用于检测X光照片。
这幅图是算法应用的几个案例,其中绿色框内展现的是算法判断的健康状况,而黄色框内是真正的状况,很显然,越稀有的疾病由于用于学习的数据不足,会越难以判断出来,图片来源,NIH paper/NVIDIA's blog
这两个用NVIDIA的cuDNN库(NVIDIA开发的一个用于深度神经网络的GPU加速库)和火炬深度学习框架编写出来的神经网络程序产生了更丰富、更准确的图像标注结果。
研究团队开发的程序现在需要更进一步的训练和更高的预测准确率,这样医院和诊所才会被说服来采用它们。不过一旦这种自动注释系统开始上线运行,医生们的负担不仅能够得到有效的降低,还能任意搜索某种特定疾病的全部电子版X光照片了。
这套系统甚至可以帮助医疗资源有限的国家诊断大量患者的疾病或健康状况,减轻他们的负担。
via NVIDIA官方博客