반응형

EBGAN


-Abstract

1. Introduction

1.1 ENERGY-BASED MODEL

LeCun 아저씨가 만든 개념. 

input space의 각 포인트를 single scalar로 mapping시키는 것을 energy라는 단어를 사용함.

학습이 제대로 되면 low-energy를 생성하고, 제대로 되지 않으면 high-energy를 뱉어낸다.

우리가 흔히 알고있는 supervised learning이 이 energy모델을 따르고 있다. 예를들어 학습을 시키려는 CNN의 경우에는 우리는 cross-entropy가 작아지는 방향으로, 즉 에너지가 작아지는 방향으로 학습이 진행을 시킨다. 이를 unsupervised learning에서도 적용을 하는것이다. low energy가 the data manifold에 영향을 준다.   contrastive sample이라는 용어가 종종 사용이 되는데 이 용어는 energy를 상승 시키는 특정 데이터 포인터를 말한다.

(CONTRASIVE SAMPLE 이라는 용어에 대해 좀 더 알아볼 필요가 있음)

supervised learning에서는 잘못된 Y를 지칭할테고, unsupervised learning에서는 low data density region을 얘기를 한다.



1.2 GENERATIVE ADVERSARIAL NETWORKS


GAN에 대한 설명을 함. GAN을 학습시킬때의 수렴에 대한 내용이 나오는데 원래의 GAN에서는 discriminator가 probability를 뱉어낸다. 그리고 게임이론의 관점에서 GAN을 바라보면, GAN의 convergence는 generator와 discriminator가 NashEquilibrium이 될때에 수렴을 한다고 해석을 한다.



1.3 ENERGY-BASED GENERATIVE ADVERSARIAL NETWORKS


위에서 설명한 Energy-model과 GAN을 합친게 이번 논문이다.

핵심은 discriminator를 기존의 probability로 바라보는것이 아닌, energy function으로 바라본다. 그렇게 되면, discriminator는 generater의 우리가 기존에 알고있는 cost function으로 된다. 그렇게 되면 discriminator는 데이터가 밀집되어 있는 곳에서는 low energy를 뱉어내고, 이런 region이 아닌 곳에서는 higher energy를 뱉어낸다.

generator의 관점에서 이 아키텍처를 바라보면은 generator는 discriminator가 low energy로 판별을 하는 data들을 생성을 해내는 학습이 가능한 파라미터가 있는 function으로 볼 수가 있다.


normalization이 이 에너지 모델에서는 없는데, 이게 아키텍쳐 측면에서나 트레이닝 측면에서 꽤나 큰 유연성을 가져다 준다.



이 논문의 contribution은 다음과 같다.

1) GAN 트레이닝시에 energy-based model을 사용함.

2) EBGAN의 generator는 내재된 데이터 분포를 따르는 지점을 생성한다. (hinge loss 의 증명에 따라)

3) energy가 reconstruction error인 auto-encoder architecture를 사용한 discriminator를 가진 EBGAN Framework.

4) EBGAN과 probabilistic GAN의 좋은 결과를 가져다준 hyper-paramerter 선택과 architectural 선택을 systematic하게 하였다.

5) ImageNet dataset(256x256)을 통해서 생성된 high-resolution 이미지 generation을 보여준다. (어떠한 multiscale approach 없이.)



2. THE EBGAN MODEL


2.1 OBJECTIVE FUNCTIONAL

objective function에 대해서 설명을 한다.

(Discrimination loss와 generator loss 두개)





2.2 OPTIMALITY OF THE SOLUTION

이 챕터에서 2.1섹션에서 말한 내용에 이론적으로 분석을 한다.

증명할 내용은 NashEquilibrium에 도달하면, Generator에서 

생성한 data들은 실제 dataSet에서 나온것들과 분포상으로 구별이 불가능하다는 것을 보여줄 예정이다. 



Theorem1, Theorm2를 통해서 증명을 하는데 겁나 어려움. 일단은 패스. 

아마도 NashEquilibrium이면 Generation된 부분과 실제 dataSet에서 차이가 없다는 것을 말한다.


NashEquilibrium : 게임에 참여하는 누구도 기존에 가지고 있던 전략을 바꿀 필요가 없는 상태를 말함



2.3 USING AUTO-ENCODERS





이 논문에서 Discriminator를 auto-encoder로 사용을 하였다.

(위에서 discriminator를 enery-model로 바꾼다고 했는데, 그것의 표현방법이 auto-encoder란다.ㅎㅎ)

