Multiple Instance Learning.

在标准的监督学习框架下,每一个实例(instance)都会被赋予一个标签(label)。在弱监督学习场景下,标签可能是模糊的:比如在数字病理学中,一张数亿像素的全切片影像(WSI)可能包含数千个组织切片,但医生只有一个宏观的诊断结论——“癌变”或“正常”,无法逐一标注每一个切片。

多实例学习(Multiple Instance Learning, MIL)是一种弱监督学习框架,它将数据组织成一种层级结构:由多个实例构成一个包(Bag),标签是在“包”的层面上给出的。

多实例学习的标准假设(standard assumption)是:

此外,还存在其他更加契合现实世界复杂性的假设:

1. 建模多实例学习

给定一个包 $B={x_1,x_2,\cdots,x_n}$,其中 $x_i$ 是一个实例,$y$ 是包的标签。多实例学习的目标是学习一个函数 $\theta(\cdot)$,使得 $\theta(B)$ 尽可能接近 $y$。函数 $\theta(\cdot)$可以建模为:

\[\theta(B) = g(\sigma(f(x_1),...,f(x_n)))\]

其中 $f(\cdot)$ 是实例级的特征提取器;$\sigma(\cdot)$ 是一个聚合函数,称为MIL池化;$g(\cdot)$ 是一个包级的分类器。由于我们不假设包内实例的顺序和依赖关系,因此$\sigma(\cdot)$应具有置换不变性(permutation-invariant)

2. 常见的多实例学习方法

现有的Deep MIL方法根据其分类粒度(Classification Granularity)可以分为:

论文Are Multiple Instance Learning Algorithms Learnable for Instances?指出,引入注意力能够让模型在包级别可学习;但只有将注意力机制作用于预测结果层面而非特征层面的实例级Deep MIL方法才能够满足实例级可学习性(instance-level learnability):即模型学会了如何正确地分类单个实例。

2.1 Instance-level Deep MIL

mi-Net

mi-Net 的工作流程如下:

  1. 包中的每个实例独立地通过一系列全连接层进行特征变换。
  2. 为每个实例预测一个“为正”的概率得分。
  3. MIL池化层接收所有实例的得分,并将其聚合成一个包得分的标量。

Adaptive Pooling

Adaptive Pooling利用了广义均值(Generalized Mean)来构建池化函数。对于一个包$i$和一个类别$c$,所有实例的预测概率为${q_{ij}^c}_{j=1}^{N_i}$。包级别的预测概率$p_i^c$计算为:

\[p_i^c = \left( \frac{1}{N_i} \sum_{j=1}^{N_i} (q_{ij}^c)^{r_c^{(t)}} \right)^{\frac{1}{r_c^{(t)}}}\]

指数$r$是一个可学习的参数,$r$是为每个类别$c$独立学习的,即$r_c$;$r$还是训练阶段$t$的函数,即$r_c^{(t)}$,它会随着训练的进行而变化。

Certainty Pooling

Certainty Pooling认为一个实例对最终包标签的贡献,应该由它的预测分数和模型对这个预测的确定性共同决定。通过在推理时多次启用蒙特卡洛 Dropout (MC-Dropout)并进行预测,可以得到一组预测结果,这组结果的标准差的倒数被用作该预测的“确定性”度量。

\[C_k = \frac{1}{\sigma(X_k) + \epsilon}\] \[k^* = \arg\max_k (C_k \cdot h_{km}) \\ Z_m = h_{k^*m}\]

Power Pooling

Power Pooling在计算实例预测概率$y_f^i$的加权平均时,使用它的$n$次幂$(y_f)^n$,指数$n$是一个非负的可学习参数,使其能够根据实例自身的特性动态调整其聚合策略。

\[y_c = \frac{\sum_i y_f^i \cdot (y_f^i)^n}{\sum_i (y_f^i)^n}\]

DSMIL

DSMIL采用双流(Dual-stream)架构:

最终两个流的输出被简单地平均,得到最终的包预测分数:

\[c(B) = \frac{1}{2} (c_m(B) + c_b(B))\]

