提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
动机与主要知识点介绍
动机:
先前的ZSL学习要么简单地将图像的全局特征与其相关的类语义向量对齐,要么利用单向注意力来学习有限的潜在语义表示。以上操作,没有有效的发现内在语义视觉特征和属性特征。说白了,以前的方法仅仅是简单地单向运用了全局的注意力机制,没有发现到网络真正注意到的属性部分,例如斑马的条纹属性,鸟的翅膀属性等等。
因此,提出了一个名为 Mutually Semantic Distillation Network (MSDN) 的网络,目的就是为了蒸馏视觉与语义特征之前内在的语义表示。由两部分组成:一是attribute →visual attention sub-net,学习基于属性的视觉特征;二是visual →attribute attention sub-net,学习基于视觉的属性特征。然后提出了一个蒸馏损失,可以两部分子网络相互矫正与学习。
网络结构
Attribute→Visual Attention Sub-net
输入:(1) 图像的视觉特征集合 V = { v 1 , … , v R } V=\left\{v_1, \ldots, v_R\right\} V={v1,…,vR},每个视觉特征编码图像中的一个区域(2)语义特征向量集合 A = { a 1 , … , a K } A=\left\{a_1, \ldots, a_K\right\} A={a1,…,aK}。
关注每个属性的图像区域,并将每个属性与相应的关注视觉区域特征进行比较,以确定每个属性的重要性。对于第 k 个属性,对应图像的第 r 个区域的注意力权重定义为: β k r = exp ( a k ⊤ W 1 v r ) ∑ k = 1 K exp ( a k ⊤ W 1 v r ) \beta_k^r=\frac{\exp \left(a_k^{\top} W_1 v_r\right)}{\sum_{k=1}^K \exp \left(a_k^{\top} W_1 v_r\right)} βkr=∑k=1Kexp(ak⊤W1vr)exp(ak⊤W1vr),其中 W1 是一个可学习的矩阵,用于计算每个区域的视觉特征并衡量每个语义属性向量之间的相似度。由此,得到一组注意力权重 { β k r } r = 1 R \left\{\beta_k^r\right\}_{r=1}^R {βkr}r=1R。然后,基于注意力权重,提取基于属性的视觉特征 F k = ∑ r = 1 R β k r v r F_k=\sum_{r=1}^R \beta_k^r v_r Fk=∑r=1Rβkrvr。在获取特征图集合F之后,这里要引入一个映射函数 M 1 \mathcal{M}_1 M1,将它们映射到语义嵌入空间。为了更加精确,这里引入了语义属性向量集合 A = { a 1 , a 2 , ⋯ , a K } A=\left\{a_1, a_2, \cdots, a_K\right\} A={a1,a2,⋯,aK}, M 1 \mathcal{M}_1 M1将基于属性的视觉特征 F k F_k Fk与 a k a_k ak相匹配。于是公式表示为: ψ k = M 1 ( F k ) = a k ⊤ W 2 F k \psi_k=\mathcal{M}_1\left(F_k\right)=a_k^{\top} W_2 F_k ψk=M1(Fk)=ak⊤W2Fk,这里 ψ k \psi_k ψk 是一个属性得分,表示在给定图像中具有第 k 个属性的置信度。
Visual→Attribute Attention Sub-net
这一部分其实和Attribute→Visual Attention Sub-net十分相似,包括中间的推理及计算过程。
Loss
总共有两部分组成: