Zero-shot Learning零样本学习 论文阅读(八)——Zero-Shot Semantic Segmentation

Zero-shot Learning零样本学习 论文阅读(八)——Zero-Shot Semantic Segmentation

    • 算法模型
      • 算法思路
      • 算法流程

这是一篇关于基于生成方式的零样本语义分割的论文。

算法模型

算法思路

Zero-shot learning解决了训练实例集并非包含所有类别的识别问题。通过使用类别的高级描述,可以使新类别(unseen classes)与可以使用训练实例的类别(seen classes)相关联来实现这一点,通常利用中间表示形式即有关类别信息的语义信息来完成学习。
将语义信息之间的语义相似性从一个合适的文本嵌入空间转移到视觉表示空间,即“斑马”和“驴”再表示空间中的距离应该要比“鸟”和“电视”这样非常不相同的类近很多。
通过现有的语义分割模型DeepLab v3+对可见数据进行训练,但是只能够识别可见类别。
为了使语义分割模型能同时识别可见和不可见类别,论文提出为不可见类别生成综合训练数据,方法是通过以目标类的语义表示为条件的生成模型产生,如流程图中的蓝色区域1。
训练了生成器之后,就可以为不可见类生成特征,与来自可见类的真实样本实例一起作为新的训练数据重新训练分割网络的分类器,如流程图中的橙色区域2,便可以预测可见和不可见的类。
Zero-shot Learning零样本学习 论文阅读(八)——Zero-Shot Semantic Segmentation_第1张图片

算法流程

