https://arxiv.org/abs/1611.04076
Least Squares Generative Adversarial Networks
Unsupervised learning with generative adversarial networks (GANs) has proven hugely successful. Regular GANs hypothesize the discriminator as a classifier with the sigmoid cross entropy loss function. However, we found that this loss function may lead to t
arxiv.org
0. Abstract
기존 GAN은 Discriminator에서 sigmoid cross-entropy loss function을 사용하는데, 이 학습 과정에서 기울기 소실 문제가 발생할 수 있다. 논문에서는 이를 해결하기 위해 LSGAN을 도입하는데, Discriminator의 loss function으로 Least Squares 손실을 사용한다. LSGAN의 목적 함수 최적화는 Pearson $X^2$ 발산을 최소화하는 효과를 가진다.
논문에서는 5개의 장면 데이터셋(LSUN의 bedroom, church, dining, kitchen, conference)을 대상으로 LSGAN이 기존 GAN보다 더 높은 품질의 이미지를 생성함을 확인하고, 두 가지 비교 실험을 통해 LSGAN이 기존 GAN보다 학습 과정에서 안정적임을 확인한다.
1. Introduction
딥러닝은 이미지 분류, 객체 검출, 분할등의 Supervised Learning에서는 효과적이지만 Unsupervised Learning 분야에서는 영향이 제한적이다. 이런 문제를 해결하기 위해 GAN은 Discriminator와 Generator를 동시에 학습시키며, Discriminator는 실제와 가짜를 구별하고, Generator는 Discriminator를 속일 수 있게 학습된다. 하지만 기존 GAN은 Sigmoid Entropy loss function을 사용하는데 기울기 소실 문제가 발생한다.
LSGAN에서는 이를 해결하기 위해 Discriminator의 손실 함수로 Least Squares 함수를 사용하여 가짜 샘플이 실제 데이터에 더 가까워지도록 유도하여 기존 GAN보다 더 높은 품질의 이미지를 생성하게 한다. 또한 Discriminator의 출력 결과과 목표 label(a, b) 사이의 제곱 오차를 최소화함으로써, 잘 분류된 샘플에도 non-zero gradient를 고려하여 Generator의 학습을 안정적으로 유도하므로 기존 GAN 대비 학습 과정에서 안정성이 향상된다.
2. Related Work
Deep Generative Model은 주어진 데이터의 확률 분포를 학습하는 것을 목표로 하는데 주로 이미지 및 문서 모델링에 사용되었다. 하지만 복잡한 함수와 난해한 추론 문제로 인해 학습 과정에서 근사 방법이 필요하다는 한계가 있다.
GAN은 이 과정에서 근사 방법 없이 End-to-End로 학습이 가능해진다. 이미지 생성, 이미지 초해상도, 텍스트-이미지 합성, 이미지 변환 등 다양한 비지도 학습에서 뛰어난 성능을 보인다.
GAN의 한계와 기존 연구
1) 이미지 품질 개선 연구
- DCGAN: Convolution을 GAN에 도입하여 성능을 향상
- LAPGAN: Laplacian Pyramid를 활용해 고해상도 이미지를 생성
- Feature Matching: Discriminator의 중간 계층에서 통계적 유사성을 최소화하여 생성 품질을 개선
2) 학습 안정성 개선 연구
- Auto-Encoder 기반 Discriminator: Discriminator를 에너지 함수로 보고, Auto-Encoder 구조를 적용하여 학습 안정성 향상
- Unrolled GAN: Generator와 Discriminator의 균형을 맞추기 위해 Unrolled Objective를 도입
- Wasserstein GAN: Wasserstein 거리를 도입하여 학습을 안정화
- Loss-Sensitive GAN: 실제 샘플이 가짜 샘플보다 작은 손실을 가지도록 하는 새로운 손실 함수를 제안
3. Method
A. GANs
Generator와 Discriminator를 동시에 학습시키며 이를 minimax game 형태로 정의한다. Generator의 목표는 랜덤한 입력 변수 $z$를 통해 유도된 가짜 데이터를 생성한다. Discriminator는 입력 데이터가 실제인지 가짜인지를 판별하는 이진 분류 역할을 한다.
- ☆은 가짜 데이터이지만 진짜로 분류된 것인데 실제 데이터인 O와 거리가 먼 문제가 있다.
B. LSGANs
기존 GAN은 문제인 Sigmoid Cross Entropy 손실 함수를 사용하는데, 가짜 샘플이 Discriminator 경계의 올바른 쪽에 있지만, 실제 데이터와는 여전히 거리가 있는 경우, Discriminator가 이미 올바르게 분류했다고 판단하여 Generator의 학습이 발전하지 않았다.
- ☆들은 O과 멀리 떨어져 있을수록 패널티를 받고 점점 O쪽으로 가까워진다.
LSGAN은 Least Square를 Discriminator의 손실로 사용하는데 이때 가짜 데이터와 실제 데이터의 라벨을 각각 a와 b로 설정하는 a-b 코딩 방식을 사용한다. Least Square 손실을 적용 시, Discriminator 경계에서 멀리 떨어진 샘플에도 penalty를 부여하여 Generator가 실제 데이터에 더 가까운 샘플을 생성할 수 있도록 유도한다. 이를 통해 기존 GAN보다 더 높은 품질의 이미지 생성과 더 안정적인 학습 과정을 가능하게 한다. 아래는 LSGAN의 목적함수이다.
- a: fake data label
- b: real data label
- c: Generator 입장에서 Discriminator가 진짜라고 믿게 하는 가짜 이미지
Min problem이 최소값이 되기 위해서는 제곱이 되는 값들이 모두 0이 되어야 한다. 그러므로, $D(x)$ -> $b$, $D(G(z)))$ -> $a$에 가까워질수록 값이 작아진다.
1) Benefits of LSGANs
- 결정 경계 근처로 샘플을 유도
- 기존 GAN에서는 생성된 샘플이 판별 경계의 올바른 쪽에 있지만 실제 데이터와 거리가 멀 경우, 손실이 0이 되어 Generator 업데이트가 어려움 - Gradient Vanishing
- LSGAN은 이런 샘플에도 패널티를 부여하여, Generator가 결정 경계에 더 가까운 샘플을 만들도록 유도
- 효과: 생성된 샘플이 실제 데이터의 분포에 더 가까워지도록 도움
- 더 풍부한 Gradient 제공을 통해 학습 안정성 향상
- LSGAN은 기존 GAN보다 생성자 업데이트 시 더 많은 gradient를 제공하여 gradient vanishing 문제 완화
- LSGAN의 손실 함수는 Figure 2 - (b)에서 확인되듯 least square loss function이 오직 한 점에서만 최소값을 가짐
- 효과: 더 안정적인 학습이 가능
2) Relation to Pearson $x^2$ Divergence
기존 GAN에서는 Jensen-Shannon Divergence를 최소화하는 것으로 만든다.
논문에서는 LSGAN은 확률 분포 간의 차이를 측정하는 f-divergence 관점에서 분석하고 있다.
$V_{LSGAN}(G)$는 Generator에 대한 문제이며 Generator가 고정된 상태에서 optimal $D^*$은 아래와 같다. Optimal $D^*$는 Generator가 고정되었을 때 Discriminator가 loss function을 가장 잘 최소화 또는 최대화 하도록 학습된 상태를 의미한다. 여기서 a는 fake label로 매핑되는 목표값, b는 real label로 매핑되는 목표값, $p_{data}$와 $p_g$는 각각 실제/생성 데이터 분포이다.
위의 확장식을 아래와 같은 식을 변형할 수 있다.
$b-c=1$, $b-a=2$라는 조건을 부여한다. $X_{Pearson}^2$은 Pearson $X^2$ divergence이다. a, b, c가 위의 조건을 만족할 때, LSGAN은 $P_g+P_d$와 $2P_g$ 사이의 Pearson $X^2$ divergence를 최소화하는 것이다. 즉, LSGAN은 Pearson $X^2$ divergence를 최소화하여 학습을 진행하며, 이는 기존 GAN의 JSD 기반의 학습과 차이를 보이는 특징적인 요소이다. 이런 차이로 인해, LSGAN은 기존 GAN보다 더 넓은 영역에서 gradient를 주기에 학습이 더 안정적이며, 기울기 소실 문제가 완화된다는 장점을 가진다.
3) Parameters Selection
위의 식에서 $a=-1, b=1, c=0$으로 설정하면 아래와 같은 목적 함수를 얻을 수 있다. 이는 $p_d+p_g$와 2$p_g$ 사이의 Pearson $X^2$ 발산을 최소화할 수 있다.
또한 Generator가 실제와 같은 샘플을 최대한 만들게 하기 위해 $c=b$라고 설정한다. 0-1 binary coding 진행 시 아래와 같은 목적 함수를 얻을 수 있다.
Equation 8과 Equation 9의 식은 매우 유사하지만 모델을 훈련 시킬 때에는 Equation 9를 사용한다.
C. Model Architecture
Fig 3은 VGG 모델를 참고하여 설계되었다. 기존 DCGAN 구조 대비 stride=1인 두 개의 deconvolutional layer를 추가하여 해상도를 보존하고 경계 왜곡 완화를 통해 성능을 개선한다. Discriminator의 구조는 DCGAN과 유사하지만 마지막 layer에서 least square loss를 사용했다. DCGAN과 같이 Generator는 ReLU, Discriminator는 LeakyReLU를 활성 함수로 사용한다.
Fig 4는 중국어 손글씨 데이터셋과 같이 다수의 클래스를 포함하는 데이터셋에 적합한 모델 구조이다. 기존 GAN에서 다중 클래스를 포함한 데이터셋을 학습할 경우, 읽을 수 없는 문자 생성 문제가 발생한다. 원인으로는 입력 데이터에는 여러 클래스가 있지만, 출력 데이터에는 단 하나의 클래스만 존재한다. 즉, 입력과 출력 간 결정론적 관계가 부족하다.
이를 해결하기 위해 Conditional GAN을 활용하여 레이블 정보를 포함하여 입력과 출력 간 결정론적 관계를 형성한다. 하지만 One-hot encoding을 하면 메모리 및 연산 비용이 너무 크다는 것이 단점이다. 그래서 Linear Mapping layer를 사용하여 고차원의 벡터를 저차원 벡터로 변환한 후, 이를 모델의 특정 계층에 연결하여 입력으로 사용한다. 이를 통해 메모리 절감과 embedding 효과를 동시에 갖는다.
최종적으로 Figure 4의 모델 구조를 사용하여 학습하며, 어느 계층에 레이블 벡터를 결합할지는 실험적으로 결정된다.
- (a): Generator
- 기존 Generator와 유사하지만, 클래스 정보를 추가적으로 입력
- 클래스 정보를 FC를 통해 압축한 후, $z$와 결합하여 사용하고 deconvolutional layer를 거쳐 최종 이미지를 생성
- (b): Discriminator
- 기존 Discriminator 구조에 클래스 정보를 추가적으로 활용
- 클래스 정보를 FC를 통해 압축 후, 중간 Convolutional layer의 출력과 결합
- 마지막으로 FC를 통해 최종 판별 값을 출력하고, least squares loss를 사용하여 학습 진행
4. Experiments
논문에서는 데이터셋의 디테일과 구현을 제시하고 LSGAN에 대한 평가를 진행한다. 일반적인 GAN 사이의 안정성을 비교하고 3740개의 클래스를 포함하는 중국어 손글씨 데이터셋에서 LSGAN을 평가한다.
A. Datasets and Implementation Details
- LSGAN은 LSUN과 HWDB1.0 데이터셋에서 평가했으며, LSUN은 장면 이미지, HWDB1.0은 중국어 손글씨 데이터셋
- DCGAN의 구조 기반으로 TensorFlow를 사용해 모델을 구현
- Learning rate은 LSUN 데이터셋에서는 0.001, HWDB1.0에서는 0.0002로 설정
- Adam optimizer의 β1=0.5로 설정
B. Scenes
- LSGAN을 LSUN 데이터셋의 침실, 주방, 교회, 식당, 회의실의 5가지 장면에서 학습한다.
- DCGAN, EBGAN과 비교했을 때, LSGAN이 더 높은 품질의 이미지를 생성하는 것으로 확인된다.
C. Stability Comparison
1) LSUN 데이터셋에서의 비교 실험
Batch Normalization 제외 여부와 Adam 또는 RMSProp 옵티마이저 기준으로 4가지 실험 설정을 구성한다.
-
- BNG + Adam
- LSGANs: 10번 실험 중 5번은 양질의 이미지 생성
- Regular GANs: 전혀 학습되지 않음(모드 붕괴 심각)
- BNGD + RMSProp
- LSGANs: Regular GANs보다 더 높은 품질의 이미지 생성
- Regular GANs: 일부 모드 붕괴 발생
- BNG + RMSProp, BNGD + Adam
- 두 설정에서는 LSGANs과 Regular GANs의 성능이 비슷함
- RMSProp이 Adam보다 더 안정적
- Regular GANs은 BNG + RMSProp 설정에서 학습이 가능했지만, Adam 사용 시 학습 실패
- BNG + Adam
2) Gaussian Mixture Distribution 실험
- 8개 모드로 이루어진 2D Gaussian Mixture 분포 데이터셋에서 학습을 비교
- Regular GAN은 15k step 이후 Mode collapse가 발생해 단일 모드만 학습된다
- LSGAN은 Mode collapse 없이 전체 Gaussian Mixture 분포를 성공적으로 학습한다.
E. Handwritten Chinese Characters
3740개의 클래스를 포함하는 손글씨 중국어 데이터셋에서 조건부 LSGAN을 학습한다. 모델 구조로는 Figure 4로 진행한다.
- LSGAN이 가독성 있는 중국어 문자를 성공적으로 생성한다.
- Label vector를 활용하여 생성된 이미지의 올바른 클래스를 확인할 수 있다.
- 논문에서는 데이터 증강 등의 다양한 응용 가능성이 있다고 이야기한다.
5. Conclusions and Future Work
- LSGAN의 주요 성과
- 여러 장면 데이터셋에서 기존 GAN보다 더 높은 품질의 이미지를 생성한다.
- 3740개의 클래스를 가진 손글씨 중국어 데이터셋에서 가독성 있는 문자를 생성한다.
- 안정성 비교 실험을 통해 LSGAN이 기존 GAN보다 안정적으로 학습됨을 보인다.
- 향후 연구 방향
- LSGAN을 ImageNet과 같은 더 복잡한 데이터셋으로 확장 예정이다.
- 기존 GAN이 생성된 샘플을 결정 경계로 끌어당기는 방식을 개선하여, 샘플을 실제 데이터에 직접 가깝게 만드는 방법을 연구한다.
Reference
https://ysbsb.github.io/gan/2022/02/23/LSGAN.html
LSGAN 논문 리뷰 - Least Squares Generative Adversarial Networks (ICCV2017) | mocha's machine learning
안녕하세요. 모카의 머신러닝 입니다. 이번 포스팅은 “Least Squares Generative Adversarial Networks, ICCV 2017”에 대해 리뷰합니다. 영어로 된 논문을 한글로 같이 해석하며 논문에서 의미하는 것이 무엇
ysbsb.github.io
https://velog.io/@pabiya/Least-Squares-Generative-Adversarial-Networks
Least Squares Generative Adversarial Networks
오늘 리뷰할 논문은 LSGAN 논문이다.기존의 일반적인 GANs는 discriminator에 sigmoid cross entropy loss function를 사용한다. 하지만 이 loss function은 generator을 (real data에서 여전히 멀지만 de
velog.io
https://jaejunyoo.blogspot.com/2017/03/lsgan-1.html#google_vignette
초짜 대학원생의 입장에서 이해하는 LSGAN (1)
Easy explanation for LSGAN (쉽게 풀어 설명하는 LSGAN)
jaejunyoo.blogspot.com
https://memesoo99.tistory.com/36
[GAN] LSGAN - Paper Review, 리뷰
Least Squares Generative Adversarial Networks Xudong Mao et al. 2016을 바탕으로 작성한 리뷰입니다. 오늘은 GAN, DCGAN에 이어 LSGAN에 대해 리뷰해보겠습니다. LSGAN은 아이디어가 굉장히 직관적이면서 동시에 까다
memesoo99.tistory.com