【零样本学习】Zero-Shot Visual Recognition using Semantics-Preserving Adversarial Embedding Networks

Abstract

基于visual-semantic embedding的ZSL方法存在信息损失(semantic loss)的问题,在训练过程中,如果某些语义信息对分类的区分性不大,则会被丢弃,但是这些信息往往对识别unseen class很重要。为了避免semantic loss,我们提出 Semantics-Preserving Adversarial Embedding Network (SP-AEN),通过引入visual-to-semantic space embedder ,将语义空间分解成两个子空间,分别进行分类和重构任务(可以认为是两个互相冲突的任务)。通过对这两个子空间进行对抗学习,SP-AEN可以将语义信息从重构子空间迁移到判别子空间,从而改进对unseen class的识别效果。与先前的方法相比,SP-AEN不仅可以提升识别效果,还能生成图像,验证了语义信息保留的有效性。
Note:该方法仍然是visual-semantic embedding的方法

Motivation

基于visual-semantic embedding的ZSL方法的语义迁移能力受限于semantic loss问题。训练阶段,丢弃低方差信息(判别信息较少)对分类有利,但是由于seen class和unseen class之间的语义差异,这些信息在测试时(对于unseen class)往往有较强的判别性,这将导致对unseen class的语义信息损失。主要原因是虽然 class embedding 具有丰富的语义信息,但它只是语义空间中的一个点,图像映射(将视觉空间映射到语义空间)就会坍塌到这一点。
可以利用重建(由某个图像得到的语义向量能够映射回这个图像)来保留语义信息,那么其中任意两个语义向量(由两个图像映射得到的)需要保留足够的语义信息才能够将它们分离开(这样就能避免映射坍塌到一点),否则不能重构。然而分类和重构本质上是两个互相冲突的任务:重构希望能够保留图像的细节信息,而分类则抑制无关信息。下面的例子具体说明。
【零样本学习】Zero-Shot Visual Recognition using Semantics-Preserving Adversarial Embedding Networks_第1张图片
【零样本学习】Zero-Shot Visual Recognition using Semantics-Preserving Adversarial Embedding Networks_第2张图片
为了解决这个冲突,提出新的 visual-semantic embedding框架:Semantics-Preserving Adversarial Embedding Network (SP-AEN)。如图2©,引入一个新的映射(visual-to-semantic space embedder) F: V → S 和判别器D来区分F(x)、E(x)
引入F、D来帮助E保留语义信息:
1、语义迁移
即使映射E发生了semantic loss,可以利用F从其他类别E(x)中弥补信息;而且判别器D会使得F(x)和E(x)趋于相同分布,从而从F(x)迁移语义到E(x)中。例如,E(bird)丢失了spotty属性信息,可以通过E(leapard)补偿,因为spotty是leapard类别中具有强判别能力的属性,会被保留。
2、分离分类和重构任务
重构由F、G来实现,分类则由E实现。这样,约束G(E(x)) ≈ x , G(E(x’)) ≈ x’ 就被 G(F(x)) ≈ x , G(F(x’)) ≈ x’ 替代,F(x)、F(x‘)不需要很接近(x、x’来自两个相似的类别,分类任务要求E(x)、E(x‘)接近,导致重构效果不好),从而解决分类和重构的冲突。此外,G(F(x))还能用来生成图像,验证了语义信息被更好地保留。

Method

【零样本学习】Zero-Shot Visual Recognition using Semantics-Preserving Adversarial Embedding Networks_第3张图片
Classification
利用基于最大间隔的排序损失来实现分类:
在这里插入图片描述
Reconstruction
利用 256 × 256 × 3 的原始RGB图像进行图像重构。因为使用CNN网络提取的图像特征本质上也是语义空间,也会存在语义信息损失。
【零样本学习】Zero-Shot Visual Recognition using Semantics-Preserving Adversarial Embedding Networks_第4张图片
Adversarial
F(x)具有丰富的语义信息,我们希望能够将F(x)的语义迁移到E(x’)中。所以,利用判别器D,将F(x)视为真,E(x’)视为假:
【零样本学习】Zero-Shot Visual Recognition using Semantics-Preserving Adversarial Embedding Networks_第5张图片
Note:最小化Ladv容易引起mode collapse问题。当x、x’是相似的图像(通常是同一类别),损失函数Ladv会被 ∥F(x)− E(x’)∥ ≈ 0主导,这将导致不能在类别之间迁移语义信息。这里,利用WGAN,有助于梯度限制和训练稳定性。

Full Objective
目标函数:
在这里插入图片描述
【零样本学习】Zero-Shot Visual Recognition using Semantics-Preserving Adversarial Embedding Networks_第6张图片
可以将F看作encoder,G看作decoder,那么 F(x)可以看作bottleneck layer,要其能够匹配E(x)的分布。这样,SP-AEN是有监督的对抗式自动编码器。那么,SP-AEN能够被修改以适应别的ZSL框架,比如半监督的SP-AEN(在F(x)上施加额外的对抗损失函数,来匹配一个先验分布)。

你可能感兴趣的:(Zero-Shot)