GAN(Generative Adversarial Network)은 두 개의 신경망이 서로 경쟁하면서 학습하는 생성 모델이다.
GAN은 생성자(Generator)와 판별자(Discriminator)라는 두 개의 모델로 구성되며
이 두 모델이 서로 경쟁하는 구조를 통해 데이터의 특징을 학습한다.
생성자는 새로운 데이터를 만들어내는 역할을 하고 판별자는 그 데이터가 실제 데이터인지 가짜 데이터인지 구별하는 역할을 한다.
1. 생성자(Generator)의 역할
생성자는 무작위 노이즈(random noise)를 입력으로 받아 새로운 데이터를 생성하는 모델이다.
처음에는 생성된 데이터가 실제 데이터와 매우 다르지만
학습이 진행되면서 점점 실제 데이터와 비슷한 형태의 데이터를 만들어내도록 학습된다.
예를 들어 사람 얼굴 이미지를 생성하는 GAN 모델에서는
생성자가 무작위 벡터를 입력받아 새로운 얼굴 이미지를 만들어낸다.
생성자의 목표는 판별자를 속일 만큼 실제와 유사한 데이터를 만드는 것이다.
- 무작위 노이즈를 입력으로 사용
- 새로운 데이터를 생성
- 실제 데이터처럼 보이도록 학습
- 판별자를 속이는 것이 목표
2. 판별자(Discriminator)의 역할
판별자는 입력된 데이터가 실제 데이터인지 생성자가 만든 가짜 데이터인지를 판단하는 모델이다.
판별자는 일반적인 이미지 분류 모델처럼 동작하며 입력 데이터를 분석하여
그것이 진짜인지 가짜인지를 확률로 출력한다.
처음에는 생성자가 만든 데이터를 쉽게 구별할 수 있지만
생성자가 점점 더 현실적인 데이터를 만들면서 판별자 역시 더 정확하게 구별하도록 학습된다.
- 입력 데이터가 실제 데이터인지 판단
- 가짜 데이터를 구별하는 역할
- 생성자가 만든 데이터를 평가
- 생성자의 학습 방향을 결정하는 역할
3. GAN의 경쟁 학습 구조
GAN의 가장 큰 특징은 두 모델이 서로 경쟁하면서 학습한다는 점이다.
생성자는 판별자를 속이기 위해 더 현실적인 데이터를 생성하려고 하고
판별자는 생성자가 만든 가짜 데이터를 정확하게 구별하려고 한다.
이 과정에서 두 모델이 반복적으로 학습되며 점점 더 성능이 향상된다.
이러한 구조를 흔히 적대적 학습(Adversarial Learning)이라고 부른다.
4. 생성자와 판별자의 관계
| 구분 | Generator | Discriminator |
|---|---|---|
| 역할 | 데이터 생성 | 진짜/가짜 판별 |
| 입력 | 랜덤 노이즈 | 이미지 데이터 |
| 목표 | 판별자를 속이기 | 가짜 데이터를 구별 |
5. 정리
GAN은 생성자와 판별자라는 두 개의 모델이 경쟁하며 학습하는 생성 모델이다.
생성자는 실제와 유사한 데이터를 만들어내는 역할을 하고
판별자는 그 데이터가 진짜인지 가짜인지 구별하는 역할을 한다.
이 두 모델이 서로 경쟁하면서 학습을 반복하게 되면 점점 더 현실적인 데이터를 생성할 수 있게 된다.
'데이터 분석' 카테고리의 다른 글
| 텍스트 데이터 전처리 (0) | 2026.04.06 |
|---|---|
| Diffusion 모델 (1) | 2026.03.15 |
| Fully Convolutional Network(FCN)의 주요 특징과 CNN 기반 분류 모델과의 차이 (0) | 2026.03.15 |
| Semantic Segmentation과 이미지 분류(Classification) (0) | 2026.03.15 |
| mAP(mean Average Precision) (0) | 2026.03.06 |