入坑
Human-in-the-Loop
+Medical Image Segmentation
,读一下这篇2019年的综述。https://arxiv.org/abs/1910.02923
Abstruct
作者认为深度学习在医疗领域的应用有以下四个关键点:
- 主动学习 —— 选择最佳数据进行标注,以实现最佳模型性能;
- 解释和细化 —— 使用迭代反馈引导模型针对给定的预测进行优化,并提供有意义的方式来解释和响应预测;
- 实际应用 —— 开发全尺度的应用程序以及在部署之前需要进行的关键考虑;
- 相关领域 —— 在人类发展中将受益于循环中计算的研究领域。
1. Introduction
医学图像的难点:
- 需要专业的先验知识
- 数据采集条件不同,存在噪声,模型难以迁移在别的数据上
- 需要大量标注
- ground truth千人千面,没有统一的标准,需要大量专家对每个标注进行讨论以达成共识
基于深度学习医疗图像分割的挑战:
- 缺少数据集
- 模型需要减小偏差
- 提升可解释性
本文主要介绍:
- Active Learning
从未标记的分布中找到信息最丰富的样本,然后再进行标注,最后用这些样本训练模型。
- Interpretability and Refinement
评估用于响应用户反馈来完善模型预测的技术,指导模型更准确的预测。 我们评估旨在改善自动预测的可解释性的技术,以及模型如何提供有关其自身输出的反馈以指导用户做出更好的决策的技术。
- Practical Considerations
评估在实际中开发和部署Human-in-the-loop + DL关键因素,并概述在解决上述三个关键挑战的这些领域中正在进行的工作。 这些领域以人为本,需要探究人类如何与这些系统交互。
- Related Areas
AL and Human-in-the-Loop 相关的 ML DL研究
- Future Prospective and Unanswered Questions
2. Active Learning
主动学习用于降低标注成本,用尽可能少的标注数据集训练一个模型,这个模型的性能可以达到一个由大量的标注数据集按照普通方法(随机选择训练数据)训练得到的模型的性能(真是个好东西)。
下图直观的说明了Active Learning的过程。首先给定一些未标注的数据,随机抽样一些数据进行标注,然后输入到一个中间模型(比较简单的模型,用来发现模型难以分类的样本,即信息性大的样本),然后人工对这些样本标注,再次用中间模型训练,直到模型表现达到阈值,最后训练模型,达到SOTA。
关于Active Learning,可以参照知乎回答,写的非常详细:
https://zhuanlan.zhihu.com/p/39367595
2.1 Query Types
- 基于流的选择采样(Stream-based Selective Sampling)
给定一系列未标注的数据,用当前模型和信息性度量方法来决定每个样本是否需要专家来标注。 - 成员查询综合(Membership Query Synthesis)
这种方法不是从数据集实际分布中提取数据,而是生成需要注释的数据。 生成的数据是当前模型“相信”信息性(Informativeness)最大的数据。注意作者这里用了信息性(Informativeness)而非信息量(Information Quantity )和信息熵(Information Entropy)。这种方法与基于流的方法有相同的缺点,因为模型不了解分布中没见过的区域,因此不能在这些区域中生成数据。 然而,生成对抗网络(GAN)的最新进展显示了生成模仿真实世界分布的数据点的潜力,在医疗图像上也有相关应用。 - 基于池的采样( Pool-based Sampling)
该方法在未注释现实世界数据集从中抽取样本,并试图从分布中选择一个batch的个样本,再请专家标注。该方法用当前模型预测每个未标注的数据,并计算出这些数据的信息性,选择信息性最大的个样本让专家标注。虽然这种方法计算量大,但是与基于batch训练的deep learning能很好的结合在一起。
2.2 Evaluating Informativeness
在选择未标注的样本后,如何度量样本的信息性(informativeness)?
2.2.1不确定性(Uncertainty)
总结起来就一句话:模型对某个样本的预测越不确定,这个样本信息性越大。
Least confident sampling
当考虑使用DL进行分割时,最简单的方法是求出图像分割中每个像素的最低分类概率之和。我们将上述方法称为最低置信度抽样(least confident sampling),其中选择不确定度最高的样本进行标记。缺点是,它仅考虑概率最大标签的信息,而丢弃其余标签分布的信息。为解决这个问题,margin sampling 可以通过计算概率最大和第二大标签之间的差异,来解决mulit-label的样本信息性度量问题。其次,更常用的方法是用信息熵衡量(entropy)。
Query by consensus
还有一些方法和集成学习思路相似,用不同的模型预测同一个sample,通过衡量模型之间的共识来确定样本信息性。模型越不能达成一致,说明样本信息性越高。但是这种方法需要更多的计算资源,每次有新的标注数据加入,每个模型都需要更新。
作者在此列举了一些在医疗图像处理中衡量Uncertainty的论文,有使用ensemble learning的,使用Bayesian CNNs的, 也有geometric smoothness priors,感兴趣的同学可以读下原文。
2.2.2. 代表性(Representativeness)
许多AL框架扩展了选择策略,除了度量不确定性外,还度量某种代表性。 出发点是,仅使用不确定性的方法有可能只关注分布的小区域,而对分布相同区域中的样本进行训练将为选择策略带来冗余 ,或者可能会使模型偏向分布的特定区域。 增加具有代表性的数据,旨在鼓励选择策略从分布的不同区域进行抽样,从而提高AL的效果。 具有高代表性的样本覆盖分布的同一区域中许多图像的信息,因此代表性图像不需要覆盖许多样本。
2.2.3. Learning Active Learning
取代手动设计的策略(之前所说的使用置信度低的样本作为informativeness高的样本),通过模型预测选出样本的经验,学习选择样本的策略。
2.3. Fine-tuning vs Retraining
在得到新标注的数据后,为了提升现有模型,是用新增的数据来fine-tuning,还是用所有数据(或者新数据+旧数据的subset)来再训练一遍呢?
作者列举了两篇文章,分别用了layer-wise training scheme + one-time fine-tuning,和 continuous fine-tuning method,感兴趣可以看看。
3. Interpretability and Refinement
如下图所示,在模型训练完后,还说需要human-in-the-loop这样一种人工参与的方式来解释模型是如何预测的,并不断改进模型,使之对没见过的数据获得最好的性能。
3.1. 可解释性( Interpretability)
深度学习是个黑盒子,人们在安全性重要的领域中使用深度学习有所顾虑,我们需要提高模型的可解释性。
关于模型可解释性,作者给出了一篇综述[2]以及医疗图像处理相关论文。
作者认为,DL模型可解释性的工作也将对AL产生积极影响,因为大多数提升可解释性的方法都集中在度量模型预测的不确定性上,这些相同的不确定性度量也可用于AL选择策略,代替当前采用的不确定性度量。 随着可解释性和不确定性度量的提高,我们期望AL框架也将得到类似的改进,因为它们使用不确定性指标来降低标注的工作量。
3.2. Refinement
在医疗图像处理中,不能保证模型对每个没见过的数据都预测正确,泛化(generalise)性能非常重要。为了提升泛化性能,需要使用交互式的标注方法,而交互式标注方法必须节省标注人员的时间和精力。目前已经有许多基于深度学习的交互式图像分割系统,他们允许用户改进模型输出并将更准确的结果反馈给模型以提升性能。
有代表性的工作:
- 基于U-Net:UI-Net(2017)
- 基于条件随机场: CRF-CNN(2015),DeepIGeoS(2017)
- 基于Graph Cut:BIFSeg(2018)
- 基于两个CNN:Base Segmentation + InterCNN
- 提取3D shape/surface:Rapid Interactive and Intuitive Segmentation of 3D Medical Images Using Radial Basis Function Interpolation
- Interaction maps
在AL中完成的许多工作都忽略了专家的作用,忽略了我们可以在需要时可以获取准确的带标注的样本。 我们预见,随着AL研究不断重视专家提供的数据,AL和 Human-In-the-Loop 将变得更加紧密。
4. Practical Considerations
要将基于深度学习的医疗图像分析方法部署到实际场景下,还有许多要考虑的地方。
4.1 噪声标注人员(Noisy Oracles)
医疗图像的标注成本高,专业性强。如果我们从缺乏专业知识的标注人员获取数据,可能会对模型性能产生什么影响?在使用非专家标注人员时,可以使用哪些技术来降低可能的标注质量的下降,以避免模型准确率等性能的下降。我们可以看到,通过学习标注的质量,我们可以减轻低质量标注的影响,并把最有挑战性的样本发给专家来标注,从而降低专家的工作强度。
4.2 备用查询类型(Alternative Query Types)
大多数分割任务都需要逐像素的标注,但这并不是我们可以给图像提供的唯一标注类型。 可以使用“弱”标注执行细分,其中包括图像级的标签,例如形态,存在的器官等,以及bounding-box等。 有人认为,使用“较弱”的标注可以使专家的工作更加轻松,从而获得更准确的标注。
有代表性的工作:
- 基于weak annotation:DeepCut(2016),weak annotation+atlas(2017)
- 基于super pixel: super-pixel + non-expert粗略标注
4.3. 多任务学习(Multi-task learning)
有两个工作(见原文(Moeskops et al., 2016). Wang et al. (2019a))联合分割和检测任务,以便从CT图像中进行肺结节分割和耳蜗分割,其中仅一部分数据进行了密集标注,而其余部分则由边界框进行了弱标注。这种架构超出了几个baseline。 目前,这项工作仅处理两种不同标签类型的情况,还不是真正意义上的Multi-task。
4.4. 标注接口(Annotation Interface)
到目前为止,大多数Human-in-the-Loop方法都假定从标注专家到数据标注和模型预测的交互水平很高,很少有人考虑标注专家可能与这些图像进行交互的接口的性质。当使用分布式在线平台执行此类标注任务时,需要特别注意医学图像的性质。尽管到目前为止讨论的大多数技术都使用了已有的数据来代替新获取的标签,但没有考虑实际接口可能产生的标注准确性的影响。
4.5 不同的标注成本 (Variable Learning Costs)
非专业人员标注的数据质量低,成本低;专家标注的数据质量高,成本也高。如何权衡数据质量和成本,有一些工作对其进行了建模。
- Kuo et al. (2018) :通过衡量标注时间,建模并优化了投资回报率。
- Shah et al. (2018):基于预算的成本最小化框架。
5. Related Areas
一些其他领域对医疗图像处理会有所帮助。
- 半监督学习(Semi-supervised Learning)
- 强化学习
- GAN
- Transfer Learning
- Continual Lifelong Learning and Catastrophic Forgetting
6. Future Prospective and Unanswered Questions
当前医疗图像分割目的在于用尽可能少量的带标注数据,获取尽可能好的效果。
Active Learning 假定存用于标注的用户接口,但仅与要标注的数据有关。Refinement 假设我们能与当前模型进行迭代式的交互,生成更为准确的标注。因此,将这两者结合起来是一个有潜力的方向。如果一个模型能够用少量训练数据,再加上标注人员的修正提炼,得到更准确的标注,那么就能够减少初始标注,减少使用未见过的数据的工作量,以此加快数据标注过程。总结起来一句话:Active Learning + Refinement。
通过将标注人员纳入模型生命周期的每个阶段,我们还可以用人工反馈模型性能来增加模型置信度的“可解释”度量,因为用户可以对模型性能进行排名。模型可能会根据人类对模型输出的解释来给出置信度。当然,这需要专家使用该系统。有人可能会说,模型的初始预测可能会对人类用户产生一定的影响,但是,将初始标注众包给不太专业的多标签人群可以减少偏差。
Reference
[1] Active learning literature survey
[2] Interpretability of deep learning models: A survey of results