Hits

안녕하세요. 모카의 머신러닝 입니다. 이번 포스팅은 “BEGAN: Boundary Equilibrium Generative Adversarial Networks, arXiv 2017”에 대해 리뷰합니다. 영어로 된 논문을 한글로 같이 해석하며 논문에서 의미하는 것이 무엇인지 같이 공부하며 이해하고 활용하실 수 있도록 준비해보았습니다.


BEGAN: Boundary Equilibrium Generative Adversarial Networks

논문에 대한 해석은 간결한 문장으로 표현하려고 합니다. 그림과 표는 모두 해당 논문을 참조하였습니다.


Abstract

우리는 auto encoder 기반의 Generative Adversarial Networks를 학습하기 위해서 Wasserstein distance로부터 유도된 loss와 쌍을 이루는 평형을 부과하는 새로운 방법을 제안한다. 이 방법은 학습 동안 generator와 discriminator를 균형을 맞추는 것이다. 더구나, 이것은 새로운 대략적인 수렴 측정과 빠르고 안정적인 학습과 높은 비주얼 퀄리티를 제공한다. 우리는 이미지 다양성과 시각적 퀄리티 사이의 트레이드 오프를 조절하는 방법을 유도한다. 우리는 시각적 퀄리티에 새로운 마일스톤을 설정하고, 심지어 더 높은 해상도에서 이미지 생성의 과제에 집중한다. 이것은 상대적으로 간단한 모델 아키텍쳐와 표준의 학습 과정을 사용할 때 달성된다.

1. Introduction

Generative Adversarial Networks (GANs)은 데이터 분포를 학습하고 이것으로부터 샘플을 하기 위해서 모델을 구현하는 방법 중의 한 클래스이다. GAN은 두개의 함수로 구성된다: 랜덤 uniform 분포에서 데이터 분포로 샘플 z를 맵핑하는 generator와, 샘플 x가 데이터 분포로부터 왔는지 결정하는 discriminator가 있다. generator와 discriminator는 게임 이론 원칙에 기반하여 D와 G를 번갈아가며 jointly하게 학습한다.

GAN은 pixel-wise loss를 사용하는 auto-encoder에 의해 생성된 것보다 더 확실하고 날카로운 이미지를 생성해낼 수 있다. 하지만, GAN은 아직도 많은 미해결된 문제에 직면한다: 일반적으로 학습하기에 악명높고 심지어 많은 트릭들도 적용된다. 정확한 하이퍼파라미터 선택이 중요하다. 생성된 샘플들의 이미지 다양성을 조절하는 것은 어렵다. discriminator와 generator의 수렴을 균형잡는 것은 도전적이 문제이다: 빈번하게 discriminator는 학습의 초기에 너무 쉽게 이긴다. GAN은 단지 하나의 이미지만 학습되는 실패 mode인 modal collapse를 겪기 쉽다. batch discriminator과 repelling regularizer 같은 휴리스틱 regularizer들은 성공의 다양한 관점에서 이 문제를 경감시키도록 제안되었다.

본 논문에서, 우리는 다음과 같은 기여를 따른다.

  • 간단하고 강건한 아키텍쳐의 GAN과 빠르고 정확한 수렴의 표준의 학습 과정
  • generator에 대항하여 discriminator의 파워를 균형잡는 평형의 개념
  • 이미지 다양성과 시각적 퀄리티 사이의 트레이드 오프 조절하는 새로운 방법
  • 수렴의 대략젹인 측정.

2. Related work

Deep Convolution GAN (DCGANs)는 이미지의 퀄리티를 높이는 것을 이끈 컨볼루셔널 아키텍쳐를 처음으로 소개했다. 더 최근에, Energy Based GANs (EBGANs)은 discriminator D(x)를 에너지 함수로써 모델하는 것을 목표로하는 GAN의 한 클래스를 제안했다. 이 변형은 더 안정적으로 수렴하고 학습하기 더 쉽고 하이퍼파라미터의 변형에 강건하다. 저자들은 이러한 몇개의 이점을 discriinator에서 타겟의 큰 수에서 기인했다. EBGAN은 discriminator를 per-pixel error의 auto eoncoder로써 구현한다.

