아이공의 AI 공부 도전기

SAGAN 논문 Full Reading - Self-Attention Generative Adversarial Networks

 

 

 

 

저자 : Han Zhang, Ian Goodfellow, Dimitris Metaxas, and Augustus Odena. 

 

Self-attention generative adversarial networks. 

 

https://arxiv.org/abs/1805.08318

 

 

 

 

2020.12.20일 기준 citation : 1187

Attention 모듈을 GAN에 적용한 첫 논문으로 의미가 있는 논문으로 손꼽힙니다.

학회는 개제된 것 같지는 않고 다만 MLR press에는 실렸던 것으로 보입니다.

 

Proceedings of Machine Learning Research

http://proceedings.mlr.press/

 

 

Abstract

1. Introduction

2. Related Work

3. Self-Attention Generative Adversarial Networks

4. Techniques to Stabilize the Training of GANs

 4.1. Spectral normalization for both generator and discriminator

 4.2. Imbalanced learning rate for generator and discriminator updates

5. Experiments

 5.1. Evaluation the proposed stabilization techniques

 5.2. Self-attention mechanism

 5.3 Comparison with the state-of-the-art

6. Conclusion

 

Abstract

이 논문에서, 우리는 이미지 생성을 위한 attention 중심, 장기 의존 모델링(long-range dependency modeling)을 가능하게 하는 Self-Attention GAN(SAGAN)을 제안한다. 전통적인 conv GAN들은 낮은 해상도 feature map들 안 공간적인 지역 포인트만을 함수로 쓰는 고해상도 디테일을 생성한다. SAGAN을 통해 모든 feature 지역들로부터 단서들을 사용해 디테일들이 생성된다. 더욱이, discriminator는 영상의 먼 부분에서 매우 자세한 feature들이 서로 일치하는지 확인할 수 있다. 게다가 최근의 연구는 조건부 generator가 GAN 성능에 영향을 준다는 것을 보여준다. 이러한 통찰력을 활용하여 우리는 spectral normalization을 GAN generator에 적용했으며 훈련 역학을 향상시킨다는 것을 발견한다. 제안된 SAGAN의 성능은 이전보다 좋은데 Inception Score는 최고치였던 36.8에서 52.52로 증가했고 FID는 27.62에서 18.65로 감소시켰다. attention layer들을 시각화하는 것은 generator가 고정된 모양의 국소 지역보다 물체 모양에 해당하는 이웃들을 활용한다는 것을 보여준다. 

1. Introduction

이미지 합성은 computer vision에서 중요한 문제이다. 비록 많은 열린 문제들이 남아있을지라도 GAN의 등장으로 인해 이 방향성에서 놀라울만한 진전이 있어왔다. 깊은 conv network 기반 GAN 모델들은 특히나 성공적이어왔다. 그러나 이것들로부터 생성된 샘플들을 주의깊게 검사함으로써 우리는 convolutional GAN은 다중 class dataset을 훈련시킬 때 다른 것들보다 특정 이미지 class들에 대한 모델링에 훨씬 더 많은 어려움을 겪어옴을 관찰할 수 있다. 예를 들어 SOTA ImageNet GAN 모델들은 구조적 제약들이 거의 없는 이미지 클래스들(e.g. 기하학보다 질감에 의해 더 구별되는 바다, 하늘, 풍경 클래스들)을 합성하는데 탁월한 반면 몇몇의 클래스들(예를 들어 강아지는 보통 사실적인 털 질감을 가지고 명확히 분리된 발이 없이 그려진다.)은 일관적으로 발생하는 기하학적 혹은 구조적 패턴을 포착하지 못한다. 이것에 대한 한 가지 가능한 설명은 이전 모델들은 다른 이미지 영역들에 걸쳐 의존성을 모델링하기 위해 convolution에 크게 의존한다는 것이다. conv operator는 local receptive field를 가지고 있기 때문에 장기 의존성(long-range dependency)은 여러 conv layer들을 통과한 후에만 처리할 수 있다. 이것은 다양한 이유로 장기 의존성에 대한 학습을 막을 수 있다: 작은 모델은 그것들을 표현하지 못할 수 있고, 최적화 알고리즘은 의존성을 포착하기 위해 여러 layer들을 조심스럽게 조정하는 parameter 값들을 발견하는데 어려움을 겪을 수 있고 그리고 이 parameter화들은 통계적으로 불안정하고 이전에 보지못한 입력에 대해서 적용할 때 실패하는 경향이 있다. conv kernel 크기를 증가시키는 것은 네트워크 표현 용량을 증가시킬 수 있지만 그렇게 함으로써 지역적 conv 구조를 사용함으로써 얻은 계산 및 통계적 효율성을 잃을 수 있다. 그에 반면하여 Self-attention은 장기의존성 모델의 능력과 계산 및 통계 효율 사이에서 더 나은 균형을 보여준다. Self-attention 모듈은 weight 또는 attention 벡터들이 작은 계산 비용으로 계산되는 모든 위치에서 feature들의 weight 합으로 반응을 계산한다.

 

