1. Abstract & Introduction
-
중요한 점
-
원래 gan은 latent vector에서 바로 mapping해서 뭔가 style 조절하기가 어려웠다. 또 latent vector가 학습 데이터의 확률 분포를 따를 수 밖에 없다. 이걸 entanglement (얽혔다는 뜻) 라고 하는 듯. style-gan은 이를 보완한다. 그게 여기서 강조하는 intermediate latent space이다.
-
2. Style Based Generator
- 예전엔 latent code(z)가 input layer를 통과하는 형식으로 generator가 동작했다. 여기선 아예 input layer를 생략하고 어떤 상수를 배우고 이렇게 배운 상수에서 시작한다! 이 상수가 뭐냐면 아래 그림 (b)에서 합성 네트워크(Synthesis network) g의 시작 부분이다! (Const 4 x 4 x 512)
-
맵핑 네트워크(Mapping network)가 이전 구조와 달리 새롭게 생겼다. z(길이 : 512)를 8개의 Dense Layer(MLP)[non-linear mapping]를 통과시켜 w(길이 : 512)를 얻는다. 위에서 강조한 intermediate latent space는 W를 말한다.
-
즉, 맵핑 네트워크를 통해 얻은 w가 latent space의 역할을 한다고 보면 된다. 이게 바로 intermediate latent space이고 이게 이 논문에서 가장 중요한 점인듯 싶다.
-
-
이렇게 나온 w에 affine transformation를 입힌걸 위에선 “A”라고 표현했는데, 이 A는 합성 네트워크의 각 해상도(4x4 부터 1024x1024까지)의 입력으로, 각 단계의 style을 조종(?)한다고 봐도 되겠다. (뒤에선 아예 이걸 style이라고 얘기한다.)
-
합성 네트워크를 더 살펴보면, 각 해상도 마다 2개의 layer로 구성된다.
-
우선 첫 Layer는 앞서말한 학습한 상수 입력값 ( 4 x 4 x 512 )지만, 나머지 해상도의 Layer들은 Upsampling후 3*3 Conv를 적용하는 것으로 시작한다.
-
여기에 채널 별로 Noise factor를 학습하고, 이를 이용해 위에 Conv를 통과한 feature map에 Noise를 더해준다.
-
-
그 후 위의 결과 나온 feature map에 Instance Normalization을 시행해준다!
-
여기서 Adaptive Instance Normalization이 등장한다.
- Adaptive Instance Normalization?
-
그냥 Instance Normalization을 해주고 끝이 아니라, 그렇게 Normalization된 녀석에게 scale을 곱해주고 bias를 더해준다. 이 때 곱해지고 더해지는 녀석이 누구냐? 바로, affine 변환을 거친 w, 즉 “A”이다. 위 글에서 보면 이 A를 y = (y_s, y_b) , style이라고 직접적으로 표현해 놓았다. 단, 이 때 y는 2차원 vector가 아니라, feature map 개수만큼 있다고 보면 된다. feature map을 x_i라 했을때 i마다 (y_s, y_b)가 존재한다~
-
이렇게 style이 입혀진 feature map은 위 과정을 반복한다. (conv 3x3을 거치고 다시 Noise를 더하고, AdaIn을 적용) 이래서 각 해상도마다 2개씩 layer가 있다고 한 것이다!
-
그 후 다음 해상도로 넘어가서 위 과정을 반복한다!
-
마지막 해상도의 마지막 layer의 output은 seperate 1x1 conv을 거쳐 rgb로 전환된다!
Style을 Computing 한다?
Comparing our approach to style transfer, we compute the spatially invariant style y from vector w instead of an example image.
본래 gan과 차이점이 더 명확히 보인다. latent space에서 image를 합성하는 게 아니다~ style-gan은 latent space로 부터 style을 구한다! (논문에선 computing이란 용어를 씀)
'Data-science > 논문 읽기' 카테고리의 다른 글
gan 논문에 등장하는 artifact 뜻? (0) | 2020.10.04 |
---|---|
논문에 등장하는 revisit 뜻? (0) | 2020.10.04 |
[Deep learning 논문 읽기] StyleGAN loss 이해, 얕게 읽는 WGAN, WGAN-GP (0) | 2020.09.01 |
[딥러닝 논문 리뷰] A Spatio-Temporal Spot-Forecasting Framework for Urban Traffic Prediction - 1 (0) | 2020.06.22 |
ablation study가 뭐냐 대체... (0) | 2019.05.03 |