https://arxiv.org/abs/1406.2661
Generative Adversarial Networks
We propose a new framework for estimating generative models via an adversarial process, in which we simultaneously train two models: a generative model G that captures the data distribution, and a discriminative model D that estimates the probability that
arxiv.org
1. 배경 및 문제점
- 기존 딥러닝은 이미지, 음성, 자연어처럼 복잡한 데이터를 잘 분류하는 discriminative model에서는 큰 성공을 거두었지만, 새로운 데이터를 생성하는 generative model에서는 한계가 있었다.
- 기존 생성 모델들은 확률분포를 직접 계산하거나 추정해야 했기 때문에 학습이 복잡했다. 특히 RBM, DBM 같은 모델은 정규화 상수나 gradient 계산이 어렵고, 이를 해결하기 위해 MCMC 같은 샘플링 방법이 필요했다. 하지만 MCMC는 계산 비용이 크고 학습이 느리며, 샘플링 과정도 복잡하다는 문제가 있었다.
- 또한 많은 생성 모델은 학습 과정에서 approximate inference나 Markov chain이 필요해 구조가 복잡했다.
-> 복잡한 확률 계산 없이, backpropagation만으로 학습할 수 있는 새로운 생성 모델 구조가 필요했다.
2. 아키텍처 특징
- GAN은 Generator G와 Discriminator D라는 두 개의 신경망을 동시에 학습시키는 구조이다.
- Generator는 random noise z를 입력받아 실제 데이터처럼 보이는 가짜 샘플을 생성한다.
- Discriminator는 입력 데이터가 실제 training data인지, Generator가 만든 fake data인지 구분한다.
- 즉, GAN은 다음과 같은 구조를 가진다.
- random noise z → Generator G → fake data 생성 → Discriminator D가 real/fake 판별
- Generator는 진짜처럼 보이는 가짜 데이터를 만들려고 하고, Discriminator는 진짜와 가짜를 구별하려고 한다. 이 경쟁을 통해 두 모델이 함께 발전한다.
3. 주요 특징
- Adversarial Training 사용
Generator와 Discriminator가 서로 경쟁하면서 학습한다. - Minimax Game 구조
Discriminator는 진짜와 가짜를 잘 구분하도록 학습하고, Generator는 Discriminator가 틀리도록 학습한다. - Generator G
noise z를 입력받아 데이터 분포를 모방하는 sample을 생성한다. - Discriminator D
입력 x가 실제 데이터에서 온 것인지, Generator가 만든 것인지 확률값으로 판단한다. - Backpropagation으로 학습 가능
두 모델 모두 multilayer perceptron으로 구성할 수 있고, 전체 학습이 backpropagation으로 가능하다. - Markov chain 불필요
기존 생성 모델과 달리 샘플 생성 과정에서 MCMC나 Markov chain이 필요하지 않다. - 명시적 확률분포 계산 없음
데이터의 확률분포를 직접 계산하지 않고, 샘플을 생성하는 방식으로 학습한다. - 이론적 최적점 존재
Generator의 분포가 실제 데이터 분포와 같아지면 Discriminator는 둘을 구분할 수 없게 되고, 모든 입력에 대해 1/2을 출력하게 된다.
3. 의의
- GAN은 생성 모델을 학습하는 새로운 패러다임을 제안한 논문이다. 기존 생성 모델이 복잡한 확률 계산이나 Markov chain에 의존했던 것과 달리, GAN은 두 신경망의 경쟁 구조만으로 데이터 분포를 학습할 수 있음을 보였다.
- 특히 Generator가 실제 데이터 분포를 잘 학습하면, Discriminator는 real data와 fake data를 구별할 수 없게 된다. 이는 GAN이 이론적으로 실제 데이터 분포를 복원할 수 있음을 의미한다.
- MNIST, Toronto Face Database, CIFAR-10 데이터셋을 통해 생성된 샘플을 시각적으로 보여주었고, GAN이 기존 생성 모델들과 비교해 경쟁력 있는 샘플을 만들 수 있음을 확인했다.
- GAN의 가장 큰 의의는 생성 모델을 확률 계산 문제가 아니라, 두 모델의 경쟁 문제로 바꾸었다는 점이다. 이후 이미지 생성, 스타일 변환, 초해상도, 딥페이크, 데이터 증강 등 다양한 생성 AI 연구의 기반이 되었다.
4. 한계
GAN은 강력한 생성 모델이지만 학습이 불안정하다는 한계가 있다.
Generator와 Discriminator가 균형 있게 학습되어야 하는데, 한쪽이 너무 강해지면 학습이 잘 진행되지 않는다.
-> 예를 들어 Discriminator가 너무 빨리 좋아지면 Generator는 충분한 gradient를 받지 못해 학습이 어려워진다.
Generator가 다양한 z 값을 같은 x로 보내는 문제가 발생할 수 있다.
이는 이후 연구에서 mode collapse라고 불리는 문제와 연결된다.
-> 즉, Generator가 다양한 샘플을 생성하지 못하고 비슷한 결과만 반복해서 만드는 문제가 생길 수 있다.
주요 한계
- Generator와 Discriminator의 학습 균형을 맞추기 어려움
- 학습이 불안정할 수 있음
- 명시적인 확률분포 p(x)를 계산할 수 없음
- 생성 결과 평가가 어려움
- mode collapse 발생 가능
- Discriminator와 Generator를 잘 동기화해야 함
-> 이후 DCGAN, WGAN, Conditional GAN 등 다양한 GAN 변형 모델들이 등장하여 학습 안정성, 조건부 생성, 이미지 품질 문제를 개선하게 됨.
GAN은 random noise를 입력받아 가짜 데이터를 생성하는 Generator, 진짜/가짜를 구별하는 Discriminator를 경쟁적으로 학습시켜 실제 데이터와 비슷한 샘플을 생성하는
adversarial learning 기반 생성 모델이다.