[CVPR 2019] Leveraing the Invarian Side of Generative Zero-Shot Learning


动机

在这里插入图片描述
基于GAN的ZSL方法,通过生成样本的方式,将ZSL问题转换成全监督问题。

本文的动机是利用(域)不变的信息的GAN来生成特征,而不是样本。

生成特征比生成样本好在哪里?

  • 提出了一个conditional Wasserstein GAN, 输入是噪声和语义描述
  • 定义了soul samples来作为 generative ZSL不变方面。【soul sample是类别的元表示】
  • 提出串联的两个分类器,得到由粗到细的结果

generative ZSL不变的方面是每个类的soul sample,变的方面是每一个生成的样本。具体来说,已见类,每个生成样本是2048维的Resnet特征,而soul sample是已见类样本所有特征的均值。

GAN-based 方法的主要问题:

  1. diversity 多样性:怎么保证有限(一个)或者相似的属性条件下的生成多样性?
  2. reliability 可靠性(discrimination判别性):怎么确保每个生成样本和真实样本及其语义描述高度相关?

方案

在这里插入图片描述

  1. 利用WGAN生成未见类特征,输入是随机噪声和语义描述
  2. 多个soul samples用来对生成器进行调整
  3. 利用信心分数的未见类样本微调最后的结果

问题定义
ZSL: f : X u → Y u f: \mathcal{X_u \to Y_u} f:XuYu
GZSL: f : { X , X u } → Y ∪ Y u f: \mathcal{\{X, X_u\} \to Y \cup Y_u} f:{X,Xu}YYu

整体的想法

  • 部署CWGAN是为了让类别嵌入(属性,语义描述)能够并入生成器G和判别器D
  • 因为 { A , Y } \{A, Y\} {A,Y} { A u , Y u } \{A_u, Y_u\} {Au,Yu}是有联系的,即 A A A A u A_u Au有共同的语义空间,条件GAN如果能够为可见类生成高质量的样本,也可以期待它为未见类生成高质量的样本。

两个创新点

  • 使用soul samples来调整生成器
  • 利用高信心分数的未见类样本来微调后面的未见类样本

soul sample的好处
在这里插入图片描述
soul sample缓解了域漂移问题(关于不同视角)


训练

G的loss:
L G = − E [ D ( G ( z , a ) ) ] − λ E [ log ⁡ P ( y ∣ G ( z , a ) ) ] , (1) L_G = -\mathbb E[D(G(z, a))] - \lambda \mathbb E[\log P(y|G(z, a))], \tag{1} LG=E[D(G(z,a))]λE[logP(yG(z,a))],(1)
其中,随机噪声 z ∼ N ( 0 , 1 ) z \sim \mathcal N(0, 1) zN(0,1),语义描述 a a a。第一项是Wasserstein损失,第二项是监督分类损失。

D的loss:
L D = E [ D ( G ( z , a ) ) ] − E [ D ( x ) ] − λ ( E [ log ⁡ P ( y ∣ G ( z , a ) ) ] ) + E [ log ⁡ P ( y ∣ x ) ] − β E [ ( ∣ ∣ ∇ x ^ D ( x ^ ) ∣ ∣ 2 − 1 ) 2 ] (2) L_D = \mathbb E[D(G(z, a))] - E[D(x)] \\ -\lambda(\mathbb E[\log P(y|G(z, a))])+\mathbb E[\log P(y|x)] \\ -\beta \mathbb E[(||\nabla_{\hat x} D(\hat x)||_2 -1)^2] \tag{2} LD=E[D(G(z,a))]E[D(x)]λ(E[logP(yG(z,a))])+E[logP(yx)]βE[(x^D(x^)21)2](2)

最后一项是强制的Lipschitz约束, x ^ = μ x + ( 1 − μ ) G ( z , a ) \hat x = \mu x + (1-\mu)G(z, a) x^=μx+(1μ)G(z,a) μ ∼ U ( 0 , 1 ) \mu \sim U(0, 1) μU(0,1)

k个soul sample
c类所有样本的均值就是c类的soul sample

每个类别c应该有多个soul sample来解决多视角问题。
作者提出,将所有特征聚成k个簇。为了简便,论文中k=3。

每个类训练样本的soul sample的定义:
s k c = 1 ∣ X k c ∣ ∑ x i ∈ X k c x i (3) s_k^c = \frac {1} {|X_k^c|} \sum_{x_i \in X_k^c} x_i \tag{3} skc=Xkc1xiXkcxi(3)

