参考自CSDN博主「xinrui_zhuang」的原创文章,原文链接:https://blog.csdn.net/xinrui_zhuang/article/details/79017883
1 背景
近年来深度学习用于生物医学图像分割已经取得了不错的成绩,也有很多研究人员在原有的基础上不断改变网络结构,使分割结果不断得到提升,然而目前困扰大家的一个最严重的问题就是训练数据的不足,现有的公开生物医学图像的数据集有效标注的数据也只是在几十几百的数量级上,跟普通自然图像分类数据集相比仍然相距悬殊。主要原因是对于生物医学图像标注而言专业壁垒高,只有受过训练的生物医学专家才能够标注数据,这使得借助群众的力量来进行标注会相当困难。再就是生物医学图像可能会包含更多的目标示例,会消耗大量的精力。现有的公开数据集也只有非常少量的空间标注。
目前还有有一个问题困扰着大家就是为了训练出一个好的模型,我到底需要多少数据,是越多越好吗,到底有没有一个确切的饱和点?这其实也是这篇文章中主动学习网络研究的一个问题,而这篇文章中作者更侧重于为了获取一个良好的表现什么样的示例需要被标注,作者提出了一个结合全卷积网络和主动学习的深度主动学习框架来提升标注的效率(有效性),使用FCN提供的不确定性和相似度,形成一个包含问题最大集合的广义版本,决定对于标注而言最具有代表性和不确定性的区域。
2 相关研究
主动学习(active learining):在某些情况下,没有类标签的数据相当丰富而有类标签的数据相当稀少,并且人工对数据进行标记的成本又相当高昂。在这种情况下,我们可以让学习算法主动地提出要对哪些数据进行标注,之后我们要将这些数据送到专家那里让他们进行标注,再将这些数据加入到训练样本集中对算法进行训练。这一过程叫做主动学习。
虽然采用主动学习模型能够达到目前为止最好的分割水平,但是该方法是基于预训练的区域提出模型和预训练的图像描述符网络,由于不同的生物医学图像差异巨大,生物医学图像设置中是不容易获取的。
作者利用Fully Convolutional Network(FCN)获取特定领域的图像描述符,并不使用区域建议直接生成分割。从非常少的训练数据开始,模型迭代地训练一组FCN。 在每个阶段结束时,我们从这些FCN中提取有用的信息(如不确定性估计和相似性估计),以决定下一批要注释的图像。 在获得新的注释数据之后,使用所有可用的注释图像开始下一个阶段。 虽然上述过程似乎很简单,但将FCN集成到这个深入的主动学习框架中,需要克服以下几个挑战:
- 在输入数据很少的情况下,深度学习模型仍需要有强大的生成能力,输出可靠的结果
- 深度学习模型在使用全部数据的时候应该有着较好地输出结果
- 在深度学习模型训练的前期,主动学习算法仍需要给出正确的结果
3 方法
将每一个无标签样本通过K个ag-FCN,来获得K个分割的概率分布和相应地平均特征表示,然后通过dd-AL根据不确定度和有效性选择出最具有信息量的无标签样本。将这些样本标注后,再次训练ag-FCN,直到最后有标签和无标签的样本集之间的数据分布差异足够小,就停止迭代。
3.1 Attention Gated Fully Convolutional Network(ag-FCN)
作者在FCN的基础上加上了一个attention gate,将高维度语义特征与中低维度语义特征结合起来。
AGU exploits the high-level semantic information as soft-attentions that lead low- and midlevel features to focus on target areas and highlight the feature activations that are relevant to the target instance. Hence, AGU ensures that the ag-FCN can conduct accurate segmentation on object instances with high variabilities.
不同于传统的FCN逐步地将低维度特征合并到高维度的升采样中,ag-FCN将每一层的特征都进行升采样。
作者还将大部分的卷积层替换成了bottleneck residual module。这样在保持生成能力的同时显著减少了参数的数量。
3.1.1 bottleneck residual module
bottleneck是ResNet的核心内容之一,就是用右图替换左图,第一层1×1的卷积核用于降维,最后再用一层1×1的卷积升高维度。
假设输入的维度为
d
i
d_i
di,输出的维度为
d
o
d_o
do,则左图卷积核的维度为
3
×
3
d
i
3×3d_i
3×3di,需要
d
o
d_o
do个卷积核,总的参数数量为
3
×
3
d
i
d
o
×
2
3×3d_id_o×2
3×3dido×2,右图需要的参数量为
1
×
1
d
i
×
64
+
3
×
3
×
64
×
64
+
1
×
1
×
64
d
o
1×1d_i×64+3×3×64×64+1×1×64d_o
1×1di×64+3×3×64×64+1×1×64do
3.2 Distribution Discrepancy Based Active Learning Algorithm
该算法根据两个标准选择需要被标注的样本,不确定度uncertainty和降低分布差异的有效性 the effectiveness in decreasing the distribution discrepancy。对于每一个无标签样本,平行地计算这两者开销比较大,因此作者选择分开。
first, dd-AL selects Nc samples with the highest uncertainty scores from
the unlabeled set as candidate samples.
Secondly, among these Nc candidate samples, dd-AL selects a subset of them that have the highest effectiveness in decreasing the distribution discrepancy between the labeled and unlabeled set.
3.2.1 Evaluating a Sample’s Uncertainty
作者训练K个ag-FCN,每一个用的是数据集的子集进行训练,然后计算这K个模型的方差。
不确定度的计算公式如下
对于维度为 h × w h×w h×w的无标签样本 s u s^u su,将其放入第 k k k个模型中,得到分割概率分布。然后对于 s u s^u su的每一个像素 i i i,采用 Best-versus-Second-Best (BvSB)计算。其中 p k , i b e s t p^{best}_{k,i} pk,ibest表示像素 i i i所属于的概率最高的分类, p k , i s e c o n d p^{second}_{k,i} pk,isecond表示像素 i i i所属于的概率第二高的分类。
1
−
∣
p
k
,
i
b
e
s
t
−
p
k
,
i
s
e
c
o
n
d
∣
1-|p^{best}_{k,i}-p^{second}_{k,i}|
1−∣pk,ibest−pk,isecond∣就是BvSB,该值越大,表示不确定度越高。最后将K个模型对应的概率分布求平均值
将不确定度最大的
N
c
N^c
Nc个样本组成候选集合
S
c
S^c
Sc送入到第二步。
3.2.2 Evaluating a Sample’s Effectiveness in Decreasing Discrepancy
本步骤目的是选出一个无标签样本的子集,标注该子集后,有标签和无标签数据集之间的分布差异会最小。
定义有标签集合
S
l
S^l
Sl有
N
l
N^l
Nl个样本,无标签集合
S
u
S^u
Su有
N
u
N^u
Nu个样本。分布差异的计算公式如下
其中
d
i
c
d^c_i
dic表示标注候选集合
S
c
S^c
Sc中第
i
i
i个样本后对应的分布差异,
s
i
c
s^c_i
sic表示候选集合
S
c
S^c
Sc中的第
i
i
i个样本,
s
j
l
s^l_j
sjl表示有标签集合
S
l
S^l
Sl的第
j
j
j个样本 ,
s
j
u
s^u_j
sju表示无标签集合
S
u
S^u
Su的第
j
j
j个样本。
S
i
m
(
s
i
c
,
s
j
l
)
Sim(s^c_i,s^l_j)
Sim(sic,sjl)表示
s
i
c
s^c_i
sic和
s
j
l
s^l_j
sjl之间在高维度特征空间的cosine similarity。所谓的高维度特征空间,就是ag-FCN第6层的输出,代表了输入图像的高维度特征。
计算完候选集合中全部样本对应的分布差异后,选择最小的一个样本进行标注。然后再重新放入ag-FCN,重复过程。
为了加速这一过程,最后可以选择多个分布差异较小的样本进行标注,但是这样的话原计算方式就不正确了。因为原计算方式是假设标注该样本后得到的分布差异值。
作者提出了super-sample
s
s
u
p
e
r
s^{super}
ssuper,是候选集合
S
c
S^c
Sc中m个样本的结合。
s
s
u
p
e
r
s^{super}
ssuper的特征是各样本的特征的平均值。计算分布差异的公式替换为