1. PGGAN (Progressive Growing GAN)
1.1 연구 배경
크게 2가지 단점을 극복하고자 PGGAN 모델이 만들어지게 되었다. 첫 번째로는 GAN을 고해상도로 만들면 판별자는 생성자가 생성한 이미지의 Real/Fake 여부를 구분하기 쉬워진다는 단점이 있고, 두 번째로는 고해상도로 만들어도 메모리 제약조건으로 batch size를 줄여야하고 줄이면 학습과정이 불안정해진다는 단점이 있었기 때문이다.
1.2 핵심 아이디어
PGGAN은 NVIDIA에서 진행한 연구이다. PGGAN의 핵심 아이디어는 4x4의 저해상도 이미지를 1024x1024 고해상도 이미지로 단계별(Progressive Growing)로 학습한다는 것이다.


[그림 34] PGGAN의 핵심 아이디어
기존에는 처음부터 고해상도 이미지를 학습하려다 보니 학습이 올바르게 되지 않았다. 이는 초등생에게 처음부터 미적분을 묻는 것과 같다고 한다. 따라서 기본적인 사칙연산에 해당하는 4x4, 8x8, 16x16으로 점진적으로 학습하게 되면 계속해서 간단한 문제를 묻는 것과 같기 때문에 학습이 더 잘된다고 한다.
따라서 저해상도에서 보이는 Abstract을 우선적으로 학습 한 뒤 고해상도에서 보이는 Concrete(눈, 코, 입, 모공 등)를 학습하는 것이 특징이다.
이러한 PGGAN의 장점은 크게 3가지로 나뉜다.
1. 작은 이미지부터 점진적으로 학습하기 때문에 안정성 있다.
2. 처음부터 복잡한 질문을 하지 않기에 간단하다.
3. 저해상도에서 학습할 때 충분한 학습을 하게 되며 학습 시간이 짧다.
1.3 실험 결과
가장 처음 설명한 Original GAN의 결과와 비교했을 때 비약적으로 발전한 것을 느낄 수 있다.

[그림 35] PGGAN 모델에서 생성한 이미지
위와 같은 이미지를 생성하기 위해 CelebA-HQ 데이터셋을 사용하여 30,000개의 유명인사 사진을 학습했다고 한다.
또한 PGGAN의 성능의 경우 Inception Score가 8.8에 달하는 것을 확인할 수 있다.

[그림 36] PGGAN의 성능 평가
1.4 Contribution Point
PGGAN의 핵심 컨트리뷰션 포인트는 기존의 DEGAN, EBGAN, BEGAN 등이 128x128 이미지 밖에 생성하지 못했던 것을 1024x1024의 해상도까지 끌어올린 것이 핵심이라 할 수 있다.
'Deep Learning > pytorch' 카테고리의 다른 글
| CycleGAN (0) | 2023.08.14 |
|---|---|
| SRGAN (Super Resolution GAN) (0) | 2023.08.14 |
| LSGAN (Least Square GAN) (0) | 2023.08.14 |
| DCGAN (Deep Convolutional GAN) (0) | 2023.08.14 |
| About GAN (Generative Adversarial Nets) (0) | 2023.08.14 |