Submit : Mirza, Mehdi, and Simon Osindero. arxiv (2014)
Paper : arxiv.org/abs/1411.1784
Code : github.com/zhangqianhui/Conditional-GAN.git
이 논문은 GAN에 대해서 미리 아시면 좋습니다.
0. Abstraction
Generative Adversarial Nets(GAN)은 기존에 생성 모델을 훈련하는 방법 중 하나로 소개되었습니다. 본 논문에서 저자는 Generator와 Discriminator 모두에 조건부 데이터 y를 제공하여 구성할 수있는 CGAN을 소개합니다.
이 모델에서는 클래스 label에 따라 MNIST 숫자를 지목해 생성 할 수 있습니다. 또한 이를 사용하여 multi-modal 모델을 학습하는 방법을 설명하고, 이 방식이 어떻게 학습 레이블의 일부가 아닌, 설명 태그를 생성할 수 있는지 보여주는 imagge tagging 예비 예제를 제시합니다.
1. Introduction
최근 생성 모델을 훈련하기 위한 framework로 GAN이 도입되고 있습니다. Adversarial net은 Markov chain이 전혀 필요하지 않고, backpropagation만 사용하여 기울기를 얻고, 학습 중에 추론이 필요하지 않으며 그리고 다양한 요소와 상호 작용을 모델에 쉽게 통합 할 수 있다는 장점이 있습니다.
기존 GAN에서는 생성되는 데이터에 대한 control이 불가능합니다. 예를 들어 MNIST를 보면, 내가 '1'을 생성하고 싶다고 해서 '1'만을 목표로 생성할 수 없습니다. 만들고자 하는 데이터셋을 지시할 수 없다는 뜻입니다.
대신 CGAN은 생성 모델에 대한 추가 정보를 조건화하여 데이터 생성 프로세스를 조건화할 수 있습니다. 이를 conditioning이라 하며, class label 혹은 다른 양식의 data를 기반으로 합니다.
2. Related Works
2.1. Multi-modal Learning For Image Labeling
성공적인 supervised neural network에도 불구하고, 큰 두가지의 문제점이 있었습니다.
(1) 극적으로 큰 수의 예측된 output을 수용하기 위해 모델을 학습시키는 것은 어렵습니다.
(2) 현재까지의 많은 작업은 input-output의 1:1 mapping 학습에 초점을 맞추고 있다는 것입니다. 그러나 많은 문제는 1:다 매핑으로 이어집니다. 예를 들어 이미지에는 여러 태그가 존재할 수 있으며, 인간은 그에 대해 다양한 단어를 사용할 수 있습니다.
첫번째 문제를 해결하기 위한 방법은 다른 양식의 추가 정보를 활용하는 것입니다. 두번째 문제를 해결하는 방법은 조건부 확률적 생성 모델을 사용하는 것입니다. 입력 값은 조건부 변수로 하며 일대 다 매핑은 조건부 예측 분포로 구체화합니다.
3. Conditional Adversarial Nets
3.1. Generate Adversarial Nets
GAN에 대한 자세한 내용은 위 포스팅을 참고해 주세요.
그러나 이 GAN은 생성되는 데이터를 지목할 수 없다는 단점이 있습니다.
MNIST를 예로 들어보겠습니다. 우리는 0-9의 숫자를 noise를 통해 생성하지만 정확히 이번 output으로 어떠한 수를 생성할 지 지정할 수 없습니다. 그래서 CGAN이 등장하였습니다.
3.2. Conditional Adversarial Nets
CGAN에서는 기존 GAN과 똑같지만, 차이가 있다면 y라는 새로운 정보를 넣어줍니다.
위에서 예시로 든 MNIST라고 한다면, 만약 숫자 4를 생성하고 싶을 땐 [0 0 0 0 1 0 0 0 0 0]를 y로 함께 넣어 주는 것입니다.
이를 condition이라 하며 위 그림에서는 y가 condition입니다.
기존의 GAN와 모양새는 똑같지만 단지 Discriminator와 Generator에 조건 y가 추가되었습니다.
$D(x) => D(x|y)$
$D(G(z)) => D(G(z|y))$
4. Experimental Results
3.2.에서 말했던 y (condition)에 들어갈 수 있는 것은 Unimodal, multimodal 두 가지가 있습니다.
4.1. Unimodal
Label이라고도 할 수 있습니다.
Discriminator와 Generator 모두에게 conditioning을 추가합니다. MNIST에서는 생성하고 싶은 수에 대한 one-hot을 y로 집어넣어 줍니다. (ex. 0 : [1 0 0 0 0 0 0 0 0 0])
(2) Multimodal
Word vector와 같은 다른 양식의 데이터를 넣어줍니다. 이는 후에 pix2pix, cyclegan과 같은 형태로 발전하였습니다.
5. Future work
이 결과는 CGAN의 잠재력을 보여주고 앞으로의 무수한 가능성을 보여줍니다. 지금은 각 tag를 개별적으로 사용하지만, 후에는 동시에 여러 태그를 사용하여 더 나은 결과를 얻을 수 있으리라 봅니다.
'Paper review > Vision' 카테고리의 다른 글
[논문 리뷰] Learning Spatiotemporal Features with 3D Convolutional Networks (0) | 2020.06.14 |
---|---|
[논문 리뷰] ObamaNet: Photo realistic lip sync from text (0) | 2020.06.14 |
[논문 리뷰] Everybody Dance Now (0) | 2020.06.14 |
[논문 리뷰] Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset (0) | 2020.06.14 |
[논문 리뷰] Adversarial Examples Are Not Bugs, They Are Features (0) | 2020.06.14 |