Attention-based Deep Multiple Instance Learning
论文阅读 & 博客速记
作者:Maximilian Ilse¹, Jakub M. Tomczak¹, Max Welling¹
会议:ICML 2018
官方代码:https://github.com/AMLab-Amsterdam/AttentionDeepMIL

1. 摘要
| 背景 | 多示例学习(MIL)仅给“包”一个标签,需要预测包级结果,还要解释包内哪些示例是关键。 |
|---|---|
| 挑战 | 1. 示例无序且数量可变 → 需要置换不变(permutation-invariant)建模。 2. 仅有包标签 → 弱监督信号。 3. 医疗/法律场景 → 必须定位关键实例(ROI)。 |
| 方法 | 1. 将 MIL 形式化为「学习包标签的伯努利分布」θ(X),θ 由神经网络端到端学习。 2. 提出 Attention-based MIL Pooling:用双层神经网络生成示例权重,实现可学习的加权平均。 |
| 贡献 | 1. 首次在 MIL 池化层引入注意力机制,兼顾灵活性与可解释性。 2. 在 5 个经典 MIL 数据集、MNIST-BAGS 合成数据及 2 个真实病理切片数据集上,与 SOTA 持平或超越,且能可视化关键示例。 |
2. 引言
2.1 背景
-
典型场景
- 医学影像:整张切片仅标“恶性/良性”,需定位病灶。
- 弱监督检测:图像仅标“有猫/无猫”,需画框。
- 文本情感:整句情感标签,需找触发词。
-
形式化定义
给定包
X = { x 1 , x 2 , … , x K } , x k ∈ R D , K 可变 \mathcal X = \{\mathbf x_1,\mathbf x_2,\dots,\mathbf x_K\},\quad \mathbf x_k\in\mathbb R^D,\quad K\text{ 可变} X={x1,x2,…,xK},xk∈RD,K 可变
与包级标签
Y ∈ { 0 , 1 } Y\in\{0,1\} Y∈{0,1}
训练时仅能获得 (Y),示例级标签 (y_k) 不可见。
可以理解为:只拿到“包”的整体标签 ( Y ) —— 例如一整张病理切片只告诉你“恶性”或“良性”。切片里具体哪一块区域(哪一个 patch、哪一个实例)是真正的癌变区域,训练阶段完全不告诉你。 也就是说,你只拿到“森林”级别的标签,却不知道“哪棵树”是问题源头。
因此,模型既要靠弱监督信号(只有 ( Y ))学会判断整片森林,又要在推理时自己找出那棵树,这就是 MIL 的核心难点。
- 标准 MIL 假设
Y = max k y k Y=\max_k y_k Y=kmaxyk
即:正包只要含 ≥1 个正示例即可;负包所有示例必须为负。
2.2 挑战
| 编号 | 挑战 | 直观解释 | 技术难点 |
|---|---|---|---|
| C1 | 置换不变性 | 包内示例任意重排,模型输出不变 | CNN/RNN 假设顺序/网格,无法直接迁移 |
| C2 | 弱监督信号 | 只知包标签,不知哪个示例是“真凶” | 训练存在标签噪声 |
| C3 | 解释需求 | 医疗/法律需指出关键实例(ROI) | embedding-level 方法不可解释 |
| C4 | 梯度稀疏 | max 池化仅一条路径有梯度 | 实例级分类器难训练 |
| C5 | 小样本困境 | 病理切片往往只有几十~上百例 | 需正则/数据增广防过拟合 |
3. 相关工作
| 研究方向 | 代表工作 | 本文改进 |
|---|---|---|
| MIL 池化 | max / mean / noisy-and | 可训练的注意力池化 |
| MIL + 深度学习 | MI-Net (Wang et al. 2016) | 用注意力替换固定池化 |
| MIL + 注意力 | Pappas 2017 线性注意力 | 双层非线性注意力 |
| 医疗 MIL | Gaussian-Process MIL | CNN + Attention,可直接可视化 ROI |
4. 预备知识
| 符号 | 说明 |
|---|---|
| X = {x₁, x₂, …, x_K} | 包(bag),共 K 个实例 |
| h_k = f_ψ(x_k) ∈ ℝ^M | 用 CNN 把第 k 个实例 x_k 映射成 M 维向量 h_k |
| z = Σ_{k=1}^{K} a_k · h_k | 经过注意力权重 a_k 加权求和后的包级表示 |
| Ŷ = σ(g_φ(z)) ∈ [0, 1] | 用 sigmoid 函数将包表示 z 映射为包级预测概率 |
5. 方法
5.1 总体动机
对称函数定理:任何置换不变函数S(𝒳) 均可写成
S ( X ) = g ( ∑ k = 1 K f ( x k ) ) S(\mathcal X)=g\!\left(\sum_{k=1}^K f(\mathbf x_k)\right) S(X)=g(k=1∑Kf(xk))
因而只要保证池化算子对顺序不敏感即可。
5.2 Attention MIL Pooling
- 计算注意力分数
e k = w ⊤ tanh ( V h k ) , a k = exp ( e k ) ∑ j exp ( e j ) e_k = \mathbf w^\top \tanh(\mathbf V h_k),\quad a_k=\frac{\exp(e_k)}{\sum_j\exp(e_j)} ek=w⊤tanh(Vhk),ak=∑jexp(ej)exp(ek) - 门控版(Gated-Attention)
e k = w ⊤ [ tanh ( V h k ) ⊙ σ ( U h k ) ] e_k = \mathbf w^\top \Bigl[\tanh(\mathbf V h_k)\odot\sigma(\mathbf U h_k)\Bigr] ek=w⊤[tanh(Vhk)⊙σ(Uhk)]
其中 σ 为 sigmoid,⨀ 为逐元素乘。
5.3 训练目标
最大化对数似然
L
=
−
∑
i
[
Y
i
log
Y
^
i
+
(
1
−
Y
i
)
log
(
1
−
Y
^
i
)
]
\mathcal L=-\sum_i\Bigl[Y_i\log\hat Y_i+(1-Y_i)\log(1-\hat Y_i)\Bigr]
L=−i∑[YilogY^i+(1−Yi)log(1−Y^i)]
5.4 解释性
- 直接可视化注意力权重 (a_k),高权重区域即模型认定的关键实例/ROI。
补充:
ABMIL(Attention-based Deep Multiple Instance Learning)实现流程:
1️⃣ 原始数据模块
输入是一张无示例标签的包:
- 形式:𝒳 = {x₁, x₂, …, x_K},K 可变;
- 标签:仅给出包标签 Y ∈ {0, 1},示例级 y_k 不可见。
2️⃣ 实例编码器 f_ψ(·)
作用:把每个实例 x_k 变成低维向量 h_k。
- 实现:CNN、MLP 或 Transformer Encoder;
- 输出:h_k ∈ ℝ^M(文中常用 512 维)。
3️⃣ 注意力池化(核心创新)
三步完成:
① 注意力打分
e_k = wᵀ tanh(V h_k) (门控版再加 sigmoid 通道)
② 权重归一化
a_k = softmax(e_k) → 所有 a_k 和为 1
③ 加权求和
包表示 z = Σ a_k h_k
效果:
- 置换不变(顺序无关);
- a_k 直接给出“哪一实例最关键”;
- 端到端可训练。
4️⃣ 包级分类器 g_φ(·)
输入:z;
输出:Ŷ = σ(g_φ(z)) ∈ [0, 1]。
- g_φ 通常是 1–2 层全连接。
5️⃣ 损失函数
- 二值交叉熵:
L = −[Y log Ŷ + (1−Y) log (1−Ŷ)] - 训练:仅反向传播到 ψ、V、w、φ,全过程可微。
6️⃣ 推理 & 解释
- 包预测:Ŷ > 0.5 即判为正包;
- 实例解释:直接可视化权重 a_k,颜色越深越关键。
ABMIL 把“整包标签”通过 注意力池化 拆成可学习的 示例权重,既完成了包级分类,又顺带给出了实例级解释。
6. 实验
6.1 数据集
| 数据集 | 说明 | 包数 / 实例数 |
|---|---|---|
| MUSK1/2 | 分子构象 | 92 / 102 包 |
| FOX/TIGER/ELEPHANT | 图像分割 | 各 100 包 |
| MNIST-BAGS | 含数字 9 的袋 | 训练 5000 / 测试 1000 |
| Breast Cancer | H&E 切片 | 58 张图,672 patches/图 |
| Colon Cancer | H&E 切片 | 100 张图,27×27 patches |
6.2 实验设置
- Backbone:MI-Net / LeNet-5 / 病理 CNN
- 优化器:Adam,lr=1e-3,bag-wise batch=1
- 指标:Accuracy、F1、AUC,10-fold CV 5 次重复
6.3 主要结果
| 数据集 | Attention | Gated-Attn | 最佳基线 | 提升 |
|---|---|---|---|---|
| MUSK1 | 0.892±0.040 | 0.900±0.050 | 0.909 (miFV) | ≈持平 |
| MNIST-BAGS (AUC) | 0.89 | 0.90 | 0.80 (MI-SVM) | ↑9–10% |
| Breast Cancer (AUC) | 0.775 | 0.799 | 0.719 | ↑8% |
| Colon Cancer (AUC) | 0.968 | 0.968 | 0.940 | ↑2.8% |
在小样本(50–200 袋)场景,Attention/Gated-Attention 优势更明显。
7. 结论
- 背景:MIL 广泛存在于弱监督场景。
- 方法:提出基于注意力机制的深度 MIL,端到端、置换不变、可解释。
- 效果:在 8 个数据集上全面领先或持平,同时可定位关键实例。
- 未来:
- 拓展到多类别 MIL;
- 考虑实例间依赖或排斥约束;
- 在更多医疗任务(CT、MRI)落地。
8. 好句收藏
“Attention weights allow us to find key instances, which could be used to highlight possible ROIs.”
—— 注意力权重让我们找到关键实例,进而高亮潜在感兴趣区域。
“Our model bridges the instance-level and embedding-level MIL approaches.”
—— 我们的模型弥合了实例级与嵌入级 MIL 之间的鸿沟。
引用格式
Ilse, M., Tomczak, J. M., & Welling, M. (2018). Attention-based Deep Multiple Instance Learning. ICML.

1229

被折叠的 条评论
为什么被折叠?