논문에서 대충봤을때는 auto-encoder를 그냥 임의로 정했다고 생각이 들까봐 나름의 변명아닌 변명 2가지를 제시하였다.


첫번째는 auto-encoder를 사용을 하면 기존의 a single bit을 사용하는 것이 아닌, the reconstruction-based output을 제공하는데 이게 다양한 타겟을 제공을 할수가 있다는거다. 좀 더 쉽게 말하면 기존에 사용했던 binary logistic loss를 사용을 하면 두가지의 결과(두가지의 타겟을 의미)만 나타낼수 있는데, the reconstruction-based output은 더 많은 것들을 타겟으로 잡을수가 있다는 의미이다. 

binary logistic loss는 트레이닝시에 비효율성과 미니배치 사이즈를 줄여야 하는 단점이 존재한다.

그에 비해 reconstruction loss는 미니배치상에서 다양한 gradient direction을 생성을 하고, loss efficiency의 손실없이 큰 미니배치 사이즈를 가능하게 한다.


두번째 이유는 Auto-encoder는 전통적으로 energy-based model이라는 점이다.  나중에 우리가 볼 regularization term(2.3.1에 제시)을 학습을 시킬때에, auto-encoder는 supervision과 negative 예제없이 energy manifold를 배울수가 있다는것이다.(여기서 energy manifold는 latent space라고 얘기를 하면된다) 조금더 쉽게 설명을 하면 EBGAN의 auto-encoding model은 실제 샘플을 reconstruction하께끔 구성이 된다는 말이된다. 





2.3.1 CONNECTION TO THE REGULARIZED AUTO-ENCODERS


Auto-Encoder를 학습시킬때의 가장 일반적인 문제는 대부분의 값들이 0이 되는것이다. 이러한 문제를 없애기 위해서, 모델은 학습을 할때의 data manifold 밖에 있는 부분의 에너지가 높도록 학습이 강요한다. 

이론적으로나 실험적인 결과들은 이러한 것들을 regularizing the latent representation으로 해결을 하려고 한다. 

이 regularizer의 목표는 auto-encoder의 reconstruction power를 제한하는데 있다. 

그래서 input point의 작은부분에서만 low energy가 영향을 미치게 한다.


논문에서는 generator가 contrastive sample을 생성하면서 discriminator가 regularized 된다고 생각하고 있다.

이러한 관점에 논문에서 소개하는 EBGAN framework는 더욱 유연한 프레임웍이라고 말하는데, 이를 뒷받침하는 두가지 얘기를 한다.

1)) regularizer라고 말할수 있는 generator는 완벽하게 trainable되기 때문이고 (사람의 조작하는 부분이 전혀 없다)

2)) adversarial 훈련 방법은 contrastive sample이 만들어내는 이중성과 energyFunction의 학습 사이에 직접적인 상호교환을 가능케 한다.

 


2.4 REPELLING REGULARIZER


논문에서는 'REPELLING REGULARIZER'라는 것을 제안하는데,

한국어로 regularizer 격퇴하기(?) 쫓아내기(?) 뭐 이런 느낌으로 번역이 된다. (왜 쫓아내지????????)

이게 EBGAN의 auto-encoder model에 잘 어울린단다...뭔소리인지...

이 방법은 Pdata의 몇가지 모드나 한가지 모드에서안에서 clustered된 sample을 생성된 모델을 유지하면서 'REPELLING REGULARIZER"을 하도록 한다. (똑같은 철학으로 만들어진 또다른 방법인 "minibatch discrimination"이라는 것도 존재한다.)

repelling regularizer는 구현하는데 있어서 이는 Pulling-away Term(PT)이라고 불리우는 것과 연관이 있다.

논문에서는 PT Function이 나와있는데. (겁나 어렵게 생겼다....)

우리는 notation "EBGAN-PT"라는 notation을 여기서 사용을 합니다.  PT는 generator loss에서 사용이 되고, discriminator loss에서는 사용을 안합니다.








3. RELATED WORK

4. EXPERIMENTS

-4.1 EXHAUSTIVE GRID SEARCH ON MNIST

-4.2 SEMI-SUPERVISED LEARNING ON MNIST

-4.3 LSUN & CELEBA

-4.4 IMAGENET

5. OUTLOOK


APPENDIX A: TECHNICAL POINTS OF SECTION 2.2

APPENDIX B: MORE INTERPRETATIONS ABOUT GANS AND ENERGY-BASED LEARNING


APPENDIX C: EXPERIMENT SETTING

APPENDIX D: SEMI-SUPERVISED LEARNING EXPERIMENT SETTING


반응형

+ Recent posts