본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Computer Vision

[2025-1] 김유현 - A Style-Based Generator Architecture for Generative Adversarial Networks

by rdg126 2025. 2. 8.

https://arxiv.org/abs/1812.04948

 

A Style-Based Generator Architecture for Generative Adversarial Networks

We propose an alternative generator architecture for generative adversarial networks, borrowing from style transfer literature. The new architecture leads to an automatically learned, unsupervised separation of high-level attributes (e.g., pose and identit

arxiv.org

 

0. Abstract

StyleGAN은 스타일 전이(style transfer) 기법을 활용해 새로운 Generator 구조를 제안하며, 자동으로 고수준의 속성(Ex. 얼굴의 자세, 정체성)과 세부적 변형(Ex. 주근깨, 머리카락)을 분리할 수 있다. 이를 통해 직관적인 단계별 이미지 조작이 가능하며, 기존 모델 대비 생성 품질, 보간 성능, 잠재 변수 분리(disentanglement) 측면에서 개선된 결과를 보인다. 또한, 다양한 고품질의 얼굴 데이터셋과 보간 품질과 잠재 변수 분리를 정량적으로 평가하는 새로운 자동화된 측정 방법을 제시한다. 

 

1. Introduction

StyleGAN은 기존 GAN의 한계를 개선하기 위해 새로운 Generator 구조를 설계했다. 기존 GAN에서는 주로 Discriminator나 손실 함수를 개선하려고 했으나, StyleGAN에서는 Generator 구조에 집중하여 성능 향상을 이룬다.  

논문에서는 생성된 이미지가 다양한 스타일의 조합으로 이루어진다고 보고, style transfer* 개념을 적용해 가짜 이미지를 생성해낸다. 이를 위해 StyleGAN은 기존 GAN과 달리 latent code를 직접 합성곱 네트워크에 입력하는 것이 아니라, MLP 네트워크에 통과시켜 스타일 변환을 거쳐 주입하는 방식을 사용한다. 

StyleGAN은 기존 ProGAN*에서의 아이디어를 참고해 progressive growing training을 진행한다. 즉, 낮은 해상도의 이미지부터 학습을 시작한 후 점진적으로 해상도를 증가시키며 학습을 진행한다. Latent space $Z$ 대신 새로운 중간 공간 $W$를 도입하여 보다 disentangled한 표현을 가능하게 했다는 점이다. 기존 GAN에서는 잠재 변수들이 얽혀 있어 특정 속성만 독립적으로 조작하기 어려웠지만, StyleGAN은 $Z$ to $W$ 매핑 네트워크를 추가하여 잠재 변수 간의 독립성을 높였다. 이를 통해 사용자가 특정 속성을 조작할 때 다른 속성에 미치는 영향을 줄일 수 있다. 또한, 네트워크에 직접 노이즈를 추가하여 고수준 속성과 세부 변형을 자동으로 분리하는 구조를 설계하였다. 이를 통해 얼굴의 전체적인 형상과 미세한 특징 등을 별도로 조작할 수 있다. 

잠재 변수 분리 성능을 평가하기 위해 논문에서는 Perceptual Path Length Linear Separability라는 자동화된 측정 방법을 제안하였다. 실험 결과, 기존 생성 모델 대비 StyleGAN이 잠재 변수 간의 얽힘이 줄어들고, 보다 선형적인 변화를 보인다는 점을 확인할 수 있었다. 

마지막으로, 기존 데이터 셋보다 훨씬 다양하고 고품질의 얼굴 데이터셋인 Flickr-Faces-HQ(FFHQ)를 공개하여, StyleGAN이 더 높은 품질의 이미지와 다양한 변화를 반영할 수 있도록 하였다. 

더보기

ProGAN(Progressive Growing of GANs)(2018)

 

일반적인 GAN으로 고해상도 이미지를 생성할 때 다음과 같은 문제를 겪는다.

  • 해상도가 높아질수록 Discriminator가 Generator가 생성한 이미지의 가짜 여부를 판단하기 쉬워진다.
  • 고해상도 이미지를 생성하려면 메모리 사용량이 증가하여 mini batch size를 줄여야하며 이는 학습이 불안정해진다.  

이를 해결하기 위해 ProGAN은 Generator와 Discriminator의 layer를 점진적으로 추가하여 낮은 해상도의 이미지에서 시작하여 점점 높은 해상도의 이미지를 학습해가게 만든다. 처음에 낮은 해상도에서 학습을 진행할 때에는 기본적인 형태와 구조를 학습하고, 기존의 저해상도 layer에서 학습된 내용을 유지하면서 새로운 layer를 학습할 수 있다. 점진적으로 세부적인 feature를 학습하여 보다 자연스러운 고해상도 이미지 생성을 가능하게 한다. (4x4 low resolution -> 1024x1024)

하지만 ProGAN은 고품질의 이미지를 생성하지만 다른 모델처럼 생성된 이미지의 구체적인 특징을 조절하는 능력은 제한적이라는 한계가 있다. 즉, 이미지 개별 속성들이 서로 영향을 주어 이를 분리하는 것이 어렵다. 

 

Style Transfer

이미지의 컨텐츠와 스타일(색상, 질감)을 분리하여 다른 이미지에 스타일을 적용하는 기술이다. 

 

2. Style-based generator

1) Mapping Network