MIVAE

MIVAE假设观测到的实例是由两种不同层级的潜在因子共同生成的。

MIVAE采用了变分自编码器(VAE)框架,包括一个生成网络(解码器)和一个推断网络(编码器)

  1. 生成网络$p_θ(x_j | z_B, z_j^I)$从潜在因子重构实例。输入是共享的$z_B$和独立的$z_j^I$,输出是重构的实例$x_j$。
  2. 推断网络需要解决两个挑战:如何从一堆实例中推断出共享的$z_B$,以及如何推断出每个实例独立的$z_j^I$。
    • 推断独立的$z_j^I$ (Instance-level Encoder): 对于每个实例$x_j$,都有一个独立的编码器$q_{\phi_I}(z_j^I | x_j)$来推断其专属的$z_j^I$。
    • 推断共享的$z_B$ (Bag-level Encoder): 首先使用编码器$q_{φ_B}(ẑ{B_j} | x_j)$为每个实例$x_j$推断一个“临时的”包级别因子$ẑ{B_j}$。然后将所有这些临时的$ẑ_{B_j}$的分布参数(均值和方差)进行平均,得到最终的、共享的包级别因子$z_B$的分布。

CausalMIL

CausalMIL 假设任何一个实例的产生都源于两类潜在因素:

  1. 因果因素 (causal factors, $z_c$),即决定其标签的核心特征;
  2. 非因果/混淆因素 (non-causal factors, $z_e$),即与标签无关的风格、环境等信息。

MIL建模为一个因果图模型:观测到的实例$x_{ij}$由因果表征$z_{ij}^c$和非因果表征$z_{ij}^e$共同生成。CausalMIL使用一个$g(\sigma(f(x_1),…,f(x_n)))$模型从包中提取代表整个包共享环境的特征向量$B$,然后将实例和特征向量$B$输入一个条件变分自编码器进行因果表征$z_{ij}^c$提取和实例标签分类。

Additive MIL

标准的Attention MIL模型的计算流程是特征提取 -> 注意力加权 -> 求和聚合 -> 分类。Additive MIL的核心改动是交换最后两个操作的顺序:特征提取 -> 注意力加权 -> (对每个实例)计算类别贡献度 -> 求和聚合。

在这个定义下,最终的预测结果被强制定义为所有实例贡献度的线性总和;贡献度分数有正有负。正值代表该实例促进了某个类别的预测(excitatory),负值代表抑制(inhibitory)。

MILLET

MILLET认为一个实例要想对最终结果有重要贡献,必须同时被注意力和分类器都认为是重要的,基于此提出了Conjunctive Pooling,这是AttentionInstance的并行组合。注意力头$ψ_{ATTN}$和分类器$ψ_{CLF}$独立地作用于原始的实例嵌入$z_j$,分别得到权重$a_j$和预测得分$ŷ_j$。最后,用权重$a_j$来加权预测$ŷ_j$。

\[a_{ji} = \psi_{ATTN}(z_i^j); \quad \hat{y}_i^j = \psi_{CLF}(z_i^j); \quad \hat{Y} = \frac{1}{t} \sum_{j=1}^t (a_{ji} \hat{y}_i^j)\]

MIREL

MIREL是一个即插即用的多实例不确定性估计模块,在包级别和实例级别同时对高阶不确定性进行建模,能够显著提升现有MIL网络的不确定性估计能力。

包估计器建模为 $S(X) = g(\sum_k f(x_k))$,实例估计器$R(x)$引入了残差学习的思想:$R(x) = g \circ f + r_\pi(f_\psi(x))$。MIREL引入了证据深度学习 (EDL) 框架来量化不确定性,EDL模型的输出被用来参数化一个狄利克雷分布 (Dirichlet distribution)

包级别的不确定性建模为:

\[p(\mu|X) = \text{Dir}(\mu|\alpha_{bag}) \\ \alpha_{bag} = e_{bag} + 1 = A(S(X)) + 1\]