이번 연구에서 우리는 Convolutional GAN 안에 attention 구조를 도입한 Self-Attention GANs(SAGANs)를 제안한다. self-attention 모듈은 conv를 보완하고 이미지 영역 간 긴 범주 다단계 의존성(long range, multi-level dependencies)을 모델링하는데 도움을 준다. self-attention을 장착한 generator는 모든 위치의 섬세한 디테일들이 영상의 먼 부분에서 미세한 디테일들을 세심하게 조율되는 영상들을 그릴 수 있다. 게다가 discriminator는 또한  전체 이미지 구조에 복잡하고 기하학적 제약들을 정확히 강제할 수 있다.

(저는 위에서 기하학적 표현이 힘든 conv의 약점을 discriminator가 보완한다는 의미로 받아들였습니다.)

self-attention 외, 우리는 네트워크 conditioning을 GAN 성능에 연관시키는 최근 통찰 또한 통합한다. 이 연구(Odena et al., 2018)는 잘 조건화된 generator들이 더 좋은 성능을 보이는 경향성에 대해 보인다.

 

Is generator conditioning causally related to GAN performance? 

Odena et al., in ICML, 2018

https://arxiv.org/abs/1802.08768

 

우리는 이전에 오직 discriminator에만 적용되어졌던 spectral normalization 기술을 사용하여 GAN generator의 좋은 conditioning을 시행할 것을 제안한다.

 

Spectral normalization for generative adversarial networks.

Miyato et al., in ICLR, 2018

https://arxiv.org/abs/1802.05957

 

우리는 제안된 self-attention 방법과 안정화 기술들의 효과를 입증하기 위해 ImageNet dataset에서의 광범위한 실험을 수행했다. SAGAN은 가장 좋은 Inception Score 점수를 36.8에서 52.52로 증가시켰고 FID는 27.62에서 18.65로 감소시킴으로써 이미지 합성에서의 이전 작업을 크게 능가한다. attention layer들을 시각화하는 것은 generator가 고정된 모양의 국소 지역보다 물체 모양에 해당하는 이웃들을 활용한다는 것을 보여준다.

 

우리들의 코드는 https://github.com/brain-research/self-attention-gan에서 이용할 수 있다.

 

2. Related Work

Generative Adversarial Networks

GAN은 Image-to-Image Translation, Image Super-Resolution, Text-to-Image Synthesis와 같은 다양한 이미지 생성 작업에 큰 성공을 달성해왔다.

이런 성공에도 불구하고 GAN을 훈련시키는 것은 hyperparameter들의 선택들에 불안정하고 민감하다는 사실로 알려졌다. 몇몇 연구들은 새로운 네트워크 구조들을 디자인하고 learning objectives와 dynamics를 수정하고 정규화 방법을 추가하고 경험적 속임수를 도입함으로써 GAN 훈련 역학(?)(dynamics)을 안정화하고 sample 다양성을 향상시키는 시도를 해왔다. 최근 Miyato et al.(SNGAN, 위에 링크 있음)는 discriminator function의 Lipschitz 상수를 제약하기 위해 discriminator에서의 weight 행렬의 spectral norm을 제한할 것을 제안했다. projection 기반 discriminator와 결합하여 spectrally 정규화된 모델은 ImageNet에서 클래스 조건 이미지 생성을 크게 개선한다.

 

Attention Models

최근 attention 방법은 전체적 의존성(global dependencies)를 포착하기 위한 모델의 필수적인 부분이 되었다. 특히 intra-attention이라 불리는 self-attention은 같은 순서(sequence) 안 모든 위치에 참가함으로써 한 개의 순서(sequence) 안에서 위치의 반응을 계산한다. Vaswani et al. 2017은 기계번역 모델이 self-attention 모델만 사용해도 SOTA 결과를 달성할 수 있었음을 증명했다. Parmar et al. 2018은 이미지 생성에 있어 autoregressive model 안 self-attention을 추가함으로써 Image Transformer 모델을 제안했다.

Wang et al. 2018은 video sequence들에서 공간적 임시 의존성(spatial-temporal dependencies)을 모델링하기 위해 non-local operation으로써 self-attention을 공식화했다.

