rueki

Self Attention Generative Adversarial Networks 본문

paper review

Self Attention Generative Adversarial Networks

륵기 2021. 3. 22. 13:18
728x90
반응형

Abstract

Image Generation에도 self-attention이 사용된 것을 소개한 논문이다. 

image generation task에서 long-range dependency modeling concept으로 기존의 convolution Gan이 저해상도 feature maps에서 공간적으로 local point만 이용해서 고해상도 세부 사항들을 생성했다.

 

모든 feature location을 통해서 오는 단서들을 이용해서 detail을 생성하고, discriminator는 이미지끼리 서로 먼 지점이여도 세부 디테일이 비슷한지 확인을 해준다.

그리고 SAGAN에서 추가로 사용하는 개념은 Spectral normalization을 generator에 사용을 하는데, 이는 동적 training을 가능하게 한다고 한다.

 

그래서 기존의 inception score가 Image net에서 비교를 했을 때 훨씬 좋아졌다고 한다.

 

1. Introduction

 

GAN이 나오면서 이미지 합성 분야에서도 많은 발전이 되었는데, Gan의 발전을 살펴볼때 DCGAN을 빼놓을 수가 없다.

 

Gan에서 Convolution network를 도입하면서 이미지 데이터에 대해서 좋은 성능을 보였지만 multi class dataset에 대해서는 몇몇 클래스에 대해서는 학습이 잘 안되는 어려움이 존재했다. 그리고 합성에 있어서도 geometric texture를 잘 잡아내지 못하였다. 이전에 나온 모델들은 다른 이미지 공간들 간에 dependency를 모델링하기 위해서 Convolution Net에 너무 많이 의존을 했다는 원인이 있다고 한다. 이로써 long range dependencies는 일부 Convolution layer를 통해서만 과정을 거쳐 나오는 것을 볼 수가 있다. 이는 long term dependencies에 대한 학습을 방해하는 원인들로 연결이 되는데optimizaton 알고리즘이 dependency를 capture하기 위해서 여러 layer를 조정하는 파라메터 값을 발견하는 데 있어 어려움이 있을 수 있으며, 이 parameterization은 통계적으로 취약할 수 있으며, 이전에 보지 못한 input에 적용할 때 실패 가능성이 높다고 한다. 그리고 모델이 작은 경우에는 이를 충분히 표현하기 어렵다고 한다.

 

모델 크기를 늘리기 위해서 커널 사이즈를 늘리는 경우, 이는 계산적 측면과 통계적인 면에 있어서 비효율적이기에 좋지 않다.

 

그래서 Self-Attention을 통해서 long-range dependencies와 computational, astatistical efficiency를 모두 균형있게 유지할 수 있다고 한다.  feature들의 모든 위치에 있어 weighted sum을 함으로써, 연산 효율에 있어 많은 장점을 보여주었다.

 

Self-Attention을 CNN과 같이해서 Gan에 접목시킴을 통해서, 이미지 feature의 각 위치 정보는 먼 차이가 나더라도 좋은 detail을  만들어낼 수 있었다고 한다.

 

 

2. Related Work

 

- Generative Adeversarial NetworksGan의 문제는 훈련할 때 하이퍼 파라메터 선택할 때 불안정하고 민감하다는 점이다. 그래서 몇가지 연구들을 통해서 dynamic하게 train이 가능해쪘고, sample diversity에 대해서도 많이 좋아졌었다. 이는 네트워크 구조를 바꾸고, learning objective를 수정하거나, 정규화 방법을 추가하는 등 여러 method가 있는데, 여기서는 discriminator에서 립시츠 상수를 제한하기 위해 Weight matrices의 sepctral norm을 제한하는 방법이 제안이 되었던 spectrally normalized model을 이용한다.

 

- attention model

Attention이 등장하고 부터, global dependency를 잡아내기 쉽다는 장점이 있는데, self-attention을 통해서 모든 position들을 같은 sequence로 해서 sequence의 한 위치에서 response를 계산한다고 한다.

이를 통해서 SAGAN은 global, long range denpendencies를 이미지 내부에서 효율적으로 학습을 할 수 있었다고 한다.

 

동일한 시퀀스 내의 모든 위치에 참석하여 시퀀스의 한 위치에서 반응을 계산합니다.

 

3. Self-Attention Generative Adversarial Networks

 

Convolution layer는 local neighborhood에서 정보를 추출하기 때문에, cnn layer만 사용하는 것은 long range dependencies를 위한 모델링을 하는데 있어서 비효율적이다. 그래서 non-local model인 self-attention을 이용해서 generator와 discriminator 모두 널리 분리된 공간이라도 효율적으로 model relationship을 유지할 수 있다고 한다.

 

각 이미지 feature는 이전 layer로 부터 C by N(channel x Num of feature locations)의 형태로 나오는데 이는 두 개의 feature space f와 g로 transfomred 되는데 이는 attention 연산을 위한 변형이다.

 

위의 식에서 B 값은 j번째 region을 합성할 때, i 번째 location을 모델이 참조한하는 정도를 추정한 값이다.

attention layer의 output은 C by N 형태로 나오게 된다. 그리고 Weight matrix 들은 1 by 1 convolution 연산을 통해서 학습된 값들이다. 가중치 행렬들은 $\bar{C} x C$의 형태인데 $\bar{C}$는 C / k 연산을 한 값으로써, train epochs에서 중간중간 연산을 통해서 얻은 값이라고 한다. 본문에서는 메모리 문제로 인해서 k값을 8로 설정하였다고 한다.

 

