Auto Encoder
Deep Generative Model
Conditional Geenration
- MLP
- CNN: input matrix, output matrix
- RNN: input seq of vector
- A digit can be represented as a 28x28 dim vector
- 用 28x28 來描述太複雜,應該要讓機器看過很多圖片後簡化
- 如果一個圖片可以用角度不同來描述,那就可以用角度一個維度來取代 28x28 維度的圖片
- 發現複雜的事物背後簡單的規則
- 我們希望用 unsupervied 方法發現這件事情
- 如果用 deep learning 來解決,這叫做 auto-encoder
- input 28x28 image -> NN Encoder -> output low dimension code
- code -> NN Decoder -> 28x28 image
- NN encoder + NN decoder = a depp network
- 把 encoder 和 decoder 疊加起來,input一個 image,output 也是一個 image,就可以串起來
- 如果串得起來,那就可以知道如何用一個簡單的 code 來表示一個複雜的 image
- 降維度的方法之一
- ML learn word by its contet
- machine 如何產生新的東西
- Unsupervised
- ex: 看了一堆詩詞,要自己寫詩詞
- image are composed of pixels
- to create an image, generating a pixel each time
- 缺點:每次都產生一個 pixel,失去大局觀
- auto-encoder 的變形
- input -> nn encoder -> code + noise -> nn decoder -> ouput
- input and output 越接近越好
- why VAE add noise useful
- 加上 noise 範圍內的 code 應該都要可以解出同樣的結果
- 用 vae 可能會比 auto-encoder 得到比較好的結果
- 缺點: it does not really try to simulate real image
- 沒有真的去學習怎麼產生一個 image
- 而是在學習怎麼產生一個越像資料集合的 image
- 產生的 image 通常都是資料集合當中的 image
- 很像是演化
- 比如:枯葉蝶,為什麼長得像枯葉呢?因為有演化的壓力,所以他慢慢演化成為枯葉的形狀。
- GAN: 預測一個 distribution
- 缺點:很難 train
- using wasserstein distance instead of JS divergence
- 令人拍案叫絕的Wasserstein GAN
- EX: 根據文字描述畫出動漫人物頭像
- EX: text summarization