Zero-Shot Visual Recognition using Semantics-Preserving Adversarial Embedding Networks
基于visual-semantic embedding,的ZSL方法存在信息损失(semantic loss),的问题,在训练过程中,如果某些语义信息对分类的区分性不大,则会被丢弃,但是这些信息往往对识别unseen class很重要,
为了避免semantic loss,我们提出Semantic-Preserving Adversial Embedding Network(SP-AEN), 通过引入visual-to-semantic space embedder,将语义空间分解成两个子空间,分别进行分类和重构任务,(可以认为两个互相冲突的任务),通过对这两个子空间进行对抗学习,SP-AEN,可以将语义信息从重构子空间迁移到判别子空间。从而改进对unseen class的识别效果,与先前的方法相比,SP-AEN不仅可以提升识别效果,还能生成图像,验证了语义信息保留的有效性。
Note:该方法仍然是visual-semantic embedding方法。
基于visual semantic embedding,的ZSL方法的语义迁移能力,受限于semantic loss问题,训练阶段,丢弃低方差信息,(判别信息较少)对分类有利,但是由于seen class 和unseen class 之间的语义差异,这些信息在测试时,对于unseen class ,往往具有较强的判别性,这将导致对不可见类别的语义信息的损失。主要原因是虽然class embedding具有丰富的语义信息,但其只是语义空间中的一个点,图像映射(将视觉空间映射到语义空间)就会坍塌这一点。
可以利用重构(由某个图像得到的语义向量能够映射回这个图像)来保留语义信息,那么其中任意两个语义向量,(由两个图像映射得到)需要保留足够的语义信息才能将其分离开,(这样就能避免了映射坍塌到一点),否则不能重构,然而分类和重构本质上是两个相互冲突的任务:重构希望能够保留图像的细节信息,而分类则抑制无关信息,下面的例子具体说明:
为了解决这个冲突,提出新的Visual semantic embedding框架,SP-AEN。如果2,引入了一个新的映射, Visual-to-semantc space embedder.
F : V → S F: V \rightarrow S F:V→S和判别器 D D D来区分 F ( x ) F(x) F(x), E ( x ) E(x) E(x)
引入 F , D F,D F,D来帮助 E E E保留语义信息。
基于映射 E E E发生了semantic loss,可以利用 F F F 从其他类别 E ( x ) E(x) E(x)
中弥补信息,而且判别器 D D D,会使得 F ( x ) F(x) F(x)和 E ( x ) E(x) E(x)趋于相同分布,从而从 F ( x ) F(x) F(x)迁移语义到 E ( x ) E(x) E(x)中,例如, E ( b i r d ) E(bird) E(bird)丢失了spotty属性信息,可以通过 E ( l e a p a r d ) E(leapard) E(leapard)补偿,因为spotty是leapard类别中具有强判别能力的属性,会被保留。
重构由 F , G F,G F,G来实现,分类由 E E E实现,
这样,约束 G ( E ( x ) ) ≈ x , G ( E ( x ’ ) ) ≈ x ’ G(E(x)) ≈ x , G(E(x’)) ≈ x’ G(E(x))≈x,G(E(x’))≈x’ 就被 G ( F ( x ) ) ≈ x , G ( F ( x ’ ) ) ≈ x ’ G(F(x)) ≈ x , G(F(x’)) ≈ x’ G(F(x))≈x,G(F(x’))≈x’,替代, F ( x ) 、 F ( x ‘ ) F(x)、F(x‘) F(x)、F(x‘)不需要很接近,( x 、 x ’ x、x’ x、x’,来两个相似的类别,分类任务要求 E ( x ) , E ( x ‘ ) E(x),E(x‘) E(x),E(x‘)接近,导致重构效果不好),从而解决分类和重构的冲突,此外 G ( F ( x ) ) G(F(x)) G(F(x))还能用来生成图像,验证了语义信息被更好的保留
利用 256 × 256 × 3 256 \times 256 \times 3 256×256×3的原始RGB图像,进行图像重构,因为使用CNN网络提取的图像特征本质上也是语义空间,也会存在语义信息损失.
F ( x ) F(x) F(x)具有丰富的语义信息,我们希望可以将 F ( x ) F(x) F(x)的语义迁移到 E ( x ’ ) E(x’) E(x’)中,所以,利用判别器 D D D,将 F ( x ) F(x) F(x)视为真, E ( x ’ ) E(x’) E(x’)视为假,
Note:Note:最小化 L a d v Ladv Ladv容易引起 m o d e c o l l a p s e mode collapse modecollapse问题。当 x 、 x ’ x、x’ x、x’是相似的图像(通常是同一类别),损失函数 L a d v Ladv Ladv会被 ∥ F ( x ) − E ( x ’ ) ∥ ≈ 0 ∥F(x)− E(x’)∥ ≈ 0 ∥F(x)−E(x’)∥≈0主导,这将导致不能在类别之间迁移语义信息。这里,利用 W G A N WGAN WGAN,有助于梯度限制和训练稳定性。
可以将 F F F看作encoder,G看作 D e c o d e r Decoder Decoder,那么 F ( x ) F(x) F(x)可以看作 b o t t l e n e c k l a y e r bottleneck layer bottlenecklayer,要其能够匹配 E ( x ) E(x) E(x)的分布,这样SP-AEN是由监督的对抗式自编码器,那么SP-AEN能够被修改以适应别的ZSL框架,比如半监督的 S P − A E N SP-AEN SP−AEN(在 F ( x ) F(x) F(x)上施加额外的对抗损失函数,来匹配一个先验分布)。
为了语义损失问题,我们提出来一个新颖的零样本方法嵌入架构 S P − A E N SP-AEN SP−AEN 去保存语义信息。