티스토리 뷰

StyleGAN

  StyleGAN 네트워크의 특징들이 있는데,

  1. PGGAN  아키텍쳐의 성능을 향상시켜 고해상도 이미지 생성에 적합한 아키텍쳐를 제안함
  2. Disentanglement 특성을 향상시킴
  3. 고해상도 얼굴 데이터셋(FFHQ)를 발표함.

  이런 StyleGAN으로 도달하기 전의 과정을 호다닥 살펴보자면, 

1 GAN('14)  - -  2 DCGAN('16)  - -  3 WGAN-GP('17)  - -  4 PGGAN('17)  - -  5 StyleGAN('18) 

  우선 유명한 GAN은 생성자, 판별자 두 개의 MLP 네트워크를 통해 MNIST 같은 심플한 데이터에 대해 제법 성공적으로 이미지를 생성하였는데, 일반적인 이미지에 대해서는 학습의 안정성이 매우 떨어졌습니다. DCGAN에서는 deep convolution layers를 이용하여 이미지 도메인에서의 성능을 업그레이드 하게 됩니다. 하지만 여전히 GAN의 학습은 기울기 소실, JSD에 의한 수렴 문제, 모드 붕괴 등의 문제가 잔뜩 일어났습니다. 그래서 어렵기로 소문난 WGAN을 통해서 loss function을 보완했고, WGAN-GP로 더 보완하여 판별자의 기울기 소실 문제를 해결하였습니다. 마지막으로 PGGAN에서는 점진적인 레이어 추가로 학습을 하여 고해상도 이미지 학습에 대해서도 뛰어난 성능을 냈습니다. 그럼 이제 퀄리티 좋은 고해상도의 이미지는 잘 만드는데 무얼 더 할 수 있을까 고민해보았을 때, 생성된 이미지를 제어하여 원하는 이미지를 생성하는 것도 가능하지 않을까라는 고민을 해보게 됩니다. 그래서 이미지의 특징 제어의 어려움을 개선한 것이 StyleGAN입니다.(2번 특징과 같은 얘기) 

 

WGAN-GP Loss function

참고 : 동빈나님의 youtube(https://youtu.be/HXgfw3Z5zRo)

 

Mapping Network

 

  가우시안 분포에서 샘플링한 512차원의 z 벡터를 직접 사용하지 않고 뉴럴 네트워크를 한 번 통과시켜 비선형적으로 맵핑시킨 w를 만들어 사용합니다. 가우스 분포를 따르는 z의 공간에서 벗어나 조금 더 자유로운 w space, 다른 의미로는 조금 더 선형적인 공간을 통해 실제 데이터의 분포로의 맵핑을 가능하도록 해줍니다.

 

StyleGAN architecture

AdaIN

  Style transfer 네트워크에서 좋은 성능을 보여준 Adaptive instance normalization을 이용하였습니다(그래서 이름이 stylegan임). 스타일 정보를 가져오는데 특히 유용한데, 아래 식에서 y에 해당하는 부분들이 w(style)이 주입되는 부분이다. 이런 과정이 매번 다음 스타일과 합쳐지기 전 정규화가 일어나기 때문에 스타일 하나 당 한 컨볼루션 연산에만 거의 영향을 미친다. 즉, 특성 분리에 도움을 준다.

Stochastic variation(Noise B)

  추가적인 노이즈를 넣어 주는 과정이 있는데 이는 이미지의 아주 디테일한 부분들에 관여합니다(주근깨, 모공 등). 이는 w가 들어갈 때와 동일하게 아핀 변환을 한 후에 들어가고 노이즈는 랜덤한 가우시안 분포를 주입합니다. 그리고 앞 쪽 레이어의 노이즈는 Coarse한 노이즈로 좀 더 큰 크기의 머리카락 디테일과 배경에 관여하고 뒤 쪽으로 갈수록 세밀한 디테일에 관여합니다. 논문에서는 노이즈를 레이어에 적용하지 않았을 경우 머리카락이나 배경이 뭉개지는 샘플을 보여줍니다.

 

Mixing regularization

  서로 다른 두 z1,z2를 섞어서 사용하는 것으로, 인접한 스케일의 특질 사이의 correlation을 낮춥니다. 다시 말해, 서로 다른 두 블럭에서 서로 다른 z vector를 넣어 줍니다. 두 사람의 얼굴을 섞은 것과 비슷한 의미입니다. 이 부분이 특징의 분리에 도움을 준 이유는 데이터 상에 빈도가 높은, 예를 들어, 머리색이 검은색인 사람 중에 안경 쓴 동양인이 많았다면 오버피팅이 일어나며 작은 스케일의 레이어와 큰 스케일의 레이어 간의 correlation이 생겨서 안경 쓴 사람은 머리색이 검은 동양인으로 나오게 됩니다. 그런데 블럭 간에 다른 분포의 w값이 들어가면서 예시와 같은 오버피팅이 방지되면서 다양한 이미지가 생성되고 특징들이 분리될 수 있게 됩니다.

 

Perceptual Path Length 

  PPL은 이미지가 "지각적(Perceptual)"하게 바뀌었는지를 나타내는 지표입니다. FID처럼 VGG라는 학습된 모델을 통해 이미지의 임베딩 결과로 비교한 이미지의 거리를 이용합니다. 공식의 의미는 z1과 z2를 t의 비율로 혼합하여 얻은 잠재 벡터의 이미지와 t+ε에 해당하는 이미지 간의 거리를 나타내는데, "지각적"으로 가까우면, 작은 값이 나옵니다. 이미지의 특징 제어가 큰 장점인 StyleGAN은 이러한 지표를 통해 모델의 성능이 뛰어남을 보여주었습니다.

 

g는 생성자, f는 잠재 변수 z를 스타일 벡터 w로 변환해 주는 함수, "lerp"는 선형 보간을 의미한다.

 

https://engineer-mole.tistory.com/52

https://towardsdatascience.com/explained-a-style-based-generator-architecture-for-gans-generating-and-tuning-realistic-6cb2be0f431

https://leechamin.tistory.com/225

'AI,ML,DL > GAN' 카테고리의 다른 글

StyleGAN 어때? - 01 (FID와 GAN)  (0) 2022.06.21
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함