이런 진전에도 불구하고, self-attention은 GAN 맥락에서 탐구되지 않았다.(AttnGAN은 입력 순서 내 단어 임베딩에 attention을 사용했지만 내부 모델 상태에 대한 self-attention은 사용하지 않는다.) SAGAN은 이미지들의 내부 표현 안에서 효율적으로 전체적, 장기 의존성들을 발견하는 것을 학습한다.

 

3. Self-Attention Generative Adversarial Networks

SAGAN Figure 2

 

이미지 생성을 위한 대다수의 GAN 기반 모델들은 conv layer를 사용하여 만들어졌다. Conv는 지역적 이웃들에서 정보를 처리하기 때문에 conv layer 자체만을 사용하는 것은 이미지에서 장기 의존성 모델링하는데 계산적으로 비효율적이다. 이 절에서, 우리는 generator와 discriminator 모두가 크게 분리된 공간 영역들 간 관계를 효율적으로 모델링하게하는 것이 가능한 GAN Framework Self-attention을 도입함으로써 (Wang et al. 2018)의 비-지역적 모델을 채택한다. 우리는 제안한 방법을 Self-Attention Generative Adversarial Networks(SAGAN)이라 부르는데 그 이유는 self-attention module 때문이다.(Figure 2)

 

Non-local neural networks

X. Wang, R. Girshick et al., in CVPR, 2018

https://arxiv.org/abs/1711.07971

 

(수식적는게 번거로워 이미지로 올립니다.) 

Image feature들은 2개의 feature space f,g로 attention이 계산됩니다.

그 후 beta를 통해 softmax로 값을 구함으로써 attention map을 구성합니다.

그 후 또 다른 feature space h간의 곱을 통해 self-attention feature map을 구성합니다. $\bar{C}$에서 $\frac{C}{k}$로 채널의 숫자를 줄이는 것이 큰 성능 하락으로 일어나지 못했기 때문에 메모리 효율성을 위해 k=8로 모든 실험에서 사용하였습니다.

 

추가로, 우리는 attention layer 결과를 scale parameter와 곱하고 input feature map을 더했습니다. 그러므로 결과 output은 다음과 같습니다.

SAGAN eq 3

$\gamma$는 학습이 가능한 상수이고 초기값은 0으로 설정합니다. 

 

학습 가능한 $\gamma$를 도입하는 것은 처음 local neighborhood(지역 이웃)의 단서에 의존하는데 이는 이것이 더 쉽기 때문이다. 그리고 점진적으로 non local evidence(비지역적 증거)에 더 많은 가중치를 할당함으로써 학습한다. 우리가 왜 이것을 하는지에 대한 직관성은 쉬운 일을 먼저하고 그 다음 점진적으로 복잡한 일의 정도를 증가시키고자 하기 때문이다. 

 

SAGAN eq 4

 

SAGAN에서 제안된 attention module은 generator, discriminator 양쪽에 적용하며 이는 adversarial loss의 hinge 버전을 최소화 함으로써 교대로 훈련한다.

4. Techniques to Stabilize the Training of GANs

우리는 도전적인 dataset에서 GAN을 안정적으로 훈련시키기 위한 두 가지 기술을 조사한다.

첫 째, 우리는 generator 뿐 아니라 discriminator에도 spectral normalization을 적용하는 것이다.

둘 째, 우리는 두 배 크기 업데이트 룰이 효율적이라고 확인하고 정규화된 discriminator의 느린 학습을 다루기 위해 특별히 사용하는 것을 옹호한다.

 

1.

Spectral normalization for generative adversarial networks.

Miyato et al., In ICLR, 2018

https://arxiv.org/abs/1802.05957

2.

GANs Trained by a Two Time-Scale Update Rule Converge to a Local Nash Equilibrium

M. Heusel et al., In NIPS, pp 6629-6640, 2017

https://arxiv.org/abs/1706.08500

 

4.1. Spectral normalization for both generator and discriminator

Miyato 외 연구진은 본래 discriminator network에 spectral normalization을 적용함으로써 GAN의 훈련의 안정화를 제안했다. 그렇게 하는 것이 각 층의 spectral norm을 제한함으로써 discriminator의 Lipschitz constant를 제한한다. 다른 normalization 기법들과 비교할 때 spectral normalization은 추가적인 hyperparameter tuning이 필요하지 않다(모든 가중치 층의 spectral norm을 1로 설정하면 일관적으로 잘 수행된다.) 게다가 계산 비용이 상대적으로 적다.

 