其中,$e_{bag}$是从包分类器$S(X)$得到的证据,$A(\cdot)$是一个保证证据非负的激活函数。

实例级别的不确定性建模为:

\[p(\nu|x) = \text{Dir}(\nu|\alpha_{ins}) \\ \alpha_{ins} = e_{ins} + 1 = A(R(x)) + 1\]

其中,$e_{ins}$是从实例残差估计器$R(x)$得到的证据。

FocusMIL

FocusMILmi-Net的基础上引入了两个改进:采用变分编码器学习实例表示(注入随机性)和采用Mini-batch训练(引入多样性),缓解了max-pooling的过拟合问题,使其能够专注于学习真正的因果知识。

2.2 Bag-level Deep MIL

MI-Net

MI-Net 的工作流程如下:

  1. 包中的每个实例独立地通过一系列全连接层进行特征变换。
  2. MIL池化层将包内所有实例的特征向量聚合成一个单一的、固定长度的包表示向量 。
  3. 包表示向量随后被送入FC层进行最终的包分类,得到包得分。

Attention MIL

Attention MIL采用基于注意力机制的MIL池化算子,为每个实例学习一个注意力权重,然后对实例的特征表示进行加权平均,从而得到整个包的表示。这个权重的大小直观地反映了该实例对最终包标签的贡献度。

\[a_k = \frac{\exp\{ \mathbf{w}^T \tanh(\mathbf{V} \mathbf{h}_k^T) \}}{\sum_{j=1}^{K} \exp\{ \mathbf{w}^T \tanh(\mathbf{V} \mathbf{h}_j^T) \}}\]

作者进一步引入了门控机制来增强非线性,提出了Gated-Attention

\[a_k = \frac{\exp\{\mathbf{w}^T (\tanh(\mathbf{V} \mathbf{h}_k^T) \odot \text{sigm}(\mathbf{U} \mathbf{h}_k^T))\}}{\sum_{j=1}^{K} \exp\{\mathbf{w}^T (\tanh(\mathbf{V} \mathbf{h}_j^T) \odot \text{sigm}(\mathbf{U} \mathbf{h}_j^T))\}}\]

DP-MINN

动态池化的本质是一个迭代的权重更新过程。它不再一次性计算出所有实例的最终权重,而是在$T$次迭代中,不断地优化这些权重。DP-MINN的输入实例先经过一个实例嵌入网络(如MLP),然后送入动态池化层(Dynamic Pooling)得到包嵌入。

动态池化层初始化所有实例的临时权重$b_i$为0;每次迭代将临时权重$b_i$通过一个$\text{softmax}$函数得到归一化的贡献度权重$c_i$,使用当前的贡献度权重$c_i$对所有实例嵌入进行加权求和得到当前的包嵌入$σ^t(X)$,将包嵌入$σ$通过一个“挤压”函数进行非线性变换得到$s^t(X)$,计算每个实例嵌入$f(x_i)$与当前整个包的嵌入$s^t(X)$的点积(相似度),将这个相似度累加到临时权重$b_i$上,用于下一次迭代;经过$T$次迭代后,返回最终的包嵌入$s^T(X)$。

GNN-MIL

GNN-MILMIL建模为图分类任务,主要包括三个步骤:图的构建、图的嵌入学习,以及最终的分类。

Loss-Attention

Loss-Attention直接利用了计算最终分类logits的全连接层来同时定义实例的注意力权重。假设一个包$i$有$n_i$个实例,每个实例的logits为$z_{i,j}$,Loss-Attention的权重公式计算为:

\[\alpha_{i,j} = \frac{\sum_{c=0}^{K-1} \exp(z_{i,j,c})}{\sum_{t=1}^{n_i} \sum_{c=0}^{K-1} \exp(z_{i,t,c})}\]

分子是实例$j$所有类别logits的指数和,可以理解为这个实例的激活强度;分母是整个包内所有实例、所有类别logits的指数总和。计算权重$α$和计算最终分类logits $z$使用同一套参数。一个实例要想获得高权重$α_{i,j}$,它的总能量$\sum_c \exp(z_{i,j,c})$就必须大。