Mapping Network의 목표는 입력된 latent vector $z$를 보다 disentangled한 중간 latent vector $w$로 변환하여, 서로 다른 시각적 특징을 개별적으로 조작할 수 있도록 하는 것이다. 이는 기존 latent code를 그대로 스타일에 반영하는 방식보다 더 효과적으로 feature를 분리하는 역할을 한다. 


기존 GAN에서는 latent space $Z$에서 직접 샘플링된 $z$를 Generator에 입력으로 사용하지만, StyleGAN에서는 Mapping Network를 통해 $z$를 intermediate latent space $W$의 $w$로 변환한 후, 이를 Generator의 각 층에 스타일 정보로 주입한다.

  • $Z$ 공간보다 $W$ 공간이 더 disentangled: 일반적인 GAN의 latent space $Z$는 종종 entangle되어 있어, 특정 특징을 조작하려 하면 다른 특징도 함께 변화하는 문제점이 있는데 Mapping Network를 거쳐 $W$ 공간에서 샘플링하면 이런 문제가 완화된다. 
  • 데이터 분포에 더 가까운 latent space: 기존 GAN에서 Gaussian 분포를 따르는 $Z$ 공간을 직접 사용하면 데이터 분포와의 불일치가 발생할 수 있다. Mapping Network를 사용하여 모델이 학습 과정에서 데이터 분포에 맞는 적절한 $W$ 공간을 찾을 수 있다. 
  • 높은 수준의 특징 분리도: 하나의 latent factor가 특정 variation factor를 독립적으로 조작할 수 있도록 도와준다. 

Mapping Network는 8개의 MLP로 구성되고, 512차원의 Gaussian 분포의 $z$를 512차원의 새로운 스타일 벡터 $w$로 변환하는 역할을 수행한다. 이렇게 변환된 $w$는 이후 Adaptive Instance Normalization(AdaIN)을 통해 Generator에 전달된다. 

논문에서는 disentanglement의 정의를 잠재공간이 하나의 variation factor를 선형적으로 조작할 수 있는 부분 공간으로 구성하는 것으로 설명한다. 즉, 잠재공간에서 하나의 variation factor가 선형적으로 움직이고 이 때 다른 요소들이 영향을 받지 않아야 한다. 

  • (a): 2개의 factor가 각각 선형적으로 움직이고 있는 상황이 얽히지 않은 상황이다.
  • (b): ProGAN의 경우인데 데이터의 분포를 Gaussian으로 가정하기 때문에, $Z$ space는 원래의 분포가 Gaussian에 맞춰 구부린 형태로 모델링 된 것이다. 이 때문에 원래 분포보다 뒤틀림이 생기며 얽힐 수 밖에 없다.
  • (c): 얽힘을 방지하기 위해 mapping network를 통해 중간 잠재공간으로 한 번 보내서 덜 얽히게 만든다. 

 