我们将所有类别的集合表示为 C = S ∪ U C=S \cup U C=SU ,其中 S S S 表示已看到的类别, U \quad U U 表示未看到的 类别,其中 S ∩ U = ∅ S \cap U=\emptyset SU= 。每个类别 c ∈ C c \in C cC 可以通过词嵌入映射到维数为 d a d_{a} da 的向量表示 a [ c ] ∈ R d a a[c] \in R^{d_{a}} a[c]Rda 。在实验中,选择skip-gram语言模型,该模型是通过预测目标词典 中单词的上下文(邻近单词)而学习的。这种训练策略的结果是,根据这种语义表示可以得到不同的类之间的几何语义关系。

  1. 将带标注的可见类数据放入DeepLab v3+语义分割模型进行有监督的与训练,选择DeepLab v3+的最后一个 1 × 1 1\times1 1×1卷积分类层,并将其摄取的特征分别作为分类器 f f f和目标特征 x x x
    训练集为 D s = { ( x i s , y i s , a i s ) } D_{s}=\left\{\left(x_{i}^{s}, \quad y_{i}^{s}, \quad a_{i}^{s}\right)\right\} Ds={(xis,yis,ais)} 由三元组组成,其中 x i s ∈ R M × N × d x x_{i}^{s} \in R^{M \times N \times d_{x}} xisRM×N×dx d x d_{x} dx 维特征图, y i s ∈ S M × N y_{i}^{s} \in S^{M \times N} yisSM×N 是关联的GT分割图,而 i ∈ R M × N × d a i \in R^{M \times N \times d_{a}} iRM×N×da 是类嵌入图,该类嵌入图将每个像素 的类的语义嵌入关联。我们注意到, M × N \mathrm{M} \times \mathrm{N} M×N 是编码后的特征图以及下采样图像和分割真实性的分辨 率(将Iogit上采样回完整分辨率后,最终的softmax和决策层将生效)。对于 K = ∣ U ∣ K=|U| K=U 看不见的 类别,没有可用的训练数据,只有类别嵌入 a [ c ] , c ∈ U a[c], c \in U a[c],cU
    根据看到的数据,使用标准的交叉嫡损失对DeepLab v3+模型进行全监督训练。在这个训练阶 段之后,我们删除了最后一个分类层,仅使用剩余的网络来提取可见的特征。为了避免看不见的类 别出现监督泄漏,我们仅对可见的类别重新训练ImageNet上的骨干网络。
  2. 生成模型:我们方法的关键是能够生成基于类嵌入向量的图像特征,而无需访问该类的任何图像。给定来自固定的多元高斯分布的随机样本 z z z 和语义描述 a a a ,将生成新的像素特征,如 x ^ = G ( a , z ; w ) ∈ R d x , \hat{x}=G(a, z ; w) \in R^{d_{x}}, x^=G(a,z;w)Rdx, 其中 G G G 是具有参数 w w w 的可训练生成器。为了实现这一目标,可以利用GAN、GMMN或VAE等任何生成方法。该特征生成器是在可见类的特征监督下进行训练的。论文中采用“生成矩匹配网络"(Generative Moment Matching Network, GMMN) 。GMNN是使用微分准则比较目标数据分布和生成的数据的参数化随机生成过程G。如果对于每个语义描述 a a a ,使用生成器采样的 D s D_{s} Ds X ^ ( a ; w ) \hat{X}(a ; w) X^(a;w) 的两个随机总体 X ( a ) ⊂ R d x X(a) \subset R^{d_{x}} X(a)Rdx 具有较低的最大平均差异(两个概率分布之间的经典差异度量),则该生成过程 将被认为是良好的: L G M M N ( a ) = ∑ x , x ′ ∈ X ( a ) k ( x , x ′ ) + ∑ x ^ , x ^ ′ ∈ X ^ ( a ; w ) k ( x ^ , x ^ ′ ) − 2 ∑ x ∈ X ( a ) ∑ x ^ ∈ X ^ ( a , w ) k ( x ^ , x ^ ′ ) L_{G M M N}(a)=\sum_{x, x^{\prime} \in X(a)} k\left(x, x^{\prime}\right)+\sum_{\hat{x}, \hat{x}^{\prime} \in \hat{X}(a ; w)} k\left(\hat{x}, \hat{x}^{\prime}\right)-2 \sum_{x \in X(a)} \sum_{\hat{x} \in \hat{X}(a, w)} k\left(\hat{x}, \hat{x}^{\prime}\right) LGMMN(a)=x,xX(a)k(x,x)+x^,x^X^(a;w)k(x^,x^)2xX(a)x^X^(a,w)k(x^,x^)
    其中 k k k 是我们选择的高斯核, k ( x ^ , x ^ ′ ) = exp ⁡ ( − 1 2 σ 2 ∥ x − x ′ ∥ 2 ) , σ \quad k\left(\hat{x}, \hat{x}^{\prime}\right)=\exp \left(-\frac{1}{2 \sigma^{2}}\left\|x-x^{\prime}\right\|^{2}\right), \quad \sigma k(x^,x^)=exp(2σ21xx2),σ 是band-width参
    数,参数 w w w 是SGD生成的。
  3. 分类模型 : 与DeepLab v3+相似,分类层 f f f 1 × 1 1\times1 1×1卷积层组成。一旦在第1步中对 G G G进行 了训练,就可以为任何类别(尤其是看不见的类别)采样许多像素级特征。我们以此方式构建在 R d x × U × R d a R^{d_{x}} \times U \times R^{d_{a}} Rdx×U×Rda 三元组中合成的不可见训练集 D ^ u = { ( x ^ j u , y j u , a j u ) } \hat{D}_{u}=\left\{\left(\hat{x}_{j}^{u}, y_{j}^{u}, a_{j}^{u}\right)\right\} D^u={(x^ju,yju,aju)} 。结合 D s D_{s} Ds 中可见类的
    真实特征,这组针对看不见类别的综合特征可对分类层 f f f 进行微调。
    C C C 中类别的新像素级分类 器变为 y ^ = f ( x ; D ^ u , D s ) \hat{y}=f\left(x ; \hat{D}_{u}, D_{s}\right) y^=f(x;D^u,Ds) 。它可以用来对显示两种类型的对象的图像进行语义分割。

你可能感兴趣的:(Zero-Shot,Learning,语义分割,零样本学习)