文章目录
0 引入
0.1 题目
0.2 背景
多示例学习 (MIL) 在病理学整片图像 (histopathology whole slide images, WSIs) 分类上的应用日趋成熟。然而,这样的针对性研究仍然面临一些困难,如小样本队列 (small sample cohorts) 。在此背景下,WSI图像 (包) 数量有限,且单张WSI的分辨率巨大,进一步导致海量的被裁剪区块 (实例)。
Tips:不知小样本队列的表述是否准确;之前下载过WSI图像,单个样本可能就超过一个G,着实吓人😄
0.3 方法
通过引入伪包 (pseudo-bags) 的概念来虚拟地增加包的数量,并在此基础上构建一个双层 (double-tier) MIL 框架以有效利用其内在特征。此外,在基于注意力的MIL框架下推导计算实例概率,并利用推导来帮助构建和分析所提出的框架。
0.4 Bib
@inproceedings{Zhang:2022:double,
author = {Hong Run Zhang and Yan Da Meng and Yi Tian Zhao and Yi Hong Qiao and Xiao Yun Yang and Sarah E Coupland and Ya Lin Zheng},
title = {{DTFD}-{MIL}: {D}ouble-tier feature distillation multiple instance learning for histopathology whole slide image classification},
journal = {Computer Vision and Pattern Recognition},
year = {2022}
}
1 引入
整片图像 (WSI) 标注是计算机视觉领域的重大挑战之一,其在组织病理学中的广泛使用,促使了数字病理学对病理学家的工作流程和诊断决策的改进,同时也刺激了对 WSI 智能或自动分析工具的需求。单张WSI实在是太大了,从100M到10G不等。由于这样的独特性质,现有的机器学习方法,如自然图像和医学图像模型直接拿来主义实在是不现实;深度学习模型则需要大规模数据与高质量注释。But,像素级别的标注对WSI来说只能是( ̄▽ ̄)"。于是乎,这样的少量标注问题激发了深度学习研究者的极大热情,如弱监督与半监督,而大部分的弱监督WSI研究则可被刻画为MIL研究。在MIL框架下,一个WSI看作是一个包,其可包含成千上百的区块 (实例)。只要满足至少一个实例为正,则该WSI为正。
在计算机视觉领域,已有多种方法对MIL问题进行尝试。然而,WSI 的先天特性决定了MIL下的WSI分类方案不如其他计算机视觉子领域那么简单,因为用于训练的唯一直接指导信息是几百张WSI的标签。这可能导致过拟合问题,即机器学习模型在优化过程中倾向于陷入局部最小值,而学习到的特征与目标疾病的相关性较低,从而降低模型的泛化能力。
为解决过度拟合问题,MIL下WSI研究的指导思想是从较少标签中习得更多信息。互例关系 (mutual-instance relation) 是其中的一个有效方法,可以被指定为空间或特征距离,或者通过神经模块学习,如循环神经网络、变换器,以及图神经网络。
已有的大多数方法可以被归类为基于注意力机制的 (attention-based, AB_MIL),其中的主要区别则在注意力分数的计算上。然而,在AB-MIL框架下明确推断实例概率被认为是不可行的,且作为替代方案,注意力分数通常用作正激活的指示。本文中,我们认为注意力分数不是用于此目的的严格度量,而是在AB-MIL框架下推导的实例概率。
给定一张超大号WSI,所直接处理的单元是从WSI中裁剪的极小区块。为WSI而生的MIL模型的目的则是去识别最与众不同的区块,因为它最可能触发包的标签。然而,WSI的数量较少,其中的区块却不胜其数,且标签信息是WSI级别的。此外,病理学WSI中,对应于病变区域的正实例往往只占据组织的一小部分,这进一步导致正实例的数量的极小的。因此,在极可能导致过拟合的情况下,去识别这些正实例还是让人兴奋啊
近年来 ,尽管有很多方法利用互例信息来提升MIL性能,但是他们并没有明确地去解决上述由WSI本质特征所引发的问题。为了缓解这些问题的负面影响,我们于算法框架中引入伪包的概念,即随机划分一张WSI中的实例,划分结果则对应于伪包。每一个伪包将分配其父包,即原始包的标签。这样的方法可以有机地增加包的数量,而保证伪包中只有较少实例,这便是我们双层特征蒸馏MIL模型的伟大构想,如图1。特别需要说的是,一个1层级AB-MIL模型被应用于所有WSI的伪包中。然而,有一个风险问题是来自正包的伪包中其实可能没有正实例,这样它便被分配了一个错误的标签。
扎心了啊老铁💔
为了解决这个问题,我们从每一个伪包中蒸馏出一个特征向量,并在这些向量之类建立一个2层级AB-MIL模型,如图3。经过这样的蒸馏,1层级模型将提供清晰特征,以供2层级模型获取父包的更好表示。此外,对于特征蒸馏,我们利用为可视化深度学习特征Grad-CAM (基于梯度的类别激活图, grad-based class activation map) 模型的基本思想,在AB-MIL框架下推导出实例概率。
本质上,我们从一个新奇的角度,即使用双层MIL框架来处理WSI问题,主要的贡献如下:
1)引入伪包的概念,以应对WSI不足的窘境;
2)利用Grad-CAM的基本思想,从AB-MIL的角度出发直接推导出实例概率,这可以在未来中作为很多MIL方法的延申;
3)通过实例概率的推到,制定了双层MIL框架,且在两个大型公开WSI数据集上展示了其优越性。
2 方法
2.1 回顾Grad-CAM和AB-MIL
2.1.1 Grad-CAM
一个端到端的深度学习图像分类模型通常包含两个模块,即用于高级别特征提取的深度卷积网络 (deep convolution neural network, DCNN) 和用于分类的多层感知 (multi-layer perceptron, MLP)。一张图像投喂给DCNN后可以获取多个特征图,并可通过池化函数获取一个特征向量。这样特征向量再交给MLP,就可以获取类别概率啦🤩,如图2 (a)。
假设DCNN的输出特征图为
U
∈
R
D
×
W
×
H
U\in\mathbb{R}^{D\times W\times H}
U∈RD×W×H,其中
D
D
D是通道数,
D
D
D和
H
H
H是维度大小。在
U
U
U上施加全局平均池化将获取表示包的特征向量:
f
=
GAP
W
,
H
(
U
)
∈
R
D
(1)
\tag{1} \boldsymbol{f}=\text{GAP}_{W,H}(U)\in\mathbb{R}^D
f=GAPW,H(U)∈RD(1)其中
GAP
W
,
H
(
U
)
\text{GAP}_{W,H}(U)
GAPW,H(U)表示关于
W
,
H
W,H
W,H的平均池化,即
f
\boldsymbol{f}
f的第
d
d
d个元素
f
d
=
1
W
H
∑
w
=
1
,
h
=
1
W
,
H
U
w
,
h
d
f_d=\frac{1}{WH}\sum_{w=1,h=1}^{W,H}U_{w,h}^d
fd=WH1∑w=1,h=1W,HUw,hd。使用
f
\boldsymbol{f}
f作为输入,MLP将输出类别
c
∈
{
1
,
2
,
c
…
,
C
}
c\in\{1,2,c\dots,C\}
c∈{1,2,c…,C}的逻辑值
s
c
s^c
sc,其表示当前属性属于
c
c
c类的信号强度,可通过softmax操作获取所预测的类别概率。基于Grad-CAM的第
c
c
c类类别激活图被定义为特征图的加权和:
L
c
=
∑
d
D
β
d
c
U
d
,
β
d
c
=
1
W
H
∑
w
,
h
W
,
H
(
∂
s
c
∂
U
w
,
h
d
)
(2)
\tag{2} \boldsymbol{L}^c=\sum_{d}^D\beta_d^cU^d,\qquad\beta_d^c=\frac{1}{WH}\sum_{w,h}^{W,H}\left( \frac{\partial s^c}{\partial U_{w,h}^d} \right)
Lc=d∑DβdcUd,βdc=WH1w,h∑W,H(∂Uw,hd∂sc)(2)其中
L
c
∈
R
W
×
H
\boldsymbol{L}^c\in\mathbb{R}^{W\times H}
Lc∈RW×H,
L
w
,
h
c
L_{w,h}^c
Lw,hc是
L
c
\boldsymbol{L}^c
Lc是在位置
w
,
h
w,h
w,h的幅度值,表示这个位置趋同于类别
c
c
c的强烈程度:
L
w
,
h
c
=
∑
d
=
1
D
β
d
c
U
w
,
h
d
(3)
\tag{3} L_{w,h}^c=\sum_{d=1}^D\beta_d^cU_{w,h}^d
Lw,hc=d=1∑DβdcUw,hd(3)
2.1.2 AB-MIL
给定有
K
K
K个实例的包
X
=
{
x
1
,
x
2
,
…
,
x
K
}
X=\{x_1,x_2,\dots,x_K\}
X={x1,x2,…,xK},每个实例
x
k
,
k
∈
1
,
2
,
…
,
K
x_k,k\in1,2,\dots,K
xk,k∈1,2,…,K持有隐藏标签
y
k
y_k
yk (不可知的),其中
y
k
=
1
y_k=1
yk=1表示正,
=
0
=0
=0表示负。MIL的目标是检测包中是否至少包含一个正实例。在训练阶段唯一能使用的是包标签,其被定义为:
Y
=
{
1
,
if
∑
k
=
1
K
y
k
>
0
0
,
otherwise
(4)
\tag{4} Y=\left\{ \begin{array}{ll} 1,&\qquad \text{if}\ \sum_{k=1}^Ky_k>0\\ 0,&\qquad\text{otherwise} \end{array} \right.
Y={1,0,if ∑k=1Kyk>0otherwise(4)解决该问题的一个简单方法是为实例分配相应包的标签,并由此训练分类器,最终通过平均池化或者最大池化汇聚实例预测结果为包标签。另一个策略是学习包表示
F
\boldsymbol{F}
F,从而将该问题简化为传统的分类任务。这种策略更为有效,可以看作是MIL嵌入学习的一种。包嵌入则被定制为:
F
=
G
(
{
h
k
∣
k
=
1
,
2
,
…
,
K
}
)
(5)
\tag{5} \boldsymbol{F}=\text{G}(\{\boldsymbol{h_k|k=1,2,\dots,K}\})
F=G({hk∣k=1,2,…,K})(5)其中
G
\text{G}
G是汇聚函数,
h
k
∈
R
d
\boldsymbol{h}_k\in\mathbb{R}^d
hk∈Rd是实例
k
k
k的提取特征。典型的汇聚函数是注意力机制:
F
=
∑
k
=
1
K
α
k
h
k
∈
R
D
(6)
\tag{6} \boldsymbol{F}=\sum_{k=1}^K\alpha_k\boldsymbol{h}_k\in\mathbb{R}^D
F=k=1∑Kαkhk∈RD(6)其中
α
k
\alpha_k
αk是实例
h
k
\boldsymbol{h}_k
hk的习得权重,
D
D
D是向量
F
\boldsymbol{F}
F和
h
k
\boldsymbol{h}_k
hk的维度。这样的一个机制如图2 (b)所示。注意力得分的计算有多种,例如经典AB-MIL的权重计算为:
α
k
=
exp
{
w
T
(
tanh
(
V
1
h
k
)
⊙
sigm
(
V
2
h
k
)
)
}
∑
j
=
1
K
exp
{
w
T
(
tanh
(
V
1
h
j
)
⊙
sigm
(
V
2
h
j
)
)
}
(7)
\tag{7} \alpha_k=\frac{\exp\{ \boldsymbol{w}^T(\tanh (\boldsymbol{V}_1\boldsymbol{h}_k) \odot\text{sigm}(\boldsymbol{V}_2\boldsymbol{h}_k)) \}}{\sum_{j=1}^K\exp\{ \boldsymbol{w}^T(\tanh (\boldsymbol{V}_1\boldsymbol{h}_j) \odot\text{sigm}(\boldsymbol{V}_2\boldsymbol{h}_j)) \}}
αk=∑j=1Kexp{wT(tanh(V1hj)⊙sigm(V2hj))}exp{wT(tanh(V1hk)⊙sigm(V2hk))}(7)其中
w
\boldsymbol{w}
w、
V
1
\boldsymbol{V}_1
V1,以及
V
2
\boldsymbol{V}_2
V2是习得参数。
2.2 AB-MIL中实例概率的推导
尽管MIL包嵌入方法性能卓越,但是其在计算实例类别概率时似乎是不可行的。本文则证明了在AB-MIL中获取单个实例的预测概率是可行的,证明略。因此,应用Grad-CAM到AB-MIL来直接推断实例属于某个确定类别的信号强度是可行的。与公式2类似,实例
k
k
k归属于类别
c
c
c的信号强度可以被记作:
L
k
c
=
∑
d
=
1
D
β
d
c
h
^
k
,
d
,
β
d
c
=
1
K
∑
i
=
1
K
∂
s
c
∂
h
^
k
,
d
(8)
\tag{8} L_k^c=\sum_{d=1}^D\beta_d^c\hat{h}_{k,d},\qquad\beta_{d}^c=\frac{1}{K}\sum_{i=1}^K\frac{\partial s_c}{\partial\hat{h}_{k,d}}
Lkc=d=1∑Dβdch^k,d,βdc=K1i=1∑K∂h^k,d∂sc(8)其中
s
c
s_c
sc是MIL分类器关于类别
c
c
c的输出逻辑、
h
^
k
,
d
\hat{h}_{k,d}
h^k,d是
h
^
k
\hat{\boldsymbol{h}}_k
h^k的元素,以及
h
^
k
=
α
k
K
h
k
\hat{\boldsymbol{h}}_k=\alpha_kK\boldsymbol{h}_k
h^k=αkKhk。通过运用softmax函数,实例属于第
c
c
c的预测概率为:
p
k
c
=
exp
(
L
k
c
)
∑
t
=
1
C
exp
(
L
k
t
)
(9)
\tag{9} p_k^c=\frac{\exp(L_k^c)}{\sum_{t=1}^C\exp(L_k^t)}
pkc=∑t=1Cexp(Lkt)exp(Lkc)(9)
2.3 双层特征蒸馏MIL
给定
N
N
N个包 (WSI),每个包有
K
n
K_n
Kn个实例,即
X
n
=
{
x
n
,
k
∣
k
=
1
,
2
,
…
,
K
n
}
,
n
∈
{
1
,
2
,
…
,
N
}
\boldsymbol{X}_n=\{ x_{n,k} | k=1,2,\dots,K_n\},n\in\{ 1,2,\dots,N \}
Xn={xn,k∣k=1,2,…,Kn},n∈{1,2,…,N},
Y
n
Y_n
Yn则表示包的真实标签。每一个实例对应的特征记作
h
n
,
k
\boldsymbol{h}_{n,k}
hn,k,其由神经网络
H
\mathbf{H}
H提取,即
h
n
,
k
=
H
(
x
n
,
k
)
\boldsymbol{h}_{n,k}=\boldsymbol{H}(x_{n,k})
hn,k=H(xn,k)。每个包中的实例被随机划分为
M
M
M个伪包,包中的实例大致为偶数,
X
n
=
{
X
n
m
∣
m
=
1
,
2
,
…
,
M
}
\boldsymbol{X}_n=\{ \boldsymbol{X}_n^m | m = 1,2,\dots,M \}
Xn={Xnm∣m=1,2,…,M}。伪包的标签被标记为其父包的标签,即
Y
n
m
=
Y
n
Y_n^m=Y_n
Ynm=Yn。1层级AB-MIL模型记作
T
1
\text{T}_1
T1,被用于处理每个伪包,则每个伪包通过
T
1
\text{T}_1
T1获取的包概率为:
y
n
m
=
T
1
(
{
h
k
=
H
(
x
k
)
∣
x
k
∈
X
n
m
}
)
(10)
\tag{10} y_n^m=\text{T}_1(\{ \boldsymbol{h}_k = \mathbf{H}(x_k)|x_k\in\boldsymbol{X}_n^m \})
ynm=T1({hk=H(xk)∣xk∈Xnm})(10)
T
1
\text{T}_1
T1层的损失函数基于交叉熵定义:
L
1
=
−
f
r
a
c
1
M
N
∑
n
=
1
,
m
=
1
N
,
M
Y
n
m
log
y
n
m
+
(
1
−
Y
n
m
)
log
(
1
−
y
n
m
)
(11)
\tag{11} \mathcal{L}_1=-frac{1}{MN}\sum_{n=1,m=1}^{N,M}Y_n^m\log y_n^m+(1-Y_n^m)\log(1-y_n^m)
L1=−frac1MNn=1,m=1∑N,MYnmlogynm+(1−Ynm)log(1−ynm)(11)随后伪包中每个实例的概率通过公式8–9获得。基于实例概率,每个伪包的特征向量可以被获得,其中第
n
n
n个包的第
m
m
m个伪包的蒸馏结果表示为
f
^
n
m
\hat{\boldsymbol{f}}_n^m
f^nm。所有的蒸馏结果则传递给2层级AB-MIL
T
2
\text{T}_2
T2,其结果便是每个包标签的推断:
y
^
n
=
T
2
(
{
f
^
n
m
∣
m
∈
(
1
,
2
,
…
,
M
)
}
)
(12)
\tag{12} \hat{y}_n=\text{T}_2\left( \left\{ \hat{\boldsymbol{f}}_n^m | m \in (1,2,\dots,M) \right\} \right)
y^n=T2({f^nm∣m∈(1,2,…,M)})(12)
T
2
\text{T}_2
T2的损失被定义为:
L
2
=
1
N
∑
n
=
1
N
Y
n
log
y
^
n
+
(
1
−
Y
n
)
log
(
1
−
y
^
n
)
(13)
\tag{13} \mathcal{L}_2=\frac{1}{N}\sum_{n=1}^NY_n\log\hat{y}_n+(1-Y_n)\log(1-\hat{y}_n)
L2=N1n=1∑NYnlogy^n+(1−Yn)log(1−y^n)(13) 分类的总体损失为:
L
=
arg min
θ
1
L
1
+
arg min
θ
2
L
2
(14)
\tag{14} \mathcal{L}=\argmin_{\boldsymbol{\theta}_1}\mathcal{L}_1+\argmin_{\boldsymbol{\theta}_2}\mathcal{L}_2
L=θ1argminL1+θ2argminL2(14)其中
θ
1
\boldsymbol{\theta}_1
θ1和
θ
2
\boldsymbol{\theta}_2
θ2是网络参数。
需要注意的是伪包中有大量的噪声标签,随机划分并不能保证每一个正伪包中都至少包含一个正实例。而深度学习对噪声标签是有一个容忍度的。此外,噪声等级可以粗略与
M
M
M挂钩,之后也会使用消融实验来评估
M
M
M对最终性能的影响。
四种特征蒸馏策略将被考虑:
MaxS (maximum selection):
T
1
\text{T}_1
T1处理后,伪包中具有最大正概率实例的特征传递给
T
2
\text{T}_2
T2;
MaxMinS (maxMin selection):选两个;
MAS (maximum attention score selection):选具有最大注意力得分的;
AFS (aggregated feature selection):通过公式6汇聚。