Petuum 专栏
作者:Baoyu Jing、Pengtao Xie、Eric Xing
机器之心编译
在过去一年中,我们看到了很多某种人工智能算法在某个医疗检测任务中 「超越」人类医生的研究和报道,例如皮肤癌、肺炎诊断等。如何解读这些结果?他们是否真正抓住医疗实践中的痛点、解决医生和病人的实际需要? 这些算法原型如何落地部署于数据高度复杂、碎片化、异质性严重且隐含错误的真实环境中?这些问题常常在很多「刷榜」工作中回避了。事实上,从最近 IBM Watson 和美国顶级医疗中心 MD Anderson 合作失败的例子可以看出,人工智能对医疗来说更应关注的任务应该是如何帮助医生更好地工作(例如生成医疗图像报告、推荐药物等),而非理想化地着眼于取代医生来做诊断,并且绕开这个终极目标(暂且不论这个目标本身是否可行或被接受)之前各种必须的铺垫和基础工作。因此与人类医生做各种形式对比的出发点本身有悖严肃的科学和工程评测原则。这些不从实际应用场景出发的研究,甚至无限放大人机PK,对人工智能研究者、 医疗从业者和公众都是误导。
知名人工智能创业公司 Petuum 近期发表了几篇论文,本着尊重医疗行业状况和需求的研究思路, 体现出了一种务实风格,并直接应用于他们的产品。为更好地传播人工智能与医疗结合的研究成果,同时为人工智能研究者和医疗从业者带来更加实用的参考,机器之心和 Petuum 将带来系列论文介绍。本文是该系列第一篇,介绍了如何使用机器学习自动生产医疗图像报告,从而更好地辅助医生做治疗与诊断。
如今,放射学图像和病理学图像这样的医疗图像在医院与诊所已有普遍的应用,特别是在许多疾病的诊断与治疗上,例如肺炎、气胸、间质性肺病、心理衰竭等等。而这些疾病医疗图像的阅读与理解通常是由专业的医疗从业者完成。
但对缺乏经验的放射科医师或病理学家来说,特别是在乡村地区工作的医师,编写医疗图像报告更为艰难。对经验丰富的医师而言,编写医疗图像报告又过于乏味、耗时。总之,对二者而言编写医疗图像报告是件痛苦的事。
如此看来,能否使用机器学习自动生成医疗报告呢?为了做到这一点,我们需要解决多个挑战。首先,一份完整的诊断报告包含多种不同的信息形式。如下图 1 所示,胸腔 X 光照图像报告包含 Impression 描述,通常是一句话;Findings 是一段描述;Tags 是一列关键词。用一个统一的框架生成这样的不同信息,技术上非常有挑战。在这篇论文中,研究人员解决该问题的方法是建立一个多任务框架,把对标签的预测当作多标签分类任务,把长描述(例如生成 Impression 和 Findings)的生成当作文本生成任务。在此框架中,两种任务共用同样的 CNN,来学习视觉特征并联合完成任务。
图 1. 一个包含三部分信息的胸部 X 光报告示例。在 impression 部分,放射专家结合 Findings、病人临床历史及影像学研究的指导做出诊断。Findings 部分列出了影像学检查中所检测的身体各部分放射学观察结果。Tags 部分给出了表示 Findings 核心信息的关键词。这些关键词使用医学文本索引器(MTI)进行标识。
第二,医疗图像报告通常更注重叙述异常发现,因为这样能直接指出疾病、引导治疗。但如何定位图片中的病变区域并附上正确的描述非常困难。作者们解决该问题的方法是引入一种协同注意力机制(co-attention mechanism),它能同步关注图像和预测到的标签,并探索视觉与语义信息带来的协同效应。
第三,通常医疗图像的描述非常长,包含多个语句或段落。生成这样的长文本非常重要。相比于直接采用单层 LSTM(难以建模长语句),作者们利用报告的合成特性采用了一种层级 LSTM 来生成长文本。结合协同注意力机制,层级 LSTM 首先生成高级主题,然后根据主题生成细致的描述。
总而言之,该论文的主要贡献包括:
提出一种多任务学习框架,能同步预测标签并生成文本描述;
介绍了一种协同注意力机制来定位异常区域,并生成相应的描述;
建立了一种层级 LSTM 来生成长语句、段落;
通过大量定量与定性的实验展示该方法的有效性。
论文:On the Automatic Generation of Medical Imaging Reports
论文地址:https://arxiv.org/abs/1711.08195
摘要:医学影像广泛用于诊断和治疗等医疗实践中。通常专业医师需要查看医学影像,并写文本报告来记录发现。缺乏经验的医生写报告容易出错,且在医患比例过低的国家,编写报告会耗费大量时间。为了解决该问题,我们研究了医学影像报告的自动生成系统,以帮助人类医生更准确高效地写报告。但目前该任务面临多个挑战。首先,完整的报告包含多种异质形式的信息,如用段落表示的发现和关键词列表表示的标签。第二,机器很难识别医学影像中的异常区域,在此基础上生成文本描述则更加困难。第三,报告通常比较长,包括多个段落。为了解决这些挑战,我们(1)构建一个多任务学习框架,能够同时执行标签预测和段落生成;(2)提出一种协同注意力(co-attention)机制来定位异常区域,并生成描述;(3)开发一种分层 LSTM 模型用于生成长段落。最后我们展示了该方法在胸部 x 光和病理数据集上的有效性。
图 2. 整个模型的结构与过程。其中 MLC 代表多标签分类网络,语义特征是预测标签的词向量。粗体标记的「calcified granuloma」和「granuloma」是协同注意力网络关注的标签。
3. 方法
在本章节中,我们将介绍具体使用的方法。以下简要地介绍了整个方法的过程,各部分详细的过程或理论请查看原论文。
一份完整的医学影像报告通常包括非结构化的描述(以语句和段落的形式展示)和半结构化标签(以关键字列表的形式展示),如上图 1 所示。我们提出了一种多任务层级模型,该模型带有协同注意力机制(co-attention)且能自动预测关键字并生成长段落。给定一张经过分割的图像,我们使用一个 CNN 来学习这些图像块的视觉特征。然后再馈送这些视觉特征到多标签分类网络(MLC)以预测相关的标签。
在标签词汇表中,每一个标签由一个词向量表征。若给定特定图像一些预测的标签,模型会检索它们的词嵌入向量以作为该图像的语义特征。模型随后将视觉特征和语义特征馈送到协同注意力(co-attention)模型以生成能同时捕获视觉和语义信息的上下文向量。至此,编码的过程就完成了,下面模型将从背景向量(context vector)开始解码生成文本描述。
医学影像的描述通常包含多条语句,并且每条语句都集中在一个特定的主题上。我们的模型利用这种组合结构以层级的方式生成报告:它首先生成一系列代表语句的高级主题向量,然后在根据这些主题向量生成一系列的语句(由单词组成的序列)。具体来说,先将背景向量输入到一个只有少量时间步的 Sentence LSTM 中,然后每一个背景向量就能生成一个主题向量。其中每个主题向量都表示一条语句的语义。随后给定一个主题向量,Word LSTM 将以它为输入生成一个单词序列或语句。主题生成的终止条件由 Sentence LSTM 控制。
4. 实验
我们使用以下文本生成评估手段(BLEU [13]、METEOR [4]、ROUGE [12] 和 CIDER [17])度量段落生成(表 1 上半部分)和单语句生成(表 1 下半部分)的结果。
如表 1 上半部分所示,对于段落生成来讲,使用单个 LSTM 解码器的模型的表现明显要差于使用层级 LSTM 解码器的模型。
对于单语句生成(见表 1 下半部分)的结果来说,我们模型的控制变量版(Ours-Semantic-Only 和 Ours-Visual-Only)相较于当前最优的模型取得了有竞争力的分值。
表 1. 模型在 IU X-Ray 数据集(上半 部分)上生成段落的主要结果,以及在 PEIR Gross 数据集(下半部分)上生成单语句的结果。BLUE-n 表示最多使用 n-grams 的 BLUE 分值。
为了更好地理解模型检测真实或潜在异常情况的能力,我们在表 2 中展示了描述正常情况与异常情况的语句,及它们所占的比率。
表 2. 描述图像中正常情况和异常情况语句所占的比率。
图 3. 协同注意力 、无注意力、软注意力模型生成的段落图示。划线句子是检测到异常情况的描述。第二个图是胸部侧面 x 光图像。前两个例子的结果是与真实报告相一致的,第三个出现了部分失败,最底下的图像完全失败。这些图像来自测试数据集
图 4 展示了协同注意力的可视化。第一个特性是 Sentence LSTM 能够关注图像的不同区域和语句的不同标签,并在不同的时间步上生成不同的主题。第二个特性是视觉注意力可以指引模型关注图像的相关区域。
图 4. 协同注意力在三个示例上的可视化。每个示例由四部分组成:(1)图像和视觉注意力;(2)真实标签,预测标签以及预测标签上的语义注意力;(3)生成的描述;(4)真实描述。对于语义注意力而言,注意力分数最高的三个标签被突出显示。加下划线的标签是在真实标签中出现的标签。
本文为机器之心经授权编译,转载请联系本公众号获得授权。
✄------------------------------------------------
加入机器之心(全职记者/实习生):hr@jiqizhixin.com
投稿或寻求报道:content@jiqizhixin.com
广告&商务合作:bd@jiqizhixin.com