每个类生成样本的soul sample的定义:
s ~ k c = 1 ∣ X ~ k c ∣ ∑ x ~ i ∈ X ~ k c x ~ i (3) \tilde s_k^c = \frac {1} {|\tilde X_k^c|} \sum_{\tilde x_i \in \tilde X_k^c} \tilde x_i \tag{3} s~kc=X~kc1x~iX~kcx~i(3)
其中, x ~ i = G ( z , a ) \tilde x_i=G(z, a) x~i=G(z,a)是生成特征。

两个正则项
每个生成的样本至少要靠近某一个soul sample。
L R 1 = 1 n 1 ∑ i = 1 n 1 min ⁡ j ∈ [ 1 , k ] ∣ ∣ x ~ i − s j c ∣ ∣ 2 2 (5) L_{R1} = \frac{1}{n_1} \sum_{i=1}^{n_1} \min_{j \in [1, k]} ||\tilde x_i - s_j^c||_2^2 \tag{5} LR1=n11i=1n1j[1,k]minx~isjc22(5)

每个生成的soul sample必须靠近至少一个真实的soul sample。
L R 2 = 1 C ∑ c = 1 C min ⁡ j ∈ [ 1 , k ] ∣ ∣ s ~ j c − s j c ∣ ∣ 2 2 (6) L_{R2} = \frac{1}{C} \sum_{c=1}^{C} \min_{j \in [1, k]} ||\tilde s_j^c - s_j^c||_2^2 \tag{6} LR2=C1c=1Cj[1,k]mins~jcsjc22(6)

3.4 预测未见类

论文训练一个softmax分类器,对生成样本进行分类。

min ⁡ θ − 1 ∣ X ∣ ∑ ( x , y ) ∈ ( X , Y ) log ⁡ P ( y ∣ x ; θ ) (7) \min_{\theta} - \frac{1}{|\mathcal X|} \sum_{(x, y) \in (\mathcal{X, Y})} \log P(y|x; \theta) \tag{7} θminX1(x,y)(X,Y)logP(yx;θ)(7)

log ⁡ P ( y ∣ x ; θ ) = exp ⁡ ( θ y T x ) ∑ i = 1 N exp ⁡ ( θ i T x ) (8) \log P(y|x; \theta) = \frac{\exp(\theta_y^T x)}{\sum_{i=1}^{N} \exp(\theta_i^Tx)} \tag{8} logP(yx;θ)=i=1Nexp(θiTx)exp(θyTx)(8)

向量的熵可以用来测量结果的确定性。如果一个概率向量比较低的熵,我们对结果更有信心。

所以,我们利用分类熵比较低的样本,部署它们作为参考来对其他的未见类样本进行分类。

样本熵

E ( y ) = − ∑ c = 1 C y c log ⁡ y c (9) E(y) = - \sum_{c=1}^{C} y_c \log {y_c} \tag{9} E(y)=c=1Cyclogyc(9)

本文的模型包含两个分类器。第一个分类器用来评估分类信心,第二个分类器用来利用正确分类的样本。本文的零样本识别中,第一个分类器是一个生成假样本上训练的softmax,第二个分类器可以是一个训练的分类器,比如softmax分类器,SVM,或者就是一个不用训练的最近邻分类器。


实验

4.2 实现细节和对比方法

判别器有两个输出。一个用来区分特征真假,一个是标准的N-类分类器,用来预测每个样本的正确类别。
λ = 0.01 \lambda = 0.01 λ=0.01
β = 10 \beta = 10 β=10
样本熵阈值设置为小于所有熵的均值。

零样本分类结果
在这里插入图片描述

广义零样本结果
在这里插入图片描述

4.5 模型分析

每类精度
在这里插入图片描述

分析:本方法在类别“tvmonitor”、“donkey”、“jetski”上的精度比f-CLSWGAN提升了10%。在某些未见类别上性能也很差。

精度好,说明和未见类的关联度比较大。而且,现有方法对未见类的拟合比另一个模型好。1. 分析,性能好的未见类对应了哪些已知类,探索如何构建这种已知类知识向未见类的传播,如种子生长的办法。2. 分析,性能不好的都是哪些类,是否存在细粒度的问题,解决细粒度现象。

消融实验和k的影响
在这里插入图片描述
实验证明了,k值对实验影响不大。


总结

作者提到了未来方向:用GAN来做语义描述的增强。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值