多实例学习是监督学习的一种变体,其中单个类标签被分配给一袋实例。在本文中,作者将MIL问题描述为学习bag标签的伯努利分布,其中bag标签概率通过神经网络完全参数化。此外,提出了一种基于神经网络的置换不变聚合算子,该算子对应于注意力机制。值得注意的是,所提出的基于注意力的算子的应用提供了对每个实例对bag标签的贡献的深入了解。经验表明,在基准MIL数据集上实现了与最佳MIL方法相当的性能(在不牺牲可解释性的情况下)。
来自:Attention-based Deep Multiple Instance Learning, ICML, 2018
工程:https://github.com/AMLab-Amsterdam/AttentionDeepMIL
目录
- 背景概述
- 方法
- 实验设置-适合小型实验
背景概述
在像图像分类这样的典型机器学习问题中,假设图像清楚地表示类别(类)。然而,在许多实际应用中,会观察到多个instance,并且只给出该类别的一般说明。这种情况被称为多实例学习(MIL)或从弱监督数据中学习。弱监督数据的问题在医学图像中尤其明显(例如,计算病理学、CT肺筛查),其中图像通常由单个标签(良性/恶性)描述,或者粗略给出感兴趣区域(ROI)。
MIL处理一组实例,为这些实例分配了一个类标签。因此,MIL的主要目标是学习预测bag标签的模型,例如医学诊断。另一个挑战是发现关键实例,即触发bag标签的实例。在医学领域,由于其在临床实践中的有用性,后者引起了极大的兴趣。为了解决袋分类的主要任务,提出了不同的方法,例如利用袋子之间的相似性,将实例嵌入到紧凑的低维表示中,该表示进一步提供给袋级分类器,以及组合实例级分类器的响应。只有最后一种方法能够提供可解释的结果。然而,研究表明,这种方法的实例级精度较低,并且通常情况下,MIL方法在实例级存在分歧。这些问题使人们对当前MIL模型在解释方面的可用性产生了疑问。
作者提出了一种新的方法,旨在将可解释性纳入MIL方法并增加其灵活性。使用bag标签的伯努利分布来建立MIL模型,并通过优化对数似然函数来训练它。作者证明,对称函数基本定理的应用提供了一个对bag标签概率(袋得分函数)建模的通用过程,该过程由三个步骤组成:
- (i)实例到低维嵌入的变换
- (ii)置换不变(对称)聚合函数
- (iii)bag概率的最终变换
使用神经网络(即卷积层和全连接层的组合)对所有变换进行参数化,这增加了方法的灵活性,并允许通过优化无约束目标函数以端到端的方式训练模型。最后用可训练加权平均来代替广泛使用的置换不变算子,例如最大算子max和平均算子mean,其中权重由一个两层神经网络给出。两层神经网络对应注意力机制,值得注意的是,注意力权重使我们能够找到关键实例,这些实例可以进一步用于突出显示可能的ROI。
方法
在多实例学习中,训练样本是由多个实例组成的包,包是有标记的,但实例本身没有标记,如果一个包中至少包含一个正例,则该包是一个正包,否则即为反包。学习的目的是预测新包的类别:
- 来自:Introduction to Multiple Instance Learning
多实例学习的关键是找到instance与包的逻辑关系,因为实例本身是无标签的,而其所属的包是有标签的,所以这是一种若监督学习范式。下面三个公式是近年的主要方法: f ( x i j ∣ j = 1 , . . , n i l − 1 ) = 1 n i ∑ j n i ( H l ( x i j l − 1 ) ) (1) f(x^{l-1}_{ij|j=1,..,n_{i}})=\frac{1}{n_{i}}\sum_{j}^{n_{i}}(H^{l}(x_{ij}^{l-1}))\tag{1} f(xij∣j=1,..,nil−1)=ni1j∑ni(Hl(xijl−1))(1) f ( x i j ∣ j = 1 , . . , n i l − 1 ) = m a x j ( H l ( x i j l − 1 ) ) (2) f(x^{l-1}_{ij|j=1,..,n_{i}})=max_{j}(H^{l}(x_{ij}^{l-1}))\tag{2} f(xij∣j=1,..,nil−1)=maxj(Hl(xijl−1))(2) f ( x i j ∣ j = 1 , . . , n i l − 2 ) = H l ( W l − 1 ( x i j l − 2 ) ) (3) f(x^{l-2}_{ij|j=1,..,n_{i}})=H^{l}(W^{l-1}(x_{ij}^{l-2}))\tag{3} f(xij∣j=1,..,nil−2)=Hl(Wl−1(xijl−2))(3)公式(1)所应用的逻辑在多实例领域被称为平均池化,即首先对实例得分(概率空间)进行判别,而后取所有示例得分平均值作为bag的结果。公式(2)所展示的方式称为最大池化,即选择Key Instance,也就是找出得分最高的关键示例来代表其包的结果。而第三种所要讨论的,就是基于注意力机制的方式。
关于注意力机制的实现,首先定义包 H H H, h i h_{i} hi表示其中的实例: H = { h 1 , . . . , h K } H=\left\{h_{1},...,h_{K}\right\} H={h1,...,hK},对包 H H H的加权和为: z = ∑ k = 1 K a k h k z=\sum_{k=1}^{K}a_{k}h_{k} z=k=1∑Kakhk其中,权重 a a a为( w w w和 V V V为网络参数): a k = e x p ( w T t a n h ( V h k T ) ) ∑ j = 1 K e x p ( w T t a n h ( V h j T ) ) a_{k}=\frac{exp(w^{T}tanh(V h_{k}^{T}))}{\sum_{j=1}^{K}exp(w^{T}tanh(V h_{j}^{T}))} ak=∑j=1Kexp(wTtanh(VhjT))exp(wTtanh(VhkT))另外,该文章作者提到:tanh激活函数在表达非线性复杂关系是效果不好,作者进一步引入了门控思想构建了Gated Attention,注意这两个版本在不同数据集下各自有优点: a k = e x p ( w T t a n h ( V h k T ) ⊙ s i g m ( U h k T ) ) ∑ j = 1 K e x p ( w T t a n h ( V h j T ) ⊙ s i g m ( U h j T ) ) a_{k}=\frac{exp(w^{T}tanh(V h_{k}^{T})\odot sigm(U h_{k}^{T}))}{\sum_{j=1}^{K}exp(w^{T}tanh(V h_{j}^{T})\odot sigm(U h_{j}^{T}))} ak=∑j=1Kexp(wTtanh(VhjT)⊙sigm(UhjT))exp(wTtanh(VhkT)⊙sigm(UhkT))
实验设置-适合小型实验
在实验中,旨在评估所提出的方法:一个用神经网络参数化的MIL模型和一个基于(门控)注意力的池化层(“Attention”和“Gated-Attention”)。作者在许多不同的MIL数据集上评估了方法:五个MIL基准数据集(MUSK1、MUSK2、FOX、TIGER、ELEPHANT)、一个基于MNIST的图像数据集(MNIST-BAGS)和两个现实生活中的组织病理学数据集(乳腺癌、结肠癌)。作者想在实验中验证两个问题:
- (i)方法是否达到了最佳性能或与性能最佳的方法相当
- (ii)算法是否可以通过使用指示关键实例或ROI的注意力权重来提供可解释的结果
为了获得公平的比较,作者使用了一种常见的评估方法,即10倍交叉验证,每个实验重复5次。在MNIST-BAGS的情况下,固定划分为训练集和测试集。为了创建测试bags,仅对MNIST测试集的图像进行采样。在训练过程中,作者只使用MNIST训练集中的图像。Base模型选择几个方法,比如LeNet。