초기의 GAN 변형들은 수렴의 측정의 부족을 겪지만, Wasserstein GANs (WGANs)는 최근에 수렴의 측정으로써 역할을 할 수 있는 loss를 소개했다. 그들의 구현에서 느린 학습 비용을 겪지만, 안정적이고 더 mode coverage할 수 있는 이점이 있다.

3. Proposed method

우리는 EBGAN에서 처음 제안한 것 처럼 discriminator로써 auto encoder를 사용한다. 전형적인 GAN은 데이터 분포를 직접 매치하도록 시도하는 반면에, 우리의 방법은 Wasserstein distance로부터 유도된 loss를 사용하여 auto encoder loss를 매치하는 것을 목표로 한다. 이것은 discriminator와 generator를 균형 잡기 위한 평형의 term이 추가된 전형적인 GAN 목적함수를 사용하여 했다. 우리의 방법은 더 쉬운 학습 과정을 가지고 전형적인 GAN 기법들과 비교하여 더 간단한 뉴럴 아키텍쳐 네트워크를 사용한다.

3.1 Wasserstein distance lower bound for auto-encoders

우리는 직접 샘플의 분포를 매치하는 대신에 에러의 분포를 매치하는 것의 영향에 대하여 연구하길 원한다. 우리는 처음 auto encoder loss를 도입했고, 그 다음 실제와 생성된 샘플의 auto encoder loss 분포 사이의 Wasserstein distance로 lower bound를 계산한다.

1-1 1-2 1-3

3.2 GAN objective

우리는 auto encoder loss 사이의 식1을 최대화 하기 위해서 discriminator를 설계한다. x가 실제 샘플일 때, $\mu_{1}$

이 loss L(x)의 분포가 된다고 하자. $\mu_{2}$는 loss L(G(z))의 분포가 된다고 하자.

2-1

우리는 $m_{1}$을 최소화하는 것은 자연적으로 실제 이미지를 auto encoding 하는 것으로 이끌기 때문에 우리의 목적함수로 솔루션 (b)를 선택한다. discriminator와 generator의 파라미터 theta_D와 theta_G가 주어졌을 때, loss L_D와 L_G를 최소화하는 것에 의해 각각 업데이트 되고, 우리는 GAN의 목적함수로써 문제를 표현한다.

2-2

이 식은 WGAN으로 부터의 식과 비슷하지만 두개의 중요한 차이가 있다: 첫번째는 우리는 샘플들 사이가 아니라 loss 사이의 분포를 매치한다. 두번째는, 우리는 Kantorovich와 Rubinstein duality 이론을 사용하지 않기 때문에 discriminator가 명백하게 K-Lipschitz가 되어야 함을 요구하지 않는다.

우리의 경우데 딥뉴럴 네트워크에서 함수의 근사를 위해 우리는 각각의 함수 G와 D의 용량의 표현을 고려해야 한다. 이것은 전형적으로 G와 D가 잘 균형되어 있지 않고 discriminator D가 쉽게 이기는 경우이다. 이러한 상황을 다루기 위해서 우리는 평형 개념을 도입한다.

7

3.3 Equilibrium

실제로 generator와 discriminator loss 사이를 균형을 유지하는 것은 중요한 일이다: 우리는 아래와 같을 때 평형에 있다고 고려한다:

3

만약 우리가 실제의 것으로부터의 discriminator에 의해 구별이 되지 않는 샘플들을 생성한다면, 그들의 에러의 분포는 기대한 에러를 포함하여 같을 것이다. 이 개념은 generator와 discriminator에 할당된 노력들을 균형을 잡도록 하고 따라서 어떤 것이든 이기지 않을 것이다.

우리는 새로운 하이퍼파라미터 $\gamma \in[0,1]$를 도입하여 평형을 완화할 수 있다.

4

