1.1 연구 배경
LSGAN의 경우 단순히 loss 값만 변경하여 성능을 끌어올린 GAN 모델이다. 연구 배경으로는 Sigmoid cross entropy loss가 Gradient Vanishing 문제를 일으킨다는 것이다. 따라서 Sigmoid cross entropy loss → Least Square loss로 변경하자는 것이 이 논문의 핵심이라 할 수 있다.

[그림 30] LSGAN의 성능 향상 핵심 방안
위 그림을 보면 분홍색 *(star)를 볼 수 있다. 분홍색 *는 Generator가 생성한 가짜 이미지라 보면 된다. 하지만 이 가짜이미지는 판별자를 속였고 때문에 더 이상 학습하지 않는(Gradient Vanishing) 것을 확인할 수 있다. 이 때 LSGAN 모델의 아이디어는 판별자를 속였더라도 더 정교하게 속이기 위해 실제 real과 동일한 수준으로 끌어올리자(추가 학습하자)는 것이다.
1.2 코드로 이해하는 LSGAN
기존의 GAN과의 가장 큰 차이점이라고 하면 아래와 같이 D의 loss 함수와 G의 loss 함수에 Least Square loss를 적용한 것이라 할 수 있다. (Cross Entropy loss → Least Square loss)


[그림 31] Vanilla GAN(좌) LSGAN(우)
1.3 실험 결과
Original GAN보다 높은 퀄리티를 보이는 이미지를 생성하는 것을 확인할 수 있다.

[그림 32] LSGAN 모델을 통한 이미지 생성 결과
이러한 이미지를 생성하기 위해 LSUN(풍경 데이터셋), CIFAR-10을 활용하였다.
주요 컨트리뷰션 포인트 중 첫 번째는 High Quaility라는 것이고 두 번째는 More Stable하다는 것이다.
GAN을 평가하는 metric은 크게 두 가지 중 하나인 Inception Score가 Facebook에서 만든 DCGAN보다 뛰어난 성능을 보이는 것을 확인할 수 있다. (나머지 하나는 프리쳇 거리(Frechet Distance))

[그림 33] LSGAN의 성능 평가
'Deep Learning > pytorch' 카테고리의 다른 글
| CycleGAN (0) | 2023.08.14 |
|---|---|
| SRGAN (Super Resolution GAN) (0) | 2023.08.14 |
| PGGAN (Progressive Growing GAN) (0) | 2023.08.14 |
| DCGAN (Deep Convolutional GAN) (0) | 2023.08.14 |
| About GAN (Generative Adversarial Nets) (0) | 2023.08.14 |