[논문리뷰] Generating Visual Representations for Zero-Shot Classification

 Paper Overview

ICCVW'18

Abstract
이 논문은 zero-shot classification (ZSC) task를 다루고 seen class를 사용하여 conditoinal generator를 학습한 뒤 unseen example을 생성하는 논문이다.
이때 저자들은 4가지의 generative model을 비교 분석한다.

Keywords
Zero-Shot Learning, Feature Generation, Conditional Generator

Introduction

기존 ZSC 알고리듬은 zero-shot 예측 함수를 정의함으로써 classification을 수행한다.

이 zero shot 예측함수로 image $x$에 대해 maximum compatibility score를 구하여 class $y$를 구한다: $f(x) = \text{argmax}_{y}S(x,y)$.

compatibility function이란 $S(x,y;W) = \theta(x)^{t}W\phi(y)$로 정의되는 함수로 $W$는 $x$ feature와 $y$ embedding을 common embedding space에 사영하는 bilinear function이다.

그러나 이러한 방법은 semantic representation이 가지고 있는 잠재적인 정보를 활용하지 않는다.

저자들은 위와 같이 class attribute와 noise로 unseen class exampler를 생성한 뒤 해당 exampler를 통해 classifier를 학습한다.

Approach

1. Zero shot classification

zero-shot 학습에서 사용가능한 데이터를 seen class라고 묶는다.

이때 unseen class에 해당하는 데이터를 사용하지 않는 세팅을 inductive라고 하고 label 없이 unseen 데이터를 사용하는 세팅을 transductive 세팅이라 한다.

저자들은 inductive 세팅을 따른다.


저자들은 학습 데이터 $\mathcal{D}_{s}$를 $\left\{x_{i}^{s}, a_{i}^{s}, y_{i}^{s}\right\}_{i=1}^{N_{s}}$라고 정의 한다.

각각 데이터, semantic representation, label 순이다.

이때 inductive 세팅에서 unseen class에 대한 semantic representation을 사용 가능하다.

2. Discriminative approach for ZSC

저자들의 접근법은 unseen class에 대한 인공 데이터를 생성하는 것이다.

그다음 일반적인 classification 접근법으로 classifier를 학습한다.

unseen class 데이터를 사용할 수 있으면 2가지 장점이 생긴다.


1. Generalized Zero Shot Classification을 일반적인 supervised classification problem으로 다룰 수 있다. (GZSL은 예측 단계에서 seen, unseen을 동시에 예측하는 task다)


2. 잠재적으로 수많은 unseen class를 다룰 수 있다.


따라서 gengerator는 unseen data $\widehat{\mathcal{D}}_{u} = \left\{\hat{x}_{i}^{u}, a_{i}^{u}, y_{i}^{u}\right\}_{i=1}^{N_{u}}$를 구축한다.

3. Generating unseen data


저자들은 위와 같이 4개의 generator를 사용하여 unseen data를 생성하고자 한다.
$z$는 uniform 또는 Gaussian 노이즈다.

Generative Moment Matching Network

generative process는 각 semantic description $\textbf{a}$에 대해 두 랜덤 모집단(population) $\mathcal{X}(\textbf{a})$와 $\widehat{\mathcal{X}}(\textbf{a};\textbf{w})$이 낮은 maximum mean discrepancy를 가지도록 한다.
이 maximum mean discrepancy는 두 분포간 확률의 발산 정도를 측정하는 것으로 통계학을 기반으로 한 Hilbert kernel을 사용하여 근사한다.

Conditional Generative adversarial models

이 방법은 GAN을 기반으로 하고 그중에  AC-GAN을 사용한다.
이것은 생성된 분포와 실제 분포를 binary classifier를 사용하여 비교한다.
이 모델은 GMMN과 비슷하지만 핵심적인 차이는 GMMN은 kernel을 통해 분포를 비교하지만 AC-GAN은 classifier를 통해 분포를 비교한다는 차이가 있다.For the models

Denoising Auto-Encoder

이것은 encoder/decoder 구조를 가지며 latent code는 데이터를 생성하는데 필요한 random prior $z$역할을 한다.
저자들은 standard auto-encoder처럼 input에 noise를 더하는 과정을 제외한다.
데이터를 생성할 때는 decoder만 사용한다.

Adversarial Auto-Encoder

이것은 Denoising Auto-Encoder의 확장판으로 latent code에 classifier를 달아서 학습하는 것이다.
데이터를 생성할 때는 decoder만 사용한다.

4. Implementing the generators

generator들의 hidden layer는 leaky-relu(0.2)가 사용되고 adversarial을 위한 classifier는 linear classifier를 사용한다.
auto-encoder의 reconstruction loss는 L2를 사용한다.
nosie $z$는 uniform이든 Gaussian이든 차이가 없다고 한다.

Experiments

아래 실험을 보면 GMMN이 평균적으로 가장 좋은 생성 능력을 보인다는 것을 알 수 있다.
나머지 실험은 unseen sample을 생성하는게 얼마나 좋은지 보여주는 실험이다.

Conclusions

This paper introduces a novel way to address ZeroShot Classification and Generalized Zero-Shot Classification tasks by learning a conditional generator from seen data and generating artificial training examples for the categories without exemplars, turning ZSC into a standard supervised learning problem. This novel formulation addresses the two main limitation of previous ZSC method i.e., their intrinsic bias for Generalized Zero-Shot Classification tasks and their limitations in using discriminative classifiers in the deep image feature space. Our experiments with 4 generative models and 5 datasets experimentally validate the approach and give state-of-the-art performance.

댓글