아이공의 AI 공부 도전기

[논문 Summary] BEGAN (2017 arxiv) "BEGAN: Boundary Equilibrium Generative Adversarial Networks"

 

     

 

논문 정보

Citation : 2022.05.23 월요일 기준 1175회

저자

David Berthelot, Thomas Schumm, Luke Metz - Google

 

논문 링크

Official - None

 

Arxiv

https://arxiv.org/abs/1703.10717

 

BEGAN: Boundary Equilibrium Generative Adversarial Networks

We propose a new equilibrium enforcing method paired with a loss derived from the Wasserstein distance for training auto-encoder based Generative Adversarial Networks. This method balances the generator and discriminator during training. Additionally, it p

arxiv.org

 

 

논문 Summary

Abstract

 

 

0. 설명 시작 전 Overview

 

BEGAN은 EBGAN에서 영감을 얻어 탄생했다.

GAN 기반 Auto-encoder에서 Wasserstein distance에 기반한 loss distribution을 맞추기 위한 새로운 equilibrium 방법을 제안한다. 이를 통해 generator와 discriminator의 균형을 맞추고 빠르고 안정적인 학습과 더불어 생성된 이미지의 시작적 질을 높인다.

 

사전 추천 논문 : EBGAN, WGAN

 

1. Introduction

 

GAN은 auto-encoder보다 더 날카롭고 신뢰도 높은 이미지를 생성하지만 훈련이 어렵고 올바른 hyper-parameter 선택이 중요하다. Discriminator가 Gnerator보다 빨리 수렴하기 때문에 이 균형을 맞추는 것이 중요하고 mode collapse를 피할 수 있게 해야한다.

 

본 논문에서는 다음과 같은 기여를 하도록 한다.

1) 간단하지만 강건한 구조의 GAN을 통해 빠르고 안정적인 수렴을 할 수 있게 하는 모델을 제안한다.

2) Dsicriminator와 generator의 균형을 맞추는 Equilibrium 개념을 도입한다.

3) 이미지의 다양성과 시각적 질 사이의 trade-off를 조절하는 새로운 방법을 제안한다.

4) 수렴의 적절한 측정이 가능하게 한다. (비슷한 개념:WGAN)

 

2. Related work

 

DCGAN, EBGAN, WGAN

 

3. Proposed Method

 

기존의 GAN은 data distribution을 맞추도록 노력하지만 제안 논문은 Wasserstein distance로부터 기인한 loss를 활용해 Auto-encoder loss distribution을 맞추는 것을 노력한다.

이를 위해 Discriminator는 분류기가 아닌 Auto-Encoder로 만든다. (EBGAN)

 

3.1 Wasserstein distance lower bound for auto-encoders

 

Auto-encoder Loss

2개의 Auto-encoder Loss 분포간의 Wasserstein distance 

 

실제 이미지와 생성된 이미지의 Auto-encoder loss 분포를 구해 Wasserstein distance를 구하면 위와 같다.

이를 계산하기 위해 Jensen's inequality를 통해 lower bound를 구할 수 있는데 그 식이 equation (1) 이다.

 

이를 조금 더 간결하게 풀어보면 실제 이미지와 생성된 이미지의 pixel-wise loss에 대한 평균 차를 의미한다.

 

3.2 GAN objective

 

위에서 언급한 식을 토대로 Wasserstein distance의 lower bound에 대하여 $|m_1 - m_2|$를 최대화하는 방향으로 진행되고 이 방법은 다음 두 가지 이다.

 

 

$\mu_1$은 실제 이미지에 대한 loss 분포를 의미하고 $\mu_2$는 생성된 이미지에 대한 loss 분포를 의미할 때, 본 논문에서는 (b)를 선택한다. $m_1$과 $m_2$는 각 분포의 평균을 의미한다.

 

$m_1$을 최소화하는 것은 실제 이미지를 잘 복원시키는 방향으로 loss를 minimize한다는 것을 의미한다.

 

 

WGAN과 유사하지만 차이점