2) AdaIN

AdaIN(Adaptive Instance Normalization)은 style-transfer 기법에서 사용하는 정규화 기법으로, Mapping Network에서 얻은 $w$를 통해 생성된 이미지의 스타일을 조절하는 역할을 한다. Content 이미지 $x$에 style 이미지 $y$의 스타일을 입힐 때 사용된다. 

  1. Instance Normalization 수행: 입력 feature map $x$를 채널 별로 정규화한다. 
  2. Style 이미지 $y$에 affine transform을 하여 scaling factor($y_s$)와 bias factor($y_b$)를 얻는다. 중간 벡터 $w$는 A로 표시된 또 다른 fully connected layer를 거쳐 각 채널의 scale과 bias로 변환된다. 
  3. 정규화된 $x$에 scale factor를 곱하고 bias factor를 더해 스타일을 적용한다. 

StyleGAN에서는 convolution을 거친 featuremap이 AdaIN의 content 이미지 $x$역할을 하고, Mapping Network에서 변환된 $w$가 style 이미지 역할을 한다. 즉, Mapping Network는 $z$를 스타일 벡터 $w$로 변환하고, AdaIN을 통해 이를 Generator의 여러 레이어에 적용한다. 이는 각 convolution layer마다 수행되며, 층 별로 다른 스타일을 부여할 수 있다.

 

3) Constant Input

Style-based Generator는 기존 GAN처럼 latent vector $z$를 네트워크의 첫 번째 입력으로 사용하는 대신 고정된 4x4x512 크기의 contant tensor를 입력으로 사용한다. 학습할 때는 tensor 값을 조정하며 최적의 값으로 학습되지만, 새로운 이미지를 생성할 때는 동일한 값으로 고정된다. 따라서 Test 과정에서는 동일한 constant tensor에서 시작하지만, 스타일 조합에 따라 다양한 이미지를 생성할 수 있다. 

이 방식을 통해 얻는 효과는 중 하나는 안정적인 학습 가능하다는 점이다, $z$에서 시작하는 대신, 고정된 입력을 사용하여 학습 과정에서 초기 특징을 일관되게 유지할 수 있다. 또한 $z$를 직접 사용하지 않아도 된다. 기존 GAN에서는 $z$를 직접 입력하여 convolution 연산을 수행했지만, StyleGAN에서는 Mapping Network를 통해 변환된 $w$를 사용하기 때문에, 변화하는 특징만 학습할 수 있도록 유도된다. 

 

4) Stochastic Variation

StyleGAN은 progressive growing구조와 AdaIN으로 고해상도의 이미지를 생성할 수 있는데 여기에 세부적인 stochastic variation을 부여하기 위해 noise를 추가해준다. 이를 통해 머리카락의 배치, 모공, 주근깨 같이 아주 세밀하고 특정 때에 따라 달라지는 특징들을 추가할 수 있다. 이는 생성된 가짜 이미지의 본질적인 특성에 영향을 주지 않고 다양성을 증대시키는 데 도움을 준다. 

 

1. Gaussian noise를 샘플링하여 각 convolution layer에 추가한다.

2. Noise는 feature map의 크기에 맞게 변형된 후 convolution 연산을 통해 더해진다.

3. 각 feature map이 AdaIN을 통해 global 스타일을 조절하는 것과 달리, noise는 local stochastic variation을 조절한다.

논문에서는 동일한 latent vector에서 noise를 다르게 적용했을 때, noise가 확률적인 특성을 가지는 부분들을 스타일 정보가 영향을 주는 부분(global effects)로부터 분리할 수 있다고 한다. Synthesis network에서 스타일 정보는 feature map에 AdaIN을 통해 전체 feature map에 scaling과 biasing이 되기에 gloabl effect를 가진다. 즉, 이미지의 global effect는 gram matrix(특징 간의 상관 관계)나 channel-wise mean(특징 맵의 채널별 평균값), style $y$ = ($y_s$, $y_b$)와 같은 spatially invariant statistics(공간적으로 변화하지 않는 값)에 의해 결정된다. 주입되는 noise map과 같은 spatially varying features는 stochastic한 특성을 가지는 specific instance에서의 stochastic variation이 된다. 

논문에서 위와 같이 서로 다른 noise를 같은 latent vector로부터 생성되는 이미지에 바꿔 넣으면서 결과를 확인했다. 그 결과 머리카락의 방향, 구부러짐 등 local한 부분에 stochastic variation을 가져온다.

  • (a): StyleGAN으로 생성된 이미지
  • (b): 같은 latent vector에서 서로 다른 noise를 적용하여 여러 개의 샘플
  • (c): (b)에서 생성된 여러 개의 샘플을 100번 반복하여 픽셀 간 표준편차를 계산한 결과

Noise에 의해 영향을 받는 부분들이 이미지들의 픽셀 간 표준편차를 통해서 stochastic한 특성을 가지고 얼굴의 표정이나 형태 등 구조적인 특징들은 영향을 받지 않는다는 것을 보여준다. 밝게 나타난 부분은 노이즈에 의해 많이 변화하는 부분이고 어둡게 나타난 부분은 노이즈에 의해 거의 변하지 않은 부분이다. 

또한 논문에서는 다양한 scale level에서 노이즈를 삽입한 결과를 보여준다. 결론적으로, noise로 global effect는 바뀌지 않고 local한 부분의 stochastic variation이 보장되는 것을 확인할 수 있다. 

  • (a): 모든 레벨에서 노이즈 삽입
    • Fine level과 coarse level에서 적절한 변형을 가져가 노이즈가 자연스럽게 적용되었다. 
  • (b): 노이즈를 전혀 주입하지 않음
    • Painty look과 같이 흐리고 세부 변화가 없는 이미지를 생성한다. 
  • (c): Fine level(상위 해상도 층)에 노이즈 삽입
    • 작은 디테일만 랜덤하게 변화한다. 머리에 더 작은 꼬임을 보인다.
  • (d): Coarse level(하위 해상도 층)에 노이즈 삽입
    • 큰 형태가 변화하지만 세부 디테일은 부족하다. 머리에 더 큰 꼬임을 보인다. 

 

5) Style Mixing

StyleGAN은 하나의 $z$를 $w$로 매핑한 후 style로 사용한다. Resolution에 따라 style은 coarse, middle, fine한 정보를 조절한다. 따라서 서로 다른 style들의 조합으로 이미지가 만들어지는데, 하나의 $w$만으로 학습하다보면 붙어 있는 레벨의 style들 간의 연계성이 생길 수 있다. 

StyleGAN의 progressive growing 구조를 활용해 낮은 resolution의 스타일 블록에서는 근본적인 정보를 만들고, 높은 resolution에서는 세밀한 특징에 영향을 준다. 이 특징을 이용해 style의 localized network를 조절하여 이미지를 생성할 때 스타일 특징을 조절할 수 있다. 예를 들어, 서로 다른 $w_1$와 $w_2$를 sampling하여 4x4부터 32x32까지의 style block에서는 $w_1$을 사용하고 64x64부터 1024x1024의 style block에는 $w_2$를 사용한다. 

위 그림은 $w_A$로만 생성한 source A와 $w_B$로만 생성한 source B가 있을 때, 각 $w_A$, $w_B$를 어느 resolution에서 결합하여 style을 합성하는지에 따른 결과이다. 

  • Coarse style: Coarse resolution (4x4 ~ 8x8) -> high level aspects (ex. pose, general hair style, face shape, eyeglasses (전반적인 큰 정보)
  • Middle style: Middle resolution (16x16 ~ 32x32) -> smaller scale facial features, hair style, eyes open/closed from B
  • Fine style: Fine resolution (64x64 ~ 1024x1024) -> hair color, skin tone (세밀한 정보)

이를 통해 서로 다른 스타일을 조합해 더 다양한 이미지를 생성할 수 있으며 각 해상도별 스타일이 영향을 주는 부분을 분석할 수 있다. 

 

5.1. Mixing Regularization

Mixing Regularization은 style mixing을 통해 생성된 이미지도 discriminator에 가짜로 넣어주는 기법이다. 일반적인 StyleGAN은 하나의 latent code를 이용해 이미지를 생성하는데 style mixing을 통해 서로 다른 latent code를 결합하여 각 style이 더 잘 localization되어 다른 style에 correlation이 줄어들도록 한다. 

위 실험에서는 Mixing Regularization 적용 비율과 이미지를 생성할 때 사용한 latent code의 개수가 FID 성능에 미치는 영향을 비교했다. 숫자 1~4는 style mixing에 사용한 latent code 개수인데 일반적으로 많아질수록 생성 이미지의 다양성이 증가한다.  

  • 0%: 기본적인 StyleGAN으로서 latent code를 단일하게 사용하여 이미지를 생성했다.
  • 50%: Style Mixing을 적용하되, 절반 정도의 가짜 이미지에만 반영했다.
  • 90%: 대부분을 가짜 이미지에 적용했다. 적절한 style mixing이 localization을 개선해 더 실제 같은 이미지를 생성함을 알 수 있다.  
  • 100%: 모든 가짜 이미지가 style mixing을 활용했다. 너무 많은 style mixing은 성능을 저하시킬 수 있음을 보여준다. 
더보기

Frechet Inception Distance

생성된 이미지(GAN이 생성한 이미지)와 실제 데이터의 유사도를 측정하는 평가 지표. 값이 낮을수록 생성된 이미지가 실제 이미지와 가깝다고 판단된다. 

 

<Results>

위에 활용된 방법들을 추가하며 개선된 내용을 FID를 통해 확인한 결과이다. 

  • A: 기존의 Progressive GAN 결과이다. 
  • B: 해상도 조절 기법을 사용하여 성능 향상을 이룬다. 
  • C: Mapping network와 AdaIN을 통해 style 정보를 조합하는 구조를 사용하여 유의미한 성능 향상을 보인다.
  • D: 기존의 random noise input이 아닌 learned constant input을 사용하여 더 좋은 성능 향상을 보인다. 
  • E: Noise injection을 통해 세부 디테일 향상을 이루어 성능 향상을 보인다. 
  • F: Mixing Regularization을 통해 스타일 간 독립성을 증가시켜 최종 성능을 향상시킨다. 

결과적으로 Mapping Network를 통해 의미 있는 스타일 공간 $W$를 형성하여 이미지 생성에 유연함을 부여하고 AdaIN을 통해 스타일 정보를 쉽게 조작하여 고품질의 이미지를 생성할 수 있게 한다. 또한 고정된 입력 텐서를 통해 학습의 안정성을 높이고 더 직관적인 컨트롤을 할 수 있다. 노이즈 기반의 확률적 변화를 통해 세밀한 특징의 변화를 가져왔으며 스타일의 혼합을 통해 새로운 스타일의 조합을 생성해 낼 수 있다. 

 

3. Disentanglement Measure

1) Perceptual Path Length $l$

Perceptual Path Length는 두 개의 latent vector를 보간(interpolation)할 때, 생성된 이미지가 얼마나 부드럽게 변화하는지를 측정하는 지표다. PPL 값이 작을수록 latent space가 독립적이며 이미지 변화가 자연스럽고 PPL 값이 클수록 latent space가 얽혀있어 보간할 때 이미지가 급격하게 변화한다. 

논문에서는 disentanglement를 비교하기 위해 $Z$ space에서 샘플링한 경우와 $W$ space에서 각각 2개의 latent vector를 샘플링한 경우로 나눈다. $z$, $w$를 각각 다른 방식으로 보간한 후(이유: 각 공간의 좌표 분포가 다르기 때문이다.), 그에 따라 변화하는 이미지를 생성한다. 각 이미지들을 VGG16 같은 신경망에 통과시켜 feature embedding을 얻는다. 연속된 이미지의 embedding vector 차이인 perceptual distance를 계산한다. 이 차이를 평균 내어 Perceptual Path Length를 얻는다.

 

 

  • Latent space $Z$

