1. Review / 배경
Review : Image Classification

- 입력 이미지를 받아 label을 예측
- label은 one-hot 인코딩 vector(전통 모델) 혹은 language token 형태
Review : Image Generation
- VAE는 unconditional generation

- 위에서 학습을 하는 관점에서 P를 MLE를 하게 되는 것이고, P를 theta로 파라미터라이징하고 로그씌우고 해서 아래를 학습한다.
- 즉, 학습 목표는

- conditional generation에서는 y (condition)가 주어짐
Review : Generative Model

- random variable을 입력으로 받아 데이터 생성
- VAE에서는 decoder가 생성기 역할
Review : Conditional Generative Model
- condition을 one-hot vector, sentence 등으로 표현 가능
- mapping 방식에 따라 활용이 달라짐
- 예: colorization, video generation


- 오브젝트의 종류에 대해 묘사할 때 등 문장으로 표현 (원핫벡터)

- 컬러라이제이션으로 활용하는 예시이고, y와 x 맵핑을 어떻게 하느냐에 따라서 사용 용도가 다양화될 수 있음
정리하면,
- 분류 모델은 deterministic mapping임.
즉, image → label (deterministic) - 생성 모델은 stochastic mapping임.
즉, random variable → data (stochastic) - conditional generative model은 one-to-many nature임. (need for randomness (latent variable))
즉, (random variable + condition) → data
➡️ 같은 조건(y)에서도 여러 개의 가능한 결과(x)를 만들어내는 모델
➡️ VAE와 GAN 모두 conditional generative model임
2. Conditional Generation & Task
Data Preparation in Conditional Generation

- conditional generation은 데이터 쌍 (x, y)이 필요
- 비디오 생성도 conditional generation이고, 지브리도 하나의 예시가 될 수 있음
- 예: 흑백 → 컬러, edge → image
Generative Model의 Challenges?

- one-to-many mapping 문제
- 하나의 입력에 정답이 여러 개 존재
Property of Generative Models ?

- 즉, 정답 하나가 없음
Image-to-Image Translation

- 즉, 위에서 F는 어떠한 방식으로 x를 y로 바꿀 것인가이고, Object function은 L2 norm등 'What should I do'를 의미하고, F는 'How should I do it?'을 의미함
- L2 loss 사용 시 문제 발생
➡️ pixel-wise average → blurry result
- 가능한 결과들의 평균을 내 놓는데 이렇게 되면, 결과적으로 blur 되거나 unrealistic한 이미지가 생성됨.
- 즉, 컬러라이제이션의 경우 흑백 사과를 빨간 사과/초록사과로 맵핑시킬수 있다면 이를 평균낸 갈색 사과와 같은 결과를 뱉어냄
👉🏼 GAN이 필요한 이유
3. GAN 도입 동기
Motivation : GANs

- classifier가 포함된 생성모델 ➡️ real vs fake를 구분
진짜 같은 이미지인지 아닌지를 판단하는 모델을 학습 과정에 포함시키자.
GAN의 핵심 아이디어는
- 기존:
→ “정답 이미지와 얼마나 비슷한가?” - GAN:
→ “이게 진짜처럼 보이는가?”
즉,
- loss function을 사람이 정의하지 않고
- discriminator가 학습하도록 만든 것
4. GAN 파이프라인 & Min-Max Game
★ 파이프라인 과정별 component별 설명
★ 목적함수 및 Min-Max 수식의 의미 및 의의
Actor–Critic Perspective

- Generator = actor / Discriminator = critic
- Generator와 Discriminator가 서로 경쟁하며 동시에 학습되는 구조
Role of Discriminator : Critic

- 입력 데이터 x(컨디션 : 여기서는 흑백 이미지 등) : Conditional GAN
- G : 입력 x를 받은 Generator -> condition을 만족하는 fake 이미지 생성
- G(x) : fake image
- D : descriminator(Critic) -> G(x)를 보고 fake일 확률을 계산 (헷갈리지 않게 주의)
- fake(0.9) : Discriminator의 출력으로 아직 속지 않았음
- y : 실제 이미지
- D : 같은 Discriminator가 real image y를 보고 판단 -> fake일 확률이 0.1 -> 진짜를 진짜로 잘 맞춤
- 맨 아래 수식은 Discriminator의 목적함수

결과적으로 Discriminator는 fake는 fake라고, real은 real이라고 최대한 잘 구분하도록 학습된다
Role of Generator : Actor

- Discriminator의 판단 결과가 Generator 쪽으로 다시 전달됨 (점선)
- Generator의 목표 : Discriminator를 속이는 이미지 생성, fake를 real처럼 보이게 만들기

그래서 Generator가 최소화 하는 것 : Discriminator의 판별 성능을 망가뜨리기
Min-Max Game : Game Theory
GAN은 두 개의 네트워크가 아니라 하나의 게임 구조다.
z -> G -> fake image 또는 real image -> D -> real/fake 판단
즉, D는 더 잘 구분하려고 하고, G는 D를 속이려고 함. 이 상호작용이 distribution matching을 향해서 학습됨


★ 아래의 min-max formulation에 대해서 서술하라

G : Generator
- random variable z를 입력으로 받아 fake data를 생성하는 모델
D : Discriminator
- 입력 데이터가 real인지 fake인지를 판별하는 모델
V : Value Function
- discriminator의 판별 성능을 측정하는 목적함수
- GAN 전체 학습 목표

Two-Player Game인 이유

이 구조가 중요한 이유

Equilibrium에서 무슨 일이 일어나는가?

- 즉, Equilibrium이란 Generator와 Discriminator가 서로 더 이상 개선할 수 없는 상태로

다만, 이게 학습 종료를 의미하는 것은 아님.

이론적으로 equilibrium에서 distribution matching이 이루어진다.
※ 현실에서는 equilibrium 근방에서 학습을 멈춤
정리

5. Conditional GAN 확장
- 위에서 봤던 min-max formulation에서 이제 Discriminator D는 (condition, image)를 pair로 본다. 즉,


- 위 pair가 진짜 쌍이냐 가짜 쌍이냐? -> 결과 : fake pair

- 위 pair가 진짜 쌍이냐 가짜 쌍이냐? -> 결과 : real pair
6.실제 사례
Edge2Cats


7. GANs vs VAEs



VAE는 likelihood 기반(ELBO 최대화 분포를 명시적 모델링), GAN은 adversarial learning 기반 생성모델이며,
VAE는 안정적이지만 blur가 생기고, GAN은 불안정할 수 있으나 더 realistic한 이미지를 생성한다.
'수학,통계 for AI,DS > 확률 및 통계 - [대학원] 전공 수업' 카테고리의 다른 글
| [확률/통계] Normalizing Flow (0) | 2025.12.16 |
|---|---|
| [확률/통계] Variational Autoencoder (VAE) (0) | 2025.12.14 |