GAN Lecture 4 (2018): Basic Theory



Generation

我們知道GAN可以根據看了一堆object之後,自己生成新的object,但到底如何生成?

這邊以二次元頭像為例,image本身為高維資料,但為了方便示意,我們把這些image都看成二維空間的資料,其分佈為 $P_{data}(x)$

在高維空間中,只有一小部分的資料看起來像人臉,舉例來說,圖中只有藍色區域的data 像人臉,也就是說,人臉有一個固定的distribution,在藍色區域中sample,機率高

今天要機器做的事情,實際上就是要找出這個distribution

Maximum Likelihood Estimation

在有GAN之前,我們都是用 Maximum Likelihood Estimation 來做generation,Maximum Likelihood Estimation 之前也講過了,這間快速帶過

我們不知道 Data 的 distribution $P_{data}(x)$ 長怎樣,但可以sample他

但我們可以假設一個 gaussian distribution $P_G(x;\theta)$ 他由參數 $\theta$ 控制,我們可以找一組 $\theta$ 使得 $P_G(x;\theta)$ 與 $P_{data}(x)$ 越近越好:

  1. 從 $P_{data}(x)$ 中 sample $\{x^1,x^2,\cdots,x^m\}$
  2. 找一個 $\theta$ 使得 $L=\prod^{m}_{i=1}P_G(x^i;\theta)$ 最大,記做 $\theta ^*$

Minimize KL Divergence

前面做的 Maximum Likelihood 其實就是在 Minimize KL Divergence

關於 KL Divergence 可以參考這篇:你知道Cross Entropy和KL Divergence代表什麼意義嗎? (外部連結)

pie title Pets adopted by volunteers
    "Dogs" : 380
    "Cats" : 85
    "Rats" : 15