$z$는 Normal Distribution에서 샘플링 된 것으로 normalized input latent space이므로 spherical linear interpolation(구면선형보간법)을 사용한다. 

두 벡터 $z_1$, $z_2$를 선형적으로 보간할 경우 $Z$-space의 분포가 깨질 수 있으므로 두 벡터가 속한 구 위에서 구면 보간을 해야한다. SLERP는 두 벡터가 이루는 호를 따라 자연스럽게 보간하는 방법이다. $slerp($f($z_1$)$, $f($z_2$)$;$t$)$은 $z_1$, $z_2$를 기준으로 포물선을 만들어 중간에 t의 지점을 sampling한다는 의미한다. 

 

  • Intermediate latent space $W$

$w$는 $z$를 non-linear mapping한 것이기에 normalized input latent space가 아니므로 linear interpolation(선형보간법)을 사용한다. 일반적인 유클리드 공간에서 벡터를 직선으로 보간한다. 

$lerp($f($z_1$)$, $f($z_2$)$;$t$)$:  $z_1$, $z_2$를 직선으로 이어 중간에 t의 지점을 sampling한다. 즉, $z_1$ ~ $z_2$ 사이를 t와 (1-t)의 비율로 나눈 지점을 의미한다. 두 지점을 직선으로 연결해서 두 점 사이의 중간 위치들을 파악하는 방법으로 두 점을 이은 직선 상의 모든 점은 두 점에 대한 벡터들의 선형 보간으로 표현될 수 있다. 

 

2) Linear separability

Linear seperability latent space에서 서로 다른 속성을 가진 데이터가 선형적으로 분리되는 정도를 측정하여 disentanglement를 평가하기 위한 방법이다. 만약 latent vector가 단순한 선형 분류법으로 쉽게 구분되면 잘 분리되었다고 보지만 특정 속성을 기준으로 비선형적인 방식으로 얽혀 있다면, latent space가 충분히 분리되지 않았음을 의미한다. 

논문에서는 SVM을 통해 CELEBA-HQ에 대해 40개의 binary attribute로 분류하도록 학습을 시키고 StyleGAN이 학습한 latent space의 linear separability를 분석한다. StyleGAN이 생성한 이미지의 $W$-space 벡터를 입력으로 사용하여 이러한 binary attribute를 예측하는 선형 SVM 학습을 진행한다. 

이후 SVM이 찾은 hyperplance을 StyleGAN이 학습한 latent representation과 비교한다. StyleGAN이 자체적으로 얼마나 잘 속성을 구분하는지 확인하기 위해 discriminator와 같은 네트워크 구조를 가진 Auxiliary Classifier를 통해 학습을 진행한다. 그런 다음 각 특징에 대해 conditional entropy를 계산해 SVM이 학습한 hyperplane에 비해 얼마나 추가적인 정보 이득이 있는지를 측정한다. 

즉, conditional entropy 값이 작다면, SVM으로 찾은 hyperplane과 StyleGAN의 feature representation이 비슷하다는 뜻으로 linear separability가 높고, latent space가 disentangled 됨을 의미한다. 즉, StyleGAN의 latent space가 특정 특징을 선형적으로 잘 분리할 수 있다는 의미이다. 

 

3) Result

논문에서는 Perceptual Path Length를 통해 disentanglement를 측정하고, style-based generator의 구조와 mapping network가 disentanglement에 긍정적인 영향을 준다고 있음을 보여준다. 

전통적인 Generator에서는 latent space가 잘 disentangle되지 않아서 interpolation 시 변화가 급격해 PPL 값이 크다. Style-based Generator에서는 $W$-space를 활용하며 disentanglement가 조금 개선되었으나 완벽히 자연스럽지는 않다. Style based generator를 사용하고 $W$-space를 활용하며 noise input까지 추가한 경우 굉장히 작은 perceptual path length를 가지게 된다. 하지만 Mixing Regularization을 적용하면 PPL 값이 증가했으나 다양성을 얻을 수 있기에 아주 적은 Perceptual Path Length 손실을 감수하고도 전체적인 성능 향상이 있기에 적절하다고 볼 수 있다. 

