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도 평행이동 해야한다는 의미.
- 고양이 사진에서 Averaged 하면 다 눈동자처럼 처리 되어야 하는데 눈동자만 블러처리가 된다. 이는 무언가 모델이 학습을 잘못 했다는 의미이다.
- 현재의 GAN 모델은 이상적인 학습을 우회할 수 있다고 설명한다. 위치 참조와 aliasings가 주요 원인으로 꼽힌다. 특히 저자들은 aliasing을 아주 중요한 문제라고 설명한다. 그러나 GAN에서는 거의 다뤄지지 않았던 문제였는데 Aliasing에 대한 원인으론 Upsampling, ReLU 혹은 swish라 저자는 설명한다.
- 위 문단에서 저자들은 이러한 원인을 분석하고 제시했다.
- Image borders : 이미지 커널 연산을 할 때 모델이 이 부분이 이미지의 가장자리라는 것을 배워버려 위치를 외우게 되어버리는 현상이다. 이것은 실제 범위보다 크게 Crop하는 방식으로 해결한다.
- Per-pixel noise inputs : StyleGAN2 까지는 Noise를 입력받았는데, 이것이 우리의 의도와는 전혀 다른 Indipendent value로 들어오기 때문에 의도치않은 sticking을 발생시킨다고 보았다.
- Positional Encoding : 위치를 학습해버려서 생기는 문제이기 때문에 제거한다.
- 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
- 이론적 접근 방식에 따르면 각 비선형함수 (ReLU 등)은 Upsampling과 Downsampling 사이에 적용되어야 한다. 여기서 m은 확대 계수로 정의된다. <- 이 이론적 접근이 뭔지는 정확히 모르겠다. 본문에 없는 것 같은데 인용에도 없다.
- 요약하면 Upsampling → Leaky ReLU → Downsampling 하는 이유는 Upsampling으로 이미지에 세부 정보를 추가하고 Leaky ReLU로 비선형성을 도입하며 정보를 보존하고 Downsampling으로 이미지를 축소하며 불필요한 노이즈와 세부 정보를 제거한다.
더 많은 내용이 있지만 아무래도 완벽하게 이해하기 힘들었지만 워낙 유명한 논문이라 정리도 많고 유튜브 정리 영상도 있어서 많은 도움을 받았다.
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년전 신호 및 시스템을 수강한 것이 여기서 조금 도움이 되었다.
역시 뭐든간에 해놓으면 다 도움이 된다는 것을 다시한 번 깨달았다.
'논문 분석' 카테고리의 다른 글
DOMIAS: Membership Inference Attacks against Synthetic Data through Overfitting Detection (1) | 2023.11.20 |
---|---|
Encoding in Style: a StyleGAN Encoder for Image-to-Image Translation - 논문 분석 (1) | 2023.10.23 |