우리의 모델에서, discriminator는 두가지의 경쟁적인 목표를 가진다: 실제 이미지를 auto encode 하는 것과 생성된 이미지로부터 실제를 구분하는 것이다. gamma term은 우리가 두가지의 목표를 균형잡도록 한다. gamma의 lower value는 discriminator가 auto encoding된 실제 이미지에 더 많이 집중하기 때문에 더 낮은 이미지 다양성을 이끈다. 우리는 gamma를 다양성 비율로 참조한다. 어떤 이미지가 더 날카롭고 디테일을 가지고 있는지 자연적인 경계가 있다.

3.4 Boundray Equilibrium GAN

BEGAN의 목적함수는 다음과 같다

5

우리는 $\mathbb{E}[\mathcal{L}(G(z))]=\gamma \mathbb{E}[\mathcal{L}(x)]$의 평형을 유지하기 위해서 Proportional Control Theory를 사용한다. 이것은 얼마나 gradient descent 동안 $\mathcal{L}\left(G\left(z_{D}\right)\right)$

를 강조하는지를 조절하는 변수 $k_{t} \in[0,1]$

를 사용하여 구현된다. 우리는 k_0=0으로 초기화한다. $\lambda_{k}$는 k를 위한 비례 이익이다: 머신러닝 용어에서는 k를 위한 learning rate 이다. 우리는 0.001을 우리의 실험에 사용했다. 본질적으로, 이것은 k_t가 식 4를 유지하기 위해서 각 스텝마다 조절되는 closed-loop feedback control의 형태로 생각될 수 있다.

초기 단계에서, G는 생성된 데이터는 0에 가깝고 실제 데이터 분포는 아직 정확하게 학습되지 않았기 때문에 auto encoder를 위해 재생성하기 쉬운 데이터를 생성하는 경향이 있다. 이것은 초기에 $\mathcal{L}(x)>\mathcal{L}(G(z))$를 일으키고 평형 상수에 의해서 전체의 학습 과정 동안 유지된다.

식 (1)에서의 근사와 식 (4)에서의 gamma의 도입은 우리의 Wasserstein distance의 모델링에 영향을 미친다. 따라서, 다양한 gamma 값에 의해 생성된 샘플들의 조사는 주요한 관심사고 결과 섹션에서 보여질 것이다.

D와 G를 번갈아가며 학습하거나 D의 pretrain이 필요한 전통적인 GAN과 반대로, 우리의 방법인 BEGAN은 안정적으로 학습하기 위해서 둘 다 필요하지 않다. Adam은 기본적인 하이퍼파라미터로 학습 과정에서 사용되었다. $\theta_{D}$ 와 $\theta_{G}$는 분리된 Adam 옵티마이져와 함께 각각의 loss를 기반으로 독립적으로 업데이트 된다. 보통 배치 사이즈는 n = 16을 사용한다.

3.4.1 Convergence measure

GAN의 수렴을 결정하는 것은 원래의 공식이 zero-sum 게임으로 정의되었기 때문에 일반적으로 어려운 일이다. 따라서, 하나의 loss는 올라가고 다른 loss는 내려간다. epoch의 수와 시각적 조사는 전형적으로 어떻게 학습이 진행 되는지에 대한 개념을 얻기 위한 실용적인 방법이다.

우리는 평형 개념을 사용하여 수렴의 글로벌 측정을 유도한다: 우리는 비율 조절 알고리즘

13

을 위한 동시에 일어나는 과정 에러의 가장 낮은 절대값과 함께 가장 가까운 재구성 $\mathcal{L}(x)$를 찾음으로써 수렴 과정을 프레임 할 수 있다.

6

이 측정은 네트워크가 마지막 state에 도달하거나 모델이 collapse 될 때 결정하는데 사용될 수 있다.

3.5 Model architecture

Discriminator D는 auto encoder로써 컨볼루셔널 딥뉴럴 아키텍쳐이다. $N_{x}=H \times W \times C$는 H, W, C가 높이, 너비, 색깔 일 때 x의 차원을 의미한다. 우리는 deep encoder와 decoder와 함께 auto encoder를 사용한다. 의도는 전형적인 GAN의 trick을 피하기 위해서 가장 간단하게 된다.

