Processing math: 20%

AI/Deep Learning

Generative Adversarial Nets (GAN) 수식으로 이해

이성훈 Ethan 2023. 9. 13. 15:59

GAN: G 와 D 가 two-player minimax game 을 하는 것

 

G: Generator

D: Discriminator

 

Minimax game: 게임이론, 결정이론 등에서 쓰이는 것으로 최악의 상황에서 손실을 최소화 하는 방향

 

Value function: \min _G \max _D V(D, G)=\mathbb{E}_{\boldsymbol{x} \sim p_{\text {data }}(\boldsymbol{x})}[\log D(\boldsymbol{x})]+\mathbb{E}_{\boldsymbol{z} \sim p_{\boldsymbol{z}}(\boldsymbol{z})}[\log (1-D(G(\boldsymbol{z})))]

 

 

G 의 입장

 

\min _G V(D, G): V(D, G) 를 최소화시키는 G 를 학습

 

\log (1-D(G(\boldsymbol{z}))) 값이 최소가 되게 하려면 \log 안의 값이 0이 되면 되므로 D(G(\boldsymbol{z})) 의 값이 1이 이 되도록 학습

 

 

D 의 입장

 

\max _D V(D, G): V(D, G) 를 최대화시키는 D 를 학습

 

따라서 \log 안의 값이 모두 1이 되도록 학습

 

 

 

결론적으로 G 는 discriminator 가 구분을 못하도록, D 는 진짜와 가짜를 모두 잘 구별하도록 학습

 

최종은 G 만 사용하여 이미지 생성

'AI > Deep Learning' 카테고리의 다른 글

Autoregressive Model  (0) 2024.03.08
Variational Auto-Encoder (VAE)  (0) 2024.02.28
Penultimate Layer  (0) 2023.03.17
Transfer learning  (0) 2022.02.15
Mode collapse  (0) 2022.01.26