본문 바로가기

논문 분석

Alias-Free Generative Adversarial Networks (StyleGAN3) - 논문 분석

728x90

Paper : Alias-Free Generative Adversarial Networks - Tero Karras, Miika Aittala, Samuli Laine, Erik Härkönen, Janne Hellsten, Jaakko Lehtinen, Timo Aila

https://arxiv.org/abs/2106.12423

  • 문제점

StyleGAN2의 texture sticking 이라는 문제를 가짐. 이미지를 구조적으로 학습하는 것이 아닌 고정된 픽셀 단위로 학습하고 있다.

 

  •  목표 

hiearchical한 이미지 학습을 위해 alias-free NetWork 제안하며 Traslation이나 rotation에 대해 equivariance 만족하는 것. equivariance란 어떤 요소가 이동하면 그에 따라 다른 요소도 이동하는 것을 의미한다. x, y 에서 x가 평행이동하면 y도 평행이동 해야한다는 의미.

 

StyleGAN2의 문제점

  • 고양이 사진에서 Averaged 하면 다 눈동자처럼 처리 되어야 하는데 눈동자만 블러처리가 된다. 이는 무언가 모델이 학습을 잘못 했다는 의미이다.
  • 현재의 GAN 모델은 이상적인 학습을 우회할 수 있다고 설명한다. 위치 참조와 aliasings가 주요 원인으로 꼽힌다. 특히 저자들은 aliasing을 아주 중요한 문제라고 설명한다. 그러나 GAN에서는 거의 다뤄지지 않았던 문제였는데 Aliasing에 대한 원인으론 Upsampling, ReLU 혹은 swish라 저자는 설명한다.

크리티컬한 이슈다!!

  • 위 문단에서 저자들은 이러한 원인을 분석하고 제시했다. 
  1. Image borders : 이미지 커널 연산을 할 때 모델이 이 부분이 이미지의 가장자리라는 것을 배워버려 위치를 외우게 되어버리는 현상이다. 이것은 실제 범위보다 크게 Crop하는 방식으로 해결한다.
  2. Per-pixel noise inputs : StyleGAN2 까지는 Noise를 입력받았는데, 이것이 우리의 의도와는 전혀 다른 Indipendent value로 들어오기 때문에 의도치않은 sticking을 발생시킨다고 보았다.
  3. Positional Encoding : 위치를 학습해버려서 생기는 문제이기 때문에 제거한다.
  4. Aliasing : 이 논문의 핵심 원인이다. 아래에서 더 설명한다.
  • 네트워크는 약간의 aliasing을 심하게 증폭시키는 것을 저자들은 발견했다. 이것의 원인은 Ideal하지 않은 Upsampling의 사용에 있었고 이것을 개선해야했다.
  • aliasing은 GAN 뿐 아니라 딥러닝에서 자주 발생하는 현상이라고 한다. 이 논문의 요지는 결국 CNNs 이 translation equivariant representation을 배우게 하고 싶다면 aliasing 현상이 생기지 않아야 하는 것이다. 그래서 논문의 제목이 Free-aliasing이다.

 

💡 Sampling and Interpolation

Sampling : 연속적인 값을 이산값으로 → 정보가 사라질 수 있음

Interpolation : 이산값을 보간하며 연속값으로 → 사라진 정보를 다시 예측해야 함

  • Aliasing은 샘플링을 할 때 고려를 잘못해서 생기는 현상. low pass filter opration을 해줘야한다.

Aliasing 해결 방안

  • 현재 StyleGAN2의 Upsampling는 aliasing문제 해결에 적절하지 않다. 100dB 이상의 감쇄를 가진 극도로 고품질 필터가 필요하다. 또한 연속 도메인에서 비선형성을 일으키는 aliasing 문제에 대한 해결책을 제시하는데 저자들은 low pass filtering하여 이를 해결. 또 개선 후에 1x1 컨볼루션을 기반으로 모델이 강력한 생성자를 얻을 수 있다.
  • 이후 StyleGAN3의 생성자 블록을 보면 conv 1x1 이 나오는데 위를 근거로한다.
  • 또한 만약 aliasing이 충분히 억제된다고 가정하면 StyleGAN2보단 더 많은 계산 리소스가 발생한다. (오래걸린다..)

이산 공간 <-> 연속 공간

 

  • 저자들은 이산 표현 Z와 연속 표현 z를 표현할 수 있는 operation을 제안했고 이산에서 연속으로 갈 때 low pass filter Convolution 해야 한다고 주장했다. 
  • 우리가 현재 문제인 점은 Upsampling 시 Aliasing 발생이다. 이산 공간에서 연속 공간으로 서로 매핑시 이산에서 연속으로 이동할 때는 어쩔 수 없이 사이의 공간을 예상. 즉 보간(Interpolation) 해야하는데, Upsampling 시 오른쪽 처럼 Interpolation 할 경우 활성함수 ReLU를 사용시 음수 처리시 0으로 처리해버리기 때문에 갑자기 값이 이상해지는 현상이 발생한다.
  • 이에 따른 해결책이 Leaky ReLU와 Down pass filter이다.

  • 이산적인 특징 맵 Z0에 대한 연산을 F로 표시하고, 이 연산은 합성곱(convolution), 비선형성(nonlinearity) 등을 포함할 수 있으며, 결과적으로 변환된 이산적인 특징 맵 Z0 = F(Z)를 생성한다. 그러나 이 특징 맵들은 연속적인 도메인에서 대응하는 연속적인 버전을 가지고 있기 때문에 연속적인 도메인에서 표현된 z0 = f(z)와 같은 연속적인 도메인에서의 매핑도 존재한다.

  • c는 컷오프가 있는데, 결국 우린 upsampling시 얼마나 깊게 파고들어갈 것인가를 정해주어야한다. 어디까지 파고들지 컷오프한 결과를 보면 표와 같다고 한다. 즉 얼마나 세밀하게 볼 것인가? 를 정한다. 갈수록 고주파(고해상도) 학습을 주로 해나가는 것을 볼 수 있다.

