본문 바로가기

수학,통계 for AI,DS/확률 및 통계 - [대학원] 전공 수업

[확률/통계] GAN

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한 이미지를 생성한다.