구조는 figuer 1에서 보였다. 우리는 3x3 컨볼루션을 그들의 출력에 적용된 exponential linear unit (ELU)와 함께 사용했다. 각각의 레이어는 여러번 반복된다. 우리는 더 좋은 시각적 결과를 이끌기 위해서 더 많은 반복을 관찰했다. 컨볼루션 필터는 각가의 다운 샘플링과 함께 선형적으로 증가되었다. 드운 샘플링은 stride 2로 구현되었고 sub sampling으로 업샘플링은 nearest neighbor에 의해 되었다. encoder와 decoder의 경계에서, 처리된 데이터의 텐서는 fully connected layer를 통해 맵핑되고, 어느 비선형에 따르지 않는다.

Generator G는 discriminator decoder와 같은 네트워크를 사용한다. 우리는 간단함을 위해 이러한 선태긍ㄹ 했다. 입력 state는 $z \in[-1,1]^{N_{z}}$ 이고 uniform하게 샘플된다.

3.5.1 Optional improvements

간단한 네트워크는 높은 퀄리티의 결과를 얻고 우리의 기법의 robustness를 증명한다.

더구나, 추가적으로, 개선은 gradient propagation을 돕고 더 날카로운 이미지를 생성한다. deep residual network에서 영감을 얻어서, 우리는 네트워크를 vanishing residual을 사용해서 초기화한다: 연속적인 같은 사이즈의 레이어를 위해, 레이어의 입력은 출력과 함께 합쳐진다: $i n_{x+1}=\text { carry } \times i n_{x}+(1-\operatorname{carr} y) \times \text { out }_{x}$. 우리의 실험에서, 우리는 carry=1에서 시작하고 16000 스텝 동안 점진적으로 0으로 줄인다.

우리는 또한 gradient propagation을 돕기 위해서 skip connection을 도입한다. 첫번째 deocder 텐서 h0는 h를 8x8xn 텐서로 투영함으로부터 얻어진다. 각각의 업샘플링 스텝 다음에, 출력은 같은 차원으로 h0이 업샘플 되고 합쳐진다. 이것은 hidden staet와 decoder의 각각의 연속적인 업샘플링 레이어 사이에 skip connection을 생성한다.

우리는 batch normalization, dropout, transpose convolution, exponential growth for convolution filter 같은 전형적인 GAN에서 사용된 다른 기법들은 적용하지 않았다.

4. Experiments

4.1 Setup

우리는 초기 learning rate 0.0001과 수렴을 측정할 때 factor 2로 decay 하면서 Adam을 사용하여 우리의 모델을 학습했다. Modal collapse와 visual artifact는 높은 초기 learning와 함께 산발적으로 관찰됬지만, 간단하게 learning rate를 줄이는 것은 이것들을 피하기 위해 충분하지 않았다. 우리는 모델을 다양한 해상도 32부터 256까지 학습했고, 이미지 사이즈를 위해 조절하기 위해서 컨볼루션 레이어들을 더하거나 제거했고, 마지막 다운 샘플된 이미지 사이즈는 8x8로 유지했다.

128x128 이미지를 위한 우리의 가장 큰 모델은 n=128개의 필터와 함께 컨볼루션을 사용했고 전체적으로 $17.3 \times 10^{6}$개의 학습가능한 파라미터를 가진다. 학습 시간은 4개의 P100 GPU를 가지고 약 2.5일 정도 였다. 32x32의 더 작은 모델 사이즈는 하나의 GPU로 몇시간안에 학습 가능하다.

우리는 360K개의 유명인사 얼굴들의 데이터셋을 사용했다. 이 데이터셋은 회전과 카메라 축을 포함하여 크고 다양한 얼굴 포즈들을 가진다. 이것은 CelebA의 정렬된 얼굴 보다 다양하고 잠재적으로 더 어려운 일이다. 사람은 얼굴의 결점을 인식하는데 탁월하기 때문에 얼굴을 시각적 측정기로써 사용하는 것을 선호했다.

4.2 Image diversity and quallity