TransMIL

TransMILTransformer架构引入多实例学习,核心是一个专门为WSI设计的TPT模块(Transformer-Position encoding-Transformer)

TPT模块是一个包含两个Transformer层和一个PPEG位置编码层的结构;其中自注意力采用了Nyström方法近似自计算,PPEG将一个全切片图像中的所有实例(patches)视为一个序列,在2D空间使用多尺度卷积来进行条件位置编码。

SA-AbMILP

SA-AbMILP在基于注意力的MIL之前插入一个自注意力(Self-Attention, SA)层建模实例间的依赖关系。标准的自注意力使用点积(dot product)来衡量QueryKey的相似度,作者进一步探索了用其他核函数 (Kernel) 来代替点积的可能性,以期在特征空间更复杂或小样本场景下获得更好的效果:

\[k(x, y) = \exp(-\alpha \|x-y\|^2_2)\] \[k(x, y) = \frac{1}{\alpha \|x-y\|^2_2 + 1}\] \[k(x, y) = -\|x-y\|_1\] \[k(x, y) = \|x-y\|^\alpha - \|x\|^\alpha - \|y\|^\alpha\]

DTFD-MIL

DTFD-MIL将每个父包中的实例随机地划分为若干个更小的伪包(Pseudo-bags),并构建了双层架构:Tier-1负责处理大量的伪包$X_n^m$,进行初步的特征筛选和分析,预测伪包标签$y_n^m$和每个实例的阳性概率。Tier-2接收从每个伪包中蒸馏出的最具代表性的实例特征,进行最终的父包级别分类。

IBMIL

IBMILMIL标准的“特征提取+聚合器训练”两阶段之后加入了第三阶段:因果干预训练。

作者将共享于包级别但与标签无直接因果关系的包上下文视为混杂因子$C$。正常训练一个MIL模型;然后对所有训练集的包级别特征进行K-means聚类,每个聚类中心被视为一个具体的混杂因子状态$c_i$。通过注意力机制,计算当前WSI的包特征与所有混杂因子原型的相似度,然后将这些混杂因子加权融合到原始包特征中,再进行最终预测。

DAS-MIL

DAS-MIL在标准的嵌入式MIL模型中引入了距离感知自注意力(Distance-Aware Self-Attention)。在计算实例$i$和一个实例$j$之间的注意力时,加入与实例$i$和$j$之间相对距离$δ_ij$相关的可学习偏置项:

\[e_{ij} = \frac{(x_i W^Q + b_{ij}^Q)(x_j W^K + b_{ij}^K)^T - (b_{ij}^Q)(b_{ij}^K)^T}{\sqrt{d_z}}\]

在最终的加权求和中,也加入了一个距离相关的偏置项 $b_{ij}^V$:

\[z_i = \sum_{j=1}^n \alpha_{ij} (x_j W^V + b_{ij}^V)\]

偏置项$b_{ij}$是距离$\delta_{ij}$的函数,作者提出了一种插值方案来对连续距离进行编码:

\[b_{ij}^K = \phi(\delta_{ij}) u^K + (1 - \phi(\delta_{ij})) v^K\]

其中$u^K, v^K$是两个可学习的嵌入向量,$\phi(\delta_{ij})$是一个可学习的插值函数,参数化为一个经过缩放和平移的Sigmoid函数$\phi(\delta) = \text{sigmoid}(\beta \cdot \delta + \theta)$。

MHIM-MIL

MHIM-MIL是一个教师-学生(Teacher-Student)框架的孪生(Siamese)结构,通过“掩码”操作来间接地实现难样本挖掘。

Extreme MIL

Extreme MIL在注意力权重的计算公式中,用于特征变换的矩阵$V$,在随机初始化后,其参数被完全“冻结”,在整个训练过程中不进行任何更新。唯一的可训练参数在注意力模块中的权重向量$w$。作者认为随机的$V$同样能提供一个足够丰富的高维特征空间,并且大幅减少了参数量和优化成本。

⚪ Reference