StyleGAN3 (Alias-Free Generative Adversarial Networks)

이름 Alias-Free Generative Adversarial Networks
저자 Tero Karras, Miika Aittala, Samuli Laine, Erik Härkönen, Janne Hellsten, Jaako Lehtinen, Timo Aila
토픽 StyleGAN
년도 2021.06
학회 Proc.NeurIPS
링크 [논문], [코드]

Two Minute Papers-StyleGAN3

StyleGAN2-ada 에서 새로이 발전한 이 모델은, 기존 StyleGAN 모델들이 정립했던 여러 방침들에 대해 과감하게 배제하는 선택을-물론 기본적인 StyleGAN의 전제는 바뀌지 않았습니다-내린 후, 그 자리에 신호처리라는 기존에 크게 주목되지 않았던 영역을 도입했습니다.

이를 통해 해당 논문은 기존의 이미지 생성 퀄러티를 유지하면서, Translational / Rotational Equivariance를 지키고, 나아가 Computer Vision 쪽에서 새로 눈여겨볼만한 연구주제들이 제시되는 배경이 되고 있습니다.

앞으로 생성 모델의 품질 개선부터 영상 단위의 생성모델까지, 해당 모델과 논문에서 제시된 개념들이 응용될 가능성이 무궁무진하다고 생각됩니다.

Intro

GAN은 실제 환경처럼 거시적인 구조 (예 : 얼굴)가 미시적인 구조 (예 : 주근깨)를 결정짓지만, 그 미시적인 구조의 움직임을 통제하진 못합니다.

저자들은 퀄러티 저해의 주요 요인인 얼라이어싱이 GAN 분야에서 잘 다뤄지지 않는점에 주목하고, 해당 문제를 다음과 같이 해석해서 해결하고자 합니다.

이 문제를 해결하기 위해선 해당 레이어들과 네트워크 구조 전체를 바꿔야 한다는 것이 저자들의 중론입니다.

최종적으로 완성된 StyleGAN은 실제 환경처럼 거시적/미시적 구조들의 움직임을 완벽에 가깝게 통제, 기존의 aliasing 문제를 상당히 해결합니다.


Previous Works


이미지 신호처리란?

이미지 신호처리란, 입력 이미지를 픽셀 단위를 넘어서 일정 주파수를 가진 신호로 치환해서 해석하는 분야로, 대표적으로 Image Resizing / Motion Estimation / Image Enhancement / Compression 같은 분야에서 쓰입니다.

얼라이어싱의 문제를 해결하려면, 이미지를 픽셀 단위에서만 생각하면 안 됩니다.

이미지를 신호처리적 관점으로 생각하려면, 선행조건으로 이산적(픽셀 차원)과 연속적(주파수, 위상 차원)간의 변환이 자유로워야 합니다.

연속적 <–> 이산적 차원간의 변화를 다음과 같이 적어볼 수 있습니다.

이산 신호에서 연속 신호를 계산 (복원?)하는건 다음의 과정을 통해 이루어집니다:

이산 신호에서 연속 신호를 위와 같이 계산할 수 있으면, 연속 신호에서 이산 신호를 구하는 건 비교적 간단한 샘플링으로 이루어집니다:

이제 이산적 <–> 연속적 변환이 (이론상으로) 정보손실 없이 이루어질수 있다는걸 확인했으므로, 이제 픽셀 상의 이미지가 아닌 신호로서의 이미지에 대해 생각해볼수 있게 되었습니다.


딥러닝에서의 신호처리

아무리 앞서서 이론적으로 이미지를 신호의 차원으로 해석하는데 성공했어도, 딥러닝이 적용되는건 픽셀 단위의 이미지임은 변함이 없습니다.

그러나 이 딥러닝 연산도 신호처리적 관점으로 다시 써볼수 있습니다.

논문의 저자들은 이미지의 이동 / 회전시 발생하는 texture sticking 문제를 해결하기 위해 얼라이어싱을 잡는걸 목표로 했습니다. 이를 위해선, 다음의 조건들이 모든 레이어들에 걸쳐서 만족되어야 합니다:

그럼, 딥러닝 연산에 쓰이는 4가지 종류의 레이어들이 (Convolution, Upsampling, Downsampling, Nonlinearity) 등이 그 규칙을 따르는지, 따르지 않는다면 어떤 방식으로 고쳐야 하는지 알아보겠습니다.

Convolution

Practical application to generator network

Setting B : Fourier Features

Setting C : No Noise Inputs

Setting D : Simplified Generator

Setting E : Boundaries and Upsampling

Written with StackEdit.