Figure 2b는 해상도 128x128에서 z로 부터 uniformly하게 얻어진 몇개의 대표적인 샘플들을 보여준다. 이미지의 해상도가 높을수록, 일관성을 유지하면서, 날카로움을 잃는 경향이 있지만, 추가적인 하이퍼파라미터 탐험과 함께 증진될 수 있다. 우리가 아는 선에서 이것은 256x256에서 꽃과 새들을 위해 보여진 Stacked GAN을 제외하면 해부학적으로 일관된 고해상도의 결과를 보여주는 첫번째일 것이다.

우리는 다양한 포즈, 표정, 성별, 피부색, 빛 노출, 머리색들을 관찰했다. 하지만 우리는 안경을 보진 않았고, 나이 많은 사람들 중 남자보다 여자가 있는 것을 보았다. 비교를 위해 figure 2a에 EBGAN 결과를 보여주었다. 우리는 다른 데이터셋에서 학습되었기 때문에 직접적인 비교는 어려울 것이라는 것은 명심해야 한다.

Figure 3에서, 우리는 다양한 gamma의 영향을 비교한다. 모델은 잘 행동하는 것처럼 보이고, 값의 정도에 걸쳐서 이미지 다양성의 정도가 유지된다. 낮은 값에서, 얼굴은 전체적으로 uniform 하다. 다양성은 gamma를 증가시키지만 artifact가 생긴다. 우리의 관찰은 다양성과 퀄리티가 독립적이어서 모순인 것처럼 보인다.

4.3 Space continuity

우리의 generator의 modal coverage를 측정하기 위해서 우리는 실제 이미지를 갖고 generator를 위해 상응하는 $z_{r}$

임베딩을 찾는다. 이것은 Adam을 사용하여 되었고

14

를 최소화하는 $z_{r}$

의 값을 찾는다. 실제 이미지로의 맵핑은 모델이 목표가 아니지만 이것은 일반화시키는 능력을 테스트할 방법을 제공한다. 두개의 실제 이미지 사이의 $z_{r}$ 임베딩을 보간함으로써, 우리는 모델이 이미지를 쉽게 잊어버리가 보다는 이미지 콘텐츠를 일반화하는 것을 증명했다.

Figure 4c는 128x128 해상도에서 실제 이미지 사이의 보간 $z_{r}$

를 의미한다. 이러한 이미지들은 학습 데이터의 부분이 아니다. 첫번째와 마지막 열은 표현되고 보간된 실제 이미지들을 포함한다. 즉시 옆에 있는 이미지는 이미지 사이의 결과가 $z_{r}$의 선형 근사일 때 그들의 상응하는 근사이다. 최신의 generative model과 비교하기 위해서, 우리는 64x74의 ALI와 32x32의 conditional PixelCNN을 포함시켰다. 추가적으로 figure 4d는 이미지와 이것의 mirror 사이의 보간을 보여준다.

샘플 다양성은, 완벽하지는 않지만, 설득력있다; 생성된 이미지는 실제의 것과 상대적으로 가깝게 보인다. 보간은 좋은 연속성을 보여준다. 첫번째 행에서, 자연적인 방법에서의 해어 변화와 중간의 헤어스타일은 믿을만하고, 좋은 일반화를 보여준다. 두번째와 마지막 행은 간단한 회전을 보여준다. 회전이 부드러울 때, 우리는 그림 프로파일이 카메라를 마주한 것처럼 캡쳐되지는 않는다는 것을 보여준다. 우리는 이것이 프로파일이 우리의 데이터셋에서 보통이 아니기 때문에로 추정한다. 마지막으로 mirror 예시는 일치와 회전 사이의 분리를 증명한다. 놀랄만하게 실제적인 카메라를 마주하는 이미지가 하나의 프로파일 이미지로부터 얻어진다.

4.4 Convergence measure and image quality

수렴 측정 $\mathcal{M}_{g l o b a l}$는 BEGAN의 수렴을 측정하는데 초기에 추측이 되었다. Figure 5에서 보시다시피 이 측정은 이미지의 fidelity와 관련이 있다. 우리는 또한 빨리 우리의 모델의 수렴을 plot으로부터 볼 수 있고, 원래의 EBGAN에 보고 되었다. 이것은 빠른 수렴 특성은 pixel-wise loss로 부터 온다는 것을 확신하는 것으로 보인다.