Method 내부 숫자는 mapping network의 depth이다

Mapping Network를 깊게 쌓음으로서, FID가 감소하고, Path length가 감소하며, Separability도 감소한다.이를 통해 더 현실적인 이미지가 생성되며 latent space가 더 스무스해지고 latent space에서 특징들이 잘 분리되는 것을 볼 수 있다. 결론적으로 Mapping Network를 깊게 쌓으면 disentanglement와 이미지 품질 개선에 기여한다. 

 

4. Acknowledgements

1) The FFHQ dataset

논문에서는 저자들은 기존의 범용적으로 사용되던 Human face dataset인 CelebA의 문제점을 지적하면서 새로운 데이터셋을 구축했다. 기존의 CelebA의 경우 모두 Celeb들의 이미지로 구성되어 있기에 다양성 측면에서 부족한 면이 존재했다. 논문에서는 더 넓은 연령, 인종, 이미지 배경 등에 있어 더 많은 다양성을 부여했고 데이터셋 퀄리티를 높이기 위해 고화질의 이미지들을 모아 Amazon Mechanical Turk를 통해 데이터를 필터링 해 고화질의 human face dataset을 구축했다. 또한 기존 jpeg 방식과 달리 손실 압축이 없는 png 방식으로 이미지를 제공해 이미지의 고화질과 다양성 측면에서 발전을 이뤄냈다. 

 

2) Truncation trick in W

기존 보편적인 생성 모델의 문제점은 학습 데이터 분포에서 밀도가 낮은 부분은 이미지를 잘 생성해내기 어렵다. 그렇기에 나쁜 품질의 이미지를 생성해낸다. 논문에서는 이를 해결하기 위해 이미지를 생성하는 과정에서 latent vector로부터 truncation을 한다는 의미로 truncation trick을 제안한다. Truncation trick은 잠재 벡터 $w$를 특정 범위로 제한하여 극단적인 값을 제거한다. 이로서 약간의 다양성을 잃지만 이미지 퀄리티의 향상을 가져온다. 특히, 낮은 밀도 부분에서의 정확한 이미지를 생성하기에는 어렵지만 저품질의 이미지를 생성하는 것을 방지한다. 

 

3) Hyperparameters and training details

논문에서는 Progressive GAN 공식 TensorFlow 구현을 기반으로 개선된 모델을 제안한다. 

  • 개선된 Progressive GAN 구조 (Configuration B)
    • Up/Down Sampling을 nearest neighbor 방식에서 이중 선형 보간법으로 변경하고, 업샘플링 후 및 다운샘플링 전에 2차 이항 필터를 적용하여 저주파 신호를 더 부드럽게 만든다.  
    • Progressive Growing 방식 유지하지만, 초기 이미지 크기를 4x4에서 8x8로 확대한다. 더 큰 해상도에서 훈련하면 초반에 안정적인 학습이 가능하다. 
    • WGAN-GP -> 비포화 손실 (non-saturating loss) + R1 정규화 (λ=10), R1 정규화 적용 시 FID가 더 오래 감소하여 훈련 이미지를 12M에서 25M으로 증가한다. 
    • FFHQ에서는 기존 학습률 유지하고 CelebA-HQ에서는 512x512 및 1024x1024 해상도에서 학습률을 0.003 → 0.002로 조정하여 안정성을 개선한다. 
  • 스타일 기반 생성기 (Configuration F)
    • Leaky ReLU(α=0.2)와 균등 학습률(equalized learning rate) 적용한다. 각 레이어의 파라미터 업데이트가 균등하게 조정된다. 
    • 8개의 Fully Connected Layer로 구성된 Mapping Network 사용, 입력/출력 차원은 모두 512이다. 
    • Mapping Network가 깊어지면 높은 학습률에서 훈련이 불안정해지므로, 학습률을 기존보다 두 단계 감소 (0.01 → 0.0001)한다. 
    • 합성 네트워크의 상수 입력은 1로 초기화하고 y 관련 bias는 1, 나머지 bias 및 노이즈 스케일링은 0으로 설정한다. 
  • 분리성(Separability) 측정
    • 분리성을 평가하기 위해, Progressive GAN의 판별자와 동일한 아키텍처의 분류기 사용한다. (단, 미니배치 표준편차 제거해 독립적인 속성 분류가 가능하도록 한다).
    • CelebA 속성 40개의 이진 속성에 대해 각 속성마다 개별적인 분류기를 학습하며, Adam 옵티마이저, 학습률 0.001, 배치 크기 8, 총 150,000개 이미지 사용한다.
    • 사전 학습된 분류기 네트워크를 공개하여 재현 가능하도록 할 계획한다. 

 

