Analyzing and Improving the Image Quality of StyleGAN
0. Summary
기본 정보 : ArXiv,2019.12.03 (CVPR 2020), Analyzing and Improving the Image Quality of StyleGAN
연구 배경
StyleGAN은 매핑 네트워크와 AdaIN(Adaptive Instance Normalization) 기반의 스타일 주입으로 비지도 이미지 생성에서 최고 수준의 품질과 스케일별 제어를 달성했지만, 생성 결과에는 특유의 결함(characteristic artifacts) 이 남아 있었다. 첫째, 물방울(droplet) 모양의 얼룩이 거의 모든 이미지에 나타나고, 최종 이미지에서 보이지 않을 때도 중간 피처 맵에는 항상 존재한다. 둘째, 점진적 성장(progressive growing)으로 학습한 생성기는 치아나 눈 같은 세부 요소가 얼굴 포즈를 따라 움직이지 않고 한 위치에 머물다가 갑자기 뛰어넘는 위상(phase) 결함 을 보인다. 또한 품질 지표로 쓰이는 FID와 Precision/Recall은 분류기 네트워크의 특징 공간에 기대기 때문에 텍스처에 치우치고, 생성기의 매끄러움(smoothness) 자체가 품질과 어떤 관계인지도 규명되지 않은 상태였다.
제안 방법
논문은 결함의 원인을 하나씩 추적해 구조와 학습 방법 양쪽을 고친다. (1) 물방울 결함의 원인을 인스턴스 정규화 로 지목하고, 피처 맵의 실제 통계를 강제로 맞추는 대신 입력이 단위 분산 i.i.d.라는 가정 아래 기대 통계만으로 정규화하는 가중치 복조(weight demodulation) 로 AdaIN을 대체한다. (2) 정규화 항을 매 스텝 계산하지 않고 16 미니배치마다 한 번 적용하는 게으른 정규화(lazy regularization) 로 비용을 줄인다. (3) 지각적 경로 길이(PPL)가 낮을수록 이미지 품질이 높다는 관찰을 바탕으로, 잠재 공간 $\mathcal{W}$ 에서 이미지 공간으로의 야코비안이 어느 방향에서든 같은 크기를 갖도록 유도하는 경로 길이 정규화(path length regularization) 를 도입한다. (4) 점진적 성장을 버리고, MSG-GAN에서 영감을 받은 출력 스킵 연결 생성기와 잔차(residual) 판별기 조합으로 같은 효과(저해상도부터 학습)를 구조만으로 얻는다. (5) 해상도별 기여도를 측정해 용량 부족을 확인하고 고해상도 층의 피처 맵을 두 배로 늘린다.
발견 사실
FFHQ 1024×1024에서 기본 StyleGAN(구성 A)의 FID 4.40, PPL 212.1이 최종 StyleGAN2(구성 F)에서 FID 2.84, PPL 145.0 으로 개선되고, Recall은 0.399에서 0.492로 올랐다(Table 1). LSUN Car에서는 FID 3.27에서 2.32로, PPL은 1484.5에서 415.5로 크게 줄었다. 가중치 복조만으로 물방울 결함이 사라지고 PPL이 감소하며, 게으른 정규화는 성능 손실 없이 비용을 줄였다. 경로 길이 정규화는 FFHQ에서 PPL을 122.5까지 낮추고 생성기의 역변환(inversion) 을 훨씬 쉽게 만들어, 생성 이미지를 어떤 네트워크가 만들었는지 거의 명확히 귀속(attribution)할 수 있게 했다. 점진적 성장을 제거하고 새 구조를 쓴 구성 E는 FID 3.31로 가장 큰 단일 개선을 주었고 학습 속도도 약 40% 빨라졌다(37 → 61 img/s). 해상도별 기여도 분석은 구성 E가 사실상 512² 이미지에 약간의 선명화를 더한 수준임을 드러냈고, 고해상도 층 피처 맵을 두 배로 늘린 구성 F에서 비로소 1024² 층이 충분히 기여했다.
핵심 기여
- 가중치 복조로 AdaIN 대체 : 물방울 결함의 원인이 인스턴스 정규화임을 분석하고, 스타일 변조를 컨볼루션 가중치에 흡수한 뒤 가중치의 L2 노름으로 나누는 복조(Eq. 1–3)로 결함을 제거하면서 스케일별 제어를 유지했다.
- PPL과 품질의 연결, 경로 길이 정규화 : 이미지별 PPL이 지각 품질과 상관한다는 것을 보이고, 야코비안의 직교성을 유도하는 정규화 항으로 생성기를 매끄럽게 만들어 품질과 역변환 가능성을 함께 개선했다. 16 스텝마다 적용하는 게으른 정규화로 비용 부담을 없앴다.
- 점진적 성장 없는 고해상도 학습과 용량 분석 : 스킵 생성기와 잔차 판별기 조합이 점진적 성장의 장점을 구조적으로 대체함을 Table 2로 확인했고, tRGB 출력의 기여도 측정으로 용량 부족을 진단해 더 큰 네트워크(StyleGAN2)로 FFHQ FID 2.84를 달성했다. 역변환 기반의 생성 이미지 귀속 기법도 함께 제시했다.
관련 개념
물방울 결함과 인스턴스 정규화의 문제
물방울 결함(droplet artifact) 은 StyleGAN이 생성한 거의 모든 이미지에서 관찰되는 물방울 모양의 얼룩입니다. 최종 이미지에서 눈에 띄지 않을 때조차 생성기 내부의 중간 피처 맵에는 항상 존재하며, 약 64×64 해상도에서 시작해 고해상도로 갈수록 강해집니다. 논문은 이 결함이 왜 판별기에 걸러지지 않는지가 오히려 의문이라고 말하면서, 원인을 AdaIN의 인스턴스 정규화 에서 찾습니다.
💧 1. 가설: 통계를 지배하는 국소 스파이크
AdaIN은 각 피처 맵의 평균과 분산을 따로 정규화하므로, 피처들 사이의 상대적 크기 정보 가 파괴될 수 있습니다. 논문의 가설은 다음과 같습니다.
| 단계 | 생성기가 하는 일 |
|---|---|
| 1 | 피처 맵 어딘가에 강하고 국소적인 스파이크를 만든다 |
| 2 | 이 스파이크가 정규화 통계(평균·분산)를 지배한다 |
| 3 | 그 덕분에 나머지 영역의 신호 크기를 원하는 대로 조절할 수 있게 된다 |
즉 물방울은 생성기가 정규화를 우회(sneak past) 하기 위해 의도적으로 만든 신호입니다. 실제로 생성기에서 정규화 단계를 제거하면 물방울 결함이 완전히 사라진다는 것이 이 가설을 뒷받침합니다(Section 2).
🧱 2. 스타일 블록의 재구성 (Section 2.1, Fig. 2)
원래 StyleGAN의 AdaIN은 정규화와 변조라는 두 부분으로 나뉘며, 각각 피처 맵별 평균과 표준편차를 다룹니다. 논문은 이를 다시 그린 뒤(Fig. 2b) 몇 가지를 정리합니다.
- 바이어스와 노이즈를 스타일 블록 밖으로 이동시켜 정규화된 데이터에 적용합니다. 원래 구조에서는 스타일 블록 안에 있어서 상대적 영향이 현재 스타일 크기에 반비례했습니다. 이렇게 하면 결과가 더 예측 가능해집니다.
- 이 변경 이후에는 정규화와 변조가 표준편차만 다루어도 충분하고, 평균은 필요 없습니다.
- 상수 입력에 대한 바이어스, 노이즈, 정규화는 제거해도 관찰 가능한 단점이 없습니다.
이 정리 끝에 하나의 스타일 블록은 변조 → 컨볼루션 → 정규화 의 세 단계로 단순화됩니다(Fig. 2c). 다음 절의 가중치 복조는 이 세 단계 전체를 컨볼루션 가중치 연산 하나로 압축합니다.
🎛️ 3. 정규화를 그냥 없애면 안 되는 이유
스타일 변조는 특정 피처 맵을 크기 순서(order of magnitude) 이상 증폭할 수 있습니다. 스타일 혼합(style mixing)이 작동하려면 이 증폭을 샘플마다 명시적으로 상쇄해야 하고, 그렇지 않으면 후속 층이 데이터에 의미 있게 작용할 수 없습니다. 스케일별 제어를 포기한다면 정규화를 제거하는 것만으로 결함이 사라지고 FID도 약간 개선되지만, 논문은 제어 가능성을 온전히 유지하면서 결함을 없애는 대안을 선택합니다.
💡 Key Takeaway 물방울 결함은 버그가 아니라 생성기가 인스턴스 정규화를 속이기 위해 만든 전략 입니다. 따라서 해결책은 결함을 억누르는 것이 아니라 정규화 방식 자체를 바꾸는 것입니다.
가중치 복조(Weight Demodulation)
가중치 복조(weight demodulation) 는 들어오는 피처 맵의 기대 통계(expected statistics) 에 기반해 정규화하되, 실제 통계를 명시적으로 강제하지는 않는 방법입니다. 핵심은 변조, 컨볼루션, 정규화 세 단계를 모두 컨볼루션 가중치에 대한 연산으로 바꾸는 것입니다.
🔢 1. 변조를 가중치로 옮기기 (Eq. 1)
변조는 들어오는 스타일에 따라 컨볼루션의 각 입력 피처 맵을 스케일링하는데, 이는 컨볼루션 가중치를 스케일링하는 것으로 동일하게 구현할 수 있습니다.
\[w'_{ijk} = s_i \cdot w_{ijk}\]| 기호 | 의미 |
|---|---|
| $w$, $w’$ | 원래 가중치, 변조된 가중치 |
| $s_i$ | $i$ 번째 입력 피처 맵에 대응하는 스케일(스타일) |
| $j$ | 출력 피처 맵 인덱스 |
| $k$ | 컨볼루션의 공간 footprint 인덱스 |
📐 2. 기대 통계로부터의 정규화 (Eq. 2–3)
인스턴스 정규화의 목적은 본질적으로 컨볼루션 출력 통계에서 $s$ 의 효과를 제거하는 것입니다. 입력 활성값이 단위 표준편차를 갖는 i.i.d. 확률 변수라고 가정하면, 변조와 컨볼루션 후 출력 활성값의 표준편차는
\[\sigma_j = \sqrt{\sum_{i,k} {w'_{ijk}}^2}\]입니다. 즉 출력은 해당 가중치의 L2 노름 만큼 스케일됩니다. 이어지는 정규화가 출력을 단위 표준편차로 되돌리려는 것이므로, 각 출력 피처 맵 $j$ 를 $1/\sigma_j$ 로 스케일(“복조”)하면 같은 목표를 달성할 수 있습니다. 이것 역시 가중치에 흡수됩니다.
\[w''_{ijk} = \frac{w'_{ijk}}{\sqrt{\sum_{i,k} {w'_{ijk}}^2 + \epsilon}}\]여기서 $\epsilon$ 은 수치 문제를 피하기 위한 작은 상수입니다. 복조는 출력층(tRGB)을 제외한 모든 컨볼루션 층에 적용됩니다(Appendix B).
⚖️ 3. 인스턴스 정규화와의 비교
| 항목 | 인스턴스 정규화(AdaIN) | 가중치 복조 |
|---|---|---|
| 정규화 근거 | 피처 맵의 실제 통계 | 신호에 대한 통계적 가정 (단위 분산 i.i.d.) |
| 강제 여부 | 명시적 강제 | 기대값 기반, 강제 없음 |
| 구현 위치 | 활성값 | 컨볼루션 가중치 |
| 유사 기법 | 가중치 정규화(weight normalization)와 연결 | 가중치 정규화의 재매개변수화와 유사 |
가중치 정규화를 GAN 학습에 쓰면 유익하다는 선행 관찰이 있었고, 논문의 복조는 이 방향과 맞닿아 있습니다. 또한 실제 통계가 아닌 기대 통계에 의존하므로 생성기가 국소 스파이크로 정규화를 속일 유인이 사라집니다.
📊 4. 효과 (Table 1, 구성 B)
| 데이터셋 | 구성 | FID | PPL | Precision | Recall |
|---|---|---|---|---|---|
| FFHQ | A: 기본 StyleGAN | 4.40 | 212.1 | 0.721 | 0.399 |
| FFHQ | B: + 가중치 복조 | 4.39 | 175.4 | 0.702 | 0.425 |
| LSUN Car | A: 기본 StyleGAN | 3.27 | 1484.5 | 0.701 | 0.435 |
| LSUN Car | B: + 가중치 복조 | 3.04 | 862.4 | 0.685 | 0.488 |
물방울 결함은 제거되었고, FID는 거의 변하지 않았으나 PPL은 뚜렷하게 감소하고 Recall은 올랐습니다. 스타일 제어 가능성은 그대로 유지됩니다.
💡 Key Takeaway 변조와 정규화를 모두 가중치에 흡수하면 활성값 통계를 건드리지 않아도 스타일의 효과를 정확히 상쇄할 수 있습니다. 이것이 StyleGAN2가 결함 없이 스케일별 제어를 유지하는 핵심 장치입니다.
지각적 경로 길이와 이미지 품질의 관계
지각적 경로 길이(Perceptual Path Length, PPL) 는 원래 StyleGAN 논문에서 잠재 공간에서 이미지 공간으로 가는 매핑의 매끄러움을 재기 위해 도입된 지표입니다. 잠재 코드를 조금 움직였을 때 이미지가 얼마나 LPIPS 거리 기준으로 변하는지를 측정합니다. StyleGAN2 논문은 이 지표가 이미지 품질 자체와 상관 한다는 사실을 새로 밝힙니다.
🔍 1. 관찰: 이미지별 PPL과 품질 (Fig. 4)
FID와 Precision/Recall은 분류기 네트워크의 고수준 특징에 기반하므로 텍스처에 치우친 결과를 내며, 사람이 보기에는 분명히 다른 품질의 이미지에 비슷한 점수를 줄 수 있습니다. 논문은 LSUN Cat에서 이미지별 PPL을 계산해, PPL이 낮은 이미지는 실제로 고품질이고 높은 이미지는 깨진 이미지 인 경향을 확인합니다.
🧠 2. 왜 매끄러움이 품질과 이어지는가
논문이 제시하는 가설은 다음과 같습니다.
- 학습 중 판별기는 깨진 이미지에 벌점을 줍니다.
- 생성기가 이를 피하는 가장 직접적인 방법은 좋은 이미지를 내는 잠재 공간 영역을 늘리는(stretch) 것입니다.
- 그 결과 저품질 이미지는 빠르게 변하는 작은 영역 으로 압축됩니다.
- 단기적으로는 평균 품질이 오르지만, 누적된 왜곡이 학습 동역학을 해치고 최종 품질을 떨어뜨립니다.
이 가설이 맞다면 생성기를 매끄럽게 유지하도록 보상 하는 것이 품질 개선으로 이어져야 합니다. 이것이 경로 길이 정규화의 동기입니다.
📏 3. StyleGAN2에서의 PPL 측정 방식
Table 1의 PPL은 $\mathcal{W}$ 의 끝점(endpoints)에서 계산되며, 원래 StyleGAN 논문에서 쓰던 중앙 크롭(central crop)은 사용하지 않습니다. 따라서 두 논문 사이의 PPL 수치는 직접 비교할 수 없고, 이 논문 안에서의 상대 비교로 읽어야 합니다.
💡 Key Takeaway PPL은 단순한 매끄러움 지표가 아니라 생성기가 잠재 공간을 얼마나 왜곡했는지 를 드러내는 품질 신호입니다. 낮은 PPL은 좋은 이미지가 넓고 고르게 분포함을 뜻합니다.
게으른 정규화와 경로 길이 정규화
경로 길이 정규화(path length regularization) 는 생성기 매핑의 야코비안이 모든 방향에서 같은 크기를 갖도록, 즉 $\mathcal{W}$ 의 고정 크기 이동이 이미지에서 방향과 무관하게 고정 크기 변화를 일으키도록 유도하는 정규화입니다. 이를 효율적으로 적용하기 위해 먼저 게으른 정규화(lazy regularization) 를 도입합니다.
💤 1. 게으른 정규화 (Section 3.1)
일반적으로 손실 함수와 정규화 항(R1 등)은 하나의 식으로 묶여 매 스텝 함께 최적화됩니다. 논문은 정규화 항이 주 손실보다 훨씬 드물게 계산되어도 무방하다는 점에 착안합니다.
| 항목 | 설정 |
|---|---|
| R1 정규화 적용 주기 | 16 미니배치마다 1회 (판별기 $k=16$) |
| 생성기 경로 길이 정규화 주기 | 8 미니배치마다 1회 ($k=8$) |
| 정규화 항 가중치 | 그라디언트 크기 균형을 위해 $k$ 배 |
| 옵티마이저 보정 | $c=k/(k+1)$ 로 $\lambda’=c\lambda$, $\beta_1’=\beta_1^c$, $\beta_2’=\beta_2^c$ |
| R1 가중치 $\gamma$ | 기본 10, 구성 E와 LSUN Church·Horse는 100 |
Table 1의 구성 C에서 보듯 이 변경은 성능에 해를 주지 않으면서(FFHQ FID 4.38, LSUN Car FID 2.83) 계산 비용과 메모리 사용량을 줄입니다.
🧮 2. 경로 길이 정규화 식 (Section 3.2)
생성기 $g(\mathbf{w}): \mathcal{W}\to\mathcal{Y}$ 의 야코비안을 $\mathbf{J}_{\mathbf{w}}=\partial g(\mathbf{w})/\partial\mathbf{w}$ 라 하면, 정규화 항은
\[\mathbb{E}_{\mathbf{w},\,\mathbf{y}\sim\mathcal{N}(0,\mathbf{I})}\Big(\big\lVert \mathbf{J}_{\mathbf{w}}^{T}\mathbf{y}\big\rVert_2 - a\Big)^2\]입니다.
| 기호 | 의미 |
|---|---|
| $\mathbf{w}$ | 중간 잠재 코드, $\mathbf{w}\sim f(\mathbf{z})$ |
| $\mathbf{y}$ | 픽셀 강도가 정규분포인 랜덤 이미지 |
| $\mathbf{J}_{\mathbf{w}}^{T}\mathbf{y}$ | 야코비안-벡터 곱, 역전파(backprop)로 효율적으로 계산 |
| $a$ | 목표 스케일, $\lVert \mathbf{J}_{\mathbf{w}}^{T}\mathbf{y}\rVert_2$ 의 지수이동평균 으로 학습 중 동적으로 결정 |
고차원에서 이 사전은 $\mathbf{J}_{\mathbf{w}}$ 가 임의 스케일에서 직교 할 때 최소가 됩니다. 직교 행렬은 길이를 보존하고 어떤 차원도 압축하지 않으므로, 결과적으로 생성기가 잠재 공간을 고르게 쓰도록 유도합니다. 목표 스케일 $a$ 를 고정하지 않고 데이터에 맞춰 찾게 하는 것이 중요합니다.
🎚️ 3. 가중치와 구현 세부 (Appendix B)
정규화 가중치는 출력 해상도 $r$ 에 따라
\[\gamma_{\mathrm{pl}}=\frac{\ln 2}{r^{2}(\ln r-\ln 2)}\]로 정하며, 지수이동평균의 감쇠율은 $\beta_{\mathrm{pl}}=0.99$ 입니다. 야코비안을 명시적으로 만들지 않고 $\mathbf{J}{\mathbf{w}}^{T}\mathbf{y}=\nabla{\mathbf{w}}(g(\mathbf{w})\cdot\mathbf{y})$ 라는 항등식으로 계산하므로 비용이 적습니다.
📊 4. 효과와 트레이드오프 (Table 1, 구성 D)
| 데이터셋 | FID | PPL | Precision | Recall |
|---|---|---|---|---|
| FFHQ | 4.34 | 122.5 | 0.715 | 0.418 |
| LSUN Car | 3.43 | 651.2 | 0.697 | 0.452 |
PPL이 크게 떨어지고 생성 이미지가 더 일관되며 역변환이 쉬워집니다. 다만 LSUN Car처럼 구조화가 덜 된 데이터에서는 FID가 약간 나빠질 수 있어, 매끄러운 생성기를 얻는 대가로 분포 재현력을 조금 포기하는 트레이드오프가 존재합니다.
💡 Key Takeaway 경로 길이 정규화는 “잠재 공간에서의 등속 이동이 이미지에서도 등속이어야 한다”는 하나의 원칙을 야코비안-벡터 곱 하나로 구현합니다. 게으른 정규화 덕분에 추가 비용은 무시할 수준입니다.
점진적 성장 재검토와 대안 네트워크 구조
점진적 성장(progressive growing) 은 저해상도에서 시작해 층을 하나씩 추가하며 고해상도 생성을 안정화하는 ProGAN의 핵심 기법이고, StyleGAN도 이를 그대로 썼습니다. 그러나 StyleGAN2 논문은 이 방식이 위상 결함(phase artifact) 의 원인이라고 분석하고, 같은 이점을 구조만으로 얻는 대안을 찾습니다.
🦷 1. 위상 결함: 포즈를 따라가지 않는 치아와 눈 (Fig. 6)
점진적 성장에서는 각 해상도가 한동안 독립적인 출력 해상도 로 쓰이므로, 각 층은 가능한 한 높은 주파수의 세부를 만들도록 학습됩니다. 그 결과 중간 층의 주파수가 지나치게 높아져 이동 불변성(shift invariance) 을 해칩니다. 얼굴 포즈가 부드럽게 바뀔 때 치아나 눈 같은 세부가 함께 움직이지 않고 한 위치에 고정된 채 머물다가 다음 선호 위치로 점프 하는 현상이 여기서 비롯됩니다.
🏗️ 2. 세 가지 생성기·판별기 구조 (Fig. 7)
점진적 성장의 장점, 즉 “먼저 저해상도 특징에 집중하고 점차 세부로 옮겨가는” 학습을 구조로 재현하기 위해 세 가지 설계를 비교합니다.
| 구조 | 생성기 | 판별기 |
|---|---|---|
| MSG-GAN 식 | 단일 이미지 대신 밉맵(mipmap) 을 출력하고, 실제 이미지도 같은 표현으로 변환 | 매칭 해상도 사이를 여러 스킵 연결로 연결 |
| 입력/출력 스킵 | 각 해상도의 RGB 출력을 업샘플해 합산 (output skips) | 입력 이미지를 다운샘플해 각 해상도 블록에 주입 (input skips) |
| 잔차(residual) | 잔차 연결, 피처 맵 수 조정에 1×1 컨볼루션 | 잔차 연결, LAPGAN 판별기와 유사 |
잔차 구조에서 두 경로의 합은 $1/\sqrt{2}$ 로 스케일해 분산이 커지지 않게 합니다. 어떤 구성에서도 점진적 성장은 쓰지 않습니다.
📊 3. 구조 조합 비교 (Table 2)
| 생성기 \ 판별기 | FFHQ: 원본 | FFHQ: 입력 스킵 | FFHQ: 잔차 | LSUN Car: 원본 | LSUN Car: 입력 스킵 | LSUN Car: 잔차 |
|---|---|---|---|---|---|---|
| 원본 | 4.32 / 265 | 4.18 / 235 | 3.58 / 269 | 3.75 / 905 | 3.23 / 758 | 3.25 / 802 |
| 출력 스킵 | 4.33 / 169 | 3.77 / 127 | 3.31 / 125 | 3.77 / 544 | 3.86 / 316 | 3.19 / 471 |
| 잔차 | 4.35 / 203 | 3.96 / 229 | 3.79 / 243 | 3.93 / 981 | 3.40 / 667 | 2.66 / 645 |
(각 칸은 FID / PPL)
두 가지 경향이 뚜렷합니다. 생성기에 스킵 연결 을 쓰면 모든 구성에서 PPL이 크게 개선되고, 판별기에 잔차 구조 를 쓰면 FID가 좋아집니다. 생성기의 잔차 구조는 FID에 해로웠습니다. 논문은 이후 실험에서 출력 스킵 생성기 + 잔차 판별기 를 채택합니다. 이 조합은 FFHQ에서 두 지표 모두 최선이고, LSUN Car에서는 잔차 생성기가 FID는 더 좋지만 PPL이 훨씬 나쁘기 때문입니다.
⚡ 4. 학습 속도와 결과 (Table 1, 구성 E)
| 구성 | 학습 속도(1024², DGX-1 8×V100) | FFHQ FID | FFHQ PPL |
|---|---|---|---|
| A: 기본 StyleGAN | 37 img/s | 4.40 | 212.1 |
| E: 성장 제거 + 새 G/D 구조 | 61 img/s (약 40% 빠름) | 3.31 | 124.5 |
점진적 성장을 제거하면 코드가 단순해지고 학습 속도가 올라가며 위상 결함도 사라집니다. 또한 입력 스킵 판별기와 출력 스킵 생성기 구조에서는 Fig. 8처럼 학습 초반에는 저해상도 층이, 후반에는 고해상도 층이 출력을 지배하는 점진적 성장과 유사한 동작 이 자연스럽게 나타납니다.
💡 Key Takeaway 점진적 성장은 안정성을 주는 대신 각 층을 과도하게 고주파로 만들어 위상 결함을 낳았습니다. 스킵 생성기와 잔차 판별기는 같은 커리큘럼 효과를 구조 안에서 암묵적으로 얻으면서 이 부작용을 피합니다.
해상도 활용도 분석과 더 큰 네트워크
해상도 활용도(resolution usage) 분석은 생성기가 실제로 각 해상도 층을 얼마나 쓰는지를 정량화하는 도구입니다. 스킵 생성기는 각 해상도의 tRGB 출력을 합산하므로, 각 출력이 최종 이미지에 얼마나 기여하는지를 직접 측정할 수 있습니다.
📡 1. 기여도 측정 방법 (Section 4.2)
- $\mathbf{w}$ 를 1024개 무작위로 샘플링합니다.
- 각 tRGB 층이 만든 픽셀 값의 표준편차 를 계산합니다.
- 해상도별 표준편차의 합이 100%가 되도록 정규화해 상대 기여도로 봅니다.
이 수치를 학습 진행에 따라 그리면(Fig. 8) 처음에는 저해상도 층이, 나중에는 고해상도 층이 지배하는 양상이 나타나야 합니다.
🔎 2. 발견: 1024² 층을 제대로 쓰지 못하는 구성 E
Fig. 8에 따르면 구성 E의 생성기는 1024² 층을 완전히 활용하지 못합니다. 사실상 512² 이미지를 만들고 1024² 층에서는 약간의 선명화(sharpening)만 더하는 셈이며, 학습 데이터에 존재하는 픽셀 수준 세부가 생성 이미지에는 빠져 있습니다. 논문은 이를 용량 문제(capacity problem) 로 해석합니다. 과거에는 FID나 Precision 같은 지표에 가려져 눈에 띄지 않았던 것입니다.
🏋️ 3. 구성 F: 고해상도 층 확장 (Table 1)
| 항목 | 변경 |
|---|---|
| 확장 범위 | 64²–1024² 해상도의 피처 맵 수를 두 배 |
| 생성기 파라미터 | 25M → 30M (+22%) |
| 판별기 파라미터 | 24M → 29M (+21%) |
| 학습 속도 | 31 img/s |
| 데이터셋 | 구성 | FID | PPL | Precision | Recall |
|---|---|---|---|---|---|
| FFHQ | E | 3.31 | 124.5 | 0.705 | 0.449 |
| FFHQ | F (StyleGAN2) | 2.84 | 145.0 | 0.689 | 0.492 |
| FFHQ | A + 큰 네트워크 | 3.98 | 199.2 | 0.716 | 0.422 |
| LSUN Car | E | 3.19 | 471.2 | 0.690 | 0.454 |
| LSUN Car | F (StyleGAN2) | 2.32 | 415.5 | 0.678 | 0.514 |
확장 이후 최고 해상도 층의 기여도가 크게 늘었고 FID와 Recall이 함께 개선되었습니다. 비교를 위해 기본 StyleGAN(구성 A)에 같은 확장을 적용하면 FID 3.98에 그쳐, 단순히 네트워크를 키운 것이 아니라 앞선 구조 개선이 있어야 용량 확장이 효과를 낸다 는 점을 보여줍니다.
🗂️ 4. LSUN 전반의 결과 (Table 3)
| 데이터셋 | 해상도 | StyleGAN FID / PPL | StyleGAN2 FID / PPL |
|---|---|---|---|
| LSUN Car | 512×384 | 3.27 / 1485 | 2.32 / 416 |
| LSUN Cat | 256×256 | 8.53 / 924 | 6.93 / 439 |
| LSUN Church | 256×256 | 4.21 / 742 | 3.86 / 342 |
| LSUN Horse | 256×256 | 3.83 / 1405 | 3.43 / 338 |
학습량은 Car 57M, Cat 88M, Church 48M, Horse 100M 이미지였습니다. 모든 범주에서 FID와 PPL이 동시에 개선되었고, 특히 PPL은 절반 이하로 줄었습니다.
💡 Key Takeaway “지표가 좋으니 충분하다”는 판단은 위험합니다. 해상도별 기여도라는 구조 내부의 진단 신호 가 FID로는 보이지 않던 용량 부족을 드러냈고, 그 결과가 StyleGAN2의 최종 수치입니다.
잠재 공간 투영과 생성 이미지 귀속
잠재 공간 투영(projection) 은 주어진 이미지를 가장 잘 재현하는 잠재 코드 $\mathbf{w}$ 를 찾는 역문제입니다. 경로 길이 정규화로 생성기가 매끄러워지면 이 역변환이 훨씬 쉬워지고, 그 결과 생성 이미지를 특정 네트워크에 귀속(attribution) 하는 일이 가능해집니다. 생성 모델의 오남용 탐지라는 관점에서 중요한 부산물입니다.
🎯 1. 투영 방법 (Section 5, Appendix D)
| 요소 | 설정 |
|---|---|
| 최적화 대상 | $\mathbf{w}$ 와 각 층의 노이즈 맵 (확장된 $\mathcal{W}^{+}$ 가 아닌 원래 $\mathcal{W}$) |
| 탐색 방식 | 최적화 중 잠재 코드에 점차 줄어드는(ramped-down) 노이즈 를 더해 공간을 넓게 탐색 |
| 거리 함수 | 이미지를 256×256 으로 다운샘플한 뒤 LPIPS 거리 |
| 노이즈 정규화 | 노이즈 맵이 신호를 숨기지 못하도록 자기상관(autocorrelation) 항으로 정규화, 가중치 $\alpha=10^{5}$ |
| 옵티마이저 | Adam, 최대 학습률 0.1, 1000 반복, 램프업과 코사인 스케줄 |
노이즈 맵을 최적화할 때 정규화가 중요한 이유는, 정규화가 없으면 최적화가 이미지 내용을 노이즈 맵에 몰래 부호화해 어떤 이미지든 완벽히 재현해 버리기 때문입니다. 노이즈는 진짜 노이즈처럼 보이도록 강제되어야 합니다.
🕵️ 2. 생성 이미지 귀속 (Section 5.1, Fig. 9–10)
| 대상 | 투영 결과 |
|---|---|
| StyleGAN2가 만든 이미지 | 원본과 거의 구분 불가능하게 재합성됨 → 거의 명확히 생성 네트워크에 귀속 가능 |
| 원래 StyleGAN이 만든 이미지 | $\mathcal{W}$ 에서 이미지로의 매핑이 너무 복잡해 실제로는 신뢰성 있게 성공하지 못함 |
| 실제 이미지 | 투영은 되지만 원본과의 차이가 뚜렷함 |
Fig. 10은 투영 결과와 원본 사이의 LPIPS 거리 히스토그램으로, StyleGAN2에서는 생성 이미지와 실제 이미지의 분포가 잘 분리됩니다. 즉 경로 길이 정규화로 얻은 매끄러움이 역변환 가능성 으로 이어지고, 이것이 다시 귀속 신뢰도로 이어집니다.
🧩 3. 왜 매끄러운 생성기가 역변환에 유리한가
야코비안이 직교에 가까우면 잠재 공간의 작은 이동이 이미지의 작은 이동으로 대응되어 최적화 지형이 덜 험해집니다. 반대로 빠르게 변하는 영역이 많으면 그라디언트 기반 투영이 국소 최적해에 갇히기 쉽습니다. 따라서 품질을 위해 도입한 정규화가 분석 도구로서의 가치 도 함께 높인 셈입니다.
💡 Key Takeaway StyleGAN2는 “어떤 이미지를 만들 수 있는가”뿐 아니라 “이 이미지를 내가 만들었는가”에도 답할 수 있습니다. 매끄러운 생성기는 역변환이 쉽고, 역변환이 쉬우면 귀속이 가능합니다.
학습 설정과 계산 비용
StyleGAN2의 결과는 모두 동일한 평가 프로토콜 아래 보고됩니다. 각 실행에서 FID가 가장 낮은 스냅샷 을 선택하고, 모든 지표는 10개의 랜덤 시드에 대해 평균합니다(Table 1 캡션). 재현과 비교를 위해 주요 설정을 정리합니다.
⚙️ 1. 공통 하이퍼파라미터 (Appendix B)
| 항목 | 값 |
|---|---|
| 잠재 공간 $\mathcal{Z}$, $\mathcal{W}$ 차원 | 512 |
| 매핑 네트워크 | 완전연결 8층, 학습률 100배 낮춤 |
| 활성 함수 | Leaky ReLU, $\alpha=0.2$ |
| 옵티마이저 | Adam, $\beta_1=0$, $\beta_2=0.99$, $\epsilon=10^{-8}$ |
| 미니배치 | 32 |
| 손실 | 비포화(non-saturating) 로지스틱 손실 + R1 정규화 |
| 학습률 | 구성 A–D(점진적 성장) $10^{-3}$, 구성 E–F 고정 $2\cdot10^{-3}$ |
| 초기화 | 가중치 $\mathcal{N}(0,1)$, 바이어스·노이즈 스케일 0, 아핀 층 바이어스 1 |
🗃️ 2. 데이터셋
| 데이터셋 | 이미지 수 | 해상도 | 판별기가 본 이미지 수 |
|---|---|---|---|
| FFHQ | 70k (수평 뒤집기로 140k) | 1024×1024 | 25M |
| LSUN Car | 893k | 512×384 | 57M |
💰 3. 비용
| 항목 | 값 |
|---|---|
| 하드웨어 | NVIDIA DGX-1, Tesla V100 8장 |
| FFHQ 학습 시간 | 9일 |
| LSUN Car 학습 시간 | 13일 |
| 프로젝트 전체 | 단일 GPU(V100) 기준 약 51년, 131.61 MWh |
| 최종 FFHQ 모델 | 0.68 MWh |
논문이 프로젝트 전체 에너지 소비를 명시한 것은 대규모 생성 모델 연구의 비용을 투명하게 공개하려는 시도로, 이후 연구들의 보고 관행에도 영향을 주었습니다.
💡 Key Takeaway StyleGAN2의 수치는 10개 시드 평균과 최저 FID 스냅샷 선택이라는 프로토콜 위에서 읽어야 합니다. 최종 모델 하나보다 연구 과정 전체의 비용 이 훨씬 크다는 점도 함께 기록되었습니다.
한계와 열린 방향
StyleGAN2는 StyleGAN의 결함을 체계적으로 제거하고 품질 지표를 크게 끌어올렸지만, 논문 스스로도 몇 가지 한계와 후속 과제를 남깁니다.
⚠️ 1. 남아 있는 트레이드오프
- PPL과 FID의 긴장 : 경로 길이 정규화는 LSUN Car처럼 구조가 느슨한 데이터에서 FID를 약간 악화시켰습니다. 매끄러움과 분포 재현력 사이의 균형점은 데이터셋마다 다릅니다.
- Precision의 소폭 하락 : 최종 구성 F는 Recall을 크게 올렸지만 Precision은 구성 A보다 낮습니다(FFHQ 0.721 → 0.689). 다양성과 충실도 사이의 이동으로 볼 수 있습니다.
- 용량 확장의 비용 : 구성 F는 학습 속도가 31 img/s로 구성 E보다 느리고, 파라미터도 20% 이상 늘었습니다.
🔭 2. 논문이 제시한 후속 방향 (Section 6)
- 경로 길이 정규화의 경량화 : 야코비안-벡터 곱이 저렴하긴 해도, 더 단순한 방식으로 같은 효과를 얻을 수 있는지가 열려 있습니다.
- 학습 데이터 요구량 감소 : 논문은 수만 장 이하의 데이터로 고품질 생성기를 학습하는 것을 중요한 과제로 꼽았고, 이는 이후 적응형 판별기 증강(ADA)을 다룬 후속 연구로 이어집니다.
- 역변환과 귀속의 정밀화 : 투영 기반 귀속이 강력하긴 하지만, 생성기가 공개되지 않았거나 이미지가 후처리된 경우에 대한 강건성은 다루지 않았습니다.
🧭 3. 이후 연구와의 연결
| 후속 주제 | StyleGAN2와의 관계 |
|---|---|
| 제한된 데이터에서의 학습(StyleGAN2-ADA) | 논문이 명시한 “데이터 요구량 감소” 과제를 직접 다룸 |
| 앨리어싱 없는 생성기(StyleGAN3) | 위상 결함 분석을 더 밀어붙여 이동·회전 등변성을 설계 목표로 삼음 |
| GAN 역변환과 이미지 편집 | $\mathcal{W}$ 투영 절차가 편집 파이프라인의 표준 출발점이 됨 |
💡 Key Takeaway StyleGAN2의 진짜 기여는 수치보다 “결함을 관찰하고, 원인을 가설로 세우고, 구조로 검증한다” 는 분석 방법론입니다. 남은 결함(위상 등변성)과 비용 문제는 그대로 다음 세대 연구의 출발점이 되었습니다.