8 9

4.5 Equilibrium for unbalanced networks

평형 균형 기법의 강건함을 테스트하기 위해, 우리는 generator에 걸쳐 discriminator를 이점으로 하는 실험과 그 반대 실험을 수행했다. Figure 6에서 결과가 보여진다.

평형을 유지함으로써 모델은 더 안정적이 되고 의미있는 결과로 수렴이 된다. 이미지 퀄리티는 discriminator의 줄여진 용량 때문에 저차원의 h와 함께 예상된 결과로 겪는다. 놀랄만학 z의 줄여진 차원은 상대적으로 이미지 다양성과 품질 면에서 작은 영향을 가진다.

10

11

4.6 Numerical experiments

수치적으로 품질과 다양성을 측정하기 위해서, 우리는 CIFAR10 이미지에서 inception score를 계산한다. Inception score는 inception model에서 하나의 샘플 퀄리티와 다양성을 측정하기 위해서 GAN에서 사용된 heuristic 이다. 우리는 우리 모델의 unconditinoal 버전을 학습하고 이전의 unsupervised 결과들과 비교한다. 목표는 원래의 데이터에 대표적인 분포를 생성하는 것이다.

모델을 전체적으로 unsupervised 하게 학습한 비슷한 연구의 비교는 table 1에 있다. Denoising Feature Matching (DFM)을 제외하고 우리의 점수는 직접적으로 분포를 매치하는 것을 목표로 하는 다른 GAN 기법들 보다 더 좋다. 이것은 auto encoder의 matching loss 분포가 matching data distribution의 비직접적인 방법으로 확신한다는 것 같다.

12

5. Conclusion

아직 개척되지 않은 길이 많다. discriminator가 꼭 auto encoder일 필요가 있을까? pixel level의 피드백을 가지는 것은 훌륭하게 수렴을 돕는 것처럼 보이지만, auto encoder를 사용하는 것은 결점이 있다: 데이터셋을 위해 어떤 latent space 사이즈가 가장 좋을까? 언제 입력에 노이즈를 넣어야 되고 얼마나 넣어야 할까? 어떤 영향이 Varational Auto Encoder (VAE)와 같은 auto encoder의 변형을 사용할까?

더 근본적으로, 우리는 우리의 목적함수가 WGAN의 목적함수와 피상적으로 비슷하다는 것을 주목한다. 평형의 개념과 결합된 auto encoder가 WGAN 공식에서의 K-Lipschitz와 같은 비슷한 bounding functionality를 만족할까?

우리는 auto encoder를 discriminator로써 사용하는 BEGAN을 소개한다. propotional control 이론을 사용하여, 우리는 적대적 네트워크를 균형잡기 위한 참신한 평형 방법을 제안한다. 우리는 이 방법이 dynamically weighing regularization term이나 다른 heterogeneous 목적함수와 같은 많은 잠재적 어플리케이션을 가진다고 믿는다. 이러한 평형 방법을 사용하여, 네트워크는 다양하고 시각적으로 좋은 이미지들에 수렴한다. 이것은 고해상도에서 사소한 변형을 사실로 남긴다. 학습은 안정적이고 빠르고 파라미터의 변화에 강건하다. 이것은 복잡한 번갈아하는 학습 과정을 요구하지 않는다. 우리의 접근법은 측정 수렴, 분포적 다양성의 조절 그리고 discriminator와 generator 사이의 평형을 유지하는 것과 같은 가시적인 몇가지 GAN의 문제의 적어도 부분적인 해결책을 제시한다. 우리가 discriminator에 영향을 미침으로서 geneartor의 다양성을 부분적으로 수렴할 수 있을 때, 증진의 기화가 남아있다.


지금까지 BEGAN 논문 리뷰를 해보았습니다. 저도 논문을 읽으며 공부해나가는 단계라 부족한 점이 있을 수 있습니다. 같이 잘 공부해나가요! 질문이나 지적, 요청해주실 부분이 있다면 댓글이나 메일 부탁드립니다.

읽어주셔서 감사합니다. 😃