해당 포스팅에서는 PGGAN 논문에 대해서 간단히 살펴보도록 한다.
이번 포스팅에선 불필요한 내용에 대한 리뷰 및 코드 구현은 생략하도록 하겠다. 저번 Attention 논문 리뷰처럼 상세하게 훑고 넘어간다면 포스팅 하나 작성하는 데에만 3주 가까이 소요될 것이기 때문에, 최대한 간결하게 핵심적인 부분만 짚고 넘어가도록 하겠다.
1. 서론
우리는 이전 GAN 포스팅에서 데이터로 된 숫자를, 28 x 28 이미지 숫자로 바꾸는 예제를 진행했었다.
결과를 보면 100% 만족스럽지는 않지만 꽤나 유의미한 데이터들을 많이 추출할 수 있었다.
추가로 이전 Conditional GAN 포스팅을 통해서 이미지를 Class 별로 조정하여 보다 정확한 이미지를 추출할 수 있었다.
이제 이것들을 배경으로 아래 내용들을 살펴보자.
2. PGGAN 이란?
PGGAN 은 Progressive Growing of GANs 이라는 의미이다. 논문의 초록을 살펴보자.
We describe a new training methodology for generative adversarial networks. The key idea is to grow both the generator and discriminator progressively: starting from a low resolution, we add new layers that model increasingly fine details as training progresses. This both speeds the training up and greatly stabilizes it, allowing us to produce images of unprecedented quality, e.g., CelebA images at $1024^2$. We also propose a simple way to increase the variation in generated images, and achieve a record inception score of 8.80 in unsupervised CIFAR10. Additionally, we describe several implementation details that are important for discouraging unhealthy competition between the generator and discriminator. Finally, we suggest a new metric for evaluating GAN results, both in terms of image quality and variation. As an additional contribution, we construct a higher-quality version of the CelebA dataset.
해당 논문에서 제안하는 핵심적인 내용은 Layer 를 점진적으로 추가해 저해상도 이미지를 → 고해상도 이미지로 성장시켜 가며 Generator 와 Discriminator 를 학습시키는 새로운 방식을 제안한다. $4^2$ 의 저해상도 이미지보단, $1024^2$ 의 고해상도 이미지를 학습시킨 모델이 활용하기 보다 용이하지만 고해상도 이미지는 훈련을 시키는데 여러 어려움이 있다.
특히 해당 논문에서는 기존에 '고해상도 이미지' 를 생성하기 어려웠던 이유로 아래와 같은 내용을 꼽는다.
- 해상도가 높을수록 Generator 가 생성한 이미지와, 실제 이미지를 구분하기 쉽기에 기울기가 크게 발산
- 해상도가 높을수록 메모리 제약이 발생하여, 더 작은 미니배치를 사용함에 따라 훈련 안정성이 떨어짐
때문에 해당 논문에서는 바로 고해상도 이미지를 훈련시키는 것이 아닌, 상대적으로 훈련이 용이한 저해상도 이미지부터 시작하여 점진적으로 고해상도 이미지로 성장시켜 나가는 것을 제시하고 있다.
3. PGGAN 의 기본적인 원리
이러한 점진적인 성장 방식을 사용하면 가질 수 있는 이점이 존재한다.
- 저해상도 상태일 때는 클래스 정보 및 모드가 적기 때문에 이미지 생성이 훨신 안정적이다.
- 일반적으로 학습속도가 2배 ~ 6배 더 빠르다
위와 같이 32 x 32 이미지를 생성하는데에 있어 먼저 16 x 16 이미지를 통해 점진적으로 해상도를 늘려가며 생성하는 방식을 사용한다. 참고로 Discriminator 에서는 네트워크의 현재 해상도와 일치하도록 축소된 실제 이미지를 학습하여 판별기로 사용한다.
4. Pixel Vector Normalization
추가로 특이하게 기존 GAN 모델에서 사용하였던 Batch Normalization 이 아닌 Pixel Vector Normalization 을 사용한다는 점이다.
혹여 Batch Normalization 에 대해서 잘 모르고 있다면 해당 포스팅을 참조하길 바란다.
To disallow the scenario where the magnitudes in the generator and discriminator spiral out of control as a result of competition, we normalize the feature vector in each pixel to unit length in the generator after each convolutional layer.
...
We find it surprising that this heavy-handed constraint does not seem to harm the generator in any way, and indeed with most datasets it does not change the results much, but it prevents the escalation of signal magnitudes very effectively when needed.
이러한 방식을 쓰는 이유로는 Generator, Discriminator 가 발산하여 통제 불능이 되는 상황을 막기 위해서 사용한다고 한다.
Pixel Vector Normalization 의 식은 아래와 같다.
$$ b_{x, y} = a_{x, y} / \sqrt{{1 \over N} \sum_{j=0}^{N-1} (a^{j}_{x, y})^{2} + \epsilon} $$
$ \epsilon = 10^{-8}, N = $ feature maps 의 수$, a_{x, y} $ 및 $ b_{x, y} =$ pixel $x,y$ 의 정규화된 feature vector
5. Result
초록을 끝까지 읽은 사람이라면 눈치챌 수 있었겠지만
allowing us to produce images of unprecedented quality
PGGAN 은 출시당시 전례가 없는 수준의 품질높은 이미지를 생성했다. (지금이야 워낙 좋은 모델들이 많지만..)
위 이미지는 CELEBA-HQ Dataset을 Train Dataset 삼아 PGGAN 모델을 통해 Generator 를 학습시킨 결과이다.
매우 고품질의 이미지를 얻을 수 있는데, 사실 요즘 Stable-Diffusion 으로 생성된 이미지들을 봐온 우리로서는 '그렇게 고품질인가?' 의문이 들 수 있다.
그렇다면 PGGAN 이전 GAN 모델들의 이미지 품질은 어떨까?
- Training 은 말그대로 훈련용 데이터셋을 의미한다. (실제 이미지)
- DCGAN 은 기본적인 GAN 과 CNN 을 접목시킨 GAN 이다.
- WGAN 은 Binary Cross Entropy Loss 함수 대신 Wasserstein loss 함수를 사용하는 GAN 이다.
Ours 는 GAGAN 이라는 모델인데 나도 잘 모른다...
위에서 PGGAN 이전에 제작된 모델들로 생성된 얼굴 이미지는 딱 봐도 AI가 생성한 이미지라는것을 파악할 수 있는 반면, PGGAN 이 생성한 일부 이미지는 인간조차 AI가 생성한 이미지라는 것을 판단하기 힘들정도로 정교하다!
'Artificial Intelligence > Article' 카테고리의 다른 글
[리뷰] GAN(Generative Adversarial Networks) (0) | 2023.11.23 |
---|---|
[리뷰] wav2vec 2.0 (0) | 2023.08.21 |
[리뷰] StarGANv2-VC (0) | 2023.07.29 |
[리뷰] Style-Based GAN (0) | 2023.07.09 |
[리뷰] Attention Is All You Need (0) | 2023.05.12 |