최종 output에 대한 식은 아래와 같다.

여기서 lambda value는 scale parameter로 learnable scalar이며 0으로 초기화 되어 있다고 한다. 학습 가능한 lambda value를 도입하면, local neighborhood에 의존하는 것이 쉬워져서 이를 먼저하고, 그 다음 non-local인 부분에 더 많은 가중치를 할당하는 process로 학습을 할 수 있다고 한다.

이를 통해서 쉬운 task에 대해서 먼저 학습을 하고 점차적으로 복잡한 것에 대해서 다룰 수 있었다고 한다. 

Attention module을 generator와 discriminator에 모두 접목 시키는 SAGAN이 등장을 하게 되었고 loss로는 아래의 식과 같은데 hinge version loss를 사용했다.

 

4. Techniques to Stabilize the Training of GANs

 

Gan 학습을 안정화 시키는데에 2가지 기법을 소개한다. 이 기벙으로 정규화된 discriminator의 학습속도가 느린점을 해결 하는 방안을 제시했다. 

 

1) spectral normalization

2) Two timescale update rule(TTUR)

 

 

4.1. Spectral normalization for both generator and discriminator

Discriminator 학습의 안정화를 위해서 spectral normalization을 도입했다. 이를 통해서 각 layer를 sepctral normalization을 도입함에 따라 discriminator의 립시츠 상수를 제약한다고 한다. 다른 기법들과 비교를 했을때, 이 기법은 하이퍼 파라메터 튜닝의 필요성이 없어서 계산적인 측면에서 훨신 작아진다.

 

generator 역시 이 기법을 통해서 이점이 있는데, 퍼라메터 크기의 증가를 방지하고 비정상적인 기울기를 피한다고 한다. 이 과정을 통해서 generator를 update 할 때마다 discriminator update를 덜 할 수 있게 되어 train cost가 줄어든다고 한다. 그리고 stable 효과 역시 있는 기법이다.

 

 

4.2. Imbalanced learning rate for generator and discriminator updates

discriminator의 정규화는 종종 학습을 느리게 한다는 연구 결과가 있었다. 그래서 generator 한번 학습할때, discriminator를 여러번 학습해서 정규화하는 방법을 사용해보았다고 한다. 그리고 별도로 별도의 learning rate를 generator, discriminator에 각각 적용시키려고 했다. 이를 통해서 정규화된 discriminator의 느린 학습 문제를 보완하고, generator step마다 더 적은 discriminator step을 이끌 수 있었다고 한다. 그래서 같은 시간의 학습을 할때, 이 방법이 효율적이다.

 

 

5. Experiments

Gan 학습 안정화, self-attention 메커니즘을 소개한다.

 

- Evaluation metrics

평가 지표로 inception score와 Freche Inception distance를 사용한다.

Inception Score는 Conditional class disctribution과 marginal class distribution 사이의 KL-divergence를 계산한다.

높은 score를 가질수록 더 나은 이미지라고 볼 수가 있다. 그러나 IS에도 제한되는 부분이 있는데, 이는 샘플을 특정 클래스로 확실하게 인식되게끔 생성하려고 하는 것이며, 클래스 내 다양성과 디테일적인 부분을 평가하는 지표는 아니라고 한다. 

FID는 좀 더 원칙적인 지표로서, 생성된 샘플의 realism과 사람이 평가한 것과 결과가 유사하다는 것을 보여준다.

FID는 Inception v3에서 feature space에서의 생성 이미지와 실제 이미지 간에 wasserstein-2 distance를 계산한다.

FID 값이 낮으면 합성 데이터 분포와 실제 데이터 분포 사이의 거리가 가깝다는 것을 의미한다.

 

- Network structures and implementation details

생성 이미지 크기는 128x128이고, spectral normalization은 gernerator, discriminator 모두 사용이 된다. 

generator에는 conditional batch normalization을 사용하고, discriminator에는 projection을 사용한다. 최적화는 adam optimizer를 사용하고, discriminaotr의 lr은 0.0004, generator는 0.0001을 사용한다.

 

 

5.1. Evaluating the proposed stabilization techniques

Spectral Normalization과 imbalanced learning rates를 통해서 안정화하는 기법을 사용했을 때, 기존 모델과 본문서 소개하는 논문 모델에서의 성능 비교를 보면 위 기법을 사용한 모델이 학습이 안정적으로 되는 것을 볼 수가 있다.

 

 

5.2. Self-attention mechanism.

 

위의 테이블은 self-attention module을 적용한 것과 안 한것의 차이를 보여주는데, SAGAN에서 featrue 32에서와 feature 64에서 각각 성능이 더 좋게 나오는 것으로 확인할 수 있었다. self-attention을 통해서 더 많은 evidence와 더 큰 feature map의 conditions을 선택하는데 자유롭다. 그러나 작은 feature map애 대해 dependency를 모델링 할때는 convolution과 유사 역할을 한다고 한다.

 

 

6. Conclusion

self-attention module을 통해서 long-range dependencies를 효과적으로 모델링을 할 수 있었으며, spectral normalization과 ttur을 통해서 학습의 안정화를 볼 수 있었다고 한다.

728x90
반응형
Comments