Pactical application to generator network

// 내 생각
본 논문에서는 위 표의 B~ 진행해가며 StyleGAN2와의 차이점과 FID를 비교한다. (b)의 생성자를 비교해보면 Affine → Mod → Demod 는 같지만 Exponential Moving Average가 추가되었다. 왜냐하면 Fourier feature는 연속데이터 이동 평균 계산을 추가하여 더욱 부드러운 변화를 기대한다.

Fourier feat.

  • 기존 StarGAN1, 2에서는 Const 4 x 4 x 512를 채용했지만 StyleGAN3에서는 연속적으로 transformation하기 위해 Fourier fearture로 변경함. 이것에 대한 설명을 따로 하지 않고 다른 논문의 아이디어를 차용했다고 설명한다. 이것에 대한 논문 : https://arxiv.org/abs/2006.10739
  • 기존의 const 데이터는 아무것도 학습되어 있지 않은 백지였는데 푸리에 feat는 그래도 명시적으로 뭔가 학습할 수 있는 기반이 되어 있는 것 같다.
  • 또한, 자연스러운 변환 계층 구조를 목표로 하므로 픽셀별 노이즈 입력을 제거한다.
// 내 생각
그러나 노이즈를 받지 않으면 새로운 합성물을 출력하는데 문제가 생길 것 같은데.. 본문에서는 딱히 그런 내용이 없다. 아마도, 노이즈를 추가하는 것은 속눈썹, 피부 잡티 같은 아주 세밀한 사항을 확률적을 컨트롤하기 위한 것이었기 때문에 그 정도는 감수하는 것 같기도 하다.

Upsampling and downsampling

  • 이 논문에서는 특정 map(이미지나 다른 데이터에서 특정한 특성 또는 패턴을 나타내는 2D 배열)의 무한한 공간적 범위를 가정한다.
  • Upsampling
    • 이상적인 Upsampling 은 연속적인 표현을 변경하지 않는다. 주 목적은 출력 샘플링 속도를 증가시켜 후속 레이어에서 추가 콘텐츠를 도입할 수 있는 주파수 스펙트럼에서 여유 공간을 늘리는 것이다.
  • Downsampling
    • 다운샘플링에서는 출력 Band limit를 초과하는 주파수를 제거하기 위해 신호를 저역통과 필터로 처리하여 더 거친 샘플링에서도 신호를 정확하게 표현할 수 있도록 한다.
  • Boundaries and upsampling
    • 논문에서 모델은 특성 맵이 무한한 공간적 범위를 가정한다. 그러나 실제론 이미지 크기가 제한되기 때문에 무한 확장을 근사하기 위해 목표 캔버스 주변에 고정 크기의 여백(margin)을 유지하고 각 레이어 이후에 이미지를 이 확장된 캔버스에 맞게 자른다.

Filtered nonlinearities

leaky ReLU의 위치

  • 이론적 접근 방식에 따르면 각 비선형함수 (ReLU 등)은 Upsampling과 Downsampling 사이에 적용되어야 한다. 여기서 m은 확대 계수로 정의된다. <- 이 이론적 접근이 뭔지는 정확히 모르겠다. 본문에 없는 것 같은데 인용에도 없다.
  • 요약하면 Upsampling → Leaky ReLU → Downsampling 하는 이유는 Upsampling으로 이미지에 세부 정보를 추가하고 Leaky ReLU로 비선형성을 도입하며 정보를 보존하고 Downsampling으로 이미지를 축소하며 불필요한 노이즈와 세부 정보를 제거한다.

 

더 많은 내용이 있지만 아무래도 완벽하게 이해하기 힘들었지만 워낙 유명한 논문이라 정리도 많고 유튜브 정리 영상도 있어서 많은 도움을 받았다.

 

https://ostin.tistory.com/53

 

Alias-Free GAN (StyleGAN3) 리뷰 - 개념

https://nvlabs.github.io/stylegan3/ Alias-Free Generative Adversarial Networks (StyleGAN3) We eliminate “texture sticking” in GANs through a comprehensive overhaul of all signal processing aspects of the generator, paving the way for better synthesis o

ostin.tistory.com

https://www.youtube.com/watch?v=HXgfw3Z5zRo&t=1599s 

https://www.youtube.com/watch?v=BZwUR9hvBPE&t=233s 

 

더 많겠지만 대표적으로 이 세 게시물의 도움을 많이 받았다.

 

논문을 읽어본 적도 처음이고 StyleGAN3 이다보니 1,2를 먼저 알아야해서 이해하기가 너무 힘들었다. 게다가 StyleGAN3에선 신호 및 시스템 적인 지식을 많이 다루다보니... ;; 2년전 신호 및 시스템을 수강한 것이 여기서 조금 도움이 되었다.

 

역시 뭐든간에 해놓으면 다 도움이 된다는 것을 다시한 번 깨달았다.