우리는 (Odena et al., 2018) generator의 조건화가 GAN의 성능에 중요 인자라는 것이라는 최근 증거를 바탕으로 spectral normalization을 generator에 넣는 것이 유용하다고 주장한다. Generator 안 Spectral normalization은 parameter 규모 상승을 방지하고 비정상적인 gradient를 회피한다. 우리는 경험적으로 generator와 discriminator 양쪽의 spectral normalization가 generator update 마다 더 적은 discriminator update를 사용할 수 있게 하며, 이로 인해 훈련 계산 비용을 줄일 수 있다는 것을 발견한다. 이 접근법은 또한 더 안정적인 훈련 행동을 보여준다.

4.2. Imbalanced learning rate for generator and discriminator updates

이전에 discriminator의 정규화는 GAN의 학습 과정을 늦추는 경우가 많다. 실제로 정규화된 discriminator를 사용하는 방법은 일반적으로 훈련 중 generator update 단계 마다 discriminator update 단계(예: 5번)를 여러번 요구한다. 독립적으로 Heusel 외 연구진은 generator와 discriminator에 분리된 learning rate(TTUR)를 사용하는 것을 주장해왔다. 우리는 TTUR을 사용하는 것이 generator 단계마다 더 적은 discriminator 단계를 사용할 수 있도록 하기 위해 정규화된 discriminator에서 느린 학습 문제를 보상하기 위한 TTUR을 사용하는 것을 제안한다. 이 접근법의 사용으로 우리는 동일한 wall-clock 시간을 고려했을 때 더 나은 결과를 생산할 수 있다.

 

5. Experiments

 

Evaluation metrics

 

Network structures and implementation details

 

5.1. Evaluation the proposed stabilization techniques

5.2. Self-attention mechanism

 

 

5.3 Comparison with the state-of-the-art

SAGAN Table 2

 

SAGAN은 ImageNet class 조건부 이미지 생성에서 다른 SOTA GAN 모델들과 비교를 했다. Table 2에서 보이듯 우리들의 제안된 SAGAN이 가장 좋은 Inception score, intra FID, FID를 달성한다. 제안된 SAGAN은 36.8에서 52.52로 출판된 가장 좋은 Inception Score를 상당히 높게 향상시킨다. SAGAN에 의해 달성된 가장 낮은 FID(18.65)와 intra FID(83.7)는 SAGAN이 영상 영역간 장기 의존성 모델링하기 위해 self-attention module을 사용함으로써 원본 이미지 분포를 더 잘 근사시킬 수 있음을 나타낸다.

 

SAGAN Figure 6

Figure 6는 ImageNet에 대표 클래스들에 대한 몇 가지 비교 결과와 생성 이미지들을 보여준다. 우리들은 goldfish(금붕어), Saint Bernard와 같이 복잡한 기하학적 혹은 구조적 패턴을 가진 이미지 클래스들의 합성에 대하여 SOTA GAN Model(Miyato & Koyama, 2018)보다 더 좋은 성능을 SAGAN이 달성했다는 것을 관찰한다. 구조적 제약이 거의 없는 클래스(기하학보다 질감으로 더 구별되는 계곡, 석벽, 산호 균류)의 경우, SAGAN은 기준 모델과 비교하여 우수성이 떨어짐을 보인다. 다시 말하자면 SAGAN 안 self-attention은 기하학적 또는 구조적 패턴을 일관적으로 발생하는 장기적, 글로벌 수준의 의존성을 포착하기 위한 convolution에는 보완적이지만 단순 질감을 위한 의존성 모델링을 할 때 지역적 conv와 비슷한 역할을 하기 때문이다.

 

부가설명)

앞에서 설명했던 것처럼 기존 이미지 합성에서 conv만을 이용한 GAN은 기하학적인 합성보다 단순 texture 합성에만 강점이 있었습니다. 그러나 이를 해결하기 위해 도입한 self-attention을 통해 기하학적 이미지 합성에 강점을 얻을 수 있었습니다. 그럼에도 반작용 때문인지 질감으로 구별되는 이미지 합성에서 약한 모습을 보인다는 것이 해당 내용의 요약입니다.

 

6. Conclusion

이 논문에서 우리는 GAN framework 안에 self-attention mechanism을 통합시킨 Self-Attention Generative Adversarial Networks(SAGANs)를 제안했다. Self-Attention 모듈은 장기 의존성 모델링에 효과적이다. 추가로 우리는 generator에 적용시킨 spectral normalization이 GAN 훈련을 안정화한다는 것과 TTUR이 규제화된 discriminator의 훈련 속도를 향상한다는 것을 보였다. SAGAN은 ImageNet에서 class 조건부 이미지 생성에서 SOTA 성능을 달성한다.

 

 

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading