일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- figma
- API
- ts
- Linux
- ML
- sqlite
- postgresql
- frontend
- js
- Express
- PyTorch
- UI
- SOLID
- CV
- vscode
- Git
- review
- html
- DB
- C++
- nodejs
- GAN
- mongo
- ps
- CSS
- threejs
- PRISMA
- DM
- python
- react
- Today
- Total
아카이브
[review] A Style-Based Generator Architecture for Generative Adversarial Networks 본문
[review] A Style-Based Generator Architecture for Generative Adversarial Networks
Rayi 2023. 4. 24. 22:44NVIDIA Tero Karras, Smuli Laine, Timo Aila의 논문입니다. 본문과 코드는 아래 github에서 확인할 수 있습니다.
https://github.com/NVlabs/stylegan
GitHub - NVlabs/stylegan: StyleGAN - Official TensorFlow Implementation
StyleGAN - Official TensorFlow Implementation. Contribute to NVlabs/stylegan development by creating an account on GitHub.
github.com
Abstract
본 논문은 style transfer literature에 기반한 새로운 GAN 구조를 고안했습니다. 이 새로운 구조는 사람 얼굴의 구체적인 특징(high-level attributes)이나 기존 이미지에서 확률적으로 변형(stochastic variation)된 것을 학습해서 구분하고, 직관적으로 합성시킬 수 있습니다. 또한 기존에 사용하던 데이터 분포를 개선해 보간(interpolation)을 향상시키고 이미지 변형에 관여하는 내재적 요인들의 관계를 명확하게 해줍니다(distangle). 이 두 가지 성능을 정량적으로 나타내기 위해 논문에서는 두 가지의 새로운 척도를 제시했으며, 이는 본 논문 뿐만 아니라 다른 종류의 모델에도 적용시킬 수 있습니다. 논문의 마지막에는 이 모델을 기반으로 사람 얼굴에 대한 데이터셋(Flickr-Faces-HQ, FFHQ)을 만들어냈습니다.
style transfer literature : 스타일 변형에 대한 아이디어를 뜻합니다.
high-level attributes : 표정이나 안경과 같은 사람 얼굴에 대한 자세한 정보
stochastic variation : 전체적인 얼굴형에서 미묘하게 달라질 수 있는 부분(머리카락, 피부)
interpolation : 보간. 서로 다른 두 상태 사이를 연속적인 값으로 채웁니다.
distangle : 본 논문에서 정의한 개념입니다. 특징을이 서로 연관되어 있어 하나를 변형시킬 때 다른 요소들도 변하며, 이를 얽혀있다(tangled)고 표현합니다. 이를 해소하는 작업이 distangle입니다.
1. Introduction
GAN으로 만들어내는 이미지의 해상도나 품질은 빠르게 발달하고 있습니다. 그럼에도 잠재공간(latent space)에 대한 이해나 생성기(generator)간의 정량적 성능비교와 같은 이미지 합성에 대한 연구는 아직 부족하다고 합니다.
잠재공간, latent space : 잠재벡터 z가 이루는 벡터 공간
잠재벡터, latent vector : 원본 데이터를 나타내는 정보를 가지고 있는 벡터
본 논문에서 고안한 generator는 학습된 상수값을 입력값으로 받아 잠재 합성곱 계층(latent convolution layer)에서 "style"을 조절합니다. 또한 신경망에 직접적으로 "noise"를 삽입함으로서 생성된 이미지의 stochastic variation으로부터 high-level attribute를 구분할 수 있게 됩니다. 이를 통해 특정 크기의 이미지 혼합이나 보간 또한 가능합니다. Generator 외에 discriminator나 loss function에서는 변경점이 없기 때문에 관련된 개념은 논외로 한다고 합니다.
이 Generator는 중간잠재공간(intermediate latent space)에 잠재코드(latent code)를 삽입하여 신경망을 수정합니다. 입력잠재공간(input latent space)은 학습하는 데이터의 확률밀도함수를 따라야 하기 때문에 약간 복잡한 과정이 수반됩니다. 중간잠재공간에는 이러한 제약이 없기 때문에 복잡한 과정 없이 신경망을 수정할 수 있습니다.
이 모델은 중간잠재공간에 수정을 가하기 때문에, 기존의 잠재공간 복잡도를 측정하는 방법을 바로 적용할 수는 없습니다. 이에 본 논문에서는 perceptual path length와 linear separability라는 두 가지 척도를 새로 고안 해냈습니다. 이 척도들을 통해 이 구조가 기존의 것들보다 더 선형적이고 덜 복잡하다는 것을 증명할 수 있다고 합니다.
2. Style-based generator
기존 방식에서 잠재코드 z는 [그림1-(a)] 처럼 generator의 입력 계층에 추가되었습니다.
반면, 본 논문의 모델에서는 [그림 1-(b)] 처럼 이미 학습된 상수값(Const 4*4*512)을 대신 사용합니다.
잠재코드 z는 비선형 변환 f : Z → W 를 통해 잠재코드 w를 생성하고, 이 w가 generator의 중간 부분에 삽입됩니다. 단순한 계산을 위해 벡터공간 Z와 W 모두 512차원으로 설정되어 있으며, 변형 f는 매핑 신경망(mapping network)으로, 8-layer MLP 계층을 사용했습니다.
8-layer MLP : 8개의 완전연결 계층(fully connected, FC)로 구성된 MLP(Multi Layer Perceptron)
매핑 신경망을 거친 잠재코드 w는 미리 학습된 아핀 변형(Affine tranformation, A)를 통해 style 벡터인 y = (ys, yb)로 변형됩니다. 이는 generator에서 합성곱 계층과 noise 삽입 후에 진행되는 AdaIN 연산(Adaptive Instance Normalization)의 매개변수로 사용됩니다. AdaIN 연산은 다음과 같이 정의됩니다.
아핀 변형(Affine tranformation, A) : 선형 변환 후 평행이동하는 변환. y = Ax + b 꼴로 나타낼 수 있습니다.
마지막으로 generator가 확률적인 세부사항(stochastic detail)을 생성하도록 noise 입력값을 명시합니다. Noise는 단일 채널 이미지로, 각각이 독립적인 Gaussian noise로 이루어져 있습니다. 각 noise들은 미리 학습된 per-feature map(B)이 적용되어 합성곱 계층 후 삽입됩니다.
2.1. Quality of generated images
본 논문에서는 이 모델의 설징에 대해 연구하기 전에 모델이 이미지의 품질을 손상시키지 않고 오히려 개선시킬 수 있다는 것을 실험적으로 보였다고 합니다. [표 1]은 CELEBA-HQ와 FFHQ에 적용시킨 generator에 대한 FID값을 나타낸 표입니다.
FID(Fréchet Inception Distance) : 실제 데이터의 분포와 생성된 데이터의 분포의 차이를 나타내는 척도
A : baseline
B : linear up / down sampling 추가, 더 많은 학습시간과 hyperparameter 조정 단계
C : 8-layer MLP와 AdaIN변환 추가
D : 기존 입력 계층을 상수(4*4*512)로 교체
E : noise 추가
F : novel mixing regularization
본 논문에서는 두 가지 loss function을 이용해 성능을 평가했습니다. CELEBA-HQ는 WGAN-GP를 사용했고, FFHQ는 configuration A에는 WGAN-GP를, configruation B-F에는 R1 regualrization과 non-saturating loss를 사용했습니다.
2.2. Prior art
GAN 구조에 대한 많은 작업들은 대부분 discriminator 성능 향상에 중점을 두고 있습니다. 대표적으로 다중 discriminatork 다중 해상도 분석, 그리고 self-attention이 있습니다. Generator에 대한 작업은 주로 입력잠재공간의 정확한 분포나 Gaussion 혼합 모델을 적용한 입력 잠재공간, 군집화, 그리고 convexity등이 있습니다.
3. Proterties of the style-based generator
이 generator 구조는 style 중점화된 이미지 합성이 가능합니다. 매핑 신경망 f와 아핀 변형은 학습된 분포의 각 style에서 샘플을 뽑아내는 방법으로, 합성 신경망 g는 수집한 style들을 기반으로 이미지를 생성하는 방법이라고 볼 수 있습니다([그림 1] 참고). 여기서 style은 국지적인 부분에만 영향을 줍니다. 따라서 특정 style만 수정하면 이미지의 특정 부분에만 영향을 줄 수 있게 됩니다.
이는 AdaIN 연산에서 각 feature map을 정규화하고 크기와 편향을 조절했기 때문입니다. Style에서 발견되는 통계치는 합성곱 연산에서 해당 특징들에 대한 중요도를 변화시킵니다. 하지만 정규화를 거쳤기 때문에 원래 통계치와는 관련이 없게 됩니다. 따라서 각 style은 다음 AdaIN에 의해 덮어 쓰이기 전의 합성곱 계층 하나에만 영향을 줍니다.
3.1. Style mixing
Style들의 지역성을 구현하기 위해서는 mixing regularization이 필요합니다. Mixing regualrization은 설정한 비율의 이미지들이 두 개의 잠재코드에 의해 생성되도록 하는 작업입니다. 두 잠재코드 z1, z2가 있고 매핑 신경망 f를 통해 w1, w2로 변환되었다고 할 때, 합성 신경망 g 내부의 특정지점을 기준으로 지점 전에는 w1, 지점 후에는 w2를 적용하면 됩니다(이를 style mixing이라고 정의합니다). Style mixing을 사용하면 style들이 서로 연관되는 것을 방지할 수 있습니다.
3.2. Stochastic variation
사람 얼굴에는 머리카락, 수염, 주근깨, 모공과 같이 확률적인 차이가 있는 부분들도 존재합니다. 이런 요소들은 적절한 경향을 따르는 한 무작위로 생성할 수 있습니다.
기존의 generator에서는 필요할 때마다 유사 난수(pseudorandom numbers) 생성함수를 만들어야 했습니다. 이는 신경망의 용량을 차지할 뿐 아니라 반복되는 패턴을 감추는 것도 어렵게 만듭니다. 본 논문에서는 각 합성곱 연산 이후마다 noise를 추가하여 이런 문제를 해결했다고 합니다.
[그림 4]는 이 generator에 각기 다른 noise를 적용해 동일한 이미지에서 서로 다른 확률적 변형이 발생한 것을 보여줍니다. Noise가 high-level attribute는 간섭하지 않고 확률적인 부분만 변형시키는 것을 알 수 있습니다. [그림 5]는 확률적 변형을 서로 다른 계층에 적용한 결과를 보여줍니다. 이 경우 사진보다는 영상으로 보는 것이 더 구분이 잘 된다고 합니다. 위 링크에 표시된 영상 링크입니다.
https://www.youtube.com/watch?v=kSLJriaOumA&ab_channel=TeroKarrasFI
영상에서 보는 것과 같이 noise의 값을 조절하면 세부적인 확률적 변형들을 조절할 수 있습니다. Noise들은 모든 계층에 적용가능하기 때문에 추가적인 작업을 더할 필요는 없습니다.
3.3. Separation of global effects from stochasticity
여기까지 style은 전체적인 형태(자세, 생김새)를 결정하고, noise는 덜 중요한 확률적 변형만 결정한다는 것을 보였습니다. Style 기반 generator에서 feature map(x)은 동일한 아핀변형 A에 의해 크기와 편향이 결정되기 때문에 style은 모든 이미지 전반에 영향을 미칠 수 있습니다. 반면, noise는 각 픽셀마다 독립적으로 추가되기 때문에 확률적 변형을 조절하기에 이상적인 형태입니다. 따라서 이 모델은 전역적 채널과 지역적 채널을 적절히 조합해 사용하게 됩니다.
4. Distanglement studies
본 논문에서 distanglement는 선형적인 하위공간들을 지니는 잠재공간 Z를 만드는 것이라고 표현합니다. 이 하위공간들에 따라 각각 다른 요소들이 변하게 됩니다. 이 Z에 속한 요소는 학습 데이터의 패턴에 맞게 적절히 선택되어야 합니다. [그림 6]에서 묘사되었듯이, 이는 데이터셋과 선택된 요소들이 달라지는 것을 방지해줍니다.
아쉽게도 최근 distanglement 측정을 위해 제안된 matrix들은 입력 이미지를 잠재코드와 연관지어야 하는 encoder를 필요로 합니다. 그러나 이 GAN 모델은 encoder가 존재하지 않아 이 matrix들을 적용할 수 없습니다. 이에 본 논문에서는 distanglement를 측정할 두 가지 방법을 고안 해냈다고 합니다. 이 방법들은 encoder나 변형에 대한 정보를 요구하지 않아 다른 데이터셋과도 호환 가능합니다.
4.1. Perceptual path length
잠재공간벡터의 보간은 이미지에 비선형적인 변화를 가져올 수 있습니다. 예를 들어 양 끝 지점에 해당하는 상태에는 존재하지 않는 특징이 보간의 중간 값에서 나타날 수 있다는 뜻입니다. 이는 곧 잠재공간이 entangled 되어 있고, 변형에 대한 요인들이 잘 구분되어 있지 않다는 뜻입니다. 이 효과를 정량화 하기 위해서 보간 경로에 따라 이미지가 얼마나 급격하게 변하는지를 측정할 수 있습니다. 직관적으로 생각해보면 곡선이 적은 경로일수록 부드러운 변화를 보여줄 것이라고 생각할 수 있습니다.
본 논문에서는 지각경로길이(perceptual path length)를 각 이미지의 VGG16 모델 출력값 사이의 차이로 계산합니다. 여기서 변화값이 사람의 직관과 비슷할수록 가중치를 더하게 됩니다. 원래 이러한 방식으로 지각경로를 무한히 작은 구간들로 나누어 각 길이의 합을 구해야 하지만(적분), 실제로는 적당히 작은 값인 10^-4를 사용합니다. 잠재공간 Z에서의 평균지각경로길이(lz)는 다음과 같습니다.
또한 잠재공간 W에서의 평균지각경로길이(lw)는 다음과 같습니다.
여기서 다른 점은 보간이 Z가 아닌 W에서 일어난다는 것 외에는 없습니다.
[표 3]에서는 noise를 삽입만 W기반 generator(E)가 기존의 generator(B)보다 더 짧은 full-path length를 가지고 있음을 알 수 있습니다. 이는 W를 사용하는 경우가 Z보다 더 직관적인 변형을 할 수 있음을 나타냅니다.
[표 4]는 매핑 신경망 f가 성능에 어떤 영향을 주는지 보여줍니다. 기존 generator와 style-based generator 모두 매핑 신경망 f가 긍정적 영향을 미쳤음을 알 수 있습니다. 또한 f의 깊이도 지각경로길이와 FID를 향상시켰음을 알 수 있습니다. 이는 본 논문에서 주장하는 것 처럼 입력잠재공간 Z의 사용이 GAN을 entangle하게 만들 수 있음을 보여줍니다.
4.2. Linear separability
만약 잠재공간이 충분히 disentangled되어 있다면, 각각의 변형들에 해당하는 방향벡터를 찾을 수 있어야 합니다. 이것을 잠재공간이 선형 초평면(linear hyperplane)에 의해 얼마나 잘 나누어 질 수 있는지를 측정함으로서 정량화할 수 있습니다.
linear hyperplane : 주어진 n 차원 공간에 존재하는 n-1차원의 도형(2차원에서는 직선, 3차원에서는 평면, ...). ML에서는 데이터 공간을 분할 하는데 쓰입니다.
생성된 이미지를 라벨링하기 위해서는 binary attribute들에 대해 보조 식별 신경망( auxiliary classification network)을 학습시켜야 합니다. 본 논문에서 classifier들은 동일한 discriminator와 CELEBA-HQ 데이터셋으로 학습되었고, 이 classifier들을 이용해 200,000개의 샘플 이미지를 분류했습니다. 그 후 낮은 정확도(혹은 신뢰도)를 가진 절반을 배제하여 100,000개의 잠재공간벡터를 확보했습니다.
binary attribute : 두 가지 항목으로 나눌 수 있는 속성(남자 / 여자, 안경 유무 등)
각 binary attribute에 대해 선형 SVM을 적용시켜 잠재공간(Z or W)을 분류한 뒤, SVM으로 예측한 분류(x)와 미리 학습된 classifier로 계산한 분류(y)에 대한 조건부 엔트로피(conditional entropy) H(y|x)를 계산합니다. 이는 우리가 초평면의 위치를 알 때, 샘플이 실제로 어디에 속하는지 알아내는 데 어느 정도의 추가정보가 필요한 지를 알려줍니다. 이 값이 낮을 수록 변형에 해당하는 잠재공간이 정확하게 나타난다고 할 수 있습니다.
conditional entropy(x) : 확률분포에서 특정한 값이 나올 신뢰도. 확률밀도가 uniform 분포에 가까워 질 수록 값이 증가하며, 특정 값에 확률이 몰릴수록 값이 작아집니다.
마지막으로 separability 점수 $\exp \left( \sum _{i}H\left( Y_{i}| X_{i}\right) \right)$를 구할 수 있습니다. 지수를 취한 것은 separability의 로그 값을 선형 함수로 바꿔 성능 비교를 더욱 편리하게 하기 위해서입니다.
[표 3]과 [표 4]는 W가 Z보다 더 나은 separability를 가지고, 덜 entangle하다는 것을 보여줍니다. 또한 매핑 신경망 f의 깊이를 증가시킬수록 이미지의 품질과 W에 대한 separability 또한 향상됩니다. 여기서 중요한 점은 기존 generator 구조의 앞에 매핑 신경망 f를 추가하면 Z에 대한 separability는 감소하지만 W에 대한 separability는 증가한다는 것입니다. 이는 기존의 generator 구조에도 중간잠재공간을 적용하면 더 높은 성능을 가질 수 있다는 것을 의미합니다.
5. Conclusion
본 논문에서의 연구와 다른 병행된 연구들을 통해 기존의 GAN 구조에 비해 style-based GAN이 우수한 성능을 보임을 확인했습니다. 논문의 저자들은 이러한 high-level attributes와 stochastic effects의 구별능력과 선형 중간잠재공간의 구현이 GAN 합성의 이해에 도움이 될 것이라고 생각합니다.
또한 저자는 average path length metic과 linear separability가 유의미한 역할을 해냈다는 것에 주목했으며, 학습 중 중간잠재공간을 직접 형성하는 방법이 향후 작업에 흥미로운 수단을 제공할 것이라고 기대하고 있습니다.
'Reveiw > Paper' 카테고리의 다른 글
[review] High-Resolution Image Synthesis with Latent Diffusion Models (0) | 2024.05.14 |
---|---|
[review] SALAD: Part-Level Latent Diffusion for 3D Shape Generation and Manipulation (0) | 2024.05.06 |
[review] Large Scale Distributed Deep Networks (0) | 2023.09.23 |
[review] TensorFlow: A system for large-scale machine learning (0) | 2023.09.16 |
[review] Denoising Diffusion Probabilistic Models (0) | 2023.04.30 |