용어 정의
- Generalized ZSL : test instance가 unseen일 수도 있고 seen일 수도 있음
- Cyclic Consistency : ??
- Semantic Embedding Decoder : ??
Abstract
sota - GAN으로 class-specific semantic embedding을 leverage하여 unseen class feature를 합성함.
train 과정 도안 sematically constistent feature를 만들지만, feature synthesis와 classification 과정에서는 이러한 제약을 버림.
| 본 논문의 제안
- semantic embedding decoder로부터 training과 feature synthesis 단계 모두에서 generated features를 refine하는 feedback loop를 제안
- decoder에서 얻은 corresponding latent embedding과 함께 synthesize된 feature는 categories 간 ambiguities를 줄이기 위한 분류에서 discriminative features로 변환되고 이용됨.
- semantic consistency와 iterative feedback의 효용을 확인함.
(generalized) ZSL의 모든 과정에서 semantic consistency를 enforce하자.
Introduction
| 기존의 ZSL 방법들
- labelled seen class instances로 inter-class relationship을 encodinggksms class specific semanti emedding을 만든다.
- GAN을 이용해 real data와 generated data의 divergence를 줄이는 방향으로 optimizing함
- (논문명, 42) GAN이 seen class feature instances에 대응되는 corresponding class-specific semantic embedding을 만듦
- Unseen class의 feature instance는 학습된 GAN으로 만듦
- ZSL classifier는 fully-supervised setting에서 학습함
- (논문명, 8, 13, 25) decoder 같은 auxillary module을 이용해 학습 동안 reconstruction of semantic embeddings에 cycle-consistency constraint를 enforce함.
- 이 auxillary decoder module은 generator가 semantically consistent feature를 만들도록 도와줌.
- 이 module은 training 과정에만 쓰이고 feature synthesis와 ZSL classification 단계에서는 버려짐.
- auxillary module이 generator를 도와주면서 feature synthesis 때 discriminative feature를 얻거나 classification 때 ambiguity를 줄이는 데에 기여함.
- GAN은 mode collapse issue를 겪어 diversity of generated features가 줄어드는 결과를 내기도 함.
- VAE가 더 안정적인 성능을 내긴 하지만 approximate inference distribution이 true posterior와 다를 가능성이 높음.
- (논문명, 43) VAE decoder와 GAN generator를 같이 씀. > f-VAEGAN
- generated feature가 real feature의 분포에 semantically 가깝게 하기 위해 training 과정에서 generated, original feature간에 cycle-consistency loss를 씀.
우리는 training 과정에서 semantic embedding에 similar consistency loss를 쓰고, feature synthesis와 classification 단계에서도 학습된 정보를 쓸 것을 제안함.
1. Contributions
- ZSL framework의 모든 단계에서 Semantic Embedding Decoder(SED)를 효과적으로 쓸 수 있게 하는 novel method를 제안함.
- VAE-GAN architecture 기반.
- SED를 training과 FS에 모두 사용하기 위한 (G)ZSL을 위한 feedback module을 이용함.
- feedback module은 먼저 SED의 latent embeddings를 변환하고, 이는 latent representation of generator를 modulate하는 데에 쓰임.
- classification 단계에 Discriminative Feature Transformation을 도입하여 SED의 latent embedding을 corresponding visualf eature와 함께 사용하여 categories 간의 ambiguity를 줄일 수 있게 함.
- 초기 ZSL image classification
| Inductive Approaches
- seen classes의 labelled data만 사용함.
- (논문명, 16, 21) : seen, unseen classes를 관련시켜 semantic embedding classifier를 학습함.
- (논문명, 1, 9, 34) : semantic embedding과 visual feature space 간의 compatibility function을 학습함.
| Transductive Approaches
- (논문명, 10, 33, 45) : transductive ZS setting에서 label propagation을 통해 unseen classes의 unlabelled data를 좀 더 활용함...
- GAN 활용
- unseen class의 feature를 GAN으로 생성하여 fully-supervised setting에서 ZSL를 돌림.
- Conditional Wasserstein GAN (WGAN)은 unseen class feature synthesis generator를 학습하기 위해 seen category classifier를 이용함.
- WGAN loss와 classification loss를 활용
- (논문명, 8) : seen category classifier를 cycle-consistency loss와 합친 decoder로 대체함.
- (논문명, 35) : 2개의 VAE를 이용해 shared latent space에서 visual feature와 corresponding embedding을 align하는 cross and distribution loss를 제안함.
- (논문명, 43) : FS를 위해 VAE decoder와 GAN generator를 공유하여 VAE와 GAN을 합친 f-VAEGAN을 제안함.
- 학습 과정에서 generated, original visual features 간의 cycle-consistency constraint를 도입함.
- 그러나 semantic embedding에서 비슷한 constraint는 enforce되지 않음.
- (논문명, 8, 47, 13, 25) : 다른 GAN-based ZSL classif 모델은 embedding에도 cycle-consistency를 enforce하기 위해 auxiliary module을 사용함.
- 그러나 이 module도 training에만 쓰이고 fs나 zsl classf 단계에서는 안 쓰임.
- 다른 domain 적용
- (논문명, 46, 14, 23, 36) : classf, img2img translation, SR 등 다양한 분야의 성능을 점진적으로 올리기 위해 levraging feedback info를 도입함.
우리는 ZS recognition 맥락에서 fs를 향상시기키기 위해 feedback loop를 연구함 -> VAE-GAN framework에 feedback module를 설계한 후 ZSL에서 synthesized feature를 반복적으로 refine함.
Method
| Notations
x : encoded feature instances of images
y: label
a(k) : category-specific semantic embeddings
3.1 Preliminaries : f-VAEGAN
-
f-VAEGAN은 f-CLSWGAN과 비교해서 VAE와 GAN의 decoder와 generator를 공유하여 semantically consistent feature를 생성함.
- VAE : E(x, a) -> z (latent code) + GAN : G(z, a) -> x (reconstructed from z)
- L_v: Kullback-Leibler divergence
- p(z|a) : prior distribution, assumed to be N(0, 1)
- log G(z, a) : reconstruction loss
- 식 (1) : Kullback-Leibler + Constrain term
-
Feature Generating network (f-WGAN)
- generator G(z,a)와 discriminator D(x,a)로 이뤄짐.
- G(z,a) : random input noise z에서 feature x_hat을 만듦. -> D(x,a)가 x를 받아서 진짜 feature인지 구분
- WGAN loss (lambda : penalty coefficient)
-
-
Limitations
- 식 1 Constrain term : ensures the generated visual features are cyclically-consistent at train time, with the original visual features.
- semantic embedding에서는 비슷한 cycle-consistency constraint 없음.
- 다른 GAN-based ZSL method들은 auxiliary module을 사용해서 embedding에서도 cyclic-consistency를 하기도 함.
- but 이들 역시 train 과정에서만 쓰고 FS나 ZSL classf 단계에서는 버림.
-
우리 주장
- generator와 SED는 feature instance에 대한 complementary information을 갖고 있다.
- generator는 semantic embedding을 feature instance로 바꿈
- SED는 feature instance를 semantic embedding으로 바꿈.
3.2. 전체적인 구조
-
Encoder E, Generator G, Discriminator D로 구성됨
-
Encoder E
- input : real features of seen classes x, semantic embeddings a
- output : parameters of a noise distribution
- 이 parameter들은 KL divergence를 통해 zero-mean unit-variance Gaussian prior distribution으로 matching됨
-
Generator G
- input : noise z, embeddings a
- output: synthesizes feature x_hat
- 이 x_hat과 x는 BCE(binary cross entropy) loss로 비교됨
-
Discriminator D
- input: x나 x_hat과 embedding a
- output: x or x_hat이 진짜 or 가짜
- WGAN Loss L_w를 output D에 적용하여 real, fake feature를 구분하는 법을 배움
-
이 논문의 핵심 : SED Dec과 feedback module F
- FS, (G)ZSL Classf 단계에 additional semantic embedding decoder (SED) Dec을 넣음
- Dec과 함께 학습과 FS에 쓰이는 feedback module F도 추가함.
- Enhanced Feature Synthesis, Reduced ambiguities among categories during classification.
-
DEC
- x나 x_hat을 받아 embedding a_hat을 재구성함.
- cycle-consistency loss L_R을 사용해 학습.
- learned DEC은 그 후에 (G)ZSL classifier에 이용됨.
-
feedback module F
- Dec의 latent embedding을 변환 -> G의 latent repr에 다시 넣어주어 FS 능력을 향상시킴.
3.3 Semantic Embedding Decoder
-> final classifier가 categories를 더 잘 구분할 수 있게 됨.
3.4 Feedback Module
3.5 (Generalized) Zero-Shot Classification