4) Training convergence (추가 실험 및 훈련 안정성)

  • Batch Normalization, Spectral Normalization, Attention Mechanism, Dropout, Pixelwise Feature Normalization은 사용하지 않는다. 사용하지 않은 이유는 StyleGAN의 목표인 Disentanglement와 Style Mixing과 부합하지 않기 때문이다. 
  • FID와 Perceptual Path Length 측정을 통해 R1 정규화가 활성화된 경우 FID는 계속 감소하지만, Perceptual Path Length는 증가하여 latent space의 표현이 더 얽히는 경향이 있다. 
  • 향후 연구에서 PPL을 낮추면서도 FID를 개선하는 방법을 찾는 것이 중요한 연구 과제이다. 

 

원본 코드: https://github.com/NVlabs/stylegan

 

GitHub - NVlabs/stylegan: StyleGAN - Official TensorFlow Implementation

StyleGAN - Official TensorFlow Implementation. Contribute to NVlabs/stylegan development by creating an account on GitHub.

github.com

 

Reference


https://hyoseok-personality.tistory.com/entry/StyleGAN-A-Style-Based-Generator-Architecture-for-Generative-Adversarial-Networks-%EB%A6%AC%EB%B7%B0-1%EC%84%B8%EC%84%B8%ED%95%9C-%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0

 

[Paper Review] StyleGAN : A Style-Based Generator Architecture for Generative Adversarial Networks (1)

StyleGAN ( A Style-Based Generator Architecture for Generative Adversarial Networks ), CVPR 2019에 소개되었으며 추후 다양한 후속 연구 및 생성 모델 연구에 큰 기여를 한 논문입니다. ProGAN 혹은 PGGAN으로 불리는 논문

hyoseok-personality.tistory.com

https://rahites.tistory.com/85

 

[D&A Conference Session] StyleGAN 이해하기

StyleGAN ( A Style-Based Generator Architecture for Generative Adversarial Networks ) < 참고자료 > https://blog.promedius.ai/stylegan_1/ [GAN 시리즈] StyleGAN 논문 리뷰 -1편 StyleGAN은 PGGAN 구조에서 Style transfer 개념을 적용하여 g

rahites.tistory.com

https://comlini8-8.tistory.com/11

 

진짜 같은 고화질 가짜 이미지 생성하기, StyleGAN

https://towardsdatascience.com/explained-a-style-based-generator-architecture-for-gans-generating-and-tuning-realistic-6cb2be0f431 Explained: A Style-Based Generator Architecture for GANs - Generating and Tuning Realistic… NVIDIA’s novel architecture f

comlini8-8.tistory.com

https://velog.io/@minjung-s/%EB%85%BC%EB%AC%B8%EB%A6%AC%EB%B7%B0StyleGAN-A-Style-Based-Generator-Architecture-for-Generative-Adversarial-Networks

 

[논문리뷰]StyleGAN : A Style-Based Generator Architecture for Generative Adversarial Networks

이번에 리뷰할 논문은 2019 CVPR에 발표된 "A Style-Based Generator Architecture for Generative Adversarial Networks"입니다. 흔히 StyleGAN으로 불리는 모델입니다. 논문에서 제안된 style-bas

velog.io