机器之心发布

作者:牛钰浩、谷林(共同一作), 陆峰(通讯作者) 等 

虽然深度学习在医疗图像的病变检测上取得了巨大成功,然而,现有的方法几乎都将 CNN 作为黑盒使用,没有进一步揭示做出分类的依据。CNN 缺乏「可解释性」严重制约了其在医疗等涉及公众安全的关键领域应用。 北京航空航天大学联合日本国立信息学研究所以及中南大学湘雅医院,湘雅二医院对这一问题展开探索。参考传染病学金标准:「科赫法则」,本文提供了一种解释医疗图像深度学习的方法并发表在 AAAI 2019。通过了 5 位眼科医师双盲测试,本方法表现出了令人满意的性能。

回顾医学的历史,病菌感染曾一度困扰着人们:致病微生物也是看不见、摸不着的。微生物学鼻祖之一的罗伯特·科赫提出了一套科学验证方法——科赫法则(Koch's postulates),用于将某种病变与特定的病原体建立联系。这一方法随后成为传染病病原学鉴定的金标准。科赫也因此获得了 1905 年的诺贝尔生理学或医学奖。

这套准则分为四条:

1. 每一例患病动物体内都可以分离到该病菌。

2. 该病菌可以在体外培养数代。

3. 培养了数代的细菌可以通过接种,使健康的实验动物患上同样的疾病。

4. 被接种的动物中可以分离到同样的病菌。

自然界的微生物种类是天文数字,这其中仅有一小部分能够感染人类,而对人类致病的就更微乎其微了,科赫法则成为确定这些病原体的金标准并成为现代医学基础之一。检测医疗图像的 CNN 网络中也往往包含几十万乃至上百万参数。受此方法启发,可以使用类似的方法论来确定极少量的关键参数并研究 CNN 病变检测器的决策依据。

论文 Pathological Evidence Exploration in Deep Retinal Image Diagnosis 以糖尿病视网膜病变为例,展示了 CNN 检测器的决策依据,增进了医生与 AI 之间的相互理解。

论文:Pathological Evidence Exploration in Deep Retinal Image Diagnosis

论文链接: https://arxiv.org/pdf/1812.02640.pdf

图 1:受柯赫准则启发,本论文对病变证据进行发掘、提取、重现


具体来说,本文首先在经典 CNN 病变检测算法中提取病理描述符,并利用一种 CNN 的可视化方法来定位病变(图 1.a);模仿科赫法则中在无数微生物中分离病原体这一过程,本方法从百万级神经元中定位到数千维直接参与疾病诊断的参数并提取出描述符(图 1.b);科赫法则接着将分离的微生物接种到健康生物体并观察产生的疾病症状,同样,本方法训练一个基于 GAN 的生成器,通过输入病理描述符中来合成眼底图(图 1.c, d),如果眼底图复现了相应的病变,就可以确认其与病理描述符的直接关系。

病理描述符的提取


本文以糖尿病视网膜病变(Diabetic Retinopathy,简称 DR)为例。全球范围内,有超过 4 亿糖尿病患者。根据 2016 年美国的统计,约有 40%-45% 的患者会发展出 DR 的症状。这种病变通常根据视网膜眼底图来进行诊断。DR 患者的眼底图上会出现不同程度的微动脉瘤、出血、渗出等病变。

图 2:DR 患者眼底图中的病变

Kaggle 于 2016 年举行了 DR 眼底图检测的竞赛。本文使用的冠军算法中的一种:o_O(Antony 2016)。仿造 Zeiler 和 Fergus 的 CNN 可视化方法,我们在检测器后接上了一个激活网络,用对称的结构来还原每个卷积层中被激活的神经元。

图 3:病理描述符的提取


具体来讲,为每一个卷积层构造一个转置卷积层,为每一个池化层构造一个反池化层,激活网络和检测网络共享权重。使用这样的网络架构,激活网络某一层的结果是从 #9 层的神经元激活结果翻译回来的,一定程度上代表了这一层的神经元对 #9 的影响。

图 4 将输入的眼底病变图和输出的激活图进行放大对比。输入的病变图经过一层层卷积,保留了病理特征,丢弃了血管等正常生理特征。由结果对病变的选择性,可以窥见 CNN 做出决策的证据。虽然在训练 CNN 检测器时仅仅使用了「病变图-严重程度」这样的图像级别标注,它仍能学到各种病变的特征,并且主动关注这些区域。

图 4:输入的病变图和输出的激活图


接下来,根据病变参考图的特征层和激活层,定义一个病理描述符,用于代表每一个病变的信息。首先,对最后的激活图其进行阈值处理,得到二值掩码图,用于指示病变的位置信息。然后,通过寻找最大连通区域,可以得到每个病变的边界框。这一步操作即可将不同的病变分离开来。最后,使用边界框,在特征网络和激活网络的中间层中截取出一些特征块、激活块,将它们作为病理描述符(图 3)。这些病理描述符编码了完整的病变特征,可以为病变眼底图的合成提供关于病变的所有信息。

病变眼底图的合成

柯赫准则中,将不可见的纯化病菌注射到健康动物体内,可以使其患上相应的疾病。类似地,本文使用 GAN 来重现病理描述符中的特征、说明 DR 检测器提取出的病理描述符确实包含了病理信息。

图 5:病变眼底图合成网络架构


本节的任务是训练一个合成病变图的生成器。生成器以血管分割图、噪声向量为输入,通过一个 U-Net (Ronneberger, Fischer, and Brox 2015) 结构来合成出包含特定病变的眼底图。

训练生成器的时候,使用的数据集是正常眼底图和它的血管分割图。而病变信息,全部来自于之前提取出的病理描述符。计算 Loss 时,设置了多个子网络来达到不同的目标。

子网络 1:判别器网络


判别器子网络判别一张图片是真实图还是合成图。进而计算出「生成对抗 Loss」,使生成器和判别器相互竞争,增加合成眼底图的真实性。对于生成器、判别器,有

子网络 2:视网膜细节网络

视网膜细节网络使用 VGG 网络来提取健康眼底图与合成眼底图的特征,做差得到「视网膜细节 Loss」,让合成图像的特征与其接近,保证合成图片的生理细节。用来代表 VGG 特征提取函数,则视网膜细节 Loss 为

子网络 3:DR 检测网络


DR 检测子网络用来计算最重要的「病理 Loss」,使合成的眼底图中出现病变。

计算病理 Loss 的时候,将合成的病变图输入到 DR 检测器网络中,从想要合成病变的地方截取出特征块,与病理描述符中的相应特征块进行对比、做差即可得到合成病变与真实病变的差异。利用病理 Loss,能够让合成图在特征层的与病变相关的神经元激活,从而保证病变的复现。

使用代表合成图的特征块,用代表描述符中的特征块,则病理 Loss 为。 计算过程中使用了 Gram 矩阵来保留样式而非内容:

合成结果


在测试阶段,文章使用了 DRIVE 数据集 (Staal et al. 2004) 作为正常眼底图,使用 STARE (Hoover, Kouznetsova, and Goldbaum 2000) 和 Kaggle 中的图像作为病变参考图,进行了多组实验。

图 6 是使用不同的病变参考图来合成出的结果。根据专业眼科医生的评估,前两列的微动脉瘤合成较好,第三列合成的激光瘢痕与参考图一致,不过第四列合成的硬性渗出有些欠真实。

图 6:不同病变的合成效果


为了进一步说明合成结果的先进性,我们将本文方法与 Zhao 等人的 Tub-sGAN 生成的图片随机混合,并组织了 5 位专业的眼科医生,对其进行双盲评测。对于每幅合成图像,医生为其进行三个评分:1. 眼底图的真实性,2. 合成病变的真实性,3. DR 的严重程度(评分范围是 1-10,得分越高越好)。最后收集到对 560 组评分,其平均值如表 1 所示。本文方法在合成的真实性上有明显优势。

病理描述符针对每个病变单独存储,这种设计使其应用变得容易操控。对病变的筛选、复制均可以通过对病理描述符的操作来实现,并可以进一步做到数量控制、合成病变的位置控制。具体操控效果如图 7 所示。

图 7:对病变位置和数量的操控


图 8:病变数量增加时,DR 检测器给出的严重程度也会相应提升


本文的生理细节 Loss,选用 VGG 来进行高层特征的计算,而非直接使用 L1 Loss,能够正确的保留视盘边界等生理细节。与 Zhao 等人的 Tub-sGAN 不同,本文的病理 Loss 作用在病变局部,不会影响生理细节的正常合成(图 9)。

图 9:生理细节保留对比


总体来看,本文的合成方法仅仅使用了参考图中的病变特征,忽略了参考图的整体色调、外观。若在此合成方法之后再增加一个 Deep Photo Style Transfer (Luan et al. 2017) 风格迁移,则会更进一步增加参考图与合成图在外观上的相似程度(图 10)。

图 10:增加风格迁移后处理以后的效果

总结

本文提出了通过激活神经元来检测和编码病变特征的方法,该过程与决策证据紧密相关。

本文使用一种基于 GAN 的方法来将病理描述符可视化,合成带有特定病变的眼底图,且病变合成的方法具有一定的可操控性。合成的结果得到了医生的认可。

文章为 CNN 的可解释性提供了一种研究思路,可激发更一般的探索。

本文为机器之心发布,转载请联系本公众号获得授权

✄------------------------------------------------

加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com

投稿或寻求报道:content@jiqizhixin.com

广告 & 商务合作:bd@jiqizhixin.com

AAAI 2019 | 借鉴传染病学原理探索医学图像CNN可解释性相关推荐

  1. 百度15篇论文被AAAI 2019收录

    1月27日,第33届 AAAI(AAAI 2019)在美国夏威夷召开,其中百度共有15篇论文被收录. AAAI于1979年成立,是国际人工智能领域的顶级国际会议.这一协会如今在全球已有超过6000名的 ...

  2. AAAI 2019 论文解读:卷积神经网络继续进步

    机器之心 卷积神经网络(CNN)近年来已经取得了很大的成功,但研究者仍在进一步推进研究前沿,提出新的思路和方法.在本文中,技术分析师 Joshua Chou 将解读三篇有关卷积神经网络的 AAAI 2 ...

  3. AAAI 2019 | 基于不同颗粒度语言联合训练的表示学习

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

  4. 京东AI研究院8篇论文被AAAI 2019收录,国际顶会彰显京东科技实力

    https://www.toutiao.com/a6651795835203879432/ 2019-01-29 20:55:00 美国时间1月27日,AAAI 2019大会在夏威夷正式拉开序幕,AA ...

  5. AAAI 2019 论文解读 | 基于区域分解集成的目标检测

    作者丨文永亮 学校丨哈尔滨工业大学(深圳) 研究方向丨目标检测.GAN 本文解读的是一篇发表于 AAAI 2019 的 paper,文章提出了一种 R-DAD 的方法来对 RCNN 系列的目标检测方法 ...

  6. AAAI 2019 Oral | 让TA说你想听的—基于音/视频特征解离的讲述者人脸生成

    你是否希望照片上的偶像.男神女神,甚至动画人物对着你说出你想听的那句话?又或是希望伪造明星说他们没说过话的视频? 作者丨Lovely Zeng 学校丨CUHK 研究方向丨Detection 香港中文大 ...

  7. AAAI 2019 Oral | 把Cross Entropy梯度分布拉‘平’,就能轻松超越Focal Loss

    单阶段物体检测(One-stage Object Detection)方法在模型训练过程中始终面临着样本分布严重不均衡的问题,来自香港中文大学的研究者们在论文 Gradient Harmonized ...

  8. AAAI 2019 滴滴被收录论文全解读

    雷锋网(公众号:雷锋网) AI 科技评论消息,AAAI 2019 将于 1 月 27 日至 2 月 1 日在美国夏威夷举行,据统计,大会共收到 7700 余篇有效投稿,其中 7095 篇论文进入评审环 ...

  9. AAAI 2019 四个杰出论文奖论文揭晓

    人工智能顶级学术会议 AAAI 2019 (第 33 届 AAAI)即将在美国夏威夷开幕,会议时间是 1 月 27 日到 2 月 1 日,其中正会内容从 1 月 29 日开始.近日,AAAI 组委会在 ...

最新文章

  1. PTA 基础编程题目集 7-20 打印九九口诀表 C语言
  2. ICML 2020: 从Alignment 和 Uniformity的角度理解对比表征学习
  3. hive 集群初探,查询比较
  4. log_softmax
  5. matlab如何画图时去掉陆地点,科学网—Matlab m_map一张地图上使用用多个colormap以及patch精细岸线数据去除河流 - 肖鑫的博文...
  6. 【GNN】AAAI2021 | 图神经网络研究进展解读
  7. 大数据的下一站是什么?服务/分析一体化(HSAP)
  8. 虚拟化服务器类型,虚拟化服务器类型
  9. MySQL的Limit子句
  10. 数字图像处理(四)——图像编码技术(二)
  11. 49-Python 安装pythoncom库和pyHook
  12. Django框架基础之session
  13. iis服务器转发消息至服务端,IIS服务器配置NXLog进行syslog转发
  14. Java集合框架基础介绍
  15. 背包九讲----整理+例题
  16. ubuntu安装文泉驿字体
  17. mysql-front怎么备份_使用mysql-front自动备份mysql数据库
  18. 桑佛德大学计算机科学,桑佛德大学
  19. 「津津乐道播客」#301 这是一期价值3000元的当代社畜科学点餐指南
  20. 【rviz】出现“For frame [laser]: Fixed Frame [map] does not exist”错误

热门文章

  1. bzoj 1004: [HNOI2008]Cards
  2. jQuery遇到问题的小记
  3. 19-spring学习-springMVC环境配置
  4. 20161023 NOIP 模拟赛 T1 解题报告
  5. 织梦添加搜索框里的提示消息
  6. 开始学习python
  7. Linux-鸟菜-2-主机规划与磁盘分区
  8. UVA10881蚂蚁
  9. hdu4862 费用流(不错)
  10. 【Linux 内核】CFS 调度器 ⑥ ( CFS 调度器就绪队列 cfs_rq | Linux 内核调度实体 sched_entity | “ 红黑树 “ 数据结构 rb_root_cached )