티스토리 뷰
1. PGGAN(Progressive Growing of GAN)
PGGAN은 고해상도의 이미지를 생성하기 위해 제안된 획기적인 기술이다. 이미지를 해상도 별로 학습시켜 비교적 고해상도에서도 안정적인 학습이 가능하다. 왜 Progressive하게 학습시킬까? 일반 GAN을 곧장 고해상도로 학습하면 Discriminator은 초반부터 세밀한 픽셀 잡음까지 구분하려고 해서 학습이 불안정 해지며, Generator은 전역 구조를 배우기도 전에 세부 노이즈에 과적합이 된다. 따라서 PGGAN를 통해 먼저 큰 모양부터 질감의 순서로 배우게 하여 안정화와 성능을 동시에 얻는다.

PGGAN에는 크게 4가지 아이디어가 있다,
1. Progressive Growing : 점진적으로 해상도를 높여가며 학습
2. Pixel Norm : 기존에 많이 쓰이는 BatchNorm과는 달리 픽셀 별로 정규화 작업을 수행
3. Equalized Learning Rate : 가중치를 2/입력개수 로 나누어 모든 가중치가 동일한 속도로 학습될 수 있도록 함
4. Minibatch Std : Discriminator의 마지막 블록에 해당 레이어를 추가하여 모드 붕괴 현상을 완화

- toRGB : 특징 벡터를 RGB 색상으로 투영하는 레이어(1X1 컨볼루션 레이어)
- fromRGB : toRGB의 반대(1X1 컨볼루션 레이어)
저해상도에서 시작하여 새로운 layer을 조금씩 추가하고 고해상도의 이미지를 생성해 나가는 것이 PGGAN의 핵심이다.
a)→b)
16X16 해상도를 학습 후 32X32 레이어를 끼어넣을 때, 생성망이 만들어낸 16X16 이미지를 2배 업스케일링한 이미지와, 32X32 컨볼루션 레이어에서 새롭게 만들어낸 이미지와 합치게 된다. 해상도 전환 중에 두 해상도 사이를 보간하여 결합하게 되는데, 전이 구간에서는 0~1 사이의 값을 가지는 alpha값에 따라 (1-a) : a의 비율로 합쳐지게 된다.
판별망에서는 가장 가까운 이웃 필터링과 평균 풀링을 각각 사용하여 이미지 해상도를 절반으로 줄여서 실제 이미지와 비교하여 판별하게 된다. 점진적으로 학습이 진행됨에 따라 alpha 값은 선형적으로 0에서 1까지 도달하게 되고, c)처럼 되면서 32X32 레이어에서 생성하는 이미지를가지고 판별하게 된다.
이처럼 a → b → c → b → c ... 의 전이와 안정화의 과정을 반복적으로 거치면서 점진적으로 새로운 레이어를 추가해가고 고해상도의 이미지를 생성하고 판별할 수 있는 G와 D를 학습시켜 나갈 수 있다.


참조
https://rgbitcode.com/blog/senspond/70
GAN의 문제점과 PGGAN 논문 리뷰
PGGAN이라는 논문을 읽고 공부한 내용을 정리해 본 글입니다.
rgbitcode.com
'용어 정리' 카테고리의 다른 글
| GAN 시리즈 - StyleGAN (4) | 2025.08.20 |
|---|---|
| GAN 시리즈 - BigGAN (4) | 2025.08.19 |
| GAN 시리즈 - CycleGAN (4) | 2025.08.13 |
| GAN 시리즈 - WGAN (0) | 2025.08.13 |
| GAN 시리즈 - CGAN (0) | 2025.08.13 |