1) 데이터 분포가 아닌 loss 분포에 따른다.

2) K-Lipschitz를 discriminator에서 따르지 않게한다.

 

그러나 D가 너무 쉽게 G를 이겨버리기 때문에 G와 D의 균형을 맞추기 위해 equilibrium 개념이 필요하다.

  

3.3 Equilibrium

 

식 (3)에 해당할 때 Generator와 Discriminator의 균형을 맞춘다.

 

만약 잘 훈련되어 생성된 이미지와 진짜 이미지가 구별할 수 없다면, 에러 분포 평균 역시 같아져야 한다.

 

$gamma \in [0,1]$ 인 식 (4) 정의

 

$\gamma$가 낮으면 Discriminator가 실제 이미지에 집중하기 때문에 다양성이 사라진다.

($\gamma$가 작다는 것은 생성된 이미지 loss가 작거나 실제 이미지 loss가 크다는 의미)

$\gamma$는 다양성 비율이라고 볼 수 있다.

 

균형을 통해 mode collapse를 일부 해소할 수 있다.

 

3.4 Boundary Equilibrium GAN

 

 

Proportional Control Theory를 통해 Equilibrium을 유지한다.

$k_t \in [0,1]$를 통해 얼마나 강조할지를 결정한다. 초기 $k_0=0$

이를 통해 초기 generator가 쉽게 구분할 수 있는 안 좋은 데이터를 보내도 discriminator의 loss가 더 크게 만든다.

 

생각 : $\mathcal{L} (x) > \mathcal{L} (G(z))$를 기반으로 전체 훈련동안 $\mathcal{L}_D > \mathcal{L}_G$ 작동

 진짜 이미지에 가깝게 복원하는 첫 번째 term에 propotional control algorithm error인 두 번째 term을 최소화하는 방향을 통해 전역적인 수렴점을 찾으며 Generator와 Discriminator의 균형을 맞추고 mode collapse에 대한 판단을 내릴 수 있다.

 

3.5 Model architecture

 

 

 

 

4. Experiments

4.1 Setup

Batch size: 16 (Section 3.4)

Learning rate : 0.0001

Optimizer : Adam

Image size : 128x128

Noise : 64 (Hidden layer)

Trainable parameters : $17.3 \times 10^6$ 

Training time : 2.5 days on 4 P100 GPUs

 

4.2 Image diversity and quality

 

 EBGAN보다 잘 나옴

 $\gamma$가 변화함에 따라 생성된 이미지의 다양성. 낮을수록 비슷한 얼굴을 보임. 높을수록 다양성이 증가하지만 artifact가 증가. 

4.3 Space continuity

 

4.4 Convergence measure and image quality

 빠르게 수렴 

 

4.5 Equilibrium for unbalanced networks

  

4.6 Numerical experiments

 

Reference

공식 Github

없음

 

도움이 되는 블로그 

https://jaejunyoo.blogspot.com/2017/04/began-boundary-equilibrium-gan-1.html

 

초짜 대학원생의 입장에서 이해하는 BEGAN: Boundary Equilibrium Generative Adversarial Networks (1)

Easy explanation for BEGAN (쉽게 풀어 설명하는 BEGAN)

jaejunyoo.blogspot.com

https://jaejunyoo.blogspot.com/2017/04/began-boundary-equilibrium-gan-2.html

 

초짜 대학원생의 입장에서 이해하는 BEGAN: Boundary Equilibrium Generative Adversarial Networks (2)

Easy explanation for BEGAN (쉽게 풀어 설명하는 BEGAN)

jaejunyoo.blogspot.com

https://github.com/YBIGTA/Deep_learning/blob/master/GAN/2017-09-23-BEGAN-review.markdown

 

GitHub - YBIGTA/Deep_learning: 비전공생도 한눈에 이해하는 딥러닝 자료모음

비전공생도 한눈에 이해하는 딥러닝 자료모음. Contribute to YBIGTA/Deep_learning development by creating an account on GitHub.

github.com